Release Emacs Muse 3.11
[muse-el.git] / ChangeLog
blob547be05b073aae2833c825bdca38c8842b874e04
1 2007-08-24  Michael Olson  <mwolson@gnu.org>
3         * Release Emacs Muse 3.11.
5         * AUTHORS: Add new authors for contrib files.
7         * NEWS: Add entries for Muse 3.11.
9         * README: Mention that contents of contrib/blosxom and
10         contrib/pyblosxom have different licenses than the rest of Muse.
12         * contrib/blosxom/getstamps.pl: New file that implements fetching
13         timestamps from published Muse files and placing them in a single
14         timestamps file.  That file can then be used by blosxom's metadate
15         plugin.  Thanks to Michael Welle for providing this file, as well
16         as instructions on how to use Muse with Blosxom.
18         * contrib/blosxom/metadate_0_0_3: New file implementing the
19         metadate plugin for blosxom.
21         * contrib/pyblosxom/getstamps.py: Add license text.  It seems safe
22         to assume that the original author wanted this to be distributed
23         with Pyblosxom, and hence use the MIT license like the rest of
24         Pyblosxom.
26         * contrib/pyblosxom/hardcodedates.py: Add license text.
28         * contrib/pyblosxom/make-blog: Change license text to be "This
29         file may be used, distributed, and modified without restriction."
31         * contrib/pyblosxom/metadate.py: New file that implements the
32         PyBlosxom metadate plugin.  Since this can no longer be found at
33         the original author's website, I have included it with Muse.
35         * lisp/muse-blosxom.el: Update location of metadate plugin in
36         header.
38         * lisp/muse-wiki.el (muse-wiki-project-file-regexp): Fix typo in
39         docstring.
41         * texi/muse.texi (Blosxom Requirements): Organize information by
42         subheading and subsubheading, and document how to use the metadate
43         plugin.  Briefly document using Blosxom to serve Muse entries.
45 2007-08-23  Michael Olson  <mwolson@gnu.org>
47         * lisp/muse-html.el (muse-html-insert-contents): Escape heading
48         title just before extracting it.
50         * lisp/muse-latex.el (muse-latex-fixup-headings): New function
51         that removes footnotes from headers, since they are invalid in
52         LaTeX.
53         (muse-latex-munge-buffer): Call it.
55         * lisp/muse-publish.el (muse-publish-markup-heading): Don't escape
56         specials here.  This fixes a bug involving links in headings.
58         * lisp/muse.el (muse-update-file-extension): Simplify, and handle
59         some edge cases.
60         (muse-update-file-extension-after-init): Temporarily bind
61         muse-file-extension to "muse", so that muse-update-file-extension
62         knows what the old value was.  This should fix a bug reported by
63         Jean Magnan de Bornier.
65 2007-08-21  Michael Olson  <mwolson@gnu.org>
67         * lisp/muse-texinfo.el (muse-texinfo-markup-strings): Try to make
68         url, link, and link-and-anchor look better in texi2html output.
69         Thanks to thorne for the report.
71 2007-08-20  Michael Olson  <mwolson@gnu.org>
73         * lisp/muse-journal.el (muse-journal-anchorize-title): Revamp to
74         escape characters rather than discard them.  Use muse-regexp-alnum
75         rather than listing out the characters and numbers.  Thanks to
76         Shunsuke OKANO for the report.
77         (muse-journal-rss-munge-buffer): Make sure that <![CDATA[ stuff is
78         used when generating a summary.
80 2007-08-19  Michael Olson  <mwolson@gnu.org>
82         * examples/mwolson: Update my example settings.
84         * lisp/muse-colors.el (muse-colors-region): Bind
85         muse-colors-region-end to the end of the last line.  This avoids a
86         bug where lines that had emphasis would suddenly become
87         unhighlighted when moving around the buffer.
89         * lisp/muse-docbook.el (muse-docbook-markup-paragraph): Fix bug
90         involving paragraphs after literallayout markup, which is used in
91         <verse> tags.  Thanks to Shunsuke OKANO for the report.
93         * lisp/muse-html.el (muse-html-src-tag): Use
94         muse-delete-and-extract-region.
96         * lisp/muse-import-xml.el: Add require statement.
97         (muse-import-xml-parse-node): Use muse-replace-regexp-in-string.
99         * lisp/muse-protocols.el (muse-browse-url-man): Add require
100         statement.
101         (muse-browse-url-woman): Add require statement.
103         * lisp/muse-publish.el (muse-publish-surround-text): Fix serious
104         bug in definition list publishing.  We were skipping past the
105         initial indented line, and that was causing an erroneous
106         blockquote to be inserted.  This alone merits a new release.
108         * lisp/muse-texinfo.el (muse-texinfo-info-generate): Fix bug with
109         XEmacs' return value for shell-command.
111         * lisp/muse.el (muse-delete-and-extract-region): New compatibility
112         function to deal with XEmacs' lack of the
113         delete-and-extract-region function.
115 2007-08-18  Michael Olson  <mwolson@gnu.org>
117         * AUTHORS: Update.
119         * lisp/muse-publish.el (muse-publish-include-tag): Switch from
120         copy-tree to copy-alist, since Emacs21 does not have the former,
121         and the latter does what we want.
123         * lisp/muse.el: Force-require 'derived, since Emacs21 does not
124         have derived-mode-p in subr.el like Emacs22 does.
126 2007-08-17  Michael Olson  <mwolson@gnu.org>
128         * etc/muse.rnc: Add the <cite> tag.
130         * lisp/muse-context.el (muse-context-slides-header): Clarify what
131         "mystyle" is.
133         * lisp/muse-xml.el (muse-xml-markup-strings): Mark up citations as
134         <cite type="something">.  We'll leave it to the post processing
135         tools to interpret that.
137         * texi/muse.texi (Directives, Blosxom Entries): Use @code{} for
138         directives.
139         (Citations): New section that explains further how to use the
140         <cite> tag.  The text was taken from Marcus Hoenicka's
141         documentation at http://refdb.sourceforge.net/muse.html and
142         modified.
143         (Tag Summary): Link to the Citations section in the entry for
144         <cite>.
145         (ConTeXt): Update the documentation for
146         muse-context-slides-header.
148 2007-08-17  Jean Magnan de Bornier  <jean@bornier.net>
150         * lisp/muse-context.el (muse-context-slides-header): Use #module
151         directive, if it is provided.
152         (muse-context-slides-header): Mention how to use #module.
154 2007-08-16  Michael Olson  <mwolson@gnu.org>
156         * Release Emacs Muse 3.10.
158         * Makefile (dist, debprepare): Pass HEAD argument to git-archive.
159         (upload): Don't depend on release rule.
161         * NEWS: Document remaining changes.
163 2007-08-15  Michael Olson  <mwolson@gnu.org>
165         * NEWS: Document items through 2007-08-12.
167         * lisp/muse-colors.el: Split the muse-directive-or-comment
168         property into two separate properties that are muse-directive and
169         muse-comment.
170         (muse-colors-region-end): Make buffer-local.
171         (muse-colors-delayed-commands): New variable that contains a list
172         of commands to run immediately after highlighting.  This is meant
173         to allow highlighting functions to delay code until later.
174         (muse-colors-region): Apply commands in
175         muse-colors-delayed-commands.
176         (muse-colors-inhibit-tags-in-directives): New variable that
177         determines whether tags are allowed in directives.
178         (muse-colors-custom-tags): Take
179         muse-colors-inhibit-tags-in-directives into account.
180         (muse-unhighlight-region): Remove muse-directive and muse-comment
181         properties.
182         (muse-colors-title): Modify muse-colors-delayed-commands.
183         (muse-colors-title-lisp): New command that gets called after
184         highlighting other things.  This interprets <lisp> tags, and is
185         passed arguments specifying the beginning and end of the region.
186         Thanks to Junichi Uekawa for the report.  The reason we want to do
187         things this way is because this is the behavior we get already
188         when publishing the page.
190         * lisp/muse.el (muse-goto-tag-end): Change to use muse-comment
191         property rather than muse-directive-or-comment.
193 2007-08-14  Michael Olson  <mwolson@gnu.org>
195         * lisp/muse-colors.el: Document all functions and variables.
196         (muse-colors-emphasized, muse-colors-underlined)
197         (muse-colors-verbatim, muse-colors-custom-tags)
198         (muse-colors-explicit-link, muse-colors-implicit-link): Don't trod
199         on comments or the #title directive.
200         (muse-colors-markup): Add comment rule.
201         (muse-colors-implicit-link): Only remove flyspell overlay after we
202         decide whether this is an implicit link, rather than before.
203         (muse-colors-title): Add the muse-directive-or-comment property.
204         (muse-colors-comment): New function that colorizes comments using
205         font-lock-comment-face.
206         (muse-colors-region-end): New variable indicating the end of the
207         region that is currently being font-locked.  This removes the need
208         for an ugly "defvar end" hack.
209         (muse-colors-emphasized, muse-colors-underlined)
210         (muse-colors-verbatim): Use it.
211         (muse-colors-region): Let-bind it.
213         * lisp/muse-mode.el (muse-list-edit-minor-mode): Grammar fix in
214         docstring.
216         * lisp/muse-publish.el (muse-publish-markup-heading): Escape
217         specials in heading now, rather than waiting on the whole-document
218         pass later on.  This lets <contents> generation work without
219         validation errors.  Thanks to Reid van Melle for the report.
221         * texi/muse.texi (Tag Summary): Document <cite> tag.
222         (Miscellaneous): New chapter containing "Muse List Edit Minor
223         Mode" section.
224         (Muse List Edit Minor Mode): New section that documents
225         muse-list-edit-minor-mode.
226         (Development): Mention the MuseDevlopment page on emacswiki.org.
228         * lisp/muse.el (muse-goto-tag-end): Deal with case where we are
229         font-locking and the end or beginning of a tag is in a comment or
230         directive.
232 2007-08-12  Michael Olson  <mwolson@gnu.org>
234         * lisp/muse-html.el (muse-html-strip-links): New function that
235         strips HTML links from a string.
236         (muse-html-insert-contents): Use it, instead of
237         muse-publish-strip-tags.  This fixes a bug reported by Xin Shi
238         involving the use of <sup> in section titles.
240         * lisp/muse-project.el (muse-project-resolve-directory): New
241         function that figures out the directory part of the path that
242         provides a link to a page.
243         (muse-project-resolve-link): Expand docstring.  Use the new
244         function.  Don't call muse-publish-link-file, because that does
245         the wrong thing when we have muse-file-extension set to nil.
246         Thanks to Sebastian Obermanns for the report.
247         (muse-project-publish-this-file): Let-bind muse-current-project.
248         Also, if the file is not associated with a project, fall back to
249         muse-publish-this-file.
250         (muse-project-set-variables): Add this to
251         muse-before-publish-hook, so that it gets called.  This fixes a
252         bug where project-specific variables were being used in Muse mode,
253         but ignored when publishing.
255         * lisp/muse-publish.el (muse-publish-link-name)
256         (muse-publish-link-file, muse-publish-link-page): Add docstrings
257         so that I can remember what each of these things do.
258         (muse-publish-strip-tags): Remove, since it is no longer used.
259         (muse-publish-cite-tag): Don't let-bind
260         muse-publishing-directives, because there is no need to do so.
261         Fix code indentation.
262         (muse-publish-markup-attribute): Avoid multiple evaluation of
263         attrs argument, in case it is list value instead of a symbol.  Use
264         sexp instead of form in the edebug-form-spec.
265         (muse-publish-include-tag): Make a full copy of
266         muse-publishing-directives, since it can be modified with setcdr.
267         This fixes a bug where #title and some other directives were
268         leaking out of an included region.
269         (muse-publish-mark-up-tag): Don't let-bind
270         muse-publishing-directives, because there is no need to do so.
272         * lisp/muse.el (muse-page-name): Improve docstring.
274         * texi/muse.texi (Development): Mention the http method for
275         anonymous git access to the shared repo.
277 2007-08-10  Michael Olson  <mwolson@gnu.org>
279         * Makefile (dist, debprepare): Use git instead of tla.
281         * contrib/httpd.el (httpd-send-file): Use insert-file-contents.
283         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
284         Use muse-insert-file-contents.
286         * experimental/muse-split.el (muse-publish-file)
287         (muse-publish-presplit-publish, muse-publish-no-split-function)
288         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
289         muse-insert-file-contents.
291         * lisp/muse-book.el (muse-book-publish-chapter)
292         (muse-book-get-directives): Use muse-insert-file-contents.
294         * lisp/muse-http.el (muse-http-render-page): Use
295         muse-insert-file-contents.
297         * lisp/muse-poem.el (muse-poem-markup-tag): Use
298         muse-insert-file-contents.
300         * lisp/muse-publish.el (muse-insert-file-or-string)
301         (muse-publish-file, muse-publish-include-tag)
302         (muse-published-contents): Use muse-insert-file-contents.
304         * lisp/muse.el (muse-insert-file-contents): New function that
305         inserts a file with character code conversion, but none of the
306         other frivolities.  Since insert-file-contents-literally does not
307         do character code conversion, it is not suitable for us.
308         (muse-with-temp-buffer): Mention muse-insert-file-contents rather
309         than insert-file-contents-literally.
311 2007-08-09  Michael Olson  <mwolson@gnu.org>
313         * lisp/muse.el (muse-write-file): Pay attention to
314         coding-system-for-write and save-buffer-coding-system.  This
315         should fix a recently-introduced bug with writing Muse pages in
316         different coding systems.
318 2007-08-08  Michael Olson  <mwolson@gnu.org>
320         * README (Prerequisites): Fix typo.
321         (Compilation, Installation): Update.
322         (Documentation, Further Documentation): Update URLs.
323         (Further Documentation): Add quick blurb on how to participate in
324         Muse development or track changes.
326         * texi/muse.texi (Releases): Use gna.org URL for downloading the
327         latest release, rather than my website.
328         (Development): Change instructions to use git instead of
329         Arch. Mention where to get a Windows binary for git.  Improve the
330         look of the listing.  Add section with instructions for Becoming a
331         Muse developer.
332         (Installation): Update instructions for Makefile.defs.default and
333         XEmacs.  Add index entries.  Add section for ELPA, since Muse
334         ought to be distributed in ELPA after the 3.10 release.  Fix typo
335         and clarify wording.
337 2007-08-06  Michael Olson  <mwolson@gnu.org>
339         * texi/muse.texi: Make sure that attributes are marked up with
340         @option{} rather than @code{} or @samp{} for consistency.
341         (Journal): Add "muse-project-alist-considerations" subheading,
342         along with a mention of :base-url.
344 2007-08-05  Michael Olson  <mwolson@gnu.org>
346         * .gitignore: Add texi/muse.html and the DVC log edit file.
348         * Makefile.defs.default (install_info): Rename from INSTALLINFO.
349         Turn this into something that can be called like a command, due to
350         needing to deal with XEmacs, which has different argument order.
351         Thanks to Terrence Brannon for the report.
353         * lisp/muse-project.el (muse-project-of-file): Simplify by using
354         catch, throw, and dolist.  Look for exact matches before
355         considering any subdirectories.  If no exact matches are found,
356         then pick the longest match.
358         * lisp/muse.el (muse-sort-by-rating): Mention default test in
359         documentation.
361         * scripts/muse-build.el: Avoid interference from VC.el in the
362         build process.
364         * texi/Makefile (install): Call install_info.
366 2007-08-03  Michael Olson  <mwolson@gnu.org>
368         * lisp/muse-project.el (muse-project-applicable-styles): Remove
369         useless argument ignore-regexp.  Use saner logic.  This fixes a
370         bug where a file could potentially not exist but still appear in
371         the used-styles list.  Thanks to John Wiegley for the fix.
372         (muse-project-publish-file): Don't take ignore-reegxp argument.
374 2007-08-02  Michael Olson  <mwolson@gnu.org>
376         * lisp/muse-publish.el (muse-batch-publish-files): Don't activate
377         VC when publishing files in batch.  This avoids some annoying
378         messages when building QuickStart in the examples directory.
380         * lisp/muse-mode.el (muse-mode): Don't try to indent line before
381         inserting a comment.
383 2007-07-31  Michael Olson  <mwolson@gnu.org>
385         * lisp/Makefile: Add dependencies between Emacs Lisp files, so
386         that Muse can be recompiled without running "make clean" after an
387         update.
389         * lisp/muse-publish.el (muse-publish-verse-tag): Unconditionally
390         delete forward one character, since we are guaranteed to be on a
391         blank line.  Don't delete all initial whitespace of the first
392         line.  This fixes an issue where the output from the verse tag did
393         not match the output from Muse's verse syntax.
395 2007-07-29  Michael Olson  <mwolson@gnu.org>
397         * Relicense to GPLv3.
399         * Makefile.defs.default: Rename from Makefile.defs.  This allows
400         people to copy this file to Makefile.defs and make changes,
401         without having the changes be accidentally committed.  If
402         Makefile.defs does not exist, this file is read instead, in order
403         to minimize inconvenience to the casual user.
405         * Makefile, contrib/Makefile, examples/Makefile,
406         experimental/Makefile, lisp/Makefile, texi/Makefile: Use either
407         Makefile.defs.default or Makefile.defs.
409         * lisp/muse-mode.el (muse-list-edit-minor-mode-map): Use new
410         function names.
411         (muse-l-e-m-m-insert-list-item): Add real documentation.
412         (muse-l-e-m-m-increase-list-item-indent)
413         (muse-l-e-m-m-decrease-list-item-indent): Rename for clarity.  Add
414         real documentation.
415         (muse-list-edit-minor-mode): Improve documentation.
417         * texi/doclicense.texi (GNU Free Documentation License): Use
418         pristine copy from Emacs source tree.
420         * texi/muse.texi (Contributors): Move node and appendix indicators
421         here, rather than doclicense.texi.
423 2007-07-29  Jean Magnan de Bornier  <jean@bornier.net>
425         * lisp/muse-latex.el (muse-latex-markup-strings): Change rule
426         command which did not work correctly
428         * lisp/muse-context.el (muse-context-markup-strings): Change rule
429         command which did not work correctly; defined verse commands
430         (muse-context-markup-specials-literal): Eliminate all unuseful entries
432 2007-07-29  Michael Olson  <mwolson@gnu.org>
434         * contrib/httpd.el (httpd-send-file): Use
435         insert-file-contents-literally instead of insert-file-contents.
437         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
438         Use insert-file-contents-literally instead of
439         insert-file-contents.
441         * experimental/muse-split.el (muse-publish-file)
442         (muse-publish-presplit-publish, muse-publish-no-split-function)
443         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
444         insert-file-contents-literally instead of insert-file-contents.
446         * lisp/muse-book.el (muse-book-publish-chapter)
447         (muse-book-get-directives): Use insert-file-contents-literally
448         instead of insert-file-contents.
450         * lisp/muse-http.el (muse-http-render-page): Use
451         insert-file-contents-literally instead of insert-file-contents.
453         * lisp/muse-import-latex.el (muse-import-latex): Set marker to
454         nowhere when done, since they can slow things down.
456         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Set
457         marker to nowhere when done, since they can slow things down.
459         * lisp/muse-poem.el (muse-poem-markup-tag): Set marker to nowhere
460         when done, since they can slow things down.  Use
461         insert-file-contents-literally instead of insert-file-contents.
463         * lisp/muse-publish.el (muse-publish-markup-tag)
464         (muse-publish-markup-word, muse-publish-markup-footnote)
465         (muse-publish-call-tag-on-buffer): Set markers to nowhere when
466         done, since they can slow things down.
467         (muse-insert-file-or-string, muse-publish-file)
468         (muse-publish-include-tag, muse-published-contents): Use
469         insert-file-contents-literally instead of insert-file-contents.
470         (muse-publish-surround-dl): Remove unused variable.  Track whether
471         a term has been found, and handle that case well.
472         (muse-publish-ensure-blank-line): Use a marker, so that we don't
473         lose our place when adding a newline.  This really fixes the
474         definition list item bug.
475         (muse-publish-markup-list): Since people do seem to want
476         definition lists with no terms, allow this.
477         (muse-batch-publish-files): Set muse-current-output-style.
479         * lisp/muse.el (muse-with-temp-buffer): Mention
480         `insert-file-contents-literally'.
482 2007-07-28  Michael Olson  <mwolson@gnu.org>
484         * lisp/muse-mode.el (muse-browse-result): Set
485         muse-current-output-style.
486         (muse-mode): Don't duplicate the paragraph-start regexp
487         unnecessarily.
488         (muse-list-edit-minor-mode-map): New variable containing the
489         keymap for Muse list edit minor mode.
490         (muse-l-e-m-m-list-item-regexp): New variable that matches list
491         items for Muse list edit minor mode.
492         (muse-l-e-m-m-insert-list-item,
493         muse-l-e-m-m-i-list-item-indentation)
494         (muse-l-e-m-m-d-list-item-indentation): Variants of existing list
495         item functions that change the list item regexp before calling the
496         existing function.
497         (muse-l-e-m-m-data): New variable that keeps track of the fill
498         data that we overwrite when activating Muse list edit minor mode,
499         so that we can restore it if the minor mode is toggled off.
500         (muse-list-edit-minor-mode): New minor mode that is useful for
501         editing lists in other major modes.
502         (turn-on-muse-list-edit-minor-mode)
503         (turn-off-muse-list-edit-minor-mode): New interactive functions
504         that turn Muse list edit minor mode on and off, respectively.
505         (muse-on-blank-line, muse-get-paragraph-start): Simplify some
506         regexps.
508         * lisp/muse-project.el (muse-project-publish-this-file): Set
509         muse-current-output-style.  This fixes a bug when publishing to a
510         style that is not first in the list of styles.  Thanks to Jean
511         Magnan de Bornier for the report.
513         * lisp/muse-publish.el (muse-publish-ensure-blank-line): New
514         function that ensures that a blank line exists in the line before
515         point.
516         (muse-publish-markup-list): Use it, rather than
517         `muse-publish-ensure-block'.  This fixes a bug with definition
518         list publishing.  Thanks to meandtheshell for reporting this.
520         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): If the
521         project argument is nil, default to the current project instead of
522         the first project entry in muse-project-alist.  This seems much
523         more sane to me.
525         * lisp/muse.el (muse-forward-list-item): Only check the 'face
526         property if we are in Muse mode or one of its derivatives.  This
527         allows movement on nested lists to work in other modes, and fixes
528         an issue with altering list indentation in
529         muse-list-edit-minor-mode.
531 2007-07-27  Michael Olson  <mwolson@gnu.org>
533         * AUTHORS: Add new authors.
535         * README: Permit Muse to be called "Emacs-Muse".
537         * etc/IDEAS.muse: Remove now-implemented ideas and duplicate idea.
539         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug
540         involving list items that have an extra blank line in front.
542         * texi/muse.texi (Introduction): Mention that Emacs Muse, Muse,
543         and Emacs-Muse are the same thing.
545 2007-07-27  Jean Magnan de Bornier  <jean@bornier.net>
547         * lisp/muse-context.el (muse-context-header): Put
548         starttext after the modules who must be in preamble.
549         (muse-context-markup-strings): Fixed mistake in begin-example and
550         end-example.
552         * lisp/muse-latex2png.el (muse-publish-math-tag): Replaced the
553         math environment in ConTeXt when centered: "$$ $$" has to be
554         "\startformula \stopformula".
556 2007-07-26  Michael Olson  <mwolson@gnu.org>
558         * lisp/muse-xml-common.el (muse-xml-escape-url): Do not escape
559         parentheses in URLs.
561 2007-07-24  Michael Olson  <mwolson@gnu.org>
563         * examples/QuickStart.muse (Images): Fix typo where some text
564         existed in the output but not in the example region.
565         (Source Code): Fix another typo.  Explain that publishing from
566         console or X can make a difference.
568         * lisp/muse-context.el (muse-context-pdf-program): New option that
569         determines the program to use for generating PDF files for
570         ConTeXt.
571         (muse-context-pdf-cruft): New option that specifies the extensions
572         of files to remove after generating PDF output successfully.
573         (muse-context-slides-header): Docfix.
574         (muse-context-pdf-generate): Use new options.
576         * lisp/muse-publish.el (muse-publish-lisp-tag): Add missing
577         save-restriction call.  This was causing a world of hurt when
578         using <lisp> inside of <include>.
580         * texi/muse.texi (ConTeXt): New section that documents how to use
581         the ConTeXt publishing styles.
583 2007-07-23  Michael Olson  <mwolson@gnu.org>
585         * lisp/muse-context.el: New file that provides support for
586         publishing documents to the ConTeXt format.  Thanks to Jean Magnan
587         de Bornier for his work on this.
589         * lisp/muse-docbook.el (muse-docbook-entities)
590         (muse-docbook-bibliography): Remove unneeded save-restriction use.
592         * lisp/muse-latex2png.el (muse-publish-latex-tag):
593         s/contex/context/.
595         * lisp/muse-latex.el (muse-latex-fixup-citations): Add docstring.
596         (muse-latex-bibliography): Remove call to `widen', since it is not
597         needed anymore.  Remove unneeded save-restriction use.
598         ("slides", "slides-pdf"): Indent elements uniformly.
600 2007-07-22  Michael Olson  <mwolson@gnu.org>
602         * lisp/muse-blosxom.el (muse-blosxom-new-entry):
603         * lisp/muse-mode.el (muse-insert-tag):
604         * lisp/muse-project.el (muse-read-project)
605         (muse-read-project-file):
606         * lisp/muse-publish.el (muse-publish-get-style): Use
607         muse-completing-read-function.
609         * lisp/muse-latex2png.el (muse-publish-latex-tag)
610         (muse-publish-math-tag): Allow the context style -- which I plan
611         to include soon -- to work with these tags.
613         * lisp/muse.el (muse-completing-read-function): New option that
614         determines which function to call when doing a completing-read.
616 2007-07-15  Michael Olson  <mwolson@gnu.org>
618         * lisp/muse-journal.el (muse-journal-html-entry-template)
619         (muse-journal-rdf-entry-template)
620         (muse-journal-rss-entry-template): Mention that this can be text
621         or a filename.
622         (muse-journal-rdf-entry-template, muse-journal-rss-header)
623         (muse-journal-rss-footer, muse-journal-rss-entry-template): Add
624         newlines to make the output look nicer.
625         (muse-journal-html-munge-buffer, muse-journal-rss-munge-buffer):
626         Use muse-insert-file-or-string for the entry templates, rather
627         than muse-insert-markup.  This allows <lisp> and <markup> tags to
628         be acted on.  Thanks to Scott Hyde for the report.
629         (muse-journal-html-munge-buffer): Escape quote of the day using
630         entire-document specials before snarfing it.  Mark entire template
631         as read-only -- this fixes an incorrect escaping bug.  Remove
632         read-only properties before replacing template matches so that
633         they can still be escaped with entire-document specials later on.
634         (muse-journal-rss-munge-buffer): Make sure that title is escaped
635         properly.
636         (muse-journal-markup-tags): Rename from
637         muse-journal-latex-markup-tags, because we will use it for
638         journal-rss-entry as well.
639         (muse-journal-qotd-tag): Move higher.  Use begin-quote-item and
640         end-quote-item.
641         (muse-journal-rss-munge-buffer): Use journal-rss-entry rather than
642         html.
643         ("journal-latex", "journal-pdf", "journal-book-latex")
644         ("journal-book-pdf"): Use muse-journal-markup-tags rather than
645         muse-journal-latex-markup-tags.
646         ("journal-rss-entry"): New style that is used by journal-rss and
647         journal-rdf to mark up individual entries.  It is needed so that
648         we can do something meaningful with the qotd tag.
649         (muse-journal-rdf-summarize-entries): Set this to nil by default,
650         because it is annoying.  Update docs to mention this.
651         (muse-journal-rss-summarize-entries): Docfix.
653         * lisp/muse-publish.el (muse-insert-file-or-string): Use
654         muse-publish-markup-header-footer-tags.  I'm not quite sure how
655         this change got reverted.
656         (muse-markup-tag-info): Make into a function.  Move common code
657         here, rather than duplicating it in two places.  Deal with case
658         where muse-publish-use-header-footer-tags is non-nil.
659         (muse-publish-markup-specials, muse-publish-inhibit-style-hooks)
660         (muse-inhibit-style-tags): Move higher to avoid byte-compiler
661         warning.
662         (muse-publish-use-header-footer-tags): New variable that indicates
663         whether we should use just the header and footer tags, rather than
664         the full set.
665         (muse-insert-file-or-string): Bind
666         muse-publish-use-header-footer-tags to t.
667         (muse-publish-markup-tag, muse-publish-call-tag-on-buffer):
668         Simplify call to muse-markup-tag-info.
669         (muse-publish-mark-up-tag): Bind
670         muse-publish-use-header-footer-tags to nil.
672         * texi/muse.texi (Journal): Update for recent changes.
674 2007-07-14  Michael Olson  <mwolson@gnu.org>
676         * lisp/muse-journal.el (muse-journal-rss-munge-buffer): Don't
677         delete the remainder of the buffer, since this causes the
678         resulting RDF to have invalid syntax.  Thanks to Phillip Lord for
679         the report and the suggested fix.
681         * lisp/muse-publish.el (muse-publish-markup-regexps): Add "^" to
682         beginning of table-el regexp.  This fixes a bug where Muse stalls
683         when trying to publish a malformed table.  Thanks to Ye Wenbin for
684         the report and the suggested fix.
686 2007-07-12  Michael Olson  <mwolson@gnu.org>
688         * lisp/muse-wiki.el (muse-wiki-interwiki-regexp): Set to nil by
689         default, rather than the empty string.  This really fixes the bug
690         that occurred when using Muse with muse-project-alist set to nil.
691         Thanks to Jonathan Underwood for the report.
692         (muse-wiki-update-interwiki-regexp): Set
693         muse-wiki-interwiki-regexp to nil if muse-project-alist is not
694         defined.
695         (muse-wiki-handle-implicit-interwiki)
696         (muse-wiki-handle-explicit-interwiki): Handle case where
697         muse-wiki-interwiki-regexp is nil.
699 2007-07-10  Michael Olson  <mwolson@gnu.org>
701         * lisp/muse-mode.el (muse-grep): Abort search if the current
702         project contains no directories.
704         * lisp/muse-project.el (muse-project-file-alist): If
705         muse-project-alist is not defined, or project is nil, return nil
706         right away.  This ought to fix a bug that occurred when using Muse
707         with muse-project-alist set to nil.
708         (muse-project-of-file): Make sure muse-project-alist is not nil.
709         (muse-project-save-buffers): Make sure project is not nil.
711         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Deal with
712         case where muse-project-alist is nil.
714         * lisp/muse.el (muse-replace-regexp-in-string): Explicitly check
715         for XEmacs, since color-theme.el is poorly behaved, and defines
716         its own replace-in-string.  Bad color-theme.el -- no cookie for
717         you.
719 2007-07-01  Michael Olson  <mwolson@gnu.org>
721         * Makefile (.PHONY): Update for new debian package rules.
723         * lisp/muse-book.el (muse-book-latex-footer): Wrap long line.
725         * lisp/muse-docbook.el (muse-docbook-fixup-citations): Re-indent.
726         Use save-restriction properly.
727         (muse-docbook-entities, muse-docbook-bibliography): : Re-indent.
729         * lisp/muse-latex.el (muse-latex-footer): Wrap long line.
730         (muse-latex-fixup-citations): Re-indent.  Use save-restriction
731         properly.
732         (muse-latex-bibliography): Re-indent.
734         * lisp/muse-publish.el (muse-publish-get-and-delete-attr): Move
735         higher.  This fixes an error at startup with some versions of
736         Emacs.
737         (muse-publish-cite-tag): Re-indent.
739         * lisp/muse-wiki.el (muse-wiki-handle-explicit-interwiki): Narrow
740         to the end of the link part, so as to exclude the description from
741         the match.  This fixes a bug with three-part links that have
742         descriptions.  Thanks to everyone who pointed it out.
744 2007-06-18  Michael Olson  <mwolson@gnu.org>
746         * lisp/muse-html.el (muse-html-markup-strings): Add anchor.
747         (muse-xhtml1.1-markup-strings): New option that specifies XHTML
748         1.1 specific markup strings.
749         (muse-html-insert-anchor): Use 'anchor string, rather than
750         hard-coding it.  Thanks to Chris Corsair for the suggestion.
751         ("xhtml1.0"): New style that is an alias for the xhtml style.
752         ("xhtml1.1"): New style that publishes XHTML 1.1 compliant output.
754 2007-06-17  Michael Olson  <mwolson@gnu.org>
756         * examples/QuickStart.muse: Make images local so that the Info
757         version of this document works.  Add <example> for the Literal
758         paragraphs chapter, so that it is clear what is happening.
760         * Makefile: Add elpa target, which is used for building an ELPA
761         package for Muse.
763         * Makefile.defs (ELPADIR, ELPADESC): New variables used for
764         building ELPA packages.
766         * examples/Makefile (%.html, %.pdf, %.info): Add message to
767         indicate what we are publishing.
768         (realclean distclean fullclean): Remove all TeX crud.
770         * examples/emacs-muse.png, examples/muse-made-with.png: Include so
771         that the Info version of QuickStart can publish correctly.
773         * lisp/muse-latex.el (muse-latex-slides-header)
774         (muse-latex-lecture-notes-header): Docfix.
776         * lisp/muse-project.el (muse-project-ignore-regexp): Add .git to
777         the list of things to ignore.
779         * lisp/muse-publish.el (muse-publish-markup-list): Remove unused
780         variable.
782         * lisp/muse-texinfo.el (muse-texinfo-process-natively): Set
783         default to nil, since texinfmt.el is a serious nuisance.
784         (muse-texinfo-markup-strings): Add newlines to begin-example and
785         end-example.
786         (muse-texinfo-decide-specials): Also escape URL-type specials in a
787         whole slew of other contexts.
789         * lisp/muse-xml-common.el (muse-xml-encoding-map): Change group to
790         muse-xml.
792         * lisp/muse-xml.el (muse-xml-footer): Docfix.
794         * lisp/muse.el (muse-version): Release Emacs Muse version 3.03.
796 2007-06-16  Michael Olson  <mwolson@gnu.org>
798         * etc/IDEAS.muse: Add some ideas from David D. Smith.
800         * examples/QuickStart.muse: Overhaul.
802         * lisp/muse-project.el (muse-project): Call the last part of a
803         muse-project-alist entry "Output styles" rather than "styles".
805         * lisp/muse-publish.el (muse-publish-table-fields): Handle case
806         where we have a pipe character at the beginning of line.
808         * lisp/muse-xml-common.el (muse-xml-sort-table): Fix typo that was
809         causing tables to not be sorted at all.
811         * texi/muse.texi: Overhaul.  It would be too time-consuming to
812         list all of the changes here.  The "Getting Started" and
813         "Projects" chapters, in particular, were heavily revised.
815 2007-06-15  Michael Olson  <mwolson@gnu.org>
817         * NEWS: Update.
819         * examples/QuickStart.muse: Mention new features.
821         * lisp/muse-colors.el (muse-colors-toggle-inline-images): Docfix.
822         Remove C-c C-i keybinding, since it conflicts with C-c TAB in the
823         terminal, and C-c TAB is more important.  Most people will not
824         want to toggle images on and off that often.
826         * lisp/muse-mode.el (muse-mode-map): Bind muse-insert-thing to C-c
827         C-i as well, so that it works in the terminal.
829         * lisp/muse-publish.el (muse-publish-literal-tag): Make the output
830         look a bit tidier when removing the region.
832         * lisp/muse-regexps.el (muse-list-item-regexp): Put definition
833         list regexp part before other parts.
834         (muse-ol-item-regexp): New regexp that specifies how to match an
835         ordered list item.
836         (muse-ul-item-regexp): New regexp that specifies how to match an
837         unordered list item.
838         (muse-table-field-regexp): New regexp that specifies how to match
839         a definition list entry.
841         * lisp/muse-texinfo.el (muse-texinfo-info-generate): Work around
842         lack of support for @headitem in texinfmt.el.
844         * lisp/muse.el: Wrap muse-line-beginning-position and
845         muse-line-end-position in `eval-and-compile', since they are now
846         used in muse.el.
847         (muse-list-item-type): Use a simpler algorithm for detecting which
848         kind of list item we have.  This fixes a bug where a number in a
849         definition list term was being detected incorrectly as an ordered
850         list item.  Fixes bug #6250.
851         (muse-forward-list-item): Get the entire line with the list item.
852         For some reason, Emacs 21 was not populating match 2 correctly,
853         unlike Emacs 22, so this workaround was needed.
855         * texi/muse.texi: (Keystroke Summary): Remove C-c
856         C-i (`muse-insert-tag') documentation, and mention C-c C-i as an
857         alternative keybinding to the C-c TAB stuff.  Mention
858         muse-colors-toggle-inline-images.
860 2007-06-14  Michael Olson  <mwolson@gnu.org>
862         * README: Mention that RelaxNG schema is in etc/ directory.
864         * etc/emacs-wiki-migration.txt: New document that explains how to
865         migrate from emacs-wiki to Muse.
867         * etc/muse.rnc: Increment version number to 1.0.  Fix several
868         nested emphasis and nested lists edge cases.  Move here from
869         examples/.
871         * lisp/muse-mode.el (muse-mode-map): Permit C-c C-M-t to do the
872         same thing as C-c C-S-t, since the former works better in the
873         console.  Thanks to Leo for the suggestion.
875         * lisp/muse-publish.el (muse-publish-markup-table)
876         (muse-publish-markup-table-el): Include a newline in the return
877         string, so that paragraph detection does not get confused.
879         * lisp/muse.el (muse-with-temp-buffer): Docfix.
881         * texi/muse.texi (Keystroke Summary): Document the C-c C-M-t
882         keybinding.
884 2007-06-13  Michael Olson  <mwolson@gnu.org>
886         * etc/IDEAS.muse: Mark three-part-links item as done.
888         * experimental/muse-message.el: Remove guard for muse-define-style
889         calls.
891         * lisp/muse-colors.el (muse-configure-highlighting): Fix bug where
892         markup rules were being interpreted in reverse order.  This should
893         make implicit interwiki links work properly again.
894         (muse-link-face): Strip anchor from end of a path, so that this
895         works with anchors in interwiki links.
896         (muse-colors-insert-image): Catch error that occurs in Emacs 21
897         when an image does not exist.
899         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Permit
900         anchors.
901         (muse-wiki-handle-implicit-interwiki): Docfix.  Make anchors in
902         interwiki links work.  Thanks to Jim Ottaway for the initial
903         implementation.
904         (muse-wiki-handle-explicit-interwiki): Make anchors in interwiki
905         links work.
907         * lisp/muse.el (muse-handle-implicit-link): Docfix: only care
908         about match 0.
909         (muse-handle-explicit-link): Docfix: this does not modify the
910         match data.
911         (muse-file-remote-p): In Emacs 21, ange-ftp-name-format is a list
912         that has the regexp in its car.
914 2007-06-12  Michael Olson  <mwolson@gnu.org>
916         * README: Document new etc/ directory.
918         * etc/IDEAS.muse: Install things from new contributors just after
919         the 3.03 release, since I won't have time to review the code
920         before the release.  Move to new etc/ directory.  Slides
921         publishing has been installed.
923         * lisp/muse-latex.el (muse-latex-slides-header): New option that
924         determines the header to use for publishing slides.
925         (muse-latex-lecture-notes-header): New option that determines the
926         header to use for publishing lecture notes.
927         (muse-latex-slides-markup-tags): New option containing tags to use
928         when publishing slides.
929         (muse-latex-permit-contents-tag): Move higher in file.
930         (muse-latex-slide-tag): New function to publish the <slide> tag.
931         ("slides", "slides-pdf"): New publishing styles that create slides
932         using Beamer.
933         ("lecture-notes", "lecture-notes-pdf"): New publishing styles that
934         create lecture notes using Beamer.
936         * lisp/muse.el: Re-add the auto-mode-alist part to top-level,
937         since otherwise Planner is not happy when `plan' is called during
938         init.  Remove stray quote from autoload snippet.
940 2007-06-11  Michael Olson  <mwolson@gnu.org>
942         * lisp/muse.el: Make the add-to-list 'auto-mode-alist part an
943         autoload, rather than having it exist at top-level.  Thanks to Leo
944         for the suggestion.
945         (muse-update-file-extension): Docfix.
947 2007-06-10  Michael Olson  <mwolson@gnu.org>
949         * lisp/muse-publish.el (muse-publish-strip-URL): Fix bug where
950         URLs were being removed during publishing.  Thanks to everyone who
951         reported this.
953 2007-06-09  Markus Hoenicka <markus.hoenicka@mhoenicka.de>
955         * lisp/muse-book.el
956         * lisp/muse-docbook.el
957         * lisp/muse-latex.el
958         * lisp/muse-publish.el: added support for <cite> element which
959         denotes in-text citations
961         * lisp/muse-html.el
962         * lisp/muse-groff.el
963         * lisp/muse-texinfo.el
964         * lisp/muse-xml.el: added support for <cite> element (stub)
966 2007-06-06  Michael Olson  <mwolson@gnu.org>
968         * lisp/muse-regexps.el (muse-table-line-regexp)
969         (muse-table-hline-regexp, muse-table-el-border-regexp): Fix
970         regexps so that they work with XEmacs 21.  Thanks to Adrian
971         Tritschler for the report.
973         * texi/muse.texi: Update copyright years.
974         (HTML): Document muse-xhtml-style-sheet.  Thanks
975         to thorne for noticing.
976         (Development): Change archive year to 2006.  Thanks to Adrian
977         Tritschler for noticing.  So *that's* why some people had the 2005
978         version ....
980 2007-06-05  Michael Olson  <mwolson@gnu.org>
982         * Makefile (install-info): Remove $(MANUAL).info part, since this
983         is taken care of already by texi/Makefile.  Thanks to Leo for the
984         report.
986         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Add
987         read-only properties to qotd contents, so that they don't get
988         double-escaped.  Thanks to Leo for the report.
990 2007-06-04  Michael Olson  <mwolson@gnu.org>
992         * lisp/muse-colors.el (muse-link-face): If the link is to a remote
993         -- that is, Tramp or ange-ftp -- file, then do not call
994         file-exists-p on it.  Thanks to Jim Ottaway for the suggestion.
995         Fixes bug #5115.
997         * lisp/muse-html.el (muse-html-insert-contents): Add
998         documentation.  Handle case where heading is read-only, but has
999         muse-contents property.  Remove the muse-contents property for any
1000         heading we come across so as to avoid double-including an item in
1001         an outer table of contents.
1002         (muse-html-denote-headings): New function that denotes whether a
1003         heading is not read-only by adding the muse-contents property to
1004         it.
1005         (muse-html-munge-buffer): If we are not to generate contents,
1006         still denote headings, in case some outer layer wants to generate
1007         contents for our headings.  This should fix a bug with table of
1008         contents and the <include> tag.  Thanks to thorne for the report.
1010         * lisp/muse-publish.el (muse-publish-markup-region): Let-bind
1011         muse-publish-generate-contents and set it to nil.  This should
1012         do the right thing when using <include> tags.
1014 2007-06-02  Michael Olson  <mwolson@gnu.org>
1016         * NEWS: Update for non-inlined image change and support for
1017         table.el style tables.
1019         * examples/Makefile (clean): Clean backup files.
1021         * examples/QuickStart.muse (Images): New section that describes
1022         how to inline and not inline images.
1024         * lisp/muse-colors.el (muse-colors-resolve-image-file): Don't
1025         touch images that have "URL:" in front of them.
1027         * lisp/muse-protocols.el (muse-url-protocols): Add handler for
1028         "URL:".  Use the identity function to resolve, since we don't want
1029         to rip "URL:" out while publishing, due to some magic that depends
1030         on that text.
1031         (muse-browse-url-url): New function that browses URLs that have
1032         "URL:" in front of them, by removing the "URL:" part and
1033         reprocessing the remainder.
1035         * lisp/muse-publish.el (muse-publish-classify-url): Docfix.
1036         (muse-publish-url): Recognize images in the description before
1037         images in the link.  Fixes bug #5112.  Thanks to Thomas Kappler
1038         for the suggested workaround.
1039         (muse-publish-desc-transforms): Add `muse-publish-strip-URL' as a
1040         default value.
1041         (muse-publish-classify-url): If target begins with "URL:" return
1042         type url.
1043         (muse-publish-strip-URL): New function that strips "URL:" from the
1044         beginning of a string.  This is used to remove URL: from the link
1045         description.  * texi/muse.texi (Markup Strings): Clarify the
1046         meanings of image-link, link, and link-and-anchor.
1047         (muse-publish-markup-regexps): Move normal table rule to 2350.
1048         Rule 2300 is now a regexp that matches table.el-style tables.
1049         (muse-publish-markup-functions): Add table-el entry.
1050         (muse-publish-table-el-table): New function that given a variant,
1051         publishes a table.el-style table using the table in the matched
1052         region.
1053         (muse-publish-markup-table-el): New function that determines
1054         whether the table.el-style table can be published, and what
1055         variant to use.
1057         * lisp/muse-regexps.el (muse-tag-regexp): New regexp that matches
1058         the borders of table.el-style tables.
1060         * lisp/muse-xml-common.el (muse-xml-markup-table): Make sure that
1061         the table has sufficient whitespace in front of it.
1063         * texi/muse.texi (Images): Update for new non-inlined image
1064         ability and provide example.
1066 2007-05-31  Michael Olson  <mwolson@gnu.org>
1068         * NEWS: Add example for setting `muse-html-table-attributes'.
1070         * lisp/muse-xml-common.el (muse-xml-markup-table): Add docstring.
1071         Publish multiple tbody tags if there is a horizontal separator
1072         after the heading, because that is valid HTML after all.
1074 2007-05-30  Michael Olson  <mwolson@gnu.org>
1076         * NEWS: Update.
1078         * lisp/muse-latex.el (muse-latex-markup-table): Deal with
1079         horizontal separators in tables.
1081         * lisp/muse-publish.el (muse-publish-markup-regexps): Recognize
1082         horizontal separators in tables.
1083         (muse-publish-trim-table): New function to remove initial and
1084         final blank columns from a table.
1085         (muse-publish-table-fields): Call `muse-publish-trim-table'.  Deal
1086         with horizontal separators, aka "hlines".
1088         * lisp/muse-regexps.el (muse-table-hline-regexp): New regexp that
1089         defines the syntax of a horizontal separator in a table.
1091         * lisp/muse-texinfo.el (muse-texinfo-markup-table): Deal with
1092         horizontal separators.  Publish header lines correctly.
1094         * lisp/muse-xml-common.el (muse-xml-sort-table): Deal with case
1095         where we have nonnumbers as a row type.  This ignores sorting for
1096         hlines.
1097         (muse-xml-markup-table): Deal with horizontal separators.  If the
1098         markup supports table groups, make hlines separate table groups.
1099         Otherwise, ignore them, since they cannot be marked up.  Together,
1100         these changes allow us to support orgtbl-mode tables.  Thanks to
1101         Carsten Dominik for the suggestion.
1103 2007-05-26  Michael Olson  <mwolson@gnu.org>
1105         * lisp/muse-project.el (muse-project-alist-styles): Allow for
1106         other things to be added to each generated style as well.  For
1107         example, this permits me to add
1108         :base-url "http://blog.mwolson.org/"
1109         for my blog.
1111 2007-05-25  Michael Olson  <mwolson@gnu.org>
1113         * Makefile (debclean, debprepare, debbuild, debinstall, deb): New
1114         way of building Debian packages that preserves the original
1115         release tarball and is more modular.
1116         (debrevision, debrelease): Remove.
1117         (dist): No need to remove the debian/ directory, since it is now
1118         in its own branch.
1119         (debprepare): Copy over debian/ directory properly.
1121         * NEWS: Update.
1123         * examples/Makefile (clean): Remove QuickStart.texi, in case
1124         something went wrong during the build.
1125         (%.pdf): Publish the example using the normal pdf style, rather
1126         than info-pdf.
1128         * examples/QuickStart.muse: Add myself to the authors list.
1130         * lisp/muse-html.el (muse-html-src-tag): Ensure that we have
1131         sufficient blank lines before the tag.
1133         * lisp/muse-journal.el (muse-journal-latex-qotd-tag): Ensure that
1134         we have sufficient blank lines before the tag.
1136         * lisp/muse-latex.el (muse-latex-pdf-program): New option that
1137         specifies the program to call in order to generate PDF content
1138         from LaTeX content.
1139         (muse-latex-pdf-cruft): New option that specifies the extensions
1140         of files to remove after generating PDF output successfully.
1141         (muse-latex-pdf-generate): Use these new options.  Work around the
1142         annoying edge case where a tilde character exists in the filename
1143         or directory path -- now this can only error out when the relative
1144         path from the output file to the source file contains a tilde,
1145         which is far less likely.
1147         * lisp/muse-publish.el (muse-publish-markup-attribute): Don't use
1148         muse-publish-ensure-block here after all, because <lisp> et al may
1149         occur inline as part of other things.
1151         * lisp/muse-texinfo.el ("texi"): Make muse-texinfo-munge-buffer
1152         occur after full-document escaping, rather than before.  This
1153         prevents automatically-inserted Texinfo code from being escaped.
1154         (muse-texinfo-pdf-generate): Rewrite to call
1155         `muse-latex-pdf-generate' with pdftex as the generating binary,
1156         because texi2pdf suffers irredeemably from the tilde edge case
1157         mentioned above.
1159 2007-05-24  Michael Olson  <mwolson@gnu.org>
1161         * NEWS: Drop vague entries and position interesting entries closer
1162         to the top of each section.  Update for new changes.
1164         * lisp/muse-project.el (muse-project-ignore-regexp): Add Mercurial
1165         and bzr metadata directories to the list of things to ignore.
1167         * lisp/muse-publish.el (muse-publish-ensure-block): Rename from
1168         `muse-publish-ensure-block-tag', since we will use it for more
1169         than just tags.
1170         (muse-publish-markup-list, muse-publish-verse-tag)
1171         (muse-publish-quote-tag, muse-publish-example-tag)
1172         (muse-publish-markup-attribute): Use it.  This fixes a bug that
1173         can occur when these types of markup occur immediately after a
1174         paragraph.  It's good to have defined behavior!
1176         * texi/muse.texi (Markup Strings): Mention new argument for
1177         link-and-anchor.
1179 2007-05-19  Michael Olson  <mwolson@gnu.org>
1181         * lisp/muse-html.el (muse-html-markup-footnote): Add class tags to
1182         published footnotes and footnote references.  Thanks to Scott
1183         Jaderholm for the idea.
1185         * lisp/muse-latex.el (muse-latex-markup-strings): Revert change to
1186         link-and-anchor, on the recommendation of the original submitter.
1188 2007-05-14  Michael Olson  <mwolson@gnu.org>
1190         * lisp/muse-latex.el (muse-latex-markup-strings): Use better
1191         link-and-anchor markup.  Thanks to Jean Magnan de Bornier for the
1192         suggestion.
1194         * lisp/muse-publish.el (muse-publish-url): Pass the url without a
1195         file extension as the fourth argument.
1197         * README, texi/muse.texi (Getting Help and Reporting Bugs):
1198         Mention the new muse-el-logs mailing list.
1200 2007-05-13  Michael Olson  <mwolson@gnu.org>
1202         * lisp/muse-protocols.el (muse-resolve-url): Don't concatenate
1203         "\`" here.  This fixes a problem with publishing custom URLs.
1205 2007-05-12  Michael Olson  <mwolson@gnu.org>
1207         * lisp/muse-blosxom.el (muse-blosxom-update-page-date-alist): Only
1208         update the list if the current buffer is associated with a file.
1209         This fixes a bug with M-x muse-publish-region in a temporary
1210         buffer.
1212 2007-05-01  Michael Olson  <mwolson@gnu.org>
1214         * lisp/muse-publish.el (muse-publish-region): Remove read-only
1215         properties from the published buffer, so that the results can be
1216         manually tweaked.
1218 2007-04-23  Michael Olson  <mwolson@gnu.org>
1220         * lisp/muse-publish.el (muse-publish-markup-footnote): If we can't
1221         find the footnote that goes with a reference, leave the reference
1222         as-is.  This fixes an error where control characters could be
1223         placed in a published document.
1225 2007-04-22  Michael Olson  <mwolson@gnu.org>
1227         * IDEAS.muse: Add muse-slides.el to list of things to include
1228         before release.
1230         * lisp/muse-protocols.el (muse-url-protocols): Remove stray quote
1231         character.
1232         (muse-protocol-find): Find protocols correctly.  Rewrite to use
1233         catch/throw.
1234         (muse-browse-url): Don't concatenate "\`" here.  Together, this
1235         fixes a bug with browsing woman:// links.
1237         * lisp/muse-project.el (muse-project-alist-styles): Deal with case
1238         where entry-dir has a trailing backslash.
1239         (muse-project-publish-file): If a style is malformed, skip it and
1240         display a warning message.  This should help people figure out
1241         where the problem is.
1243 2007-04-21  Michael Olson  <mwolson@gnu.org>
1245         * lisp/muse-latex2png.el (muse-publish-math-tag): If using the
1246         yet-to-be-included "contex" publishing style, use "$$" rather
1247         than "\[" and "\]".  Thanks to Jean Magnan de Bornier for pointing
1248         this out.
1250 2007-04-20  Michael Olson  <mwolson@gnu.org>
1252         * lisp/muse-publish.el (muse-publish-inhibit-style-hooks): New
1253         variable that causes the :before and :before-end hooks to be
1254         ignored when non-nil.
1255         (muse-publish-markup-region): Use it.  Also, guarantee that point
1256         is at end of region after publishing.
1257         (muse-publish-mark-up-tag): Simplify, taking advantage of the new
1258         variable.
1260 2007-04-19  Michael Olson  <mwolson@gnu.org>
1262         * IDEAS.muse: New file containing a list of ideas we have for new
1263         features, or patches that have yet to be applied.
1265         * README: Call it "Emacs Muse", not "the Emacs Muse".  No need to
1266         be so confusing.
1268         * lisp/muse-html.el (muse-html-table-attributes): Fix typo in
1269         docstring.
1271         * lisp/muse-publish.el (muse-publish-markup-tags): Handle
1272         <literal> tags with muse-publish-literal-tag, rather than
1273         muse-publish-mark-read-only.
1274         (muse-publish-literal-tag): New function that publishes the
1275         <literal> tag.  It adds the ability to add the optional "style"
1276         and "exact" elements, which cause text to only be included if the
1277         current publishing style matches some criteria.  The text will be
1278         removed otherwise.  Thanks to Jim Ottaway for the implementation.
1279         (muse-publish-mark-up-tag): Let the <markup> tag take the
1280         additional optional elements "style" and "exact", with much the
1281         same effect as the <literal> improvements, but after calling
1282         "function" or publishing the region first.  Make it possible to
1283         put <content> tags in <markup> regions in HTML publishing.
1285 2007-04-12  Michael Olson  <mwolson@gnu.org>
1287         * lisp/muse-publish.el (muse-publish-markup-heading): Make sure
1288         that a blank line always exists after a heading.  This fixes a bug
1289         in Docbook paragraph detection.  Thanks to Jean Magnan de Bornier
1290         for the report.
1292         * lisp/muse-xml.el (muse-xml-markup-regexps): Update paragraph
1293         detection regexp to that which is used in Docbook and HTML
1294         publishing styles.
1296 2007-04-02  Michael Olson  <mwolson@gnu.org>
1298         * README (muse-el-announce): Make a listing of mailing lists,
1299         rather than pointing to the old EmacsWikiMailingList page.  Thanks
1300         to Andreas Roehler for noticing.
1302 2007-04-01  Michael Olson  <mwolson@gnu.org>
1304         * lisp/muse-publish.el (muse-publish-date-format): Add
1305 `       customization type and group.
1306         (muse-publish-region): New interactive function that publishes a
1307         region to a new buffer.
1309         * texi/muse.texi: Use "document" rather than "manual".
1311 2007-03-31  Michael Olson  <mwolson@gnu.org>
1313         * lisp/muse-publish.el (muse-style-derived-p): Fix bug where the
1314         expression (muse-style-derived-p "latex" (muse-style "latex"))
1315         yielded nil.  It now yields t, as expected.  Thanks to Jim Ottaway
1316         for the catch.
1318 2007-02-25  Michael Olson  <mwolson@gnu.org>
1320         * lisp/muse-publish.el (muse-publish-date-format): New option that
1321         specifies how to format the date when publishing Muse pages.
1322         Thanks to Thomas Gehrlein for the suggestion.
1323         (muse-publish-markup-buffer): Use it.
1325 2007-02-23  Michael Olson  <mwolson@gnu.org>
1327         * README: Add Prerequisites section to mention which versions of
1328         Emacs work with Muse.  Thanks to Exal de Jesus Garcia Carrillo for
1329         the suggestion.  Update link destination for Muse's page on
1330         emacswiki.org.
1332 2007-02-15  Michael Olson  <mwolson@gnu.org>
1334         * lisp/muse.el (muse-goto-tag-end): Modify regexp to allow tags to
1335         be not just at beginning of line.  This fixes an error with the
1336         <class> tag.  Thanks to Jim Pivarski for the report.
1338 2007-02-14  Michael Olson  <mwolson@gnu.org>
1340         * lisp/muse-publish.el (muse-publish-classify-url): Check to see
1341         whether something is an image before checking to see if it is a
1342         URL.  Thanks to ITSUMI ken-ichi for the report.
1344 2007-02-13  Michael Olson  <mwolson@gnu.org>
1346         * lisp/muse-publish.el (muse-publish-markup-regexps): Handle
1347         comments that have no text better.  Thanks to fang.lungang for the
1348         report.
1349         (muse-publish-markup-comment): Deal with case where no comment
1350         text is provided.
1352 2007-01-23  Michael Olson  <mwolson@gnu.org>
1354         * lisp/muse-publish.el (muse-publish-ensure-block-tag): New macro
1355         that ensures that at least one blank line exists at the given
1356         position.  This is used to avoid paragraph detection problems when
1357         block-level tags like <example> immediately follow a paragraph.
1358         Thanks to Hans Ekbrand for the report.
1359         (muse-publish-example-tag): Use it.
1361 2007-01-19  Michael Olson  <mwolson@gnu.org>
1363         * lisp/muse-latex2png.el (muse-publish-math-tag): Only remove the
1364         previous blank line if we are publishing in Latex.  Otherwise,
1365         that wouldn't be the right thing, so leave it be.
1367 2007-01-17  Michael Olson  <mwolson@gnu.org>
1369         * lisp/muse-latex2png.el (muse-publish-math-tag): Don't put
1370         multiple centered math lines on the same line; keep them on
1371         different lines.  Use \[ math-text \] instead of $$math-text$$,
1372         since the latter seems to be deprecated.  Thanks to Jody Klymak
1373         for the pointer.
1375 2007-01-15  Michael Olson  <mwolson@gnu.org>
1377         * lisp/muse-latex2png.el (muse-publish-latex-tag)
1378         (muse-publish-math-tag): Publish region read-only when current
1379         style is Latex-derived, so that Muse does not escape it.
1380         (muse-publish-math-tag): If 6 or more spaces come before the tag,
1381         surround the region with "$$" rather than "$".  This is the Muse
1382         syntax for something centered, so it should be a good fit.
1384 2007-01-15  Valery V. Vorotyntsev  <valery.vv@gmail.com>
1386         * lisp/muse-protocols.el (muse-url-protocols): Add "woman://"
1387         protocol.
1388         (muse-browse-url-man): Change man page URL format.  The code is
1389         simpler when the section is left inside parentheses.
1390         (muse-browse-url-woman): New function.
1392 2007-01-14  Michael Olson  <mwolson@gnu.org>
1394         * AUTHORS: Bookkeeping.
1396         * lisp/muse-latex2png.el: Associate <math> tag with
1397         muse-publish-math-tag, not muse-publish-latex-tag.  Thanks to Jody
1398         Klymak for the report.
1399         (muse-publish-math-tag): Use muse-insert-markup for the "$"
1400         characters, so they don't get escaped.
1402         * lisp/muse-publish.el (muse-style-derived-p-1): New function to
1403         make muse-style-derived-p easier to implement.
1404         (muse-style-derived-p): If the style is not provided, fetch it and
1405         check to see if the car is a string.  This should fix the other
1406         problem that was reported.
1408         * texi/muse.texi (Projects): Apply patch from Bradley M. Kuhn that
1409         explains a case where setting muse-file-extension to nil can cause
1410         unexpected behavior.
1412 2007-01-09  Michael Olson  <mwolson@gnu.org>
1414         * lisp/muse-publish.el (muse-publish-markup-regexps): Make
1415         comments higher priority than tags.  Thanks to Stefan van der Walt
1416         for the report.
1418 2007-01-08  Michael Olson  <mwolson@gnu.org>
1420         * lisp/muse-publish.el (muse-markup-tag-info): Use the given
1421         argument rather than calling match-string.  Thanks to Stefan van
1422         der Walt for the report.  This should fix a bug with publishing
1423         <include file="..." markup="example">.
1425 2007-01-06  Michael Olson  <mwolson@gnu.org>
1427         * Makefile (debclean): New rule split from debrevision and
1428         debrelease.
1429         (debbuild): Take distributor into account.
1431         * Makefile.defs (DISTRIBUTOR): New field that tracks what
1432         vendor/distributor we are building for.
1434 2007-01-04  Michael Olson  <mwolson@gnu.org>
1436         * lisp/muse-html.el (muse-html-src-tag): Remove initial blank
1437         line.
1439         * lisp/muse-publish.el (muse-publish-markup-tags): Make "src"
1440         point to muse-publish-src-tag by default, since <src> and
1441         <example> have different parameters.
1442         (muse-publish-src-tag): New barebones publishing function for
1443         <src>, which is superseded when publishing in an HTML-based style.
1445 2007-01-03  Michael Olson  <mwolson@gnu.org>
1447         * lisp/muse-html.el (muse-html-src-tag): Document.
1449         * lisp/muse-publish.el (muse-publish-call-tag-on-buffer): New
1450         command that calls a given tag on the current buffer.  Attributes
1451         may be passed.
1452         (muse-publish-examplify-buffer, muse-publish-versify-buffer): Use
1453         it.
1454         (muse-publish-srcify-buffer): New function that allows
1455         markup="src" in the <include> tag.
1456         (muse-publish-get-and-delete-attr): New macro that gets an
1457         attribute from a list and removes the first instance of that
1458         attribute from said list.
1459         (muse-publish-markup-attribute): Handle markup="src".
1460         (muse-publish-command-tag, muse-publish-include-tag): Use
1461         muse-publish-get-and-delete-attr.  This allows the remaining
1462         attributes to be passed.
1464         * texi/muse.texi (Tag Summary): Update for new <src> tag as well
1465         as changes to <command> and <include>.
1467 2006-12-30  Michael Olson  <mwolson@gnu.org>
1469         * NEWS: Update.
1471         * experimental/muse-mathml.el (muse-publish-mathml-tag): Rename
1472         from muse-publish-math-tag to avoid conflict with
1473         muse-latex2png.el.
1475 2006-12-23  Michael Olson  <mwolson@gnu.org>
1477         * lisp/muse-latex2png.el: Update header, since this has been
1478         rewritten sufficiently to not need an assignment from the original
1479         author.
1480         (muse-latex2png-use-xhtml): Remove, since we now autodetect this.
1481         (muse-latex2png): Use two underscores to separate prefix and hash.
1482         (muse-latex2png-region): New function split from
1483         muse-publish-latex-tag that can be used easily by other code.
1484         Detect whether we are using an HTML-based publishing style, and
1485         insert a simpler markup if we are not.  If we are using a
1486         Latex-based publishing style, do not generate an image, and leave
1487         the region alone.  Return the path of the generated image, in case
1488         other functions want to use this programmatically.
1489         (muse-publish-latex-tag): Set a default prefix based on the name
1490         of the current file.
1491         (muse-publish-math-tag): New tag that surrounds the region with
1492         "$" characters, so that it becomes a Latex math region, and then
1493         publishes it.
1495         * lisp/muse-publish.el (muse-style-derived-p): New function that
1496         returns non-nil if a given style, or the current style if omitted,
1497         is equal to or derived from the given base style.  This is useful
1498         in <lisp> tags, because it allows the user to specify markup that
1499         is only to be inserted for one particular style.
1501 2006-12-22  Michael Olson  <mwolson@gnu.org>
1503         * lisp/muse-html.el (muse-html-markup-tags): Add <src> tag.
1504         (muse-html-src-tag): New function which publishes the <src> tag.
1505         Thanks to Clinton Ebadi and Charles Wang for the initial
1506         implementations.
1508         * lisp/muse-publish.el (muse-publish-markup-tags): Add <src> tag.
1510 2006-12-21  Michael Olson  <mwolson@gnu.org>
1512         * examples/johnw/muse-johnw.el: Update for preferred
1513         muse-derive-style usage.  Rename to muse-init.el.
1515         * examples/mwolson/muse-init.el: Update.
1517         * lisp/muse-book.el (muse-book-publish): New function split from
1518         muse-book-publish-project.  This is used in the definitions for
1519         the book-latex and book-pdf styles.
1520         (muse-book-publish-p): New function split from muse-book-publish.
1521         (muse-book-get-directives): New function that retrieves the
1522         publishing directives from the given file.
1523         (muse-book-publish): Use muse-book-get-directives to set the title
1524         if no title was specified.
1526         * lisp/muse-project.el (muse-project): Add :publish-project entry
1527         to widget.
1528         (muse-read-project, muse-project-find-file): Message fix.
1529         (muse-project-publish-file-default): New function split from
1530         muse-project-publish-file.
1531         (muse-project-publish-file): Allow file-level publishing function
1532         to be specified by the :publish element.  The default is
1533         muse-project-publish-file-default.
1534         (muse-project-publish-default): New function split from
1535         muse-project-publish.
1536         (muse-project-publish): Allow project-level publishing function to
1537         be specified by :publish-project element.  The default is
1538         muse-project-publish-default.
1540         * lisp/muse-publish.el (muse-publish-file): Message fix.
1542         * texi/muse.texi (Book): Mention new way to publish books and
1543         provide an example, since the process may be non-obvious.
1545 2006-12-20  Michael Olson  <mwolson@gnu.org>
1547         * lisp/muse-docbook.el (muse-docbook-munge-buffer): Split out
1548         content-modifying code from the rest of
1549         muse-docbook-finalize-buffer.
1551         * lisp/muse-groff.el (muse-groff-munge-buffer): Rename from
1552         muse-groff-finalize-buffer, since it adds content to the buffer.
1554         * lisp/muse-html.el (muse-html-munge-buffer): Split out
1555         content-modifying code from the rest of muse-html-finalize-buffer.
1556         This fixes a bug when using <include> with <content> tags.
1558         * lisp/muse-journal.el (muse-journal-html-munge-buffer)
1559         (muse-journal-latex-munge-buffer)
1560         (muse-journal-rss-munge-buffer): Rename, since they add content to
1561         the buffer.
1563         * lisp/muse-latex.el (muse-latex-munge-buffer): Rename from
1564         muse-latex-finalize-buffer, since it adds content to the buffer.
1566         * lisp/muse-mode.el:
1567         * lisp/muse-project.el:
1568         * lisp/muse-publish.el:
1569         * lisp/muse.el: Fix recursive load error.
1571         * lisp/muse-texinfo.el (muse-texinfo-munge-buffer): Rename from
1572         muse-texinfo-finalize-buffer, since it adds content to the buffer.
1574         * lisp/muse-wiki.el: Comment cleanup.
1576         * lisp/muse-xml.el (muse-xml-charset-default): Docfix.
1578 2006-12-17  Michael Olson  <mwolson@gnu.org>
1580         * lisp/muse-latex.el (muse-latex-header, muse-latexcjk-header):
1581         Remove the definition of \comment, since Latex already has comment
1582         syntax.
1583         (muse-latex-markup-strings): Use the Latex comment syntax, rather
1584         than our own.  Thanks to Ryan Stutsman for pointing this out.
1586 2006-12-02  Michael Olson  <mwolson@gnu.org>
1588         * lisp/muse-html.el (muse-html-insert-contents): Tweak regexp so
1589         that this can generate a proper table of contents for Planner HTML
1590         publishing.
1592 2006-12-01  Michael Olson  <mwolson@gnu.org>
1594         * lisp/muse.el (muse-replace-regexp-in-string): In case someone is
1595         using a very old Emacs, avoid an infinite loop that could occur
1596         when the regexp is an empty string.
1598 2006-11-26  Michael Olson  <mwolson@gnu.org>
1600         * NEWS: Bring up to date.
1602         * lisp/muse-docbook.el (muse-docbook-markup-paragraph): Fix nested
1603         list issues and multiple-stanza verse issues.  This takes care of
1604         all of the markup issues I was worried about.
1606         * lisp/muse-project.el (muse-project-ignore-regexp): Minor docfix.
1607         (muse-project-publish-private-files): New option that indicates
1608         whether files with private filesystem permissions should be
1609         published.  The default is to publish them, since it avoids
1610         confusion in new users.
1611         (muse-project-private-p): Use it.
1613 2006-11-19  Michael Olson  <mwolson@gnu.org>
1615         * lisp/muse-project.el (muse-project-resolve-link): If no remote
1616         style is found, which means that the link is not a Muse page, do
1617         not add a suffix or prefix to it.  This should fix the
1618         "[[thing.owl]]" bug that Phillip Lord reported.
1620         * lisp/muse-publish.el (muse-publish-link-file): Simplify by
1621         removing unused 2nd argument.
1623 2006-11-17  Michael Olson  <mwolson@gnu.org>
1625         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug in
1626         latex publishing where nested enumerated lists would be squashed
1627         together at the end.
1629 2006-11-16  Michael Olson  <mwolson@gnu.org>
1631         * lisp/muse-latex.el (muse-latex-markup-strings): Make an ordered
1632         list embedded in a definition list look right.  This also allows
1633         for definitions to be separated from their terms, much like the
1634         way HTML does it by default, if the user puts a blank line or a
1635         line break between the term and the definition.  If the term and
1636         definition are on the same line, they will be that way in the
1637         output as well.
1639 2006-11-11  Michael Olson  <mwolson@gnu.org>
1641         * muse.texi (Markup Strings): Fix typo.  Thanks to Haiyong Zheng
1642         for the report.
1643         (Getting Help and Reporting Bugs): Fix emacswiki.org page URL.
1645 2006-11-07  Michael Olson  <mwolson@gnu.org>
1647         * lisp/muse.el (muse-version): Make Emacs Muse 3.02.93, the third
1648         release candidate for Muse 3.03, available.
1650         * NEWS: Update.
1652 2006-11-06  Michael Olson  <mwolson@gnu.org>
1654         * lisp/muse-project.el (muse-project-find-file): Fix bug when
1655         following a relative link worked even when the path was incorrect.
1657 2006-11-04  John Sullivan  <john@wjsullivan.net>
1659         * lisp/muse-mode.el (muse-mode-map): Remove C-c C-c binding for
1660         muse-follow-name-at-point to reduce collisions with other
1661         modes (Planner).
1663         * muse.texi (Keystroke Summary): Remove C-c C-c binding.
1665 2006-11-04  Michael Olson  <mwolson@gnu.org>
1667         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Make page
1668         optional, and make interwiki delimiter a regular rather than shy
1669         group.
1670         (muse-wiki-handle-implicit-interwiki): Rename from
1671         muse-wiki-handle-interwiki.  Use match group 3 to get the page.
1672         (muse-wiki-handle-explicit-interwiki): New function that is
1673         smarter about where an explicit link ends in a buffer.  This
1674         allows you to refer to page names with invalid Wiki characters,
1675         such as underscores and dashes, merely by enclosing them in double
1676         brackets.  Also, a bug with recognizing project names too loosely
1677         has been fixed.
1679 2006-11-03  Michael Olson  <mwolson@gnu.org>
1681         * lisp/muse-project.el (muse-project-page-file): Make relative
1682         links work as expected, hopefully.
1684         * lisp/muse-publish.el (muse-publish-this-file): Set the current
1685         output style manually, since it will differ from anything in the
1686         publishing style list.
1688 2006-10-30  Michael Olson  <mwolson@gnu.org>
1690         * lisp/muse-colors.el (muse-colors-markup): Remove note about
1691         grouping elements, since that no longer applies.
1692         (muse-colors-custom-tags): Explicitly match against
1693         muse-tag-regexp to get the match-data set the way we want.  This
1694         really fixes the <example> highlighting bug that Stefan reported.
1695         (muse-configure-highlighting): Set the original value to the
1696         symbol, not the modified value.  Re-use modified rules properly.
1698         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Fix bug
1699         introduced yesterday.
1701 2006-10-29  Michael Olson  <mwolson@gnu.org>
1703         * examples/mwolson: Update my example configuration.
1705         * NEWS: Update.
1707         * lisp/muse-colors.el (muse-configure-highlighting): Remove rules
1708         without a regexp in the first position before iterating through
1709         them to build muse-colors-vector.  This fixes a bug with the
1710         display of <example> tags.  Thanks to Stefan Reichör for the
1711         report.
1713         * lisp/muse-project.el (muse-project-find-file): Permit non-Muse
1714         files in projects to be linked to.
1716         * lisp/muse-publish.el (muse-publish-url): Allow the original link
1717         to serve as a description for a URL, as long as it differs from
1718         the destination URL.  This fixes the description of WikPage links
1719         in PDF output.
1720         (muse-publish-link-file): Check to see whether the given link
1721         points at a valid file.  If so, return it.  Otherwise, apply other
1722         transforms like prefix and link suffix.
1724         * lisp/muse-regexps.el (muse-file-regexp): If something ends in
1725         "/", it is a file or directory, not a Muse page.  Thanks to
1726         Phillip Lord for the suggestion.
1728         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Use the path
1729         of the current page as the local path, instead of duplicating the
1730         remote file's path.  This probably fixes at least one reported
1731         bug. since it's quite major.
1732         (muse-wiki-update-project-file-regexp)
1733         (muse-wiki-update-interwiki-regexp): Ensure that nil is never
1734         passed to regexp-opt, since that can cause Emacs 21 to throw an
1735         "maximum binding depth exceeded" error.  Thanks to xs32 AT cornell
1736         DOT edu for the report.
1737         (muse-wiki-handle-wikiword): Avoid a potential stringp error.
1739 2006-10-28  Michael Olson  <mwolson@gnu.org>
1741         * lisp/muse-project.el (muse-project-choose-style-by-link-suffix)
1742         (muse-project-resolve-link): If the given style does not have a
1743         link-suffix, default to suffix.  This fixes a bug I was noticing
1744         when linking to a file that was published in both PDF and HTML
1745         form.
1747         * lisp/muse-publish.el (muse-publish-determine-dl-indent): New
1748         function that is used as a callback to determine the initial
1749         amount of indentation that the current dl item has.
1750         (muse-publish-surround-dl): Use it.  Pass the initial indent value
1751         and the post-indent value, instead of trying to determine them
1752         both.
1753         (muse-publish-strip-list-indentation): New function stripped from
1754         `muse-publish-surround-text' for readability.
1755         (muse-publish-surround-text): Instead of taking a determine-indent
1756         value, take a determine-indent-func function, which is called just
1757         after finding the next list item.  If we are asked to determine
1758         the amount of indentation, concatenate indent and post-indent the
1759         first time around.  This effectively fixes all known definition
1760         list issues.
1762 2006-10-16  Michael Olson  <mwolson@gnu.org>
1764         * lisp/muse.el: Provide the 'muse-nested-tags feature so that
1765         other software -- namely, Planner -- can detect whether they are
1766         using a version of Muse that supports nested tags.
1767         (muse-goto-tag-end): Moved from muse-publish.el and renamed from
1768         muse-publish-goto-tag-end.
1770         * lisp/muse-colors.el (muse-colors-tags, muse-colors-custom-tags):
1771         Adapt for nested tags.
1773         * lisp/muse-html.el (muse-html-markup-tags): Indicate that the
1774         <class> tag is nestable.  Thanks to Phillip Lord for noticing
1775         this.
1777         * lisp/muse-publish.el (muse-publish-markup-tag)
1778         (muse-publish-quote-tag): Use muse-goto-tag-end.
1780         * lisp/muse-wiki.el ("muse-colors"): Adapt for nested tags.
1782 2006-10-15  Michael Olson  <mwolson@gnu.org>
1784         * AUTHORS: Bookkeeping.
1786         * lisp/muse-blosxom.el (muse-blosxom-header): Indent code in lisp
1787         tag.
1789         * lisp/muse-groff.el (muse-groff-markup-tags): Adapt for nested
1790         tags.
1792         * lisp/muse-html.el (muse-html-markup-tags): Ditto.
1794         * lisp/muse-import-docbook.el (muse-import-docbook)
1795         (muse-import-docbook-files): Docfix.
1796         (muse-import-docbook-get-title): Remove cl.el-ism.
1798         * lisp/muse-import-xml.el (muse-import-xml): Fix compiler warning.
1800         * lisp/muse-journal.el (muse-journal-latex-markup-tags): Ditto.
1802         * lisp/muse-latex2png.el (muse-publish-markup-tags): Ditto.
1804         * lisp/muse-mode.el (muse-previous-reference): Minor docfix.
1805         (muse-next-reference, muse-previous-reference): Minor whitespace
1806         changes.
1807         (muse-mode-choose-mode): Add autoload cookie.  Thanks to Leo for
1808         the suggestion.
1810         * lisp/muse-poem.el (muse-poem-tag): Ditto.
1812         * lisp/muse-publish.el (muse-publish-markup-tags)
1813         (muse-publish-markup-header-footer-tags): Shift 4th element to 5th
1814         element and make 4th element determine whether tags are nestable.
1815         (muse-publish-goto-tag-end): New function that moves to the end of
1816         a tag.  Handle nested tags when NESTED is non-nil.
1817         (muse-publish-markup-tag): Call muse-publish-goto-tag-end.  Use
1818         5th element for function.
1819         (muse-publish-quote-tag): Handle nested quote tags.  I've tested
1820         this on several scenarios, and it seems to work.
1821         (muse-publish-surround-text): Accept new optional argument
1822         LIST-ITEM which determines the regexp to use for list items.  The
1823         default is to use muse-list-item-regexp.
1825         * muse.texi (Markup Tags): Mention nestable tags.
1827         * NEWS: Mention new files.
1829 2006-10-15  Elena Pomohaci  <e.pomohaci@gmail.com>
1831         * lisp/muse-import-docbook.el: New file that converts Docbook XML
1832         into Muse format.
1834         * lisp/muse-import-xml.el: New file that provides helper routines
1835         for converting XML-ish files to Muse format.
1837 2006-10-10  Michael Olson  <mwolson@gnu.org>
1839         * NEWS: Update for 3.02.7 bugfix release.
1841 2006-10-06  Sasha Kovar  <sasha@arcocene.org>
1843         * lisp/muse-blosxom.el (muse-blosxom-header): Insert the date
1844         using the value in the muse #date directive.
1845         (muse-blosxom-use-metadate): New option that determines whether or
1846         not to use the #postdate directive.
1847         (muse-blosxom-format-date): Convert a date string to PyBlosxom
1848         metadate plugin format.
1850 2006-09-30  Stefan Schlee  <stefan_schlee@yahoo.com>
1852         * lisp/muse-protocols.el: Fix bug #6741: Exclude colon in
1853         recognised URLs.
1855         * muse.texi: Clarify handling of implicit links by mentioning
1856         which characters can prevent Muse from recognizing something as an
1857         implicit link.
1859 2006-09-26  Stefan Schlee  <stefan_schlee@yahoo.com>
1861         * lisp/muse-mode.el (muse-next-reference)
1862         (muse-previous-reference): Fix bug #6367 by moving point to the
1863         beginning of the link.
1865 2006-09-26  Michael Olson  <mwolson@gnu.org>
1867         * lisp/muse-colors.el (muse-use-font-lock): Don't quote
1868         beginning-of-line.  This should fix a bug that was noticed in
1869         recent Emacs 22 builds.
1871         * lisp/muse-backlink.el: Wrap muse-backlink-split-string in an
1872         eval-and-compile block to avoid a compiler warning.
1874 2006-09-25  Jim Ottaway  <j.ottaway@lse.ac.uk>
1876         * lisp/muse-backlink.el (muse-backlink-split-string):
1877         Compatibility with Emacs versions < 22
1878         (muse-backlink-pending): New internal variable
1879         (muse-backlink-get-mode-hook): Find the major mode hook to use, so
1880         that backlinks are inserted at the right time.
1881         (muse-backlink-insert-hook-func): Remove unwind-protection; check
1882         for pending backlink, and that this is the targe page.
1883         (muse-backlink-handle-link): Don’t handle the link if we are
1884         already handling one. Return the link as well as the parent links.
1886 2006-09-25  Sasha Kovar  <sasha@arcocene.org>
1888         * lisp/muse-blosxom.el (muse-blosxom-new-entry): : Fix for bug
1889         #6942 - muse-blosxom-new-entry fails when using tags.
1891 2006-09-14  Michael Olson  <mwolson@gnu.org>
1893         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): Silence
1894         compiler warning.
1896 2006-09-14  Jim Ottaway  <j.ottaway@lse.ac.uk>
1898         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): New
1899         function: Protect all wikiwords from START to END from further
1900         processing.
1901         (muse-texinfo-markup-heading): Use muse-texinfo-protect-wikiwords.
1903 2006-09-13  Michael Olson  <mwolson@gnu.org>
1905         * lisp/muse-texinfo.el (muse-texinfo-markup-heading): New function
1906         adopted from Jim Ottaway's patch.  It removes links from the
1907         heading, and then marks the region read-only to inhibit WikiWord
1908         detection.
1910 2006-09-13  Jim Ottaway  <j.ottaway@lse.ac.uk>
1912         * lisp/muse-texinfo.el (muse-texinfo-markup-functions): Add
1913         special handling for headings.
1914         (muse-texinfo-remove-links): New function that removes explicit
1915         links from the given strings, replacing them with a description.
1917 2006-09-11  Michael Olson  <mwolson@gnu.org>
1919         * muse.texi (Getting Help and Reporting Bugs): Mention the
1920         muse-el-internationalization mailing list.
1922         * lisp/muse.el (muse-path-sans-extension): New function that acts
1923         like file-name-sans-extension, but guarantees to never modify the
1924         directory part of the path.  Thanks to Evan Monroig for
1925         investigating this.
1927         * lisp/muse-book.el (muse-book-publish-project): Use
1928         muse-path-sans-extension instead of file-name-sans-extension.
1930         * lisp/muse-publish.el (muse-publish-file, muse-publish-url):
1931         Ditto.
1933 2006-08-30  Michael Olson  <mwolson@gnu.org>
1935         * muse.texi (Blosxom Requirements): Fix typo.
1937         * contrib/pyblosxom/getstamps.py (recurse): Ignore metadata
1938         directories for bzr and darcs.
1940         * contrib/pyblosxom/make-blog, contrib/pyblosxom/hardcodedates.py:
1941         contrib/pyblosxom/getstamps.py: Update version and headers.
1943 2006-08-27  Michael Olson  <mwolson@gnu.org>
1945         * lisp/muse-colors.el (muse-configure-highlighting): Prune out any
1946         nil values before they get to mapconcat.  This fixes a lockup when
1947         muse-wiki-match-all-project-files is nil.
1949         * lisp/muse-wiki.el (muse-wiki-match-all-project-files)
1950         (muse-wiki-ignore-implicit-links-to-current-page)
1951         (muse-wiki-interwiki-regexp, muse-wiki-interwiki-alist)
1952         (muse-wiki-resolve-project-page, muse-wiki-handle-interwiki)
1953         (muse-wiki-publish-small-title-words)
1954         (muse-wiki-publish-pretty-title): Docfix.
1955         (muse-wiki-update-local-wikiword-regexp): Rename from
1956         muse-wiki-update-local-wikiword-regexp.  Set
1957         muse-wiki-project-file-regexp instead of
1958         muse-wiki-wikiword-regexp, as suggested by Per Sederberg.  Don't
1959         take muse-wiki-use-wikiword into account, since this is a
1960         different concept now.
1961         (muse-wiki-update-wikiword-regexp): Remove.
1962         (muse-wiki-wikiword-regexp): In-line the :set function.
1963         (muse-wiki-handle-wikiword): Use muse-wiki-project-file-regexp.
1965 2006-08-26  Michael Olson  <mwolson@gnu.org>
1967         * lisp/muse-publish.el (muse-publish-surround-text): When looking
1968         for indented list items, ignore blank lines.
1970         * lisp/muse-wiki.el (muse-wiki-update-local-wikiword-regexp)
1971         (muse-wiki-update-interwiki-regexp): Use regexp-opt instead of
1972         mapconcat.  This should hopefully fix a problem with large amounts
1973         of files with spaces in their name.  Thanks to Greg Detre for the
1974         report.
1976 2006-08-24  Michael Olson  <mwolson@gnu.org>
1978         * lisp/muse-blosxom.el (muse-blosxom-new-entry): Remove the
1979         numbers from the argument to format-time-string.  This fixes an
1980         XEmacs bug.  Thanks to Michael Welle for the report and analysis.
1982 2006-08-18  Michael Olson  <mwolson@gnu.org>
1984         * lisp/muse-project.el (muse-project-file-entries): Since we are
1985         given a full path, match against the filename as well.  This fixes
1986         an issue where backup files were being added to the file alist.
1988         * lisp/muse-docbook.el (muse-docbook-markup-regexps): Apply a fix
1989         from muse-html.el.
1991 2006-08-12  Michael Olson  <mwolson@gnu.org>
1993         * Makefile (.PHONY): Don't use line continuations.
1994         (realclean fullclean): Call realclean in subdirs, not distclean.
1995         (distclean): Don't call realclean, since this would wipe out our
1996         autoloads file.
1997         (dist): Use correct path to autoloads file.
1999         * NEWS: Catch up with the latest changes.
2001         * experimental/Makefile (.PHONY): Wrap long line.
2003         * lisp/Makefile (distclean): Do the same thing as "clean", not
2004         "realclean".
2006         * lisp/muse-project.el (muse-project-get-applicable-style):
2007         Indentation tweak.
2008         (muse-project-ignore-regexp, muse-project-recurse-directory):
2009         Docfix.
2010         (muse-project-of-file): Try the ignored files regexp against the
2011         base filename as well as the entire path.
2013         * lisp/muse-publish.el (muse-publish-this-file): Display message
2014         if the buffer is not associated with any file, so that we avoid
2015         errors later on.
2016         (muse-publish-url-desc): New function taken from muse-publish-url
2017         that causes a URL description to be transformed.
2018         (muse-publish-url): Call muse-publish-url-desc on either the
2019         description or the original URL if it will be used as a
2020         description.  Accept the original URL as an argument, in case it
2021         was transformed earlier.
2022         (muse-publish-insert-url): Pass original URL as an argument.
2023         (muse-publish-markup-link): Make this somewhat easier to follow.
2024         Pass original URL as argument.
2025         (muse-publish-get-style): If the same style is used to publish to
2026         two different directories, prompt the user for which directory to
2027         use.
2028         (muse-publish-markup-header-footer-tags): Sync lisp tag with the
2029         latest changes.
2030         (muse-publish-markup-url): Pass original URL as an argument.  This
2031         fixes the "nil" description for bare URLs that was in 3.02.91.
2032         Nothing like finding a bug just after completing the announcement
2033         of a release.
2035         * lisp/muse.el: Use defalias whenever convenient.
2036         (muse-version): Set version to 3.02.92 (3.03 RC2).
2038 2006-08-10  Michael Olson  <mwolson@gnu.org>
2040         * lisp/muse-html.el (muse-html-finalize-buffer): Since the html
2041         style does not derive from any other class, return `t' here.
2042         This, along with the corresponding change to muse-publish.el,
2043         fixes a problem with the table of contents getting inserted
2044         multiple times for custom html-based styles.
2045         (muse-html-markup-strings, muse-xhtml-markup-strings): Use a
2046         smarter method for table centering that works with XHTML.
2048         * lisp/muse-latex2png.el Rename all functions to have a
2049         "muse-latex2png" prefix.  Turn all variables into customizable
2050         options in the muse-latex2png group.
2051         (muse-latex2png-img-dest): New option specifying where to place
2052         the images.
2053         (muse-latex2png-template): New option containing the template to
2054         use for the surrounding LaTeX code.
2055         (muse-latex2png-use-xhtml): New option that toggles strict XHTML
2056         compliance.
2057         (muse-latex2png-move2pubdir): Avoid multiple redundant error
2058         messages when something else goes wrong.  Create the image
2059         subdirectory if it doesn't exist already -- thanks to Christian
2060         Straßer for the report.  Expand the filename properly.
2061         (muse-publish-latex-tag, muse-latex2png): Ditto on error messages
2062         and filename expansion.
2063         (muse-latex2png): Use the "muse-latex2png" prefix by default.  Set
2064         the default directory properly.
2066         * lisp/muse-publish.el (muse-style-run-hooks): Make sure that we
2067         do not run the same function twice.
2069 2006-08-08  Michael Olson  <mwolson@gnu.org>
2071         * lisp/muse-colors.el (muse-colors-explicit-link): Fix recently
2072         introduced wrong-type-argument error.
2074         * lisp/muse-html.el (muse-html-markup-strings)
2075         (muse-xhtml-markup-string): Cause table definition that contains
2076         image to be center-aligned.  This should fix an issue with images
2077         not being centered when captions are very long.
2079         * lisp/muse-publish.el (muse-publish-table-fields): Trim
2080         whitespace from fields once we have split them up.
2082         * lisp/muse.el (muse-trim-whitespace): New function that strips
2083         leading and trailing whitespace from a string.
2085 2006-08-07  Michael Olson  <mwolson@gnu.org>
2087         * NEWS: Update through patch-95.
2089         * lisp/muse-colors.el (muse-colors-lisp-tag): Use a simpler regexp
2090         to match the tags.
2091         (muse-colors-explicit-link): Show images in link descriptions if
2092         inlined images are enabled.
2094         * lisp/muse-docbook.el (muse-docbook-markup-strings): Add
2095         definitions for 'image-with-desc, 'image, and 'image-link.
2096         (muse-docbook-markup-paragraph): If an inlined image begins a
2097         paragraph, insert <para> before it.
2098         (muse-docbook-fixup-images): New function that upper-cases the
2099         "format" attribute of the <imagedata> tag.
2100         (muse-docbook-finalize-buffer): Call it.
2102         * lisp/muse-html.el (muse-html-markup-strings): Publish images
2103         with descriptions as centered tables, with a centered caption
2104         underneath.  The resulting look is consistent with the way that
2105         they are published in the LaTeX style.  Thanks to Jody Klymak for
2106         the suggestion.
2107         (muse-xhtml-markup-strings): Ditto, but XHTML apparently has no
2108         valid way to center a table.
2109         (muse-html-markup-paragraph): Use class="image" instead of
2110         "image-link" for paragraphs that start with an embedded image.
2112         * lisp/muse-latex.el (muse-latex-markup-specials-url): Use
2113         \textbackslash{} for "\".  Thanks to Jim Ottaway for the
2114         suggestion.
2115         (muse-latex-markup-specials-image): New option that enables
2116         escaping of specials in images.  This was split from the URL
2117         specials.
2118         (muse-latex-decide-specials): Handle 'image context.
2119         (muse-latex-fixup-dquotes): Go to beginning of document, instead
2120         of relying on caller to do this for us.
2122         * lisp/muse-publish.el (muse-publish-escape-specials): Document
2123         'image context.
2124         (muse-publish-url): Use 'image context for images.  Use 'image
2125         instead of 'image-link and 'image-link in place of
2126         'url-with-image.  Separate the image file from its extension so
2127         that docbook and texinfo can publish images correctly.
2128         (muse-publish-markup-link): Don't force a description if one is
2129         not given.  This fixes a bug where images without descriptions
2130         were being published as 'image-with-desc instead of 'image.
2132         * lisp/muse-texinfo.el (muse-texinfo-decide-specials): Treat
2133         images the same as URLs.
2134         (muse-texinfo-markup-strings): Improve image markup to achieve an
2135         effect similar to that of the LaTeX publishing style.  Simplify
2136         'url string.
2138         * lisp/muse-xml-common.el (muse-xml-decide-specials): Ditto.
2140         * lisp/muse.el (muse-replace-regexp-in-string): Save match data
2141         when we have to use the custom version of this function.
2143         * muse.texi (Images): Explain how to toggle inlining of images and
2144         give better examples.  Mention captions and that captioned images
2145         should not be used inside of text paragraphs.
2146         (Markup Strings): Bring up-to-date with the changes made since
2147         3.02.
2149 2006-08-06  Michael Olson  <mwolson@gnu.org>
2151         * ChangeLog.1: Rename from ChangeLog.2004 to comply with standards
2152         in the Emacs source tree.
2154         * ChangeLog.2: Rename from ChangeLog.2005 to comply with standards
2155         in the Emacs source tree.
2157         * ChangeLog.3: New file created from the old ChangeLog.
2159         * Makefile.defs (VERSION): Set to 3.02.91.
2161         * NEWS: Update through patch-84.
2163         * lisp/muse.el (muse-version): Set to 3.02.91.
2165         * lisp/muse-colors.el (muse-colors-tags): Allow <lisp> to take
2166         attributes.
2167         (muse-colors-lisp-tag): Figure out where the <lisp> tag and its
2168         delimiter are instead of hard-coding it.
2170         * lisp/muse-mode.el (muse-insert-thing): Qualify "tag".
2171         (muse-mode): Make filling definition lists work better.  This
2172         should fix #5359.
2174         * lisp/muse-publish.el (muse-style-run-hooks): Use
2175         `muse-style-element' instead of `muse-get-keyword' here.  This
2176         should fix #6399.
2178         * muse.texi: Set version to 3.02.91 (3.02 RC2).
2180 See ChangeLog.3 for earlier changes.
2182 ;; Local Variables:
2183 ;; coding: utf-8
2184 ;; End: