1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
6 <title>News and Notes about nXhtml</title>
7 <link href="wd/grapes/nxhtml-grapes.css" rel="StyleSheet" type="text/css" />
8 <style type="text/css">
12 background: transparent url("img/getitbuttons.png") 0 0 no-repeat;
16 /* Text placement and size, etc */
21 text-decoration: none;
26 #nxhtml-home a:hover {
27 background-position: 0 -35px;
31 background-color: #ffd700;
40 <p id="nxhtml-home"><a href='nxhtml.html'>To nXhtml main page</a></p>
42 <h1>News and Notes about nXhtml</h1>
46 <dt id="state-of-the-art" style="margin-top:1em;
47 background-color: #66cd5c;
48 background-color: #96cd5c;
50 ">The State of the Art</dt>
51 <dd style="background-color: #f9e529; padding: 0.5em">
53 I believe now that MuMaMo (the multi major mode support)
54 is fairly stable. It is now possible to have chunks in
55 chunks and it is reasonably fast.
58 The major mode than once gave the name to this package
59 for web devoloping, nxhtml-mode, has long been stable.
60 There are a lot of other minor things in this package.
61 Of course everything is not perfect. Bug report and
62 taking part in the development is very welcome. Go to
63 the project page on Launchpad if you want to join!
66 If you want to know how it works, install and test. It
67 will not harm, everything is autoloaded so it will not
68 slow down your Emacs - eh, a tiny little bit perhaps if
69 you really use it, but then you will also get the
73 If you want to know current bug status go to Launchpad!
77 <dt id="hadron-bugs" style="margin-top:1em;">Thanks for testing!</dt>
80 I want to thanks the testers and bug reporters (who have
81 been many now), especially to my first testers Hadron
82 Quark and Eric Lilja, for helping me by testing and
83 pointing out bugs and weaknesses, most of them related
87 Without testers all kind of problems I just can't
88 imagine myself would still be there in nXhtml. For
89 example Hadron told me once that he got the error
90 <i>(wrong-type-argument stringp nil)</i>. Eh, I replied, are
91 you sure. Yes he was. I tried the same file as him. No
95 The error happened during fontification so the error
96 message above was all we had. A real black box for
97 me. Or perhaps black magic? After much confusion and
98 some hard work we finally found out what it was and I
99 implemented a better way to catch such errors. If Hadron
100 would have given up the problem would still have been
101 there. Some problems are just impossible to solve
102 without good cooperation. So, again, thanks Hadron.
105 BTW, I will perhaps add some even better way to Emacs to
106 catch these errors so other can benefit from our
107 insights too, but that requires some time and effort
108 which I can't afford right now.
111 If is now a bit more easy to take care of errors since
112 there is a good bug database for nXhtml at Launchpad.
116 <dt id="underline-bug" style="margin-top:1em;">Long Red Underlines</dt>
119 Because of a bug in Emacs 22.1 you can sometimes (at the
120 end of a line) get long red lines instead of just a
121 single underlined character. Many users (me included)
122 find this quite a bit disturbing. I have therefore added
123 a command to quickly hide/show the underlines. This is
124 on <em>C-c C-w</em> (nxhtml-toggle-visible-warnings, key
125 binding changed to <em>C-c _</em> in later versions of
129 This is particular useful for example in the case where
130 you edit a PHP file and are bound to get a lot of XHTML
135 <dt id="php-attribute-values" style="margin-top:1em;">Attribute values computed by PHP</dt>
138 If you want to have attribute values computed by PHP
139 here is a way how to structure that to avoid breaking
140 completion and validation in the XHTML part unnessecary:
142 <p style="margin-left:2em">
143 <img src="images/linux.png" title="<?php foo("bar");?>"/>
146 Unfortunately that still breaks XHTML validation since
147 < is not allowed in strings. In the long run I
148 believe the XML validator has to be broken up so that it
149 avoids parsing the string here (in PHP files).
152 For now I have implemented a workaround.
153 If you are using constructs like those above then turn on <em>mumamo-alt-php-tags-mode</em>.
154 This will temporarily replace the above with
156 <p style="margin-left:2em">
157 <img src="images/linux.png" title="(?php foo("bar");?)"/>
160 However on the screen you will still see the original
161 string and when writing to file the correct characters
166 <dt id="pi-note" style="margin-top:1em;">A note for PHP and its cousins</dt>
169 The rules for a process instruction in XML, like <?php
170 ... ?> says that the text can contain any text except
171 <em>?></em>. So if you want to output that string
172 from PHP then break it up so it does not look as ?> in
176 It might be good to break up the beginning part of the
177 process instructions too. And please note that to use
178 XHTML validation or completion you should avoid using
179 < in strings, since it is not allowed there.
183 <dt id="mmm-compat" style="margin-top:1em;">Why the chunks are not compatible with mmm</dt>
186 Some people have asked why the way to specify chunks in
187 mumamo-mode is not compatible with the old mmm-mode. The
188 answer is that I was not sure that the way used in
189 mmm-mode for specifying the chunks was flexible enough.
192 Some people have also wondered why MuMaMo does not find
193 chunks just as simple as multi-mode does. The answer is
194 it did from the beginning. However that way (looking
195 around current point) is not stable enough. Multi major
196 modes are a bit different in this respect than normal
197 major modes. More things can go wrong when you are
204 <h1 id="change-history">nXhtml Changes</h1>
207 <a href="#v0.89">v0.89</a>
208 <a href="#v0.90">v0.90</a>
209 <a href="#v0.91">v0.91</a>
210 <a href="#v0.92">v0.92</a>
211 <a href="#v0.93">v0.93</a>
212 <a href="#v0.94">v0.94</a>
213 <a href="#v0.95">v0.95</a>
214 <a href="#v0.96">v0.96</a>
215 <a href="#v0.97">v0.97</a>
216 <a href="#v0.98">v0.98</a>
217 <a href="#v0.99">v0.99</a>
218 <a href="#v1.00">v1.00</a>
219 <a href="#v1.01">v1.01</a>
220 <a href="#v1.02">v1.02</a>
221 <a href="#v1.03">v1.03</a>
222 <a href="#v1.04">v1.04</a>
223 <a href="#v1.10">v1.10</a>
224 <a href="#v1.11">v1.11</a>
225 <a href="#v1.12">v1.12</a>
226 <a href="#v1.13">v1.13</a>
227 <a href="#v1.14">v1.14</a>
228 <a href="#v1.15">v1.15</a>
229 <a href="#v1.16">v1.16</a>
230 <a href="#v1.17">v1.17</a>
231 <a href="#v1.18">v1.18</a>
232 <a href="#v1.19">v1.19</a>
233 <a href="#v1.20">v1.20</a>
234 <a href="#v1.21">v1.21</a>
235 <a href="#v1.22">v1.22</a>
236 <a href="#v1.23">v1.23</a>
237 <a href="#v1.24">v1.24</a>
238 <a href="#v1.25">v1.25</a>
239 <a href="#v1.26">v1.26</a>
240 <a href="#v1.27">v1.27</a>
241 <a href="#v1.28">v1.28</a>
242 <a href="#v1.29">v1.29</a>
243 <a href="#v1.30">v1.30</a>
244 <a href="#v1.31">v1.31</a>
245 <a href="#v1.32">v1.32</a>
246 <a href="#v1.33">v1.33</a>
247 <a href="#v1.34">v1.34</a>
248 <a href="#v1.35">v1.35</a>
249 <a href="#v1.36">v1.36</a>
250 <a href="#v1.37">v1.37</a>
251 <a href="#v1.38">v1.38</a>
252 <a href="#v1.39">v1.39</a>
253 <a href="#v1.40">v1.40</a>
254 <a href="#v1.41">v1.41</a>
255 <a href="#v1.42">v1.42</a>
256 <a href="#v1.43">v1.43</a>
257 <a href="#v1.44">v1.44</a>
258 <a href="#v1.45">v1.45</a>
259 <a href="#v1.46">v1.46</a>
260 <a href="#v1.47">v1.47</a>
261 <a href="#v1.48">v1.48</a>
262 <a href="#v1.49">v1.49</a>
263 <a href="#v1.50">v1.50</a>
264 <a href="#v1.51">v1.51</a>
265 <a href="#v1.52">v1.52</a>
266 <a href="#v1.53">v1.53</a>
267 <a href="#v1.54">v1.54</a>
268 <a href="#v1.55">v1.56</a>
269 <a href="#v1.56">v1.56</a>
270 <a href="#v1.57">v1.57</a>
271 <a href="#v1.58">v1.58</a>
272 <a href="#v1.59">v1.59</a>
273 <a href="#v1.60">v1.60</a>
274 <a href="#v1.61">v1.61</a>
275 <a href="#v1.62">v1.62</a>
276 <a href="#v1.63">v1.63</a>
277 <a href="#v1.64">v1.64</a>
278 <a href="#v1.65">v1.65</a>
279 <a href="#v1.66">v1.66</a>
280 <a href="#v1.67">v1.67</a>
281 <a href="#v1.68">v1.68</a>
282 <a href="#v1.69">v1.69</a>
283 <a href="#v1.70">v1.70</a>
284 <a href="#v1.71">v1.71</a>
285 <a href="#v1.72">v1.72</a>
286 <a href="#v1.73">v1.73</a>
287 <a href="#v1.74">v1.74</a>
288 <a href="#v1.75">v1.75</a>
289 <a href="#v1.76">v1.76</a>
290 <a href="#v1.77">v1.77</a>
291 <a href="#v1.78">v1.78</a>
292 <a href="#v1.79">v1.79</a>
293 <a href="#v1.80">v1.80</a>
294 <a href="#v1.81">v1.81</a>
295 <a href="#v1.82">v1.82</a>
296 <a href="#v1.83">v1.83</a>
297 <a href="#v1.84">v1.84</a>
298 <a href="#v1.85">v1.85</a>
299 <a href="#v1.86">v1.86</a>
300 <a href="#v1.87">v1.87</a>
301 <a href="#v1.88">v1.88</a>
302 <a href="#v1.89">v1.89</a>
303 <a href="#v1.90">v1.90</a>
304 <a href="#v1.91">v1.91</a>
305 <a href="#v1.92">v1.92</a>
306 <a href="#v1.93">v1.93</a>
307 <a href="#v1.94">v1.94</a>
308 <a href="#v1.95">v1.95</a>
309 <a href="#v1.96">v1.96</a>
310 <a href="#v1.97">v1.97</a>
311 <a href="#v1.98">v1.98</a>
312 <a href="#v1.99">v1.99</a>
313 <a href="#v2.00">v2.00</a>
314 <a href="#v2.01">v2.01</a>
315 <a href="#v2.02">v2.02</a>
316 <a href="#v2.03">v2.03</a>
317 <a href="#v2.04">v2.04</a>
318 <a href="#v2.05">v2.05</a>
319 <a href="#v2.06">v2.06</a>
320 <a href="#v2.07">v2.07</a>
321 <a href="#v2.08">v2.08</a>
325 <dt id="v0.89">0.89</dt>
329 Corrected autostart for nXhtml when not used together with EmacsW32.
333 <dt id="v0.90">0.90</dt>
337 Improved display of XML path.
340 Discontinued xmple-mode.
343 New major modes nxhtml-part-mode/nxml-part-mode replaces
344 minor mode xmlpe-mode. (While moving the code to
345 nxhtml-part.el I also fixed a bug in Xmple minor mode that
346 made Emacs take 99% of the CPU.)
350 <dt id="v0.91">0.91</dt>
354 Fixed some calls to perl which prevented uploading of
355 a site of you did not have perl in the same location
359 Glued together things so that editing PHP files works
360 as I intended. (This means that Emacs switches between
361 php-mode and nxhtml-part-mode automatically when
362 moving point. And that you can use completion.)
365 Starting working on the documentation for nXhtml.
366 New layout to the documentation files.
367 Examples with images.
371 <dt id="v0.92">0.92</dt>
375 Fixes to make the switching between php and xhtml
376 style editing work better.
380 <dt id="v0.93">0.93</dt>
384 Better error handling when switching to editing
385 embedded JavaScript and CSS.
388 Removed PHP spec from embedded switching since they
389 interfered with the automatic switching between php
393 Gives an error message if web host is not defined in
394 site when trying to use View Uploaded File and
398 Gives a ready message when finished uploading a single
402 When using Mode Switching at <? ... ?> mode
403 switching could occur in wrong buffer. Fixed together
404 with some other buffer problems.
408 <dt id="v0.94">0.94</dt>
412 Add http://www.w3.org/ to the help sites for CSS.
418 Added a menu entry for bug reporting.
421 Renamed menu bar entry from XHTML to nXhtml for clarity.
422 (But nXml menu bar entry is still called XML.)
425 Added work around for globalized minor modes in the
426 cases of MLinks, XML Path and mode switching at <? ... ?>.
430 <dt id="v0.95">0.95</dt>
434 Added workaround for the problem with the first
435 keyboard key after automatically switching of mode at
440 <dt id="v0.96">0.96</dt>
444 Added support for multiple major modes with mumamo.el.
447 More conventient handling of links. They can now be
448 opened in the same window, 'other window' or in a new
453 <dt id="v0.97">0.97</dt>
457 Schema was not setup after starting new page so
458 completion did not work. Fixed.
461 Added http://xhtml.com/ to help sites for XHTML.
464 Added the concept of <em>fictive XML validation
465 headers</em>. These are just text parsed by the nXml
466 validation parser to get a start state before starting
467 parsing a buffer. This allows the use of the nXml
468 completion in buffers where there are no XML header.
469 Such a header is often lacking for example in PHP code
470 since the XHTML header is often generated dynamically.
473 Because of the change above <em>nxhtml-part-mode</em>
474 is no longer needed and is therefore declared
478 Corrected a bug in mlinks.el that prevented opening an
479 HTML link in a other window or a new frame.
482 Added support for JSP, eRuby and some support for perl
487 <dt id="v0.98">0.98</dt>
491 Mumamo was not found when nXhtml was installed with
492 just the zip file. Corrected. (nXhtml is also
493 installed when you install EmacsW32.)
496 Enhancement to mumamo error handling when a bad mode
497 specifier for an embedded mode is found.
500 Introduced a bug for empty XHTML documents in
504 Corrected a bug for chunks 1 character long.
507 There is what I consider is a bug in Emacs 22.1 in the
508 handling of global minor mode that are not distributed
509 with Emacs. If they are turned on by customization,
510 but loaded after Emacs have loaded the customizations
511 (usually in .emacs) then they are not turned on
512 correctly. Added work-around for this.
515 <em>Fictive XHTML Validation Header</em>:
518 <em>Fictive XHTML Validation Header</em> state was not saved when moving between chunks. Fixed.
521 Tried to make the concept of <em>Fictive XHTML Validation Header</em>
522 more clear. Added this visually to the buffer.
525 <em>Fictive XHTML Validation Headers</em> can now be turned on
526 automatically based on file name.
531 <em>nXhtml menu:</em>
534 Reorganized the nXhtml menu.
537 Added <em>customization</em> groups for help libraries to nXhtml.
540 Added an entry for customization of nXhtml to the menus.
543 Added <em>Tidy</em> to the menus again.
548 Corrected bug in <em>XML Path</em> (nxml-where) for single tags.
549 Other small fixes to nxhtml-where.
552 Documentation enhancements.
553 Added <em>The Quick Guide</em>.
557 <dt id="v0.99">0.99</dt>
561 Fixed a serious bug in the cooperation between nxhtml-mode and mumamo-mode.
564 Turn on mumamo-mode by file name (mumamo-global-mode).
567 Fictive XHTML Validation Header:
570 The Fictive XHTML Validation Header state were not saved when changing major mode in MuMaMo. Corrected.
573 Added more alternatives to the Fictive XHTML Validation Header list.
574 This should make it easier to use completion with for example PHP.
577 Added default value for the Fictive XHTML Validation Header.
580 Tried to make the use of Fictive XHTML Validation Header more automatic and therefore useful.
581 Also tried to make it play better with setting schema file.
582 (There is no need normally to set schema file by hand.)
585 To turn this on by default customize nxhtml-global-validation-header-mode.
590 Possible to hide validation warnings without turning
591 on validation (which would make completion in the
592 XHTML part impossible).
595 Some fixes to php-mode:
597 <li>Using the character # for comments now works for most cases.</li>
598 <li>Now uses the fontification faces in a more standard way which calms down the look.</li>
599 <li>Initialization bug fixes.</li>
600 <li>Renamed php-mode-user-hook to php-mode-hook to follow standard.</li>
607 Various corrections to indentation in mumamo.
610 Added the possibility to use TAB to indent regions
611 (indent-region-mode).
614 Warn about bad indentation in mixed PHP/HTML code
615 when using php-mode only.
620 Fontification now fontifies all text first in main
621 major mode and thereafter applies submodes. (This
622 avoids some problems with around a submode chunk.)
625 Reorganized the nXhtml menu:
628 There is now a minor mode for the nXhtml
629 menu. This makes it possible to easier use common
630 features when in buffers not in nxhtml-mode.
633 The nXhtml menu does not disappear when moving
634 into a chunk where the major mode is not
635 nxhtml-mode. The changes also makes it easy to
636 access uploading functions functions etc from
637 other modes than nxhtml-mode since the
638 <em>nXhtml</em> may also be shown in them.
641 The nXhtml menu can be turned on globally by default.
642 Customize nxhtml-menu-mode for that.
648 <dt id="v1.00">1.00</dt>
652 Reached version number 1.00 - which you maybe believe
653 means the bugs should be gone? Sorry, it is just that
654 I ran out of version numbers. However it looks like
655 much fewer bugs at least.
658 Fixed problems mostly related to global turn on of different features in nXhtml.
661 Small fixes to indentation.
664 nxhtml-mode could get confused by php tags.
667 nxhtml-mode did not indent <!DOCTYPE in a sensible way.
670 Electric keys now works in embedded php when using mumamo-mode.
675 Tidy was very misbehaving since the output buffer was
676 not erased between different files. But I have got no
680 Fixed a bug in validation that should up when using muamo-mode.
683 Fixed bug in <script ...> and <style ...> chunk dividing.
686 Added support for OpenLaszlo.
689 Corrections to mlinks-mode (visible mostly as links in
693 Links disappeared when a new file was
697 Links were not correctly updated at changes in the
698 buffer when mumamo-mode was used. Fixed.
703 The welcome message for nXhtml could be shown too
704 early sometimes when loading, before nXhtml actually
705 knew if it should be shown or not. Tried to fix it.
709 <dt id="v1.01">1.01</dt>
713 Reported wrong version number for nXhtml in the menus. Fixed.
716 <em>If you use the zip file to install nXhtml please
717 notice that it has now a top level nxml.</em> Sorry for not
718 having zipped it like that before!
721 The url links in <em>Welcome to nXhtml</em> was a bit
722 incorrect and did not work on all OS:es. Fixed.
725 Added customization of popup completion to the 'nxhtml
726 customization group so they are easier to find.
732 Struggled a bit with the load sequences of the elisp
733 libraries used by nXhtml when using MuMaMo.
736 Tried to get the global turn on of mumam-mode to work
740 The screen was blinking when changing overlays after
741 changes in the buffer. Tried to fix this.
744 Minor fixes do syntax highlighting, like taking care of single ':s.
747 Fixes to the support for JSP and eRuby.
750 Made the support for perl here documents a bit better.
751 Large perl documents are however still quite slow when
752 using mumamo-mode. I do not know the reason yet.
755 Refontification could miss some parts when buffer
756 changes caused chunk division changes. Complex,
757 tried to fix it, but I am a bit unsure that it
761 Cleaned up mumamo.el a bit.
764 Rewrote mumamo-test.el and functions called from it in
765 mumamo.el a bit to make tracebacks from errors more
766 useful. Changed keybindings in mumamo-test.el from
767 global to a minor mode <em>mumamo-test-mode</em>.
768 Renamed mumamo-notest.el to mumamo-test.el. Added it
769 to the zipped distribution of nXhtml.
774 Fixed a bug related to links and buffer changes.
778 <dt id="v1.02">1.02</dt>
782 Fixed a refontification bug that occured after changes.
786 <dt id="v1.03">1.03</dt>
790 Added the possibility to call GIMP.
793 Reworked the messages for fontification errors to try
794 to catch an error that shows up sometimes. Tried to
795 avoid disturbing normal use in spite of that error.
798 Reverted to using a short delay before switching major
799 mode when moving between buffers.
803 <dt id="v1.04">1.04</dt>
807 Enhanced the documentation for nXhtml. Starting from
808 <i>C-h f nxhtml-mode</i> it should now be easier to
815 Completion on an empty page gave a faulty frameset page. Fixed.
818 Insert end tag did not work with a fictive
819 validation header. Fixed.
822 Insert end tag when all preceding tags where
823 closed gave a strange error message. Fixed.
826 Changed some key bindings to comply with
827 <i>(info "(elisp) Key Binding Conventions")</i>
830 Completion in empty buffers with a completion
831 header did not work. Fixed.
833 <li id="mumamo-bugs">
834 Multiple major modes:
837 Fixed a bug that prevented mumamo-global-mode from
838 beeing turned on in a file opened in
842 Better error tracing for some functions,
843 including the call of major mode functions.
846 Position was garbled when a ;-char was inserted in php-mode chunk. Fixed.
849 A bad check for if mlinks-mode where available was fixed.
852 Some bugs concerning turning off mumamo-mode was fixed.
855 Fixed a bug in <i>perl here doc</i> chunks. Suddenly the
856 problem with slowness when using mumamo-mode in
857 perl buffers seems gone. (Note quite sure, but I
858 can't see any problems now.)
861 Fixed a bug in mumamo-mode when current buffer was
862 switched before the major mode had been set from
866 Fixed a long standing bug in php fontification of
867 strings and comments.
870 Fixed a bug where <i>sgml-xml-mode</i> was not defined.
873 Fixed a bug related to get-text-property which
874 gives an error when buffer is narrowed.
877 Tried to refontify things outside of a narrowed part. Fixed.
880 Too little where refontified after changes. I hope I have fixed this.
885 Fictive XHTML Validation Header:
886 <ul id="v1.04-fic-bugs">
888 View File did not work correctly when a fictive
889 XHTML validation header was used. Corrected.
892 Fictive XHTML validation headers are no longer
893 turned on by default in any buffers.
901 Tried to fix a problem when using
902 newline-and-indent. When this was in a mode
903 derived from C the indentation sometimes became 0.
906 Speeded up the indentation of regions a bit when
907 using <i>mumamo-mode</i>.
910 Indentation: TAB now only indents a region if it
911 is visibly marked (see transient-mark-mode and
915 Simplified the indentation code.
920 Fixed a problem where string fontification got out
921 of phase so that wrong parts of buffer could be
922 fontified as a string.
925 Added a workaround for <a
926 href="#php-attribute-values">Attribute values
930 Added .nosearch to subdirectories with no elisp files.
933 Fixed incorrect checks for mlinks-mode in menu building.
936 File extensions where used in a case sensitive way
937 in some places. Fixed.
940 appmenu: Worked only in html files. Fixed.
943 html-site: Fixed the error <em>Error
944 (html-site-current): Can't find site:
948 Fixed a problem with longlines-mode in the support
949 for Firefox add-on It's All Text. (Note however
950 that there are some bugs in longlines-mode
951 itself.) Rewrote the support to be more
952 general. It is now in the file as-external.el, see
956 Fixed an encoding problem in
957 <i>tidy-buffer</i>. Output from tidy was not read
958 using the same coding system as tidy was using.
961 Fixed some problems with face definitions, possibly bugs (not sure).
964 Made the fontification faster when using mumamo-mode.
965 (It is still slower than single mode fontification of course.)
968 nxml-where.el: Made it aware of mumamo.el.
976 Completion menu: Renamed to <i>Completion and
977 Validation</i> menu and reorganized a little bit to
981 Renamed <i>view</i> to <i>browse</i> since this is
982 the normal emacs name for showing files in a web
983 browser. Also made corresponding changes to
984 function names. Put back the possibility to view
985 only the region in a web browser.
993 Added remote dired to the menus.
996 Fixed problems with file names starting with ~.
999 Fixed more problems with file names with spaces.
1007 nxml-where now uses a timeout for more smooth performance.
1010 nxml-where can now recognizes both id and name attribute.
1013 Hyphens are now accepted in tag names.
1021 Multiple major mode turned on by default for .rhtml files when this mode is global.
1024 Multiple major mode is no longer turned on when rub-mode is turned on.
1029 Added support for switching major mode dependent on if
1030 Emacs was called as an external editor. This makes it
1031 possible for example to switch to relevant major and
1032 minor modes when Firefox add-on It's All Text.
1035 Added the possibility to easily view the output of scripts on the server (if they require no parameters).
1036 You can now do that from the nXhtml menu.
1037 Previously only html files on the server could be viewed that way.
1038 Image files can also be viewed this way.
1044 Added functions for unfilling.
1047 Added keybindings and menu entries for longlines-mode, fill-paragraph and unfill-paragraph.
1053 Added HTML quoting of & and < in text areas. Bound to C-c C-q.
1059 Added image-mode to those that are encompassed by nxhtml-global-minor-mode so that images can be uploaded more easily.
1062 Added <em>edit with GIMP</em> and <em>upload</em> to the popup menu for links.
1063 This avoids the need to load the linked files in Emacs first.
1068 Added <em>nxml-untag-element</em>.
1071 Added a modified version of wikipedia-mode.el. Seems likely to be useful if you are doing web editing.
1080 Removed the lighter <i>"MuMaMo"</i> for
1081 mumamo-mode. Instead the active major mode now has
1082 <b>"/m"</b> appended to mode-name (that is what you see
1086 The normal way to turn on <i>mumamo-mode</i> has
1087 changed. There are now functions that you can use
1088 in <i>auto-mode-alist</i> to directly set up the
1089 buffer for mumamo-mode. The available functions
1091 variable <i>mumamo-defined-turn-on-functions</i>.
1093 You are not supposed to call mumamo-mode
1094 yourself any more and mumamo-global-mode is
1095 gone. So is also mumamo-chunk-family-by-mode and
1096 mumamo-filenames-list. The functionality those
1097 gave are all replaced by the new functions for
1098 turning on mumamo mode.
1102 Added support for buffer local values in
1103 hooks. This is necessary for example to support
1104 minor modes that are meant to be buffer local but
1105 not major mode specific. Instructions for authors
1106 of this kind of minor modes are in the file
1110 Added support for Django.
1113 Added support for Embperl.
1116 Added support for PHP Smarty. The <i>{literal}
1117 ... {/literal}</i> construct is not supported.
1118 This mean that you can not use <style ..> or <script ..>.
1121 Added support for imenu for the main major mode.
1122 Turned on this by default in nxhtml-mode.
1125 Made the temporary replacement of the
1126 attr="<?php ... ?>" a bit better. They are
1127 now more visible and also still mumamo chunks
1128 during the temporary replacement.
1131 Added support for <i>flymake-mode</i>.
1132 Maybe add support for checking chunks?
1135 Printing: Added htmlfontify.el and
1136 hfyview.el. These makes if possible to print a
1137 buffer fontified with <i>mumamo-mode</i> on in
1138 colors (through your web browser). There is an
1139 example of the capabilities of htmlfontify <a
1140 href="htmlfontify-example.html">here</a> (made
1141 with a little function in hfyview.el).
1149 Did a first merge with Aaron Hawleys fixes for php-mode.el.
1154 CSS: Upgraded to Stefan's latest css-mode.el.
1157 Fictive XHTML Validation Headers: Changed the way they
1158 are turned on. They may now be turned on when
1159 mumamo-mode is turned on.
1162 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 <i>.nosearch</i> file at the top of the nxml tree in nXhtml.
1165 Restructured the directories. Moved some files out of
1166 the <i>nxhtml</i> subdir. Some of them went into the
1167 <i>util</i> subdir (those are written by me) and some
1168 to the new subdir <i>related</i> (those that are
1169 inherited from others, maybe changed by me - most
1170 often to work with mumamo-mode).
1173 Changed all licenses to be GNU GPL.
1176 Additions to tidy support: It is now possible to use
1177 the tidy support to tidy the XHTML part of php etc.
1178 (Thanks to Hadron for this suggestion.)
1181 Added <i>winsize.el</i> which allows interactive resizing of
1182 windows. Also added <i>winsav.el</i> which adds the
1183 capability to rotate window configurations and also to
1184 save window configuration to file.
1187 Made nXhtml work with CVS Emacs 23.0.50.1.
1190 Added freemind.el to the parcel. After all FreeMind
1191 supports web publishing too so why not have the Emacs
1196 <dt id="v1.10">1.10</dt>
1198 Just jumped the version number for the new release of
1199 nXhtml. There are really significant changes in this
1200 release, not only minor bug fixes.
1202 <dt id="v1.11">1.11</dt>
1204 Minor bug fixes to completion. Added fictive validation
1205 header to completion alternatives when buffer is empty and
1208 <dt id="v1.12">1.12</dt>
1212 Fixed a bug in image link insertion in nxhtml-mode, thanks Niels Giesen!
1215 Restructured, reordered and documented mumamo.el. It is now two
1216 separate files, mumamo.el and mumamo-fun.el.
1219 Added move by chunk to the nXhtml menu.
1223 <dt id="v1.13">1.13</dt>
1227 Better handling of the case when no validation header
1228 is needed and the user tries to turn it on.
1231 Added .phtml as php file.
1235 <dt id="v1.14">1.14</dt>
1239 Completion of links in XHTML was broken. Fixed, thanks
1244 <dt id="v1.15">1.15</dt>
1248 Added `mumamo-map' keymap.
1251 Added a keymap to all multi major modes.
1254 Some more refinement to fictive validation headers.
1258 <dt id="v1.16">1.16</dt>
1265 Changes to indentation:
1268 Removed indent-region-mode since that
1269 functionality is now in indent-for-tab-command in
1273 Removed some code that checked if indentation was 0.
1276 Added indent-for-tab-command to mumamo-map.
1281 Reordering and renaming:
1284 Reordered and move some functions in mumamo.el et al.
1285 Added new file nxhtml-mumamo.el.
1288 Renamed <i>define-mumamo-turn-on</i> to
1289 <i>define-mumamo-multi-major-mode</i>.
1292 Removed the ending <i>-turn-on</i> from the
1293 functions defined by the macro above.
1296 Introduced <i>multi major mode</i> as a name for
1297 the functions defined by the macro above. Those
1298 works in many respects like major mode functions,
1299 but they support multiple major modes in a buffer.
1304 Added support for noweb as multiple major mode.
1310 <dt id="v1.17">1.17</dt>
1317 Added support for flyspell.
1322 Bug fixes to the version of find-recursive.el that
1323 ships with nXhtml. Thanks to Cezar Halmagean.
1326 Added tabkey2.el which tries to make it easy to use
1327 the Tab key for completion. (You must load it and turn
1328 on tabkey2-mode to use it.)
1334 Added <i>nxhtml-heading-element-name-regexp</i> as
1335 default for nxml style folding.
1338 Some changes to fold-dwim.el.
1346 Simplified: Removed the possibility to
1347 automatically show minor and major mode menus.
1348 There is now only one list, <i>appmenu-alist</i>.
1351 Added menu item <i>At Current Point</i> for
1352 bindings found in character and overlay keymaps at
1353 point. Those you always forget.
1361 Added physical-line.el to nXhtml.
1364 Added new functions to move to beginning and end
1365 of line to ourcomments-util.el that supports
1372 <dt id="v1.18">1.18</dt>
1376 Better Tab completion in tabkey2.el.
1380 <dt id="v1.19">1.19</dt>
1384 Even better Tab completion in tabkey2.el.
1388 <dt id="v1.20">1.20</dt>
1392 Once again even better Tab completion in tabkey2.el.
1395 Fixed bug in hiding of validation errors (they could
1399 Cleaned up menus in nXhtml.
1403 <dt id="v1.21">1.21</dt>
1407 Added a bit support for dired (upload, browse, browse
1411 Fixed some strange menu problems (i hope).
1415 <dt id="v1.22">1.22</dt>
1423 <dt id="v1.23">1.23</dt>
1431 <dt id="v1.24">1.24</dt>
1435 Tried again to make hexcolor-mode more readable.
1441 Added support for <i>hi-lock-mode</i>. At present
1442 it might however be very puzzling. The hilight
1443 added by hi-lock-mode may be hidden by the
1444 overlays used by mumamo. Tip: you can always use
1446 style="font-size:1.5em;">hi-black-hb</span>.
1452 <dt id="v1.25">1.25</dt>
1459 Handle hi-lock-mode in a more general way
1460 using <i>font-lock-mode-hook</i>.
1466 <dt id="v1.26">1.26</dt>
1473 Removed the indent line patch for nxml-mode.
1476 Better test for empty page during completion.
1484 A lot of improvements.
1490 <dt id="v1.27">1.27</dt>
1497 Worked with bugs in mumamo.el that was due to bad
1498 handling of syntax-ppss et el. Looks like most of
1502 Fixed documentation and reordered code in mumamo.el and mumamo-fun.el.
1505 Changed javascript.el indentation to make it work with
1509 Introduced the function <i>mumamo-make-variable-buffer-permanent</i> as an aid for minor mode authors.
1512 Fixed quite a few indentation bugs.
1513 There was one bug that could make Emacs loop after indentation.
1521 Fixed bugs with left over idle timers when buffer
1522 had been killed (nxml-where.el, mlinks.el).
1530 Fixed a bug in html-site when comparing file
1531 names. File names where not made unique before
1548 Fixed a problem in freemind-to-org-mode that
1549 caused the error "wrong-type-argument string: nil"
1550 in string-match("\\(?:^--org-mode: WHOLE FILE$\\)"
1556 Made nXhtml menu available in sub-chunks.
1559 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 <i>mumamo-major-modes</i>.
1563 <dt id="v1.28">1.28</dt>
1567 New version with mostly minor bug fixes from 1.27.
1568 Unfortunately I put out 1.27 a bit too early.
1573 <dt id="v1.29">1.29</dt>
1580 Fixed a bug causing emacs to loop when <?>
1581 was encountered in an html style buffer.
1584 Fixed some problems with <? and ?> in
1585 strings in html style buffers.
1588 Tried to avoid chunk dividers in strings and comments. (There are still some bugs there.)
1591 Fixed an error that prevented byte compiling nxhtml-mumamo.el.
1592 (Thanks Christoph Conrad.)
1598 <dt id="v1.30">1.30</dt>
1605 Added support to handle specific rng
1606 schemacs. With the help of this Genshi and MJT
1607 templating languages are now handled.
1610 Let the rng schema file name survive mumamo major
1614 Added support for to let nxml-mode skip chunks it
1615 can not parse. (This requires a patch to
1616 rng-valid.el too which is not included, but which
1617 I hope can go into Emacs soon.)
1620 Chunk dividers can now be a part on their own. (Ie
1621 there will be no parsing or syntax highlighting of
1622 them by the chunk major mode. This is optional and
1623 specified for each chunk types.)
1626 Added support for Genshi and MJT. These multi
1627 major modes support completion and error checking
1628 in the XML/XHTML part according to their DTD
1629 (which has some additions to the XHTML DTD).
1635 <dt id="v1.31">1.31</dt>
1642 Fixed a bug that caused multi major modes to loop sometimes.
1648 <dt id="v1.32">1.32</dt>
1655 Fixed a bug in syntax-ppss advice.
1661 <dt id="v1.33">1.33</dt>
1668 Fixed another bug in syntax-ppss advice.
1671 Added support for <i>fill-forward-paragraph-function</i>.
1674 Made <i>longlines-mode</i> survive major mode changes in mumamo buffers.
1677 Fixed a bug that made Emacs loop when it found
1678 <??> in for example nxhtml-mumamo.
1681 Made it usable with Emacs 22 again.
1684 Moved some changes from rng-valid.el to
1685 mumamo.el. This makes it possible to let nxml-mode
1686 (and derivates) jump over parts when parsing the
1687 buffer even if not using the patched version of
1696 Added command to add CSS rollover images.
1704 Tried to fix the error <i>invalid-read-syntax "]
1705 in a list"</i> when loading <i>mlinks.el</i>
1706 reported by some Asian users.
1712 <dt id="v1.34">1.34</dt>
1716 <span style="font-size: 1.2em; color: red ()"
1717 >Changed top directory name from nxml to nxhtml</span>
1719 This will of course case some problems if you do not
1720 notice it when you upgrade nXhtml. If you are using
1721 EmacsW32 and upgrade nXhtml you should change the
1722 file <i>emacsw32.el</i>.
1725 The reason for this change is that nXml will soon
1726 normally not be part of nXhtml so keeping the old
1727 top directory name would be confusing.
1731 Added a test suite. See the file <i>nxml/tests/test-Q.el</i>.
1737 Fixed indentation when the whole line is a sub chunk.
1740 Tried a bit more to stop nxml from parsing non-xml
1741 mode chunks. Because of this php support was
1742 changed a bit (for the better I hope).
1750 Registry value location for GIMP had changed.
1758 Added support for <a href="http://hyperstruct.net/projects/mozlab">MozLab</a>. If you install MozLab in Firefox then you can directly use it from javascript mode without any additional setup.
1761 Added <a href="http://www.oak.homeunix.org/~marcel/blog/articles/2008/07/18/nested-imenu-for-php">php-imenu.el</a>.
1764 Fixed a bug where I inadvertently
1765 added <i>../../lisp</i> to load-path.
1771 <dt id="v1.35">1.35</dt>
1775 Fixed a small bug in sex-mode.el.
1779 <dt id="v1.36">1.36</dt>
1783 Added the function <i>emacs-Q-nxhtml</i> for easier
1784 testing. It does the equivalent of <i>emacs -Q --load
1785 PATH-TO/nxhtml/autostart.el</i>.
1791 Forgot to return php-mode in php short tags. Fixed.
1794 Borders where not correctly calculated with php short tags. Fixed.
1797 Subchunks not parseable by nxml-mode where marked as parseable. Fixed.
1800 Debug messages from mumamo where not silenced.
1803 Forgot font-lock-syntactic-keywords. This showed up in
1804 bad fontification for strings sometimes. Fixed.
1807 To fontify keywords font-lock-syntactically-fontified
1808 must be set in each chunk. Fixed.
1811 Find a way to at least temporarily work around the
1812 problem with the last "e; char in
1813 syntax="e;..."e; that could be seen in
1814 large XHTML files, for example this file. The
1815 drawback with the work around is that it bypasses
1816 the cache for syntax-ppss, but this happens only
1817 in multi major mode buffers and I notice no
1818 performance problems here.
1821 Fixed a number of problems with the defadvice for the syntax functions.
1822 (I am afraid there are more left.)
1825 Took a new grab on the indentation problems.
1831 <dt id="v1.37">1.37</dt>
1835 The command <i>emacs-Q-nxhtml</i> and cousins did not
1836 work on all platform. Tried to fix it.
1839 Got a report that editing Django was to slow. Tried to fix this.
1842 Added a test to the unit test suite that test
1843 scrolling and jumping.
1847 <dt id="v1.38">1.38</dt>
1851 Added a workaround that removes validation error marking in non-xhtml chunks.
1855 <dt id="v1.39">1.39</dt>
1859 Multi major modes where not allowed in defcustoms
1860 nxhtml-magic-mode-alist and
1861 nxhtml-auto-mode-alist. Fixed.
1864 Added tests for the use of the lists above.
1867 Fixed some bugs that could make a buffer became
1868 modified due to mumamo fontification actions.
1871 The rnc files for mjt and genshi had include path that
1872 did not work if you where using the nxml-mode that
1873 comes with nXhtml. Fixed. (Thanks for pointing this
1877 Now trying to keep the launchpad bazaar repository in
1882 <dt id="v1.40">1.40</dt>
1889 Some small changes: support for eshell
1890 and better information about completion commands
1891 alternative key bindings.
1899 It turned out that my patched php-mode asked in
1900 every buffer to turn on mumamo. Changed it to
1901 once for every Emacs invocation instead.
1904 In addition to this it did not turn on mumamo
1905 multi major support if the user wanted it ;-)
1911 <dt id="v1.41">1.41</dt>
1915 There was an error that prevented loading of nXhtml
1916 with Emacs 22. (This was before opening any file.)
1919 Fixed a problem in startup order for ido-mode and nXhtml.
1920 (This could lead to that ido-mode was reset from 'both to 'buffer.)
1924 <dt id="v1.42">1.42</dt>
1928 Fixed a bug concerning style="e;..."e; and similar constructs.
1932 <dt id="v1.43">1.43</dt>
1936 Added file ffip.el for finding files in projects.
1939 Added command <i>html-site-find-file</i>.
1942 Added aliases for all multi major modes.
1943 The alias looks like <i>mumamo-alias-MULTI_MAJOR_MODE</i>.
1944 Their purpose is to make it easier to find a multi major mode.
1947 Fixed bug <a href="https://bugs.launchpad.net/nxhtml/+bug/258169">https://bugs.launchpad.net/nxhtml/+bug/258169</a>.
1951 <dt id="v1.44">1.44</dt>
1955 Fixed an error in chunk dividing.
1958 Fixed bug <a href="https://bugs.launchpad.net/nxhtml/+bug/258097">https://bugs.launchpad.net/nxhtml/+bug/258097</a>.
1962 <dt id="v1.45">1.45</dt>
1966 Fixed bug reporting instructions to point to Launchpad.
1970 <dt id="v1.46">1.46</dt>
1974 Cleaned up and fixed bugs in the help routines.
1978 <dt id="v1.47">1.47</dt>
1982 Made tabkey2-mode aware of this-command.
1986 <dt id="v1.48">1.48</dt>
1993 Added jde-mode as first choice if major mode file spec is java-mode.
1996 Fixed a bug concerning buffer local variables saving.
1999 Fixed a bug that occured when autoloading major mode failed.
2005 <dt id="v1.49">1.49</dt>
2009 Added a CEDET loader which can fetch CVS version of CEDET.
2013 <dt id="v1.50">1.50</dt>
2017 Added a Rinari loader which can fetch SVN version of Rinari and ruby-mode.
2021 <dt id="v1.51">1.51</dt>
2025 Fixed a regression bug in MuMaMo. If a major mode was
2026 not defined Emacs could hang badly.
2029 Added an ECB loader which can fetch CVS version of ECB.
2032 Enhancements to the routines for fetching and setting
2033 up CEDET, ECT and Rinari.
2037 <dt id="v1.52">1.52</dt>
2041 Added a tool to give major modes priority when
2042 choosing a major mode for a buffer.
2046 <dt id="v1.53">1.53</dt>
2050 Quick fix for left-over which made it impossible to
2051 edit php files in version 1.52. If you are using
2052 version 1.52 you may for the moment just add (require
2053 'fmode) to your .emacs after loading nXhtml.
2057 <dt id="v1.54">1.54</dt>
2064 Added better error handling for problems such as
2065 those that occured in version 1.52 with php-mode.
2068 There was a bug when changing from a mumamo multi
2072 Tried to fix <a href="https://answers.launchpad.net/nxhtml/+question/43320">question 43320</a>.
2080 Made the indentation check up to date with current
2087 <dt id="v1.55">1.55</dt>
2091 Tried to fix https://answers.launchpad.net/nxhtml/+question/43320 again.
2094 Better test of when to end tabkey2-mode completion function state.
2098 <dt id="v1.56">1.56</dt>
2102 Allowed both single and double quotes in mlinks for html files.
2105 Added initial support for Mako template language.
2106 (There is no support for the tags yet, like in
2107 Genshi. Additions are welcome!)
2111 <dt id="v1.57">1.57</dt>
2115 Fixed another part of question 43320 (see above) regarding php indentation.
2119 <dt id="v1.58">1.58</dt>
2126 The change of major mode when moving between
2127 chunks could occur in the wrong buffer because I
2128 had misunderstood how with-selected-window
2132 Added ${...} python chunks to Mako (ie mako-html-mumamo).
2135 Added mako-nxhtml-mumamo.
2143 Fixed problem with point keymap.
2151 Fixed <a href="https://answers.launchpad.net/nxhtml/+question/44504">https://answers.launchpad.net/nxhtml/+question/44504</a>.
2154 Fixed a typo regarding indentation check.
2162 Better support for YASnippet.
2168 <dt id="v1.59">1.59</dt>
2172 Fixed a bug that was revealed by the better support for YASnippet.
2176 <dt id="v1.60">1.60</dt>
2183 Fix some bugs in Tidy XHTML support.
2186 Also Some small improvements to Tidy GUI.
2189 Added a test case for bug
2190 https://bugs.launchpad.net/nxhtml/+bug/271497 (which I
2194 Bug fixes to ffip.el
2197 Added fix for <a href="http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1013"
2198 >Emacs bug 1013</a>.
2201 Fixed some minor bugs in as-external.el.
2204 New handling of minor modes (buffer local variables).
2205 I hope this should fix the problem reported in
2206 <a href="https://bugs.launchpad.net/bugs/272526">nXhtml bug 272526: Imenu on menubar doesn't work after switching modes</a>.
2209 Fixed a bug that could make buffer marked as modified
2210 during fontification.
2213 Changed <i>php-mode</i> binding for TAB to follow Emacs normal standard.
2216 Fixed a bug that sometimes caused rng-validate-mode to be
2217 turned on in wrong buffer when setting xhtml fictive
2223 Finished a replacement for the usual help command on
2224 [f1 ?c]. This will in addition to the command show the
2225 keymap. To use it add
2226 <i>(global-set-key [f1 ?c] 'find-keymap-binding-key)</i> to your .emacs.
2229 Let tabkey2-mode first look for [tab] and then [?\t].
2232 Added an <a href="http://ourcomments.org/Emacs/nXhtml/tut/tutorials.html"
2233 >nXhtml tutorial page</a> with video tutorials.
2237 <a href="https://answers.launchpad.net/nxhtml/+question/45721"
2238 >nXhtml question 45721</a>
2239 there was a short discussion on Emacs Devel where I
2240 was convinced to change the name convention for multi
2241 major modes. They are now supposed to end
2242 in <i>-mumamo-mode</i> (instead of the old <i>-mumamo</i>).
2245 Added <i>ourcomments-ediff-files</i> to start ediff
2246 from a shell with Emacs Client.
2249 Took a look at autoloading. nXhtml now uses
2250 autoloading in many more cases and loads much faster.
2253 Added new general functions for search and replace:
2254 <i>grep-query-replace</i>, <i>ldir-query-replace</i> and
2255 <i>rdir-query-replace</i>. Also added similar
2256 functions to search and replace in a site (they are in
2260 Added <i>better-fringes-mode</i> for my personal preferences
2261 for fringe symbols ...
2264 Enhancement for (X)HTML editing:
2267 Added a minimal one-line display version of fictive
2268 validation headers and made it the default.
2271 Some enhancements to <i>nxml-where-mode</i>.
2274 Display of images inline. Can be used in different major modes/files.
2277 Added the minor mode <i>wrap-to-fill-column-mode</i> and
2278 replaced longlines-mode in the Tools menu with this.
2281 Added the minor mode <i>html-write-mode</i> that can hide
2282 some simple tags and just show the inner html with a
2283 user defined face. This is meant to make it easier to
2290 <dt id="v1.61">1.61</dt>
2294 Bug fixes in html-write-mode and as-external.el.
2297 Removed left over autoloads (maybe there was a problem with ruby-mode, not sure).
2300 Fixed bug <a href="https://bugs.launchpad.net/nxhtml/+bug/290364">290364</a>,
2301 see below about MuMaMo important changes.
2303 <li>Fixed bug <a href="https://bugs.launchpad.net/nxhtml/+bug/272526">272526</a>.</li>
2304 <li>Fixed bug <a href="https://bugs.launchpad.net/nxhtml/+bug/292393">292393</a>.</li>
2305 <li>Fixed bug <a href="https://bugs.launchpad.net/nxhtml/+bug/300946">300946</a>.</li>
2306 <li>Fixed bug <a href="https://bugs.launchpad.net/nxhtml/+bug/304569">304569</a>.</li>
2308 Added some support for editing gmail messages in
2309 as-external.el (to be used with It's All Text for
2313 Some changes to face handling in Emacs had made htmlfontify.el fail.
2314 Some changes in CSS handling in Firefox and IE made hfyview.el fail even more.
2321 Aaron Hawley merged in some changes he made to php-mode.el. Thanks Aaron!
2322 Now nXhtml uses a slightly modified version of php-mode 1.5.0 is used
2325 <b>MuMaMo important changes</b>
2327 Unfortunately the chunk dividing routines in
2328 mumamo.el can loop, see bug 290364 above. The
2329 reason is that I tried to find chunks at current
2330 point in a buffer without looking through the buffer
2331 from the beginning. Fontification works this way in
2332 Emacs. It is a heuristic that sometimes fails
2333 however, but the consequences are merely just local
2334 errors in fontification.
2337 Chunk dividing must be more stable since it has a
2338 global impact on the files fontification. It
2339 therefore have to be done from the beginning of the
2340 buffer - just like a parser reading the file will
2344 I have done first part of this rewrite and I hope
2345 chunk dividing can not loop any more. Chunk dividing
2346 is now always done from the beginning. However the
2347 routines actually finding the chunks still looks
2348 both upwards and downwards. I will try to remove
2349 this unnecessary complexity later.
2354 <dt id="v1.62">1.62</dt>
2361 Fixed bugs in chunk creation that caused args out
2362 of range at buffer end.
2367 Autoloading caused wrong libraries to load (for
2368 example javascript from mozdev). Fixed.
2372 <dt id="v1.63">1.63</dt>
2376 Removed find-recursive.el since there is no use for it
2377 any more and it interferes with emacs-rails. (It was
2378 initally a bug fixs for emacs-rails.)
2381 Fixed bugs in <i>html-write-mode</i>.
2384 Used the new routines for finding chunks also during
2385 xml validation and syntax-ppss.
2389 <dt id="v1.64">1.64</dt>
2393 MuMaMo: nxml was not turned off properly when
2394 switching from a multi major mode that used nxml-mode
2395 or nxhtml-mode. Fixed. This was especially troublesome
2396 for Emacs 22 users where multi major modes based on
2397 nxhtml-mode does not always work.
2400 Majmodpri.el: Added a defcustom to give multi major
2401 modes based on nxhtm-mode or nxml-mode lower
2402 priority. This is on by default in Emacs 22.
2406 <dt id="v1.65">1.65</dt>
2409 <li>Fixed a bug in nxml-where.el.</li>
2411 Fixed a minor bug in majmodpri.el. It did not work if
2412 magic-mode-alist contained anonymous functions.
2413 (Thanks from Niels Giesen.)
2416 Fixed a bug in pause.el and added some mindfulness to it.
2419 Adjusted <i>ourcomments-move-beginning-of-line</i> (and dito
2420 for end) to the new <i>line-move-visual</i> in Emacs 23.
2421 Moved physical-line.el to <i>old</i> subdir since it is now
2425 Made it possible to byte compile nXhtml.
2428 <i>M-x nxhtmlmaint-start-byte-compilation</i>.
2431 A lot of code changes to make byte compilation
2432 possible without a lot of warnings. Most changes
2433 where just moving code around, but some where bug
2439 <dt id="v1.66">1.66</dt>
2443 Further work on byte compiling.
2446 Tried to fix some problem with defadvice in
2447 ourcomments-util.el.
2450 Tried to finish the command <i>M-x search-form</i>.
2453 When no chunk is found (border case) then set the
2454 major mode to the main major mode for the current
2459 <dt id="v1.67">1.67</dt>
2463 Removed css.el since it is in Emacs 22.2 and later.
2467 <dt id="v1.68">1.68</dt>
2471 Fixed bugs related to byte compilation. This should
2472 now work for both Emacs 22 and 23. Also added a menu
2473 entry for byte compilation.
2476 Removed nXml from the distribution to make it
2477 smaller. nXml comes with Emacs 23 (not yet released of
2478 course). For Emacs 22 users see EmacsWiki about where
2481 Adding nXml to Emacs 22 startup should be done by
2482 using the file <i>nxhtml/autostart22.el</i>.
2485 NOTE 1: if you want to use <i>nxhtml-mode</i> in
2486 multi major modes in Emacs 22 (not recommended) you
2487 must also customize <i>majmodpri-no-nxml</i>.
2490 NOTE 2: The major mode <i>nxhtml-mode</i> as a
2491 major-mode works however very well also in Emacs 22.
2496 <dt id="v1.69">1.69</dt>
2500 Chunks were unnecessary deleted and recreated after a
2501 change even if all changes where within one
2502 chunk. This could make editing very slow. Fixed.
2505 Search for rng-auto.el in path. (Emacs 22 only.)
2509 <dt id="v1.70">1.70</dt>
2513 Validation could not be turned on in multi major
2518 <dt id="v1.71">1.71</dt>
2522 Fixed the problem that showed up in the file
2523 nxhtml/tests/in/kubica-freezing-i.html which could
2528 <dt id="v1.72">1.72</dt>
2532 Somehow I dropped this: Search for rng-auto.el in
2533 path. (Emacs 22 only.) Don't ask me how. Fixed again.
2537 <dt id="v1.73">1.73</dt>
2541 Worked a bit more on byte compilation and elisp
2542 libraries loading. If you byte compile nXhtml it will
2543 now load very few modules by default. It loads more
2544 modules if you don't.
2547 Added chart.el, a small elisp library to create charts.
2548 This works by calling google charts library.
2549 Chart.el is a bit beta, eh alpha, but still useful I believe.
2553 <dt id="v1.74">1.74</dt>
2557 Found and fixed a bug in <em>fictive XML validation
2558 headers</em>. This bug depended on the load order of
2562 Fixed a small bug in <i>nxml-where-mode</i>.
2566 <dt id="v1.75">1.75</dt>
2570 Included css-color.el, css-palette.el and gpl.el from Niels Giesen.
2571 (This replaces hexcolor.el which is no longer in nXhtml.)
2575 <dt id="v1.76">1.76 -- Released 2009-02-26</dt>
2579 <span class="bugfix">Fixed a long standing bug in XML validation.</span> (I had
2580 forgot to set the defadvice return value in defadvice
2581 rng-set-initial-state in rngalt.el - I wonder why I
2582 did not get any bug reports about this...)
2585 <span class="bugfix">css-color.el: bug fix for mIxEd case color names.</span>
2588 <span class="bugfix">freemind.el: bug fixes.</span>
2592 <dt id="v1.77">1.77 -- Never released!</dt>
2596 <span class="bugfix">Fixed numerous bugs</span>, please
2597 see <a href="https://bugs.launchpad.net/nxhtml/">nXhtml bug tracker</a>
2598 and dito <a href="https://answers.launchpad.net/nxhtml">question and answers</a>.
2601 Added some missing autoloads.
2604 <span class="bugfix">Tried to fix some smaller troubles with Viper when
2605 changing chunk.</span>
2608 <span class="bugfix">Menus for Tidy were broken. Fixed.</span>
2611 Added a test that the <i>nxml-mode libraries included
2612 in Emacs</i> are used and not the old ones. (If I
2613 understand it correctly this might have been a problem
2614 for Debian/Ubuntu Emacs 23 snap-shots users where the
2615 old nxml-mode has been a left over from earlier
2616 snap-shots where it was needed.)
2622 Chunks are now always created from top to bottom.
2623 This should make chunk creation more stable.
2624 It also opens up for chunks in chunks in the future.
2625 (The code still needs work...)
2633 To restore multi major modes in files loaded by
2634 desktop-save-mode the new
2635 function <i>majmodpri-apply</i> can be added
2636 to <i>desktop-after-read-hook</i>.
2639 New default for <i>majmodpri-sort-after-load</i>:
2640 Sort after loading certain features/libraries that
2641 are known to change <i>auto-mode-alist</i> and
2642 apply to current buffer. This new default should
2643 hopefully make major mode selection less
2652 Added save and restore between Emacs sessions for frame configuration.
2653 I am not sure how this works with special frames yet, but I have tested this with oneonone.el and it seems to work.
2654 Dedicated windows should also work.
2657 Added saving and restoring of named frame configurations.
2665 Updated to Karl's newest version (and added my additions).
2670 Added library usb-setup.el that might help a bit with
2671 using Emacs from an USB stick.
2674 Updated smarty-mode.el to the latest version.
2677 <img alt="Happy brain" src="img/fun-brain-2.png" width="131" height="119" />
2678 Added an n-back game for your brain (and mine).
2679 Just do <b>M-x n-back-game</b> to start it.
2683 <dt id="v1.78">1.78 -- Released 2009-05-28</dt>
2687 <span class="bugfix">nXhtml version 1.78 is the
2688 release of the previous beta</span> (which had number
2689 1.77 and existed in many versions).
2693 <dt id="v1.79">1.79</dt>
2697 Added a function to simplify adding for example font
2698 lock keywords for major modes used in multi major
2699 mode: <i>mumamo-refresh-multi-font-lock</i>.
2703 <dt id="v1.80">1.80 -- Released 2009-06-02</dt>
2707 <span class="bugfix">Fixed a (rather serious) bug and cleaned up.</span>
2710 Added mumamo regions. Mumamo regions are temporary
2711 mumamo chunks that you set up by selecting a region
2712 and telling you want that in a new major mode. To use
2713 this feature look in the nXhtml menu under <i>Chunks -
2718 <dt id="v1.81">1.81 -- Released 2009-06-19</dt>
2722 Added the minor mode <i>mumamo-alt-php-tags-mode</i>
2723 that lets you work more easily with <?php tags in
2724 strings while you are still able to use XHTML
2725 completion. (I added something looking rather similare
2726 earlier, but removed it again because of difficulties
2727 with undo. They are now fixed in Emacs and this should
2731 Added support for hi-lock, but please be aware that
2732 chunk overlays hides background marking that hi-lock
2733 does... - so you must use marking that changes
2734 foreground part of face.
2738 <dt id="v1.82">1.82 -- Released 2009-06-23</dt>
2742 <span class="bugfix">Find and fixed some bugs when
2743 I tried to fix bug 388729.</span> Not sure I fixed that
2748 <dt id="v1.83">1.83 -- Released 2009-06-24</dt>
2752 <span class="bugfix">Fontification disappeared for example in *grep* buffer. Fixed.</span>
2756 <dt id="v1.84">1.84 -- Released 2009-06-30</dt>
2763 <span class="bugfix">Worked around bug in Emacs
2764 22.3 where c-after-change was left in
2765 after-change-functions.</span> (This makes no
2766 difference in Emacs 23.)
2769 <span class="bugfix">Fixed a bug that occured
2770 after deletion of whole chunks.</span>
2776 <dt id="v1.85">1.85 -- Released 2009-07-04</dt>
2783 <span class="bugfix">Corrected various mostly
2784 minor bugs</span>, like indent-line-function which
2785 where globally set to
2786 mumamo-indent-line. Corrected.
2789 <span class="bugfix">Forgot to finish the implementation of support for
2790 font-lock-add-keywords. Done.</span>
2793 Added some faces hi-mumamo-* to use with hi-lock,
2794 but unfortunately they are not very
2795 visible. Suggestions are welcome.
2803 <span class="bugfix">Made the routines for fetching and installing CEDET and ECB
2804 from the development sources work again.</span>
2807 Added support for ECB in <i>winsav-save-mode</i>. Though I suspect it need some rework...
2812 Added pointback.el, found on EmacsWiki. This is just
2813 so missing in Emacs...
2817 <dt id="v1.86">1.86 -- Released 2009-07-05</dt>
2821 Made the fetching and installing of CEDET and ECB a
2826 <dt id="v1.87">1.87 -- Released 2009-07-08</dt>
2830 Some enhancements to winsav.el and menuacc.el.
2836 Added heredoc for some modes. They are currently
2837 kind of hidden since they are only available in
2838 multiple major modes that offer just heredocs.
2839 The implemented heredoc multi major modes are
2841 sh-mumamo-heredoc-mode,
2842 php-mumamo-heredoc-mode,
2843 perl-mumamo-heredoc-mode,
2844 cperl-mumamo-heredoc-mode,
2845 python-mumamo-heredoc-mode and
2846 ruby-mumamo-heredoc-mode.
2852 <dt id="v1.88">1.88 -- Never released, only betas</dt>
2859 <span class="bugfix">
2860 Background colors could not be removed by
2861 setting <i>mumamo-background-coloring</i>.
2862 Fixed, but please notice that this variable now
2867 <span class="bugfix">Support for chunks in chunks.</span>
2870 <span class="bugfix">Removed string-match-p which does not exist in Emacs 22.</span>
2873 <span class="bugfix">
2874 mumamo-alt-php-tags-mode hardly survived major mode
2879 <span class="bugfix">
2880 Added possibility to display chunk info in
2881 window margins as an alternative/addon to
2886 <span class="bugfix">
2887 Fixed a bug in n-back.el that prevented the game to be used on Emacs 22.
2893 Bug fixes and changes to udev for CEDET and ECB. (Udev
2894 is a little utility to fetch and install dev sources.)
2897 <span class="bugfix">
2898 Changed default directory for installing CEDET and
2899 ECB to be under <i>~/.emacs.d/udev/</i>.
2903 <span class="bugfix">
2904 Several bug fixes for udev.
2905 It should now work again (it did not if you compiled nXhtml).
2911 Added support for <a href="http://www.emacswiki.org/emacs/CompanyMode">Company Mode</a> 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 <a href="http://www.emacswiki.org/emacs/PredictiveMode">Predictive Mode</a>. (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.)
2913 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.
2920 Added support for Company Mode.
2923 Made completion only occur at word ends.
2928 Added support for <a href="http://www.emacswiki.org/emacs/Anything">anything style completion</a> in XHTML completion.
2931 Added support in inlimg-mode to show images in org-mode. (Also made inlimg-mode use font lock which makes it more reliable.)
2934 Included espresso-mode (with some possible bug fixes). Not yet the default for Javascript.
2938 Added simple functions for mirroring html files in
2939 Firefox as typing. This works - at least for small
2940 files. There is also support for automatic update
2941 of Firefox when saving CSS files.
2944 This is a simple framework for communicating with
2945 MozRepl which enqueues requests, waiting for
2946 response prompt before sending next requests.
2947 <span class="bugfix">Maybe this can be used to make
2948 some more efficient routines than those I have
2949 written here. Any takers?</span>
2952 For larger files (like this one) this version is
2953 rather slow since it always changes the whole DOM.
2957 <span class="bugfix">
2958 Rewrote <i>nxml-where-mode</i> to be more efficient and
2959 fixed some minor bugs. It can now also be used with
2960 MozRepl to track position in file.
2964 <span class="bugfix">
2965 Made <i>winsav-save-mode</i> remember maximized state and forget about empty non-file buffers.
2969 <span class="bugfix">
2970 Added workaround for <a href="http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4015">Emacs bug 4015 on w32</a>.
2974 Added <i>ourcomments-M-x-menu-mode</i> which <a
2975 href="http://lists.gnu.org/archive/html/emacs-devel/2009-07/msg01025.html">adds menu commands to M-x history</a>.
2979 <dt id="v1.89">1.89 -- Released 2009-08-04</dt>
2983 The release version of all the fixes in beta 1.88.
2987 <dt id="v1.90">1.90 -- Released 2009-08-04</dt>
2991 <span class="bugfix">
2992 Made wrap-to-fill-column-mode cooperate a bit with
2993 mumamo-margin-info-mode.
2997 Made an inventory of utilities in nXhtml and made some
2998 of them more visible in the menus.
3002 <dt id="v1.91">1.91 -- Released 2009-08-04</dt>
3006 <span class="bugfix">
3007 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.
3012 <dt id="v1.92">1.92 -- Released 2009-08-04</dt>
3016 <span class="bugfix">
3017 An Emacs bug that sometimes prevent changing local keymap in a timer hit us. Made a workaround.
3022 <dt id="v1.93">1.93 -- Released 2009-08-04</dt>
3026 <span class="bugfix">
3027 Minor bug in menus gave major problem. Fixed - I hope.
3032 <dt id="v1.94">1.94 -- Never released, only betas</dt>
3039 <span class="bugfix">
3040 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.
3046 <span class="bugfix">
3047 <i>wrap-to-fill-column-mode</i> 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.
3051 <span class="bugfix">
3052 Fixed an indentation bug in php-mode I introduced when I fixed another indentation bug for heredoc endings.
3056 <span class="bugfix">
3057 A bug in <i>ourcomments-M-x-menu-mode</i> made Emacs client fail. Fixed.
3061 <span class="bugfix">
3062 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.
3066 Improved external editing of web mail.
3069 Removed <i>js2-mode</i> (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.
3072 Reworked <b>folding</b> a bit so it is more useful.
3073 There is a new minor mode, <i>foldit-mode</i>, that shows better markers for folding. There is a new entry in the <i>nXhtml / Tools</i> menu for folding. <i>fold-dwim-toggle</i> now alwo toggles images and <i>html-write-mode</i> things. In html it first checks for headers then does tag block style visibility toggling.
3076 Updated <i>vline.el</i>.
3079 Removed fmode.el since it is not needed any more when majmodpri.el does the job.
3082 Removed routines to fetch/load CEDET since CEDET is now part of devel sources of Emacs.
3086 <dt id="v1.95">1.95</dt>
3090 First release after all 1.94 betas.
3094 <dt id="v1.96">1.96</dt>
3098 <span class="bugfix">
3099 Problem creating autoload file in latest dev version of Emacs. Fixed.
3103 <span class="bugfix">
3104 Fixed typo in wrap-to-fill.el.
3108 <span class="bugfix">
3109 Autoloaded <i>buffer-narrowed-p</i>.
3114 <dt id="v1.97">1.97</dt>
3118 <span class="bugfix">
3119 Problem with customize-option because widgets where not loaded. Rearranged code to bit to fix this.
3123 Added support for Groovy from
3124 <a href="http://tiagocury.blogspot.com/2009/10/gsp-groovy-server-pages-support-for.html">Tiago Cury</a>.
3128 <dt id="v1.98">1.98</dt>
3132 <span class="bugfix">
3133 Added support for PHP nowdocs.
3137 Freemind.el: Added support for <i>org-odd-levels-only</i>.
3141 <dt id="v1.99">1.99</dt>
3145 Converted line endings from CRLF to LF.
3149 <dt id="v2.00">2.00</dt>
3152 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.
3159 <span class="bugfix">
3160 Fixed some indentation bugs.
3164 <span class="bugfix">
3165 Added multi major mode local sub chunk dividing inheriting.
3169 <span class="bugfix">
3170 Made MuMaMo avoid closing org-mode nodes
3172 when moving between sub chunks in org files.
3175 <span class="bugfix">
3176 Introduced per main major local variables.
3178 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.
3181 Added support for Mason.
3186 <span class="bugfix">Renamed gimp.el to gimpedit.el</span> and made it open GIMP on other platforms than w32 too. (Symbols in the files are renamed too.) Skipped compatibility with old GIMP versions.
3189 <span class="bugfix">Renamed freemind.el to org-freemind.el</span> so that it can be included among the org files.
3190 Also added support for #+BEGIN_HTML when exporting to freemind.
3194 <dt id="v2.01">2.01</dt>
3201 <span class="bugfix">
3202 Major mode was not always switched when moving fast between chunks. Fixed.
3206 Made desktop recognize multi major modes.
3211 <span class="bugfix">
3212 org-freemind.el was broken. Sorry.
3216 Fixed a bug in wrap-to-fill-column-mode.
3219 Enhanced support for smarty template language.
3222 Mlinks mode used one timer per buffer. Converted to one global timer => much faster. (This actually slowed down Emacs screen update before.)
3226 <dt id="v2.02">2.02</dt>
3233 <span class="bugfix">
3234 Support for #+BEGIN_SRC ... #+END_SRC etc in org-mode.
3238 <span class="bugfix">
3239 Bug fix for the case <script ...>//<!-- -->
3243 <span class="bugfix">
3244 Fixed support for ASP again.
3248 Added support for XSL with embedded CSS and Javascript, see <i>xsl-nxml-mumamo-mode</i>.
3251 Added support for SSJS (Server Side Javascript)
3254 Changed to using nxhtml-mode for indentation when chunk major is htm-mode. Added <i>mumamo-indent-major-to-use</i> to control this.
3257 Turned off nxml-mode validation during indentation of regions.
3260 Updated htmlfontify.el.
3263 Included <a href="http://www.emacswiki.org/emacs/ZenCoding">zencoding-mode.el</a>.
3266 Finally got around to implement a <b>C-a</b> that just selects a widget field in a Custom buffer, not the whole buffer. See <i>rebind-keys-mode</i>.
3271 Added wrap-to-fill-column-global-mode.
3274 Removed org-freemind.el (formerly freemind.el) since it is now part of Emacs CVS repository and you can get it there.
3277 <span class="bugfix">
3278 Added flymake support for CSS and javascript with detailed instructions of how to install needed support.
3283 <dt id="v2.03">2.03</dt>
3290 <span class="bugfix">
3291 Made the new JavaScript mode that is included in Emacs work within chunks.
3297 Removed the JavaScript modes that were distributed with nXhtml. If you are not using CVS Emacs please get js.el from there.
3300 <span class="bugfix">
3301 Made <i>majmodpri-no-nxml</i> work a bit better.
3305 Put <i>rebind-keys-mode</i> on the menu so it can be found.
3309 <dt id="v2.04">2.04</dt>
3313 <span class="bugfix">
3314 Added web install and update of nXhtml.
3316 You can find this in the nXhtml menu.
3317 If you do not have this in your nXhtml yet, or have not installed nXhtml please see the instructions on EmacsWiki.
3323 <span class="bugfix">
3324 Fixed some problems with temporary chunks.
3328 Added support for html chunks in markdown files with new multi major mode <i>markdown-html-mumamo-mode</i>.
3334 <dt id="v2.05">2.05</dt>
3338 <span class="bugfix">
3339 Fixed a problem in flymake-css.el with loading newst-backend.el (which provides the wrong feature).
3344 <dt id="v2.06">2.06 - never released</dt>
3351 Skipped fontification during indentation. (This was troublesome since major mode may have to be changed during indentation.)
3354 Included iss-mode and iss-mumamo-mode for editing of Inno Setup scripts.
3357 <span class="bugfix">
3358 Comments in eRuby <%# .. %> did not work. Fixed.
3364 Included better support for Java in flymake. It will can now recognize makefiles, ant and single java files and try to DTRT.
3368 <dt id="v2.07">2.07 - never released</dt>
3371 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.)
3374 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.
3377 <dt id="v2.08">2.08 - released 2010-04-25</dt>
3380 This is the first released version since version 2.05 (which was released in Dec 2009).
3383 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.
3389 <hr class="footer"/>
3391 <span id="latest">Copyright © <!-- this year -->2009<!-- end this year --> OurComments.org</span>