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;
37 <p id="nxhtml-home"><a href="nxhtml.html">To nXhtml main page</a></p>
39 <h1>News and Notes about nXhtml</h1>
43 <dt id="hadron-bugs" style="margin-top:1em;">Thanks for testing!</dt>
46 I want to thanks the testers (who have been many now),
47 especially to my first testers Hadron Quark and Eric
48 Lilja, for helping me by testing and pointing out bugs
49 and weaknesses, most of them related to editing of PHP.
52 Without testers all kind of problems I just can't
53 imagine myself would still be there in nXhtml. For
54 example Hadron told me once that he got the error
55 <i>(wrong-type-argument stringp nil)</i>. Eh, I replied, are
56 you sure. Yes he was. I tried the same file as him. No
60 The error happened during fontification so the error
61 message above was all we had. A real black box for
62 me. Or perhaps black magic? After much confusion and
63 some hard work we finally found out what it was and I
64 implemented a better way to catch such errors. If Hadron
65 would have given up the problem would still have been
66 there. Some problems are just impossible to solve
67 without good cooperation. So, again, thanks Hadron.
70 BTW, I will perhaps add some even better way to Emacs to
71 catch these errors so other can benefit from our
72 insights too, but that requires some time and effort
73 which I can't afford right now.
77 <dt id="state-of-the-art" style="margin-top:1em;
78 background-color: #66cd5c;
79 background-color: #96cd5c;
81 ">The State of the Art</dt>
82 <dd style="background-color: #f9e529; padding: 0.5em">
84 I wrote earlier that I thought that there were two parts
85 in nXhtml, nxhtml-mode and mumamo with a bit different
86 degree of maturity. I believe that is not that valid
87 any more. To my delight the second part, mumamo is now
88 also quite stable (from version 1.27).
92 <dt id="magic-problems" style="margin-top:1em;">Magic major mode selection</dt>
95 Sometimes the major mode that Emacs opens a file in is
96 not what you expect. This can happen with files like PHP
97 files. The reason might be that magic-mode-alist have
98 choosen a mode based on the content of the file. The way
99 this is done does not take files with mixes a mix of for
100 example XHTML and PHP into account.
103 You may try setting magic-mode-alist to nil if this is a
108 This is now no longer necessary since the introduction
109 of magic-fallback-mode-alist in CVS Emacs on 2007-05-16.
110 (If you have an Emacs newer than that, of course.)
115 <dt id="underline-bug" style="margin-top:1em;">Long Red Underlines</dt>
118 Because of a bug in Emacs 22.1 you can sometimes (at the
119 end of a line) get long red lines instead of just a
120 single underlined character. Many users (me included)
121 find this quite a bit disturbing. I have therefore added
122 a command to quickly hide/show the underlines. This is
126 This is particular useful for example in the case where
127 you edit a PHP file and are bound to get a lot of XHTML
132 <dt id="php-attribute-values" style="margin-top:1em;">Attribute values computed by PHP</dt>
135 If you want to have attribute values computed by PHP
136 here is a way how to structure that to avoid breaking
137 completion and validation in the XHTML part unnessecary:
139 <p style="margin-left:2em">
140 <img src="images/linux.png" title="<?php foo("bar");?>"/>
143 Unfortunately that still breaks XHTML validation since
144 < is not allowed in strings. In the long run I
145 believe the XML validator has to be broken up so that it
146 avoids parsing the string here (in PHP files).
149 For now I have implemented a workaround.
150 If you are using constructs like those above then turn on <em>nxhtml-strval-mode</em>.
151 This will temporarily replace the above with
153 <p style="margin-left:2em">
154 <img src="images/linux.png" title="«?php foo("bar");?»"/>
157 However on the screen you will still see the original
158 string and when writing to file the correct characters
163 <dt id="pi-note" style="margin-top:1em;">A note for PHP and its cousins</dt>
166 The rules for a process instruction in XML, like <?php
167 ... ?> says that the text can contain any text except
168 <em>?></em>. So if you want to output that string
169 from PHP then break it up so it does not look as ?> in
173 It might be good to break up the beginning part of the
174 process instructions too. And please note that to use
175 XHTML validation or completion you should avoid using
176 < in strings, since it is not allowed there.
180 <!-- <dt id="pi-note" style="margin-top:1em;">Perl Mode slow with Mumamo Mode</dt> -->
183 <!-- Perl mode used with MuMaMo mode sometimes makes the -->
184 <!-- fontification slow for big files. I do not know the -->
185 <!-- reason, but I am trying to find a solution for this. If -->
186 <!-- you encounter this problem, just turn off mumamo-mode in -->
187 <!-- that buffer. -->
191 <dt id="tab-width-problems" style="margin-top:1em;">Tab width</dt>
194 Do you have <em>tab-width</em> to something different than 8
195 (the default)? Then please change this to 8. I have got
196 reports of problem with indentation when it is not 8.
200 <dt id="mmm-compat" style="margin-top:1em;">Why the chunks are not compatible with mmm</dt>
203 Some people have asked why the way to specify chunks in
204 mumamo-mode is not compatible with the old mmm-mode. The
205 answer is that I was not sure that the way used in
206 mmm-mode for specifying the chunks was flexible enough.
209 And I am sure that even the way used in mumamo-mode is
210 not good enough for all cases, but I let it be the way
211 it is until I have a better understanding of the
212 problem. Suggestions and comments are welcome!
218 <h1 id="change-history">nXhtml Changes</h1>
221 <a href="#v0.89">v0.89</a>
222 <a href="#v0.90">v0.90</a>
223 <a href="#v0.91">v0.91</a>
224 <a href="#v0.92">v0.92</a>
225 <a href="#v0.93">v0.93</a>
226 <a href="#v0.94">v0.94</a>
227 <a href="#v0.95">v0.95</a>
228 <a href="#v0.96">v0.96</a>
229 <a href="#v0.97">v0.97</a>
230 <a href="#v0.98">v0.98</a>
231 <a href="#v0.99">v0.99</a>
232 <a href="#v1.00">v1.00</a>
233 <a href="#v1.01">v1.01</a>
234 <a href="#v1.02">v1.02</a>
235 <a href="#v1.03">v1.03</a>
236 <a href="#v1.04">v1.04</a>
237 <a href="#v1.10">v1.10</a>
238 <a href="#v1.11">v1.11</a>
239 <a href="#v1.12">v1.12</a>
240 <a href="#v1.13">v1.13</a>
241 <a href="#v1.14">v1.14</a>
242 <a href="#v1.15">v1.15</a>
243 <a href="#v1.16">v1.16</a>
244 <a href="#v1.17">v1.17</a>
245 <a href="#v1.18">v1.18</a>
246 <a href="#v1.19">v1.19</a>
247 <a href="#v1.20">v1.20</a>
248 <a href="#v1.21">v1.21</a>
249 <a href="#v1.22">v1.22</a>
250 <a href="#v1.23">v1.23</a>
251 <a href="#v1.24">v1.24</a>
252 <a href="#v1.25">v1.25</a>
253 <a href="#v1.26">v1.26</a>
254 <a href="#v1.27">v1.27</a>
255 <a href="#v1.28">v1.28</a>
256 <a href="#v1.29">v1.29</a>
257 <a href="#v1.30">v1.30</a>
258 <a href="#v1.31">v1.31</a>
259 <a href="#v1.32">v1.32</a>
260 <a href="#v1.33">v1.33</a>
261 <a href="#v1.34">v1.34</a>
262 <a href="#v1.35">v1.35</a>
263 <a href="#v1.36">v1.36</a>
264 <a href="#v1.37">v1.37</a>
265 <a href="#v1.38">v1.38</a>
266 <a href="#v1.39">v1.39</a>
270 <dt id="v0.89">0.89</dt>
274 Corrected autostart for nXhtml when not used together with EmacsW32.
278 <dt id="v0.90">0.90</dt>
282 Improved display of XML path.
285 Discontinued xmple-mode.
288 New major modes nxhtml-part-mode/nxml-part-mode replaces
289 minor mode xmlpe-mode. (While moving the code to
290 nxhtml-part.el I also fixed a bug in Xmple minor mode that
291 made Emacs take 99% of the CPU.)
295 <dt id="v0.91">0.91</dt>
299 Fixed some calls to perl which prevented uploading of
300 a site of you did not have perl in the same location
304 Glued together things so that editing PHP files works
305 as I intended. (This means that Emacs switches between
306 php-mode and nxhtml-part-mode automatically when
307 moving point. And that you can use completion.)
310 Starting working on the documentation for nXhtml.
311 New layout to the documentation files.
312 Examples with images.
316 <dt id="v0.92">0.92</dt>
320 Fixes to make the switching between php and xhtml
321 style editing work better.
325 <dt id="v0.93">0.93</dt>
329 Better error handling when switching to editing
330 embedded JavaScript and CSS.
333 Removed PHP spec from embedded switching since they
334 interfered with the automatic switching between php
338 Gives an error message if web host is not defined in
339 site when trying to use View Uploaded File and
343 Gives a ready message when finished uploading a single
347 When using Mode Switching at <? ... ?> mode
348 switching could occur in wrong buffer. Fixed together
349 with some other buffer problems.
353 <dt id="v0.94">0.94</dt>
357 Add http://www.w3.org/ to the help sites for CSS.
363 Added a menu entry for bug reporting.
366 Renamed menu bar entry from XHTML to nXhtml for clarity.
367 (But nXml menu bar entry is still called XML.)
370 Added work around for globalized minor modes in the
371 cases of MLinks, XML Path and mode switching at <? ... ?>.
375 <dt id="v0.95">0.95</dt>
379 Added workaround for the problem with the first
380 keyboard key after automatically switching of mode at
385 <dt id="v0.96">0.96</dt>
389 Added support for multiple major modes with mumamo.el.
392 More conventient handling of links. They can now be
393 opened in the same window, 'other window' or in a new
398 <dt id="v0.97">0.97</dt>
402 Schema was not setup after starting new page so
403 completion did not work. Fixed.
406 Added http://xhtml.com/ to help sites for XHTML.
409 Added the concept of <em>fictive XML validation
410 headers</em>. These are just text parsed by the nXml
411 validation parser to get a start state before starting
412 parsing a buffer. This allows the use of the nXml
413 completion in buffers where there are no XML header.
414 Such a header is often lacking for example in PHP code
415 since the XHTML header is often generated dynamically.
418 Because of the change above <em>nxhtml-part-mode</em>
419 is no longer needed and is therefore declared
423 Corrected a bug in mlinks.el that prevented opening an
424 HTML link in a other window or a new frame.
427 Added support for JSP, eRuby and some support for perl
432 <dt id="v0.98">0.98</dt>
436 Mumamo was not found when nXhtml was installed with
437 just the zip file. Corrected. (nXhtml is also
438 installed when you install EmacsW32.)
441 Enhancement to mumamo error handling when a bad mode
442 specifier for an embedded mode is found.
445 Introduced a bug for empty XHTML documents in
449 Corrected a bug for chunks 1 character long.
452 There is what I consider is a bug in Emacs 22.1 in the
453 handling of global minor mode that are not distributed
454 with Emacs. If they are turned on by customization,
455 but loaded after Emacs have loaded the customizations
456 (usually in .emacs) then they are not turned on
457 correctly. Added work-around for this.
460 <em>Fictive XHTML Validation Header</em>:
463 <em>Fictive XHTML Validation Header</em> state was not saved when moving between chunks. Fixed.
466 Tried to make the concept of <em>Fictive XHTML Validation Header</em>
467 more clear. Added this visually to the buffer.
470 <em>Fictive XHTML Validation Headers</em> can now be turned on
471 automatically based on file name.
476 <em>nXhtml menu:</em>
479 Reorganized the nXhtml menu.
482 Added <em>customization</em> groups for help libraries to nXhtml.
485 Added an entry for customization of nXhtml to the menus.
488 Added <em>Tidy</em> to the menus again.
493 Corrected bug in <em>XML Path</em> (nxml-where) for single tags.
494 Other small fixes to nxhtml-where.
497 Documentation enhancements.
498 Added <em>The Quick Guide</em>.
502 <dt id="v0.99">0.99</dt>
506 Fixed a serious bug in the cooperation between nxhtml-mode and mumamo-mode.
509 Turn on mumamo-mode by file name (mumamo-global-mode).
512 Fictive XHTML Validation Header:
515 The Fictive XHTML Validation Header state were not saved when changing major mode in MuMaMo. Corrected.
518 Added more alternatives to the Fictive XHTML Validation Header list.
519 This should make it easier to use completion with for example PHP.
522 Added default value for the Fictive XHTML Validation Header.
525 Tried to make the use of Fictive XHTML Validation Header more automatic and therefore useful.
526 Also tried to make it play better with setting schema file.
527 (There is no need normally to set schema file by hand.)
530 To turn this on by default customize nxhtml-global-validation-header-mode.
535 Possible to hide validation warnings without turning
536 on validation (which would make completion in the
537 XHTML part impossible).
540 Some fixes to php-mode:
542 <li>Using the character # for comments now works for most cases.</li>
543 <li>Now uses the fontification faces in a more standard way which calms down the look.</li>
544 <li>Initialization bug fixes.</li>
545 <li>Renamed php-mode-user-hook to php-mode-hook to follow standard.</li>
552 Various corrections to indentation in mumamo.
555 Added the possibility to use TAB to indent regions
556 (indent-region-mode).
559 Warn about bad indentation in mixed PHP/HTML code
560 when using php-mode only.
565 Fontification now fontifies all text first in main
566 major mode and thereafter applies submodes. (This
567 avoids some problems with around a submode chunk.)
570 Reorganized the nXhtml menu:
573 There is now a minor mode for the nXhtml
574 menu. This makes it possible to easier use common
575 features when in buffers not in nxhtml-mode.
578 The nXhtml menu does not disappear when moving
579 into a chunk where the major mode is not
580 nxhtml-mode. The changes also makes it easy to
581 access uploading functions functions etc from
582 other modes than nxhtml-mode since the
583 <em>nXhtml</em> may also be shown in them.
586 The nXhtml menu can be turned on globally by default.
587 Customize nxhtml-menu-mode for that.
593 <dt id="v1.00">1.00</dt>
597 Reached version number 1.00 - which you maybe believe
598 means the bugs should be gone? Sorry, it is just that
599 I ran out of version numbers. However it looks like
600 much fewer bugs at least.
603 Fixed problems mostly related to global turn on of different features in nXhtml.
606 Small fixes to indentation.
609 nxhtml-mode could get confused by php tags.
612 nxhtml-mode did not indent <!DOCTYPE in a sensible way.
615 Electric keys now works in embedded php when using mumamo-mode.
620 Tidy was very misbehaving since the output buffer was
621 not erased between different files. But I have got no
625 Fixed a bug in validation that should up when using muamo-mode.
628 Fixed bug in <script ...> and <style ...> chunk dividing.
631 Added support for OpenLaszlo.
634 Corrections to mlinks-mode (visible mostly as links in
638 Links disappeared when a new file was
642 Links were not correctly updated at changes in the
643 buffer when mumamo-mode was used. Fixed.
648 The welcome message for nXhtml could be shown too
649 early sometimes when loading, before nXhtml actually
650 knew if it should be shown or not. Tried to fix it.
654 <dt id="v1.01">1.01</dt>
658 Reported wrong version number for nXhtml in the menus. Fixed.
661 <em>If you use the zip file to install nXhtml please
662 notice that it has now a top level nxml.</em> Sorry for not
663 having zipped it like that before!
666 The url links in <em>Welcome to nXhtml</em> was a bit
667 incorrect and did not work on all OS:es. Fixed.
670 Added customization of popup completion to the 'nxhtml
671 customization group so they are easier to find.
677 Struggled a bit with the load sequences of the elisp
678 libraries used by nXhtml when using MuMaMo.
681 Tried to get the global turn on of mumam-mode to work
685 The screen was blinking when changing overlays after
686 changes in the buffer. Tried to fix this.
689 Minor fixes do syntax highlighting, like taking care of single ':s.
692 Fixes to the support for JSP and eRuby.
695 Made the support for perl here documents a bit better.
696 Large perl documents are however still quite slow when
697 using mumamo-mode. I do not know the reason yet.
700 Refontification could miss some parts when buffer
701 changes caused chunk division changes. Complex,
702 tried to fix it, but I am a bit unsure that it
706 Cleaned up mumamo.el a bit.
709 Rewrote mumamo-test.el and functions called from it in
710 mumamo.el a bit to make tracebacks from errors more
711 useful. Changed keybindings in mumamo-test.el from
712 global to a minor mode <em>mumamo-test-mode</em>.
713 Renamed mumamo-notest.el to mumamo-test.el. Added it
714 to the zipped distribution of nXhtml.
719 Fixed a bug related to links and buffer changes.
723 <dt id="v1.02">1.02</dt>
727 Fixed a refontification bug that occured after changes.
731 <dt id="v1.03">1.03</dt>
735 Added the possibility to call GIMP.
738 Reworked the messages for fontification errors to try
739 to catch an error that shows up sometimes. Tried to
740 avoid disturbing normal use in spite of that error.
743 Reverted to using a short delay before switching major
744 mode when moving between buffers.
748 <dt id="v1.04">1.04</dt>
752 Enhanced the documentation for nXhtml. Starting from
753 <i>C-h f nxhtml-mode</i> it should now be easier to
760 Completion on an empty page gave a faulty frameset page. Fixed.
763 Insert end tag did not work with a fictive
764 validation header. Fixed.
767 Insert end tag when all preceding tags where
768 closed gave a strange error message. Fixed.
771 Changed some key bindings to comply with
772 <i>(info "(elisp) Key Binding Conventions")</i>
775 Completion in empty buffers with a completion
776 header did not work. Fixed.
778 <li id="mumamo-bugs">
779 Multiple major modes:
782 Fixed a bug that prevented mumamo-global-mode from
783 beeing turned on in a file opened in
787 Better error tracing for some functions,
788 including the call of major mode functions.
791 Position was garbled when a ;-char was inserted in php-mode chunk. Fixed.
794 A bad check for if mlinks-mode where available was fixed.
797 Some bugs concerning turning off mumamo-mode was fixed.
800 Fixed a bug in <i>perl here doc</i> chunks. Suddenly the
801 problem with slowness when using mumamo-mode in
802 perl buffers seems gone. (Note quite sure, but I
803 can't see any problems now.)
806 Fixed a bug in mumamo-mode when current buffer was
807 switched before the major mode had been set from
811 Fixed a long standing bug in php fontification of
812 strings and comments.
815 Fixed a bug where <i>sgml-xml-mode</i> was not defined.
818 Fixed a bug related to get-text-property which
819 gives an error when buffer is narrowed.
822 Tried to refontify things outside of a narrowed part. Fixed.
825 Too little where refontified after changes. I hope I have fixed this.
830 Fictive XHTML Validation Header:
831 <ul id="v1.04-fic-bugs">
833 View File did not work correctly when a fictive
834 XHTML validation header was used. Corrected.
837 Fictive XHTML validation headers are no longer
838 turned on by default in any buffers.
846 Tried to fix a problem when using
847 newline-and-indent. When this was in a mode
848 derived from C the indentation sometimes became 0.
851 Speeded up the indentation of regions a bit when
852 using <i>mumamo-mode</i>.
855 Indentation: TAB now only indents a region if it
856 is visibly marked (see transient-mark-mode and
860 Simplified the indentation code.
865 Fixed a problem where string fontification got out
866 of phase so that wrong parts of buffer could be
867 fontified as a string.
870 Added a workaround for <a
871 href="#php-attribute-values">Attribute values
875 Added .nosearch to subdirectories with no elisp files.
878 Fixed incorrect checks for mlinks-mode in menu building.
881 File extensions where used in a case sensitive way
882 in some places. Fixed.
885 appmenu: Worked only in html files. Fixed.
888 html-site: Fixed the error <em>Error
889 (html-site-current): Can't find site:
893 Fixed a problem with longlines-mode in the support
894 for Firefox add-on It's All Text. (Note however
895 that there are some bugs in longlines-mode
896 itself.) Rewrote the support to be more
897 general. It is now in the file as-external.el, see
901 Fixed an encoding problem in
902 <i>tidy-buffer</i>. Output from tidy was not read
903 using the same coding system as tidy was using.
906 Fixed some problems with face definitions, possibly bugs (not sure).
909 Made the fontification faster when using mumamo-mode.
910 (It is still slower than single mode fontification of course.)
913 nxml-where.el: Made it aware of mumamo.el.
921 Completion menu: Renamed to <i>Completion and
922 Validation</i> menu and reorganized a little bit to
926 Renamed <i>view</i> to <i>browse</i> since this is
927 the normal emacs name for showing files in a web
928 browser. Also made corresponding changes to
929 function names. Put back the possibility to view
930 only the region in a web browser.
938 Added remote dired to the menus.
941 Fixed problems with file names starting with ~.
944 Fixed more problems with file names with spaces.
952 nxml-where now uses a timeout for more smooth performance.
955 nxml-where can now recognizes both id and name attribute.
958 Hyphens are now accepted in tag names.
966 Multiple major mode turned on by default for .rhtml files when this mode is global.
969 Multiple major mode is no longer turned on when rub-mode is turned on.
974 Added support for switching major mode dependent on if
975 Emacs was called as an external editor. This makes it
976 possible for example to switch to relevant major and
977 minor modes when Firefox add-on It's All Text.
980 Added the possibility to easily view the output of scripts on the server (if they require no parameters).
981 You can now do that from the nXhtml menu.
982 Previously only html files on the server could be viewed that way.
983 Image files can also be viewed this way.
989 Added functions for unfilling.
992 Added keybindings and menu entries for longlines-mode, fill-paragraph and unfill-paragraph.
998 Added HTML quoting of & and < in text areas. Bound to C-c C-q.
1004 Added image-mode to those that are encompassed by
1005 nxhtml-global-minor-mode so that images can be
1006 uploaded more easily.
1009 Added <em>edit with GIMP</em> and <em>upload</em> to the popup menu for links.
1010 This avoids the need to load the linked files in Emacs first.
1015 Added <em>nxml-untag-element</em>.
1018 Added a modified version of wikipedia-mode.el. Seems likely to be useful if you are doing web editing.
1027 Removed the lighter <i>"MuMaMo"</i> for
1028 mumamo-mode. Instead the active major mode now has
1029 <b>"/m"</b> appended to mode-name (that is what you see
1033 The normal way to turn on <i>mumamo-mode</i> has
1034 changed. There are now functions that you can use
1035 in <i>auto-mode-alist</i> to directly set up the
1036 buffer for mumamo-mode. The available functions
1038 variable <i>mumamo-defined-turn-on-functions</i>.
1040 You are not supposed to call mumamo-mode
1041 yourself any more and mumamo-global-mode is
1042 gone. So is also mumamo-chunk-family-by-mode and
1043 mumamo-filenames-list. The functionality those
1044 gave are all replaced by the new functions for
1045 turning on mumamo mode.
1049 Added support for buffer local values in
1050 hooks. This is necessary for example to support
1051 minor modes that are meant to be buffer local but
1052 not major mode specific. Instructions for authors
1053 of this kind of minor modes are in the file
1057 Added support for Django.
1060 Added support for Embperl.
1063 Added support for PHP Smarty. The <i>{literal}
1064 ... {/literal}</i> construct is not supported.
1065 This mean that you can not use <style ..> or <script ..>.
1068 Added support for imenu for the main major mode.
1069 Turned on this by default in nxhtml-mode.
1072 Made the temporary replacement of the
1073 attr="<?php ... ?>" a bit better. They are
1074 now more visible and also still mumamo chunks
1075 during the temporary replacement.
1078 Added support for <i>flymake-mode</i>.
1079 Maybe add support for checking chunks?
1082 Printing: Added htmlfontify.el and
1083 hfyview.el. These makes if possible to print a
1084 buffer fontified with <i>mumamo-mode</i> on in
1085 colors (through your web browser). There is an
1086 example of the capabilities of htmlfontify <a
1087 href="htmlfontify-example.html">here</a> (made
1088 with a little function in hfyview.el).
1096 Did a first merge with Aaron Hawleys fixes for php-mode.el.
1101 CSS: Upgraded to Stefan's latest css-mode.el.
1104 Fictive XHTML Validation Headers: Changed the way they
1105 are turned on. They may now be turned on when
1106 mumamo-mode is turned on.
1109 Some users want to use their own patched version of
1110 nXml. Next version of Emacs will come with
1111 nXml. Therefore, the loading routine for nXhtml now
1112 checks if nXml is is already loaded. Thanks to Eric
1113 Lilja for testing this. Eric also made me aware of
1114 that if nXhtml was placed in the site-lisp directory
1115 tree then things did not work as I expected. I think I
1116 have corrected that by placing a <i>.nosearch</i> file
1117 at the top of the nxml tree in nXhtml.
1120 Restructured the directories. Moved some files out of
1121 the <i>nxhtml</i> subdir. Some of them went into the
1122 <i>util</i> subdir (those are written by me) and some
1123 to the new subdir <i>related</i> (those that are
1124 inherited from others, maybe changed by me - most
1125 often to work with mumamo-mode).
1128 Changed all licenses to be GNU GPL.
1131 Additions to tidy support: It is now possible to use
1132 the tidy support to tidy the XHTML part of php etc.
1133 (Thanks to Hadron for this suggestion.)
1136 Added <i>winsize.el</i> which allows interactive resizing of
1137 windows. Also added <i>winsav.el</i> which adds the
1138 capability to rotate window configurations and also to
1139 save window configuration to file.
1142 Made nXhtml work with CVS Emacs 23.0.50.1.
1145 Added freemind.el to the parcel. After all FreeMind
1146 supports web publishing too so why not have the Emacs
1151 <dt id="v1.10">1.10</dt>
1153 Just jumped the version number for the new release of
1154 nXhtml. There are really significant changes in this
1155 release, not only minor bug fixes.
1157 <dt id="v1.11">1.11</dt>
1159 Minor bug fixes to completion. Added fictive validation
1160 header to completion alternatives when buffer is empty and
1163 <dt id="v1.12">1.12</dt>
1167 Fixed a bug in image link insertion in nxhtml-mode, thanks Niels Giesen!
1170 Restructured, reordered and documented mumamo.el. It is now two
1171 separate files, mumamo.el and mumamo-fun.el.
1174 Added move by chunk to the nXhtml menu.
1178 <dt id="v1.13">1.13</dt>
1182 Better handling of the case when no validation header
1183 is needed and the user tries to turn it on.
1186 Added .phtml as php file.
1190 <dt id="v1.14">1.14</dt>
1194 Completion of links in XHTML was broken. Fixed, thanks
1199 <dt id="v1.15">1.15</dt>
1203 Added `mumamo-map' keymap.
1206 Added a keymap to all multi major modes.
1209 Some more refinement to fictive validation headers.
1213 <dt id="v1.16">1.16</dt>
1220 Changes to indentation:
1223 Removed indent-region-mode since that
1224 functionality is now in indent-for-tab-command in
1228 Removed some code that checked if indentation was 0.
1231 Added indent-for-tab-command to mumamo-map.
1236 Reordering and renaming:
1239 Reordered and move some functions in mumamo.el et al.
1240 Added new file nxhtml-mumamo.el.
1243 Renamed <i>define-mumamo-turn-on</i> to
1244 <i>define-mumamo-multi-major-mode</i>.
1247 Removed the ending <i>-turn-on</i> from the
1248 functions defined by the macro above.
1251 Introduced <i>multi major mode</i> as a name for
1252 the functions defined by the macro above. Those
1253 works in many respects like major mode functions,
1254 but they support multiple major modes in a buffer.
1259 Added support for noweb as multiple major mode.
1265 <dt id="v1.17">1.17</dt>
1272 Added support for flyspell.
1277 Bug fixes to the version of find-recursive.el that
1278 ships with nXhtml. Thanks to Cezar Halmagean.
1281 Added tabkey2.el which tries to make it easy to use
1282 the Tab key for completion. (You must load it and turn
1283 on tabkey2-mode to use it.)
1289 Added <i>nxhtml-heading-element-name-regexp</i> as
1290 default for nxml style folding.
1293 Some changes to fold-dwim.el.
1301 Simplified: Removed the possibility to
1302 automatically show minor and major mode menus.
1303 There is now only one list, <i>appmenu-alist</i>.
1306 Added menu item <i>At Current Point</i> for
1307 bindings found in character and overlay keymaps at
1308 point. Those you always forget.
1316 Added physical-line.el to nXhtml.
1319 Added new functions to move to beginning and end
1320 of line to ourcomments-util.el that supports
1327 <dt id="v1.18">1.18</dt>
1331 Better Tab completion in tabkey2.el.
1335 <dt id="v1.19">1.19</dt>
1339 Even better Tab completion in tabkey2.el.
1343 <dt id="v1.20">1.20</dt>
1347 Once again even better Tab completion in tabkey2.el.
1350 Fixed bug in hiding of validation errors (they could
1354 Cleaned up menus in nXhtml.
1358 <dt id="v1.21">1.21</dt>
1362 Added a bit support for dired (upload, browse, browse
1366 Fixed some strange menu problems (i hope).
1370 <dt id="v1.22">1.22</dt>
1378 <dt id="v1.23">1.23</dt>
1386 <dt id="v1.24">1.24</dt>
1390 Tried again to make hexcolor-mode more readable.
1396 Added support for <i>hi-lock-mode</i>. At present
1397 it might however be very puzzling. The hilight
1398 added by hi-lock-mode may be hidden by the
1399 overlays used by mumamo. Tip: you can always use
1401 style="font-size:1.5em;">hi-black-hb</span>.
1407 <dt id="v1.25">1.25</dt>
1414 Handle hi-lock-mode in a more general way
1415 using <i>font-lock-mode-hook</i>.
1421 <dt id="v1.26">1.26</dt>
1428 Removed the indent line patch for nxml-mode.
1431 Better test for empty page during completion.
1439 A lot of improvements.
1445 <dt id="v1.27">1.27</dt>
1452 Worked with bugs in mumamo.el that was due to bad
1453 handling of syntax-ppss et el. Looks like most of
1457 Fixed documentation and reordered code in mumamo.el
1461 Changed javascript.el indentation to make it work with
1465 Introduced the function
1466 <i>mumamo-make-variable-buffer-permanent</i> as an aid for
1470 Fixed quite a few indentation bugs.
1471 There was one bug that could make Emacs loop after indentation.
1479 Fixed bugs with left over idle timers when buffer had
1480 been killed (nxml-where.el, mlinks.el).
1488 Fixed a bug in html-site when comparing file
1489 names. File names where not made unique before
1506 Fixed a problem in freemind-to-org-mode that
1507 caused the error "wrong-type-argument string: nil"
1508 in string-match("\\(?:^--org-mode: WHOLE FILE$\\)"
1514 Made nXhtml menu available in sub-chunks.
1517 Included a slightly changed version of Steve Yegge's
1518 js2.el + js2-fl-mode.el from 2008-04-24 with support for
1519 jit-lock-mode. This support has some flaws and maybe
1520 js2 is not ready for use, I am not sure. However if you want
1521 to use this instead of Karl Landströms javascript-mode
1522 then please customize <i>mumamo-major-modes</i>.
1526 <dt id="v1.28">1.28</dt>
1530 New version with mostly minor bug fixes from 1.27.
1531 Unfortunately I put out 1.27 a bit too early.
1536 <dt id="v1.29">1.29</dt>
1543 Fixed a bug causing emacs to loop when <?>
1544 was encountered in an html style buffer.
1547 Fixed some problems with <? and ?> in
1548 strings in html style buffers.
1551 Tried to avoid chunk dividers in strings and comments. (There are still some bugs there.)
1554 Fixed an error that prevented byte compiling nxhtml-mumamo.el.
1555 (Thanks Christoph Conrad.)
1561 <dt id="v1.30">1.30</dt>
1568 Added support to handle specific rng
1569 schemacs. With the help of this Genshi and MJT
1570 templating languages are now handled.
1573 Let the rng schema file name survive mumamo major
1577 Added support for to let nxml-mode skip chunks it
1578 can not parse. (This requires a patch to
1579 rng-valid.el too which is not included, but which
1580 I hope can go into Emacs soon.)
1583 Chunk dividers can now be a part on their own. (Ie
1584 there will be no parsing or syntax highlighting of
1585 them by the chunk major mode. This is optional and
1586 specified for each chunk types.)
1589 Added support for Genshi and MJT. These multi
1590 major modes support completion and error checking
1591 in the XML/XHTML part according to their DTD
1592 (which has some additions to the XHTML DTD).
1598 <dt id="v1.31">1.31</dt>
1605 Fixed a bug that caused multi major modes to loop sometimes.
1611 <dt id="v1.32">1.32</dt>
1618 Fixed a bug in syntax-ppss advice.
1624 <dt id="v1.33">1.33</dt>
1631 Fixed another bug in syntax-ppss advice.
1634 Added support for <i>fill-forward-paragraph-function</i>.
1637 Made <i>longlines-mode</i> survive major mode changes in mumamo buffers.
1640 Fixed a bug that made Emacs loop when it found
1641 <??> in for example nxhtml-mumamo.
1644 Made it usable with Emacs 22 again.
1647 Moved some changes from rng-valid.el to
1648 mumamo.el. This makes it possible to let nxml-mode
1649 (and derivates) jump over parts when parsing the
1650 buffer even if not using the patched version of
1659 Added command to add CSS rollover images.
1667 Tried to fix the error <i>invalid-read-syntax "]
1668 in a list"</i> when loading <i>mlinks.el</i>
1669 reported by some Asian users.
1675 <dt id="v1.34">1.34</dt>
1679 <span style="font-size: 1.2em; color: red ()"
1680 >Changed top directory name from nxml to nxhtml</span>
1682 This will of course case some problems if you do not
1683 notice it when you upgrade nXhtml. If you are using
1684 EmacsW32 and upgrade nXhtml you should change the
1685 file <i>emacsw32.el</i>.
1688 The reason for this change is that nXml will soon
1689 normally not be part of nXhtml so keeping the old
1690 top directory name would be confusing.
1694 Added a test suite. See the file <i>nxml/tests/test-Q.el</i>.
1700 Fixed indentation when the whole line is a sub chunk.
1703 Tried a bit more to stop nxml from parsing non-xml
1704 mode chunks. Because of this php support was
1705 changed a bit (for the better I hope).
1713 Registry value location for GIMP had changed.
1722 <a href="http://hyperstruct.net/projects/mozlab">MozLab</a>. If
1723 you install MozLab in Firefox then you can
1724 directly use it from javascript mode without any
1728 Added <a href="http://www.oak.homeunix.org/~marcel/blog/articles/2008/07/18/nested-imenu-for-php">php-imenu.el</a>.
1731 Fixed a bug where I inadvertently
1732 added <i>../../lisp</i> to load-path.
1738 <dt id="v1.35">1.35</dt>
1742 Fixed a small bug in sex-mode.el.
1746 <dt id="v1.36">1.36</dt>
1750 Added the function <i>emacs-Q-nxhtml</i> for easier
1751 testing. It does the equivalent of <i>emacs -Q --load
1752 PATH-TO/nxhtml/autostart.el</i>.
1758 Forgot to return php-mode in php short tags. Fixed.
1761 Borders where not correctly calculated with php short tags. Fixed.
1764 Subchunks not parseable by nxml-mode where marked as parseable. Fixed.
1767 Debug messages from mumamo where not silenced.
1770 Forgot font-lock-syntactic-keywords. This showed up in
1771 bad fontification for strings sometimes. Fixed.
1774 To fontify keywords font-lock-syntactically-fontified
1775 must be set in each chunk. Fixed.
1778 Find a way to at least temporarily work around the
1779 problem with the last "e; char in
1780 syntax="e;..."e; that could be seen in
1781 large XHTML files, for example this file. The
1782 drawback with the work around is that it bypasses
1783 the cache for syntax-ppss, but this happens only
1784 in multi major mode buffers and I notice no
1785 performance problems here.
1788 Fixed a number of problems with the defadvice for the syntax functions.
1789 (I am afraid there are more left.)
1792 Took a new grab on the indentation problems.
1798 <dt id="v1.37">1.37</dt>
1802 The command <i>emacs-Q-nxhtml</i> and cousins did not
1803 work on all platform. Tried to fix it.
1806 Got a report that editing Django was to slow. Tried to fix this.
1809 Added a test to the unit test suite that test
1810 scrolling and jumping.
1814 <dt id="v1.38">1.38</dt>
1818 Added a workaround that removes validation error marking in non-xhtml chunks.
1822 <dt id="v1.39">1.39</dt>
1826 Multi major modes where not allowed in defcustoms
1827 nxhtml-magic-mode-alist and
1828 nxhtml-auto-mode-alist. Fixed.
1831 Added tests for the use of the lists above.
1834 Fixed some bugs that could make a buffer became
1835 modified during mumamo fontification actions.
1843 <hr class="footer"/>
1845 Copyright © <!-- this year -->2008<!-- end this year --> OurComments.org
1847 Latest update <!-- today -->2008-06-28<!-- end today -->