Update AUTHORS
[muse-el.git] / NEWS
blob36e6b7724ce2a1ca2955991aa15667b6572d4556
1 Emacs Muse NEWS --- History of user-visible changes    -*- outline -*-
3 * Changes in Muse 3.10
5 ** Relicense to GPLv3.
7 ** Muse's source code development is now being managed with git.
8 Instructions for participating in Muse development using git are
9 available in the "Development" section of the Muse manual.
11 This yields not only speed improvements, but also space efficiency
12 improvements.  One person has found that Arch took 300MB to store one
13 of Muse's branches, but git takes only 4MB.  The information to store
14 the entire Muse development history only takes up 8.6MB.
16 If you are a Muse developer, please consult
17 http://emacswiki.org/cgi-bin/wiki/MuseDevelopment for instructions on
18 using git, and how to gain access to the shared Muse repository.
20 ** Remove unused markers when we are done with them.
21 This can speed up the publishing process.
23 ** Build system
25 *** Rename Makefile.defs to Makefile.defs.default.
26 Now, there is a Makefile.defs.default file included with Muse, rather
27 than Makefile.defs.  If you want to make changes to this file, first
28 copy it to Makefile.defs, and then make your changes there.  If you do
29 not need to make any changes, there is no need to copy the file.
31 *** Indicate dependencies between Emacs Lisp files, so that Muse can be
32 recompiled without running "make clean" after an update.
34 *** Don't activate VC when publishing files.
35 This avoids some annoying messages when building QuickStart in the
36 examples directory.
38 *** Make installing info files easier for XEmacs users.
39 There is now a commented-out install-info definition in
40 Makefile.defs.default, along with commented instructions.
42 ** Quickstart guide (examples/QuickStart.muse)
44 *** Fix some typos.
46 ** Core functionality (lisp/muse.el)
48 *** Work around a bad bug in color-theme.el involving its
49 overwriting of the `replace-in-string' function.
51 *** Fix a bug where Muse would lock up if muse-project-alist is nil.
53 *** New option: muse-completing-read-function.
54 Function to call when prompting user to choose between a list of options.
55 This should take the same arguments as `completing-read'.
57 One possible value for this is 'ido-completing-read.  The default
58 value is 'completing-read.
60 *** Make inserting file contents and writing files to be faster.
61 This involves defining the functions `muse-insert-file-contents' and
62 `muse-write-file'.  Consult their documentation for details.
64 ** Muse Mode highlighting (lisp/muse-colors.el)
66 *** Comments are now colored.
68 *** Fix bug with using <lisp> tags in #title directives.
69 Now any <lisp> tags in #title directives are guaranteed to be
70 evaluated after any other <lisp> tags that are nearby.
72 ** ConTeXt publishing (lisp/muse-context.el)
74 *** New file courtesy of Jean Magnan de Bornier that publishes files in
75 the ConTeXt format.  See the ConTeXt section of the Muse manual for
76 details on its use.
78 ** Journal (lisp/muse-journal.el)
80 *** Fix bug causing RDF output to have invalid syntax.
82 *** Make RSS output look nicer by adding some newlines.
84 *** Allow <lisp> and <markup> tags to be used in entry templates.
86 *** Fix escaping bugs in entry template text, quote-of-the-day, and title.
88 *** Mark up the <qotd> tag as if it <quote> were used.
90 *** New style journal-rss-entry indicates how we are to mark up
91 individual RSS and RDF entries.
93 *** Set `muse-journal-rdf-summarize-entries' to nil by default.
95 ** HTML publishing (lisp/muse-html.el)
97 *** Add xhtml1.0 style, which is an alias for the xhtml style.
99 *** Add xhtml1.1 style for those who want XHTML 1.1 compliant output.
101 *** When publishing <contents>, only strip links from titles, rather
102 than every tag.
104 ** Muse Mode (lisp/muse-mode.el)
106 *** Add new minor mode called muse-list-edit-minor-mode.
107 See the "Muse List Edit Minor Mode" section of the manual for details.
109 *** Don't try to indent line before inserting a comment.
111 ** Publish embedded LaTeX content to a PNG file (lisp/muse-latex2png.el)
113 *** Support ConTeXt.
115 ** Project settings (lisp/muse-project.el)
117 *** Handle nested projects correctly.
118 Now it is possible to have the directories of a project be the
119 subdirectories of another project.  Previously, it depended on the
120 order that the projects were defined.
122 *** Set project-specific variables at publish time as well as display time.
123 Previously, the variable settings specified by the :set attribute in
124 muse-project-alist projects were being ignored at publish time, but
125 applied in Muse mode.  Now they are applied at both times.
127 *** Fix bug when publishing a file that has multiple styles.
129 *** Fix bug when trying to publish a file in a project with multiple
130 directories.
132 *** Fix bug where links between files did not work if muse-file-extension
133 is nil.
135 *** Ignore .git metadata directories when looking for project files.
137 ** Publishing (lisp/muse-publish.el)
139 *** Add <cite> tag.  See "Tag Summary" in the manual for details on its use.
141 *** Fix bug where Muse locks up when trying to publish a malformed table.
143 *** Fix bug where tags other than <markup> and <lisp> were being acted on
144 in headers and footers.
146 *** Fix bug involving use of <lisp> inside of an <include> file.
148 *** Fix bug with nested list items that have an extra blank in front.
149 This was causing Muse to lock up when publishing some files.
151 *** Fix bug with definition list publishing when there are empty terms.
153 *** Fix bug where output from <verse> did not match output from verse
154 syntax.
156 *** Fix bug where directives were leaking out of <include> regions.
158 *** Fix escaping bug involving headings and the <contents> tag.
160 *** [Developers] Automatically widen before evaluating <lisp> contents.
162 ** Wiki (lisp/muse-wiki.el)
164 *** Fix a bug with three-part links that have descriptions.
166 *** (muse-wiki-resolve-project-page): If the project argument is nil,
167 default to the current project instead of the first project entry in
168 muse-project-alist.
170 ** Common functionality used by XML-based styles (lisp/muse-xml-common.el)
172 *** Don't escape parentheses in URLs.
174 * Changes in Muse 3.03
176 ** An emacs-wiki migration guide is available in
177 etc/emacs-wiki-migration.txt.
179 ** Ideas for the future and planned time of implementation can be
180 found in etc/IDEAS.muse.
182 ** Core functionality (lisp/muse.el)
184 *** Fix an XEmacs beta byte-compiler issue.
186 *** Fix failure to recognize the .muse file extension.
187 Handle the case where the user customizes the file extension.
189 *** It is now easier to indicate that Muse should not use a file
190 extension.  Just do the following.
192 (setq muse-file-extension nil
193       muse-mode-auto-p t)
195 If you visit a Muse file in your .emacs, however, and do not want a
196 file extension, then you must still do the following beforehand.
198 (add-hook 'find-file-hooks 'muse-mode-maybe)
200 *** Allow tab characters in explicit links.
202 *** Escape brackets in links, and then un-escape them when displaying
203 the link in a buffer of publishing it.  This allows brackets to be
204 safely used in link descriptions and links, as long as you use `C-c
205 TAB l', `C-c TAB u', `C-c C-e', or automatic Planner annotations.
207 *** Ensure that no recursive load situation can take place.
209 ** Blosxom publishing (lisp/muse-blosxom.el)
211 *** New option: muse-blosxom-use-tags.
212 This specifies whether or not we are using tags.  Tags allow a page to
213 belong to multiple categories, but they do not rely on the directory
214 structure for categorization.
216 *** Use `find-file' as the browsing function.
218 *** New example script: contrib/pyblosxom/make-blog.
219 This shows how to invoke contrib/pyblosxom/getstamps.py.
221 ** Book publishing (lisp/muse-book.el)
223 *** It is now possible to publish a book using a muse-project-alist entry.
224 See the "Book" section of the manual for details and an example.
226 ** DocBook publishing (lisp/muse-docbook.el)
228 *** A bug with multiple-stanza verses has been fixed.
230 ** HTML publishing (lisp/muse-html.el)
232 *** Make sure spaces in URLs get escaped properly.
234 *** Make the Table of Contents CSS easier to customize.
235 For an example, see examples/mwolson/stylesheets/screen.css.
237 *** Make Table of Contents publishing work with Planner.
239 *** Fix a paragraph detection bug for paragraphs that occur after
240 verses.
242 *** New tag: <src>
243 This tag is used to colorize (using HTML) source code of any language
244 for which Emacs has a mode available.  The "lang" attribute determines
245 the mode to call on the region.  Muse will look for the LANG-mode
246 function, call it, and then call htmlize.  You will need htmlize 1.34
247 or later for this to work.
249 If a non-HTML publishing style is used, this will be published the
250 same as an <example> region.
252 ** Importing LaTeX documents (lisp/muse-import-latex.el)
254 *** Rename from muse-convert.el, since Muse can now import
255 other formats as well.
257 ** Journal (lisp/muse-journal.el)
259 *** New option: muse-journal-rss-heading-regexp.
260 Determine the regexp to use when searching for an RSS heading.
262 *** Make sure that the date is in a format that RSS readers
263 can handle.
265 ** LaTeX publishing (lisp/muse-latex.el)
267 *** New publishing styles: slides and slides-pdf.
268 This allows you to use Beamer to publish slides.
270 *** New publishing styles: lecture-notes and lecture-notes-pdf.
271 These are similar to the slides styles, but are suitable for
272 publishing lecture notes.
274 *** New option: muse-latex-pdf-program.
275 The program to call in order to generate PDF content from LaTeX
276 content.
278 *** New option: muse-latex-pdf-cruft.
279 The extensions of files to remove after generating PDF output
280 successfully.
282 *** Improve escaping of specials.
284 *** Use \label{} and \ref{} for anchors and anchor references.
286 *** Emphasize table elements.
288 *** Improve table generation.
290 *** Use \url{} to publish bare URLs.
292 *** Handle case where a Muse page begins with a quote character.
294 *** Handle case where the path to the Muse source contains a tilde
295 character in one of the parent directories.  It is still possible to
296 run into this problem if you publish outside of a directory that has a
297 tilde, but with a source file that does have one -- this was deemed to
298 be a very unlikely case.
300 *** Display footnotes when we have both a URL and description.
301 This makes the URLs show up on printed documents in a sensible
302 fashion.
304 *** Escape the "@" character in the entire document.
306 *** Make images take up 75% of the width of the page.
308 *** New option: muse-latex-permit-contents-tag.
309 This specifies whether we should take action on the <contents> tag.
311 *** Allow for definitions to be separated from their terms,
312 much like the way HTML does it by default, if the user puts a blank
313 line or a line break between the term and the definition.
315 If the term and definition are on the same line, they will be that way
316 in the output as well.
318 *** Publish comments using the "%" character, rather than a custom
319 Latex command.
321 ** Publish embedded LaTeX content to a PNG file (lisp/muse-latex2png.el)
323 *** The <latex> tag has been modified to work with styles
324 other than just HTML.  It will even leave the region alone if you are
325 publishing a Latex-based publishing style.
327 *** New tag: <math>
328 The <math> tag acts similarly to the <latex> tag, except that it
329 surrounds the region with "$" characters first, and makes the
330 resulting image inline.
332 If the first line of the <math> tag begins with 6 spaces, then
333 surround the region with "$$" (or an equivalent markup) instead.  This
334 has the effect of "centering" the output on its own line.
336 ** Muse Manual (muse.texi)
338 *** Re-license under the GFDL instead of the GPL.
339 The rationale for this is that Muse may one day be included with
340 Emacs, so it should use the same manual license that Emacs itself
341 uses.  At this point, the matter is not open to debate, unless the FSF
342 brings it up.
344 *** Use better style for subsections.
346 *** Make sure the PDF file for the manual is properly generated.
348 *** Implicit Links
350 **** Mention how to customize the WikiName recognition.
352 *** Extending Muse
354 **** Move "Common Elements" and "Deriving Styles" chapters here.
356 *** Tag Summary
358 **** Mention new tags and updated syntax for some tags.
360 ** Muse Mode (lisp/muse-mode.el)
362 *** `C-c TAB' now inserts an object, prompting the user for which type.
363 `C-c TAB l' inserts a relative link.
364 `C-c TAB t' inserts a Muse tag.
365 `C-c TAB u' inserts a URL.
367 These keybindings may be modified by editing `muse-insert-map'.  Note
368 that the prompt you get when you hit `C-c TAB' will not change.
370 *** New list-oriented keybindings:
371 `M-RET' inserts a list item.
372 `C->' increases list item indentation.
373 `C-<' decreases list item indentation.
375 *** Slightly improved speed of flyspell integration
377 *** Implement searching through Muse files.
379 **** `C-c C-s' performs a search through Muse files.
381 **** New option: muse-grep-command.
382 Customize this to specify the command used for searching.  In
383 particular, "glimpse" is handy.  Check the documentation for this
384 command for details.
386 *** Changed keybindings:
387 `C-c C-b' is now `muse-find-backlinks'
388 `C-c C-v' is now `muse-browse-result'
390 *** The `C-c C-M-t' keybinding can be used in place of `C-c C-S-t',
391 since the latter is not available on some terminals.
393 *** Remove the C-c C-c keybinding, since it conflicts with other
394 modes like Planner.
396 *** Don't require muse-publish.el, since publishing and viewing Muse
397 files are supposed to be completely separable.
399 *** Speed up searching for next and previous references.
401 *** Make filling definition lists work better.
403 *** Make editing existing links with `C-c C-e' work better.
405 *** Make browsing the resulting page with `C-c C-v' work better.
407 *** Don't throw an error if doing flyspell or following link at
408 beginning of buffer.
410 *** When publishing a file with `C-c C-t', consult muse-project-alist
411 and use its publishing styles to intelligently prompt the user as to
412 the publishing style and output directory.
414 The old behavior of allowing the file to be published anywhere and
415 with any style has been moved to `C-c C-T'.
417 *** Clicking `mouse-2' now does the right thing when
418 mouse-yank-at-point is non-nil.
420 ** Muse Mode highlighting (lisp/muse-colors.el)
422 *** New option: muse-colors-inline-images.
423 This determines whether or not to inline an image when viewing Muse
424 source.  The default is to enable this behavior.  This feature is
425 currently considered to be in a beta state, because finding the real
426 paths of images consistently has not been worked out.
428 **** New option: muse-colors-inline-image-method.
429 This determines how to find an image that we want to inline.  The
430 default is to look in the current directory.  If set to
431 'muse-colors-use-publishing-directory, it will look in the directory
432 where the current page will be published.
434 **** New function: muse-colors-toggle-inline-images.
435 This toggles whether images are inlined.
437 *** Make links blue by default, like most other Emacs modes do.
439 *** Don't cause a long delay when highlighting remote (Tramp,
440 ange-ftp) links.
442 *** Make faces conform the namespace better.
443 `muse-link-face' is renamed to `muse-link'.
444 `muse-bad-link-face' is renamed to `muse-bad-link'.
445 `muse-verbatim-face' is renamed to `muse-verbatim'.
447 *** Handle muse-emphasis faces better.
449 *** Source-level change: The regexps in `muse-colors-markup' are now
450 permitted to have non-shy groupings.
452 ** New modules
454 *** lisp/muse-backlink.el -- Provide backlink support for Muse.
456 *** lisp/muse-groff.el --  This introduces the publishing styles
457 "groff" and "groff-pdf".
459 *** lisp/muse-import-docbook.el -- Convert Docbook XML into Muse format.
461 *** lisp/muse-import-xml.el -- Helper file for muse-import-docbook.el.
463 *** lisp/muse-latex2png.el -- Publish embedded LaTeX content to a PNG file.
464 This introduces the <latex> tag.
466 *** lisp/muse-xml-common.el -- Common functionality used by XML-based
467 publishing styles, such as HTML, XML, and DocBook.
469 *** experimental/muse-mathml.el -- This introduces the "mathml"
470 publishing style and the <mathml> tag.
472 *** experimental/muse-protocol-iw.el: Implements a simpler URL-like
473 interwiki protocol that handles subdirectories.
475 *** experimental/muse-split.el -- Splits published Muse files into several
476 smaller files.
478 ** Project settings (lisp/muse-project.el)
480 *** Introduce the `with-muse-project' macro, which makes it easier
481 to switch to a given Muse project and execute some code.
483 *** Fix an error with `custom-quote'.
485 *** Ignore buffers that have no associated filename.
486 This fixes an annoyance where Muse prompts to save BBDB and ERC
487 buffers before publishing.
489 *** If we cannot find a project to publish, indicate this in an
490 error message.  This fixes an infinite loop.
492 *** Update the file-alist whenever a Muse file is saved.
494 *** Prevent infinite recursion when updating the file alist.
496 *** In addition to Arch and CVS metadata directories, also ignore
497 these for Darcs, SVN, Mercurial, and Bazaar.  Also, don't erroneously
498 ignore files with "#" in them.
500 *** Make links to subdirectories work.
501 The idea is to include as much of the path that is needed in order to
502 disambiguate the link.  For example: "web/TestPage".
504 *** New variable: muse-current-output-style.
505 This holds the output style that is currently being used to publish a
506 file.
508 *** Permit non-Muse files in projects to be linked to.
510 *** Handle relative links to other Muse pages.
511 Relative links are prefixed with "./" or "../".
513 *** New option: muse-project-publish-private-files
514 If this is non-nil (the default), files will be published even if they
515 have "o-r" permissions set (that is, if no one except the owner and
516 possibly group are allowed to read them).  To get back the old
517 behavior, set this to nil.
519 *** Publishing functions can now be customized on per-project basis
520 You can now use :publish-project and :publish to specify what function
521 to call for publishing entire projects or just a single file.
522 :publish-project is meant to be specified in the first part of a
523 project entry, along with the directories.  :publish is meant to be
524 used in a (optionally derived) publishing style: after specifying such
525 a style, use its name in the latter part of a project entry.
527 ** Publishing (lisp/muse-publish.el)
529 *** Implement escaping of specials throughout the entire document.
530 This makes it much easier to publish documents to multiple kinds of
531 formats, since you no longer have to worry about putting <verbatim>
532 around specials.
534 *** Make escaping of specials context-sensitive.
535 Muse now realizes that URLs, normal document text, <example> regions,
536 and the like have different special characters to escape.
538 *** Support nested lists.
539 Muse now determines the nested level of a list by its initial
540 whitespace.  Ordered lists, unordered lists, and definition lists can
541 all be nested.  It is even possible to force a line break in a list
542 item by inserting a blank line on the same level between the lines.
543 Blockquotes may also be nested inside of a list.
545 *** It is now possible to force images to not be inlined.
546 To accomplish this, place the text "URL:" immediately in front of the
547 link text.
549 Example: [[URL:http://example.org/image.png]]
551 *** New interactive function: muse-publish-region.
552 This command publishes the current region, prompting for the title of
553 the page (if any) and the style to use.
555 This is handy for firing off quick blog entries and pasting the result
556 into a web browser -- for this use case, it is recommended to use the
557 blosxom-html or blosxom-xhtml styles, as they omit the large header
558 and footer.
560 *** Additional arguments for <literal> tag.
561 The optional "style" and "exact" attributes may now be specified,
562 which cause text to only be included if the current publishing style
563 matches some criteria -- the text will be removed otherwise.
565 Omitting these attributes causes <literal> to behave the same as
566 usual.
568 *** Table improvements
570 **** Support orgtbl-mode style tables.
571 Here is a quick example of what they look like.  For additional
572 information, consult the Org Mode manual.
574    | Name | Phone | Age |
575    |------+-------+-----|
576    | Pete |  1234 |  25 |
577    | Sara |  4321 |  22 |
579 If you are used to the way that Org Mode publishes these tables, then
580 customize `muse-html-table-attributes' to:
582   border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"
584 in order to get a similar kind of output.
586 **** Support table.el-style tables.
587 If you have table.el somewhere in your load-path, Muse will publish
588 tables that are in the format used by table.el.
590 Currently, table.el tables can only be published for publishing styles
591 based on HTML, LaTeX, or DocBook.
593 **** Allow empty elements in tables.
595 **** Allow initial and trailing whitespace in tables, but strip it
596 out of the published result.
598 **** If the #disable-tables publishing directive exists on the current
599 Muse page, do not generate a table.
601 *** Require at least once space after "::" in definition lists, so
602 we avoid an ambiguity with interwiki link syntax.
604 *** Handle nested emphasis types better.
605 It should now publish exactly the way it looks in Muse Mode.
607 *** Preserve whitespace around emdash.
608 This allows for more flexibility, since some people seem to prefer to
609 have the emdash directly against the surrounding text, while others
610 like it to be spaced.
612 *** Fix paragraph detection when block-level markup comes immediately
613 after a paragraph.  Examples of block-level markup are: <example>,
614 verses, lists.
616 *** Allow the <lisp> tag to take the "markup" attribute.
617 see the Tag Summary section in the manual for details.
619 *** Publish image links with descriptions as captioned images.
620 This has been implemented for all Muse publishing styles.
622 The major change is that image links with descriptions will be
623 centered and the description will be displayed just below the image as
624 a "caption".  Thus, it is meant to only be used as its own paragraph,
625 not surrounded by other text.  Images without descriptions may still
626 have surrounding text.
628 *** Make comments higher priority than tags when publishing,
629 so that Muse comments within tags get stripped out.
631 *** Handle properly comments that have no text.
633 *** Distinguish links and footnotes better.
635 *** Do the right thing when a footnote reference exists but has no
636 corresponding footnote.
638 *** Simplify markup string for anchors.
640 *** Allow text like "%N%" in markup strings.
641 This makes it much easier to re-use the same text or put strings in
642 a different order.
644 *** Create parent directories when publishing for the first time.
646 *** Handle case where we are trying to publish a file that has not
647 been saved.
649 *** Fix XEmacs issue where text at beginning of buffer is read-only.
651 *** Allow publishing styles to specify a function to use for
652 escaping specials in a particular context.  This is especially handy
653 for HTML URLs, since they have a larger subset of special characters
654 than normal characters.
656 See `muse-xml-decide-specials' in muse-xml-common.el for details.
657 This functionality already exists for escaping specials in strings.
659 *** Don't give an error when trying to define or derive an existing
660 style.  Just replace it.
662 *** Get rid of a warning that occurs when batch publishing.
664 *** Ignore list items that are part of higher-priority constructs
665 like emphasis.
667 *** Don't markup emdash in a link, since otherwise it will be
668 incorrectly escaped.
670 *** Improve the published descriptions for implicit links and explicit
671 links with no provided description.
673 *** For headers and footers, use a better algorithm to detect whether
674 we have been given a filename or the real contents.
676 *** New option: muse-publish-date-format.
677 Format string of the date used when publishing files.
679 *** New option: muse-publish-markup-header-footer-tags.
680 This specifies which tags may be used when publishing headers and
681 footers.
683 *** New option: muse-publish-contents-depth.
684 This specifies the maximum depth of headings to include with
685 <contents> tags.
687 *** Allow `muse-publish-markup-buffer' to work even if the buffer
688 is not associated with a file.
690 *** Fix a compilation bug with XEmacs beta.
692 *** Source-level change: Use 'image instead of 'image-link to indicate
693 images without descriptions.  Use 'image-link instead of
694 'url-with-image to indicate URLs that have an image as their
695 description.
697 *** Self-nested tags are now supported.
698 Tags with the same name can now be nested inside one another.  This
699 only applies to the new <quote> tag and the <class> tag currently, but
700 it may be useful for custom tags as well.
702 To activate this, set the 4th element in a `muse-publish-markup-tag'
703 to non-nil.  Note that this involved a change to the structure of
704 `muse-publish-markup-tag', so be sure to change any custom tags
705 appropriately.
707 *** Fix bug with WikiName link descriptions and PDF output.
709 *** New convenience function: muse-style-derived-p
710 The new muse-style-derived-p function allows you to make custom tags
711 or inline <lisp> code that acts differently depending on whether the
712 current style is derived from (or equal to) another style.
714 For an example of its use, see `muse-publish-latex-tag' in
715 lisp/muse-latex2png.el.
717 *** New tags, see the Tag Summary section in the manual for details
719 **** <comment> -- Designate entire regions as comments.
721 **** <include> -- Insert the given file at publish time.
723 **** <markup> -- Mark up the text between the initial and ending tags.
725 **** <perl> -- Evaluate perl code.
727 **** <python> -- Evaluate python code.
729 **** <quote> -- Publish the region as a blockquote.
731 **** <ruby> -- Evaluate ruby code.
733 ** Texinfo publishing (lisp/muse-texinfo.el)
735 *** Escape commas in URLs.
737 *** Make it so that links to other info or PDF documents use the proper
738 suffix.
740 *** Publish table headings properly.
742 *** Handle case where the path to the Muse source contains a tilde
743 character in one of the parent directories.  It is still possible to
744 run into this problem if you publish outside of a directory that has a
745 tilde, but with a source file that does have one -- this was deemed to
746 be a very unlikely case.
748 ** URL protocols (lisp/muse-protocols.el)
750 *** Add support for DOI's.
751 DOI's (digitial object identifiers) are a standard identifier used in
752 the publishing industry.
754 *** Add support for "dict:" URLs.
755 This is used to look up terms on the Wikipedia website.
757 **** New option: muse-wikipedia-country.
758 This specified the country code to use for Wikipedia.
760 *** Add support for "woman:" URLs.
761 "woman" links are opened with Emacs' internal manpage viewer.
763 ** Wiki (lisp/muse-wiki.el)
765 *** Three-part links (example: Project::File#anchor) now work.
767 *** New option: muse-wiki-wikiword-match-project-files.
768 Whether to extend WikiName functionality to also match
769 existing filenames, regardless of whether they are named in
770 WikiWord format.
772 If non-nil, Muse will color and publish implicit links to any
773 file in your project.  The default is nil.
775 *** New option: muse-wiki-ignore-implicit-links-to-current-page.
776 Whether to ignore implicit links to the current page.
778 If non-nil, Muse will not recognize implicit links to the current
779 page, both when formatting and publishing.
781 *** For interwiki links, prefer files that have the same file extension
782 as the current file.
784 *** Check the entire explicit link for a project name or complete
785 interwiki link, not just part of it.  This allows page names with
786 invalid WikiName characters to be referred to by using an explicit
787 link.
789 *** If the document does not have a valid title string, use the
790 empty string.
792 *** Take the value of `muse-wiki-hide-nop-tag' into account.
794 *** Match filenames in the project before the general WikiWord
795 regexp.
797 *** Fix some bugs.
799 ** XML publishing (lisp/muse-xml.el)
801 *** The Muse XML schema has been moved from examples/muse.rnc
802 to etc/muse.rnc.
804 *** Update muse.rnc to handle nested list items.
806 *** Fix table generation when some attributes are not given.
808 * Changes in Muse 3.02.8
810 ** Building Muse
812 *** Compile the contents of the contrib directory.
814 *** The debian/ directory has been moved into its own branch.
815 It is now available at mwolson@gnu.org--2006/muse--debian--0.
817 *** Further parametrize the build system, so that it can be easily
818 used by other Emacs Lisp projects.
820 *** Include autoloads file (lisp/muse-autoloads.el) with releases.
822 ** CGI library (contrib/cgi.el)
824 *** Make this not depend on cl.el at runtime.
826 *** Re-add the example calendar application.
828 ** HTTP daemon (contrib/httpd.el)
830 *** Update this to work with newer versions of Emacs.
832 * Changes in Muse 3.02.7
834 ** Muse Mode highlighting (lisp/muse-colors.el)
836 *** Fix bug that caused Muse not to work with recent builds of Emacs 22.
838 * Changes in Muse 3.02.6
840 ** Building Muse
842 *** Autoloads for Muse are now generated in the muse-autoloads.el
843 file at build time.
845 ** HTML publishing (lisp/muse-html.el)
847 *** Don't escape "%" and "+" in URLs.
849 ** Muse Mode (lisp/muse-mode.el)
851 *** <lisp> tags are now evaluated at display time.
852 The actual contents of the buffer will not change, just the displayed
853 text.  To toggle this behavior, set `muse-colors-evaluate-lisp-tags'.
855 ** Publishing (lisp/muse-publish.el)
857 *** When errors happen during publishing, a more explanatory message
858 is displayed.
860 *** It is now possible to specify non-breaking-space with "~~"
861 (two tildes).  This helps prevent proper names from being split up in
862 the output.
864 *** Escape specials in all forms of emphasis.
866 *** Escape "[" and "]" in links that are entered using muse-make-link.
868 *** Errors from invalid lisp code in a <lisp> tag will be published
869 as a comment.  If you have `muse-publish-comments-p' set to nil, the
870 effect is to remove the error message.
872 *** Fix several publishing issues involving comments and numbered lists.
874 ** Wiki (lisp/muse-wiki.el)
876 *** Interwiki links in extended links that have special characters are
877 now handled properly.
879 ** XML publishing (lisp/muse-xml.el)
881 *** The XML publishing style is now considered stable.
882 Its schema is available in `examples/muse.rnc'.
884 * Changes in Muse 3.02.5
886 ** LaTeX publishing (lisp/muse-latex.el)
888 *** Use a better algorithm for determining how many times we need to
889 call pdflatex for publishing.  Anything with a Table of Contents needs
890 2 passes.
892 ** Muse Mode (lisp/muse-mode.el)
894 *** The 3 levels of emphasis now have corresponding muse-emphasis-N faces.
895 This permits the user to customize them, which may be useful if a font
896 does not have italic and/or bold versions.
898 *** Visiting pages with anchors works better.
900 *** Fix fill bug with semicolons in the middle of paragraphs.
902 *** Fix a bug with editing the link at point.
904 *** Fix a display bug with text like =<verbatim><example></verbatim>=.
906 ** Project settings (lisp/muse-project.el)
908 *** Fix an edge case that yielded a stringp: nil error.
910 *** Prevent auto-save files from being recognized as Muse files.
912 ** Wiki (lisp/muse-wiki.el)
914 *** By default, WikiWords can have consecutive capital letters.
916 *** Fix an error that occurs when muse-colors is not loaded.
918 *** It is now possible to specify a suffix for WikiWord links.
919 For example: WikiName''''s.  The WikiName part will be displayed and
920 colored as a link, but the "s" will be left alone.
922 * Changes in Muse 3.02.02
924 ** Configuration
926 *** A bug with customizing `muse-project-alist' has been fixed.
928 *** We use a file extension for Muse files by default.
929 To obtain the old behavior, set `muse-file-extension' to nil and
930 `muse-mode-auto-p' to t.
932 To go along with the new behavior, be sure to rename all of your Muse
933 files to have a ".muse" extension.
935 *** New option: `muse-wiki-ignore-bare-project-names'.
936 This causes Muse to ignore bare project names if specified.  The
937 default is to turn bare project names into links.
939 *** New option: `muse-publish-comments-p'.
940 This causes Muse to publish comments as markup.  The default is to
941 remove comments before publishing rather than trying to mark them up.
943 *** New option: `muse-wiki-allow-nonexistent-wikiword'.
944 Enabling this will cause WikiWords with no corresponding file to be
945 colored as bad links.  The default is not to color them and turn them
946 into links.
948 ** Muse Mode (lisp/muse-mode.el)
950 *** An error with intangible links has been fixed.
952 *** Visiting a page with an anchor works better than before.
954 *** Flyspell behaves better with Emacs21 than before.
956 *** Links to nonexistent files will be colored red by default.
957 This happened previously, but the algorithm was buggy and didn't cover
958 implicit links.
960 ** Project handling (lisp/muse-project.el)
962 *** A convenience macro called `with-muse-project' has been added.
963 This allows a code block to be executed after changing the current
964 Muse project.  It is analogous to emacs-wiki's
965 `with-emacs-wiki-project' function.
967 ** Publishing (lisp/muse-publish.el)
969 *** An issue involving anchors at the end of a line has been
970 addressed.
972 *** Non-word characters are now allowed before an anchor.
974 *** Comments may now be published, if desired.
975 This behavior may be controlled with the `muse-publish-comments-p'
976 option.  The default is to remove comments before publishing rather
977 than trying to mark them up.
979 *** Publishing directives may now include a dash character.
981 ** LaTeX publishing (lisp/muse-latex.el)
983 *** A bug with footnotes has been addressed.
984 An attempt has been made to make generated footnote markup look more
985 "natural" to experienced LaTeX users.
987 *** Table headers are underlined and table footers are overlined.
989 *** PDF publishing will cause pdflatex to be called as needed.
990 The previous behavior was to always call pdflatex twice.  Currently,
991 if pdflatex succeeds, it will not be called again.  Otherwise, call it
992 up to three times.
994 *** Escaping of special characters should be drastically improved.
995 An attempt has been made to get escaping done right in most contexts.
996 The only quirk is that you must surround dollar signs with equal signs
997 to ensure escaping.  This makes publishing PDF documents much more
998 useful.
1000 ** Texinfo publishing (lisp/muse-texinfo.el.el)
1002 *** An attempt was made to hone some of the markup.
1004 * Changes in Muse 3.02.01
1006 ** Muse Mode (lisp/muse-mode.el)
1008 *** Links should no longer prevent moving the point, and help text for
1009 links should no longer cause errors to occur.
1011 ** Project handling (lisp/muse-project.el)
1013 *** `muse-project-alist' -- This variable should now save customizations
1014 to the correct form in the .emacs file.  Before, it was saving an
1015 intermediate form of the variable.
1017 If you have used the customize interface in the previous release of
1018 Muse to set `muse-project-alist', please do the following to import
1019 your settings.
1021  - Open your .emacs file.
1022  - Move the point to where `muse-project-alist' is set.
1023  - Type `M-: (setq muse-project-alist-using-customize t) RET'.
1024  - Type `C-M-x'.
1025  - Type `M-x customize-save-variable RET muse-project-alist RET'.
1027 *** `muse-project-alist' -- A bug involving the deleting of items
1028 using Emacs21 and XEmacs21 has been fixed.
1030 ** Publishing (lisp/muse-publish.el)
1032 *** If 2 or more blank lines separate list or table items, each item
1033 will be published in a separate list or table.
1035 *** The #date directive is now populated by default with the last
1036 modified time of each file, rather than the current time of day.  To
1037 use this value, add '<lisp>(muse-publishing-directive "date")<lisp>'
1038 to your header or footer.
1040 ** HTML publishing (lisp/muse-html.el)
1042 *** `muse-xhtml-style-sheet' -- New option that indicates the style
1043 settings to use for XHTML documents.  This may be either a filename or
1044 a string of stylesheet settings.
1046 * Changes in Muse 3.02
1048 ** New modules
1050 *** lisp/muse-wiki.el --- Provide automatic linking for WikiWords and
1051 InterWiki links.  These words are clickable and publish as links.
1052 Project names from `muse-project-alist' are available for InterWiki
1053 linking by default.  The list of InterWiki names and handlers may be
1054 customized through `muse-wiki-interwiki-alist'.
1056 WikiWords that do not correspond with real files will not be displayed
1057 as links nor published as links.  It is expected that this behavior
1058 will be made optional in future versions of Muse.
1060 **** This module includes a few helper functions that may be added to
1061 `muse-publish-desc-transforms' in order to modify link descriptions at
1062 publish time.
1064 **** The concept of "implicit links" and "explicit links" has been
1065 introduced.  Explicit links are surrounded by brackets, i.e.
1066 [[http://blah.org][this is a explicit link]].  Implicit links are URLs
1067 and email addresses that are not surrounded by brackets: they will not
1068 be colorized or published if surrounded by double-quotes.
1070 ***** `muse-wiki-publish-pretty-title' causes words to be Title-cased,
1071 ignoring words like `the' and `at' which should not be changed.
1073 ***** `muse-wiki-publish-pretty-interwiki' changes the delimiter of
1074 interwiki links according to the text of the
1075 `muse-wiki-interwiki-replacement' option.
1077 *** lisp/muse-protocols.el --- URL protocols that Muse recognizes.
1078 This automatically-included module provides an easily customizable
1079 list of URL protocols, how to browse them, and how to resolve them for
1080 publishing.  Customize `muse-url-protocols' to add and remove
1081 protocols.
1083 ** Compatibility fixes
1085 *** Muse has been tested with XEmacs 21.4, both Mule and non-Mule versions.
1086 There are no known problems remaining.  To make things work by
1087 default, the iso-8859-1 charset is used as a default option in some
1088 places.
1090 ** Configuration
1092 *** `muse-file-extension' -- New option that allows the file extension
1093 for Muse files to be specified.  For example, setting this to "muse"
1094 assumes that you have renamed your Muse files with a ".muse"
1095 extension.  Using this (and setting `muse-mode-auto-p' to nil) will
1096 prevent miscellaneous non-Muse files from being accidentally opened in
1097 Muse Mode.
1099 *** `muse-ignored-extensions' -- New option that determines which file
1100 extensions to omit from the ending of a Muse page name.
1102 *** `muse-ignored-extensions-regexp' -- This is no longer customizable.
1103 It will be automatically generated from `muse-file-extension' and
1104 `muse-ignored-extensions'.
1106 *** `muse-project-alist' -- The customize interface for this option has
1107 been greatly improved, and much effort has been spent in order to make
1108 this user-friendly.
1110 *** The `:force-publish' tag may be specified in `muse-project-alist'.
1111 This causes a particular list of files to be re-created every time the
1112 publishing process is invoked, even if they haven't been changed
1113 according to their timestamps.  One use for this is to keep an index
1114 of available pages by adding the following to a file in this list.
1116 <lisp>(muse-index-as-string t t t)</lisp>
1118 *** `muse-project-ignore-regexp' -- By default, version control directories
1119 are now included in this regexp so that they don't appear when you hit
1120 C-c C-f to browse files in a project.
1122 *** The `muse-project-alist-styles' and `muse-project-alist-dirs' functions
1123 may be used in `muse-project-alist' to recursively add styles and
1124 directory listings for a given directory.  The following is an
1125 example.  We use a backtick instead of a single quote to begin the
1126 list.
1128 (setq muse-project-alist
1129       `(("Blog"
1130          (,@(muse-project-alist-dirs "~/proj/wiki/blog")  ;; base dir
1131           :default "guestbook")
1133          ,@(muse-project-alist-styles "~/proj/wiki/blog"  ;; base dir
1134                                       ;; output dir
1135                                       "~/personal-site/site/blog"
1136                                       ;; style
1137                                       "my-blosxom"))))
1139 Note that if you use the customize interface for `muse-project-alist',
1140 you will still have to manually add information for any new
1141 sub-directories.
1143 ** Debian packaging
1145 *** Debian packages for Muse have entered Debian unstable, thanks
1146 to Romain Francoise, my sponsor.
1148 It is possible to roll your own Muse packages if you want to do so.
1149 Packages may be built by using `make debrelease', once the proper
1150 options in Makefile.defs are set.  Revisions may be built using `make
1151 debrevision'.
1153 The manual and relevant documentation files have been included with
1154 the Debian package for Muse.
1156 ** Muse Mode (lisp/muse-mode.el)
1158 *** Allow use of Muse with outline-minor-mode.
1160 *** Filling text does the right thing with list items and footnotes.
1161 List items and footnotes will no longer be concatenated when hitting
1162 M-q in the midst of consecutive items.
1164 *** Links will never be split in the middle when using Fill.
1166 *** Some flyspell crash issues were addressed.
1167 Using intangible text can cause strange problems with flyspell mode.
1168 Hence, by default, the intangible property will be ignored.  A new
1169 option called `muse-mode-intangible-links' indicates whether this
1170 should be the case.
1172 *** Links will no longer be highlighted by flyspell.
1173 If you're using XEmacs or Emacs 22, flyspell will ignore links,
1174 including link text.  This keeps flyspell from making the links
1175 unclickable.  If you're using Emacs 21, flyspell will continue to
1176 interfere with links.  If you know how to fix this, please send a
1177 patch!
1179 *** A few edge cases for emphasis and underlining have been addressed.
1181 *** <example>, <verbatim>, and =surrounded text= are now colored using
1182 the new face `muse-verbatim-face'.
1184 *** All marked up text properties, like emphasis and underlining,
1185 will be removed for the text between <example>, <verbatim>, <code>,
1186 <literal>, and <lisp> tags.
1188 *** Links to temporary files may be visited.
1189 A "temporary file" in this case is a buffer that is not associated
1190 with any file.  For some dynamic content import scripts with Planner,
1191 this is helpful.
1193 *** Typing "#title" should never crash Emacs anymore.
1195 ** Muse manual (muse.texi)
1197 *** Fix problem with producing a PDF version of the manual.
1199 *** Document WikiNames.
1201 *** Bring up-to-date with latest features.
1203 *** Massively update Common Elements section.
1205 *** New Directives section.
1206 This describes the use of #title and #author, as well as other
1207 directives that may be used.
1209 *** New Comments section.
1210 Describes the use of "; comment text".
1212 ** Publishing (lisp/muse-publish.el)
1214 *** The order of rules should be much improved.
1215 This means that emphasis characters like `*' and `_' will never be
1216 interpreted as such if they are within links.
1218 *** The user will be notified when `muse-publish-this-file' fails to
1219 publish the current file.  This happens when the timestamp of the
1220 current file indicates that it is up-to-date.
1222 *** Special characters are escaped in link descriptions and links on a
1223 more consistent basis.  What defines a "special character" varies
1224 according to the publishing style.
1226 *** Errors that occur during publish time will cause a warning to be
1227 displayed prominently, rather than being ignored.  It should no longer
1228 be possible to mess up a Muse source file by tweaking the Muse
1229 publishing process.
1231 *** Errors in <lisp> tags cause a warning to be displayed and
1232 return "<!--INVALID LISP CODE-->".  Muse will try to continue
1233 publishing the page.
1235 *** An emdash ("--") can now be used after a list, as long as there is
1236 a blank line between the end of the list and the emdash.
1238 *** The <code> tag has been introduced.
1239 It does the same thing that =equal signs= do: escape specials and
1240 publish as teletype text.  Use it for short command snippets and the
1241 like.  <example> is a better choice for large blocks of code, since it
1242 preserves whitespace.
1244 *** An edge case involving links at the beginning of a paragraph
1245 has been addressed.
1247 *** An edge case involving consecutive directives of the same size
1248 has been addressed.
1250 *** Every publishing style is now capable of specifying strings to use
1251 for sections beyond the third level.
1253 *** Every publishing style may specify an end-of-section string.
1254 This is used, for example, by the experimental XML style and the
1255 DocBook style.
1257 *** Every publishing style may specify a method of handling "internal
1258 link" markup.  An internal link is a link that refers to an anchor on
1259 the current page.
1261 *** Every publishing style may specify a link suffix to use.
1262 This allows the file extensions in links to other Muse files to be
1263 different from their actual extension.  Blosxom makes use of this
1264 (since its published files are .txt and the dynamically-generated
1265 output is .html), and it could come in handy for PHP stuff.
1267 If a link suffix is not specified via :link-suffix, the value of
1268 :suffix will be used.
1270 ** Blosxom publishing (lisp/muse-blosxom.el)
1272 *** muse-blosxom-new-entry: A #category directive is added by default.
1273 Nothing is done with this yet, but it could be handy for tag-based
1274 (multiple category) blogging, once we figure out a good way to do that
1275 in both Muse and Pyblosxom.  Ideas are welcome, and patches even more
1278 ** DocBook publishing (lisp/muse-docbook.el)
1280 *** The markup has been comprehensively improved.
1281 Published documents will now pass validation tests and look better in
1282 general.
1284 *** It is now possible to specify the encoding of DocBook documents.
1285 The default encoding is utf-8.
1287 *** Footnotes will be embedded into paragraphs, since this is
1288 The DocBook Way.
1290 *** Tables will be sorted by section.
1291 Headers first, then footers, then the rest of the table.
1293 *** Anchors are now handled correctly and publish to the best available
1294 form.  Links to anchors are published with the <link> tag.
1296 ** HTML publishing (lisp/muse-html.el)
1298 *** Fix minor issue with anchors.
1300 *** Paragraph publishing will no longer insert <div> tags before images.
1301 This was causing too much hassle for some programs that were trying to
1302 extend Muse, like the Muse port of Planner.
1304 *** The `&', `<', and '>' characters will be escaped using their specific
1305 HTML escape codes, rather than with "&#NNN;".  This makes the
1306 published output display correctly in more web browsers.
1308 *** Use HTML 4.0 Transitional by default for `muse-html-header'.
1310 *** Include empty alt element in markup string for images that lack a
1311 description.
1313 *** Tables will be sorted by section.
1314 Headers first, then footers, then the rest of the table.
1316 *** `muse-xhtml-extension' -- The default extension for XHTML publishing.
1317 This is a new option.
1319 ** Journal publishing (lisp/muse-journal.el)
1321 *** Use "div class=..." rather than "div id=..." for sections.
1323 ** LaTeX publishing (lisp/muse-latex.el)
1325 *** A newline will be appended to the default footer for the latex and
1326 latexpdf publishing styles.  This keeps the PDF-building process from
1327 failing due to lack of a newline at end of file.
1329 *** Anchors and links to them now work properly.
1331 *** When generating PDF files, call pdflatex twice.
1332 This should ensure that the table of contents gets generated, if one
1333 is due to be published.
1335 *** PDF files with spaces may be published.
1336 A bug preventing this has been fixed.
1338 *** Teletype text is now published using \\texttt{...}.
1340 *** An attempt has been made to escape special characters more
1341 consistently.
1343 ** Texinfo publishing (lisp/muse-texinfo.el)
1345 *** Fix a fatal error that occurs when publishing tables.
1347 *** Generate the contents in the header by default rather than the footer.
1348 This is the way that most Texinfo manuals do it.
1350 *** The info-pdf publishing style currently produces the best PDF output
1351 on the maintainer's machine, so it is now used to publish the PDF
1352 version of the Muse Manual.
1354 *** The characters `{' and `}' will be treated as special characters that
1355 need to be escaped at publish-time.
1357 *** Improve dots and enddots markup strings.
1359 *** Surround underlined text with "_" since Texinfo doesn't seem to have
1360 any better options for producing underlined text.
1362 *** Anchors and links to them now work properly.