Fix serious definition list publishing bug
[muse-el.git] / ChangeLog
blob6055913e37e069ed5afc746c010179dbb15c5105
1 2007-08-19  Michael Olson  <mwolson@gnu.org>
3         * lisp/muse-publish.el (muse-publish-surround-text): Fix serious
4         bug in definition list publishing.  We were skipping past the
5         initial indented line, and that was causing an erroneous
6         blockquote to be inserted.  This alone merits a new release.
8 2007-08-18  Michael Olson  <mwolson@gnu.org>
10         * AUTHORS: Update.
12         * lisp/muse-publish.el (muse-publish-include-tag): Switch from
13         copy-tree to copy-alist, since Emacs21 does not have the former,
14         and the latter does what we want.
16         * lisp/muse.el: Force-require 'derived, since Emacs21 does not
17         have derived-mode-p in subr.el like Emacs22 does.
19 2007-08-17  Michael Olson  <mwolson@gnu.org>
21         * etc/muse.rnc: Add the <cite> tag.
23         * lisp/muse-context.el (muse-context-slides-header): Clarify what
24         "mystyle" is.
26         * lisp/muse-xml.el (muse-xml-markup-strings): Mark up citations as
27         <cite type="something">.  We'll leave it to the post processing
28         tools to interpret that.
30         * texi/muse.texi (Directives, Blosxom Entries): Use @code{} for
31         directives.
32         (Citations): New section that explains further how to use the
33         <cite> tag.  The text was taken from Marcus Hoenicka's
34         documentation at http://refdb.sourceforge.net/muse.html and
35         modified.
36         (Tag Summary): Link to the Citations section in the entry for
37         <cite>.
38         (ConTeXt): Update the documentation for
39         muse-context-slides-header.
41 2007-08-17  Jean Magnan de Bornier  <jean@bornier.net>
43         * lisp/muse-context.el (muse-context-slides-header): Use #module
44         directive, if it is provided.
45         (muse-context-slides-header): Mention how to use #module.
47 2007-08-16  Michael Olson  <mwolson@gnu.org>
49         * Release Emacs Muse 3.10.
51         * Makefile (dist, debprepare): Pass HEAD argument to git-archive.
52         (upload): Don't depend on release rule.
54         * NEWS: Document remaining changes.
56 2007-08-15  Michael Olson  <mwolson@gnu.org>
58         * NEWS: Document items through 2007-08-12.
60         * lisp/muse-colors.el: Split the muse-directive-or-comment
61         property into two separate properties that are muse-directive and
62         muse-comment.
63         (muse-colors-region-end): Make buffer-local.
64         (muse-colors-delayed-commands): New variable that contains a list
65         of commands to run immediately after highlighting.  This is meant
66         to allow highlighting functions to delay code until later.
67         (muse-colors-region): Apply commands in
68         muse-colors-delayed-commands.
69         (muse-colors-inhibit-tags-in-directives): New variable that
70         determines whether tags are allowed in directives.
71         (muse-colors-custom-tags): Take
72         muse-colors-inhibit-tags-in-directives into account.
73         (muse-unhighlight-region): Remove muse-directive and muse-comment
74         properties.
75         (muse-colors-title): Modify muse-colors-delayed-commands.
76         (muse-colors-title-lisp): New command that gets called after
77         highlighting other things.  This interprets <lisp> tags, and is
78         passed arguments specifying the beginning and end of the region.
79         Thanks to Junichi Uekawa for the report.  The reason we want to do
80         things this way is because this is the behavior we get already
81         when publishing the page.
83         * lisp/muse.el (muse-goto-tag-end): Change to use muse-comment
84         property rather than muse-directive-or-comment.
86 2007-08-14  Michael Olson  <mwolson@gnu.org>
88         * lisp/muse-colors.el: Document all functions and variables.
89         (muse-colors-emphasized, muse-colors-underlined)
90         (muse-colors-verbatim, muse-colors-custom-tags)
91         (muse-colors-explicit-link, muse-colors-implicit-link): Don't trod
92         on comments or the #title directive.
93         (muse-colors-markup): Add comment rule.
94         (muse-colors-implicit-link): Only remove flyspell overlay after we
95         decide whether this is an implicit link, rather than before.
96         (muse-colors-title): Add the muse-directive-or-comment property.
97         (muse-colors-comment): New function that colorizes comments using
98         font-lock-comment-face.
99         (muse-colors-region-end): New variable indicating the end of the
100         region that is currently being font-locked.  This removes the need
101         for an ugly "defvar end" hack.
102         (muse-colors-emphasized, muse-colors-underlined)
103         (muse-colors-verbatim): Use it.
104         (muse-colors-region): Let-bind it.
106         * lisp/muse-mode.el (muse-list-edit-minor-mode): Grammar fix in
107         docstring.
109         * lisp/muse-publish.el (muse-publish-markup-heading): Escape
110         specials in heading now, rather than waiting on the whole-document
111         pass later on.  This lets <contents> generation work without
112         validation errors.  Thanks to Reid van Melle for the report.
114         * texi/muse.texi (Tag Summary): Document <cite> tag.
115         (Miscellaneous): New chapter containing "Muse List Edit Minor
116         Mode" section.
117         (Muse List Edit Minor Mode): New section that documents
118         muse-list-edit-minor-mode.
119         (Development): Mention the MuseDevlopment page on emacswiki.org.
121         * lisp/muse.el (muse-goto-tag-end): Deal with case where we are
122         font-locking and the end or beginning of a tag is in a comment or
123         directive.
125 2007-08-12  Michael Olson  <mwolson@gnu.org>
127         * lisp/muse-html.el (muse-html-strip-links): New function that
128         strips HTML links from a string.
129         (muse-html-insert-contents): Use it, instead of
130         muse-publish-strip-tags.  This fixes a bug reported by Xin Shi
131         involving the use of <sup> in section titles.
133         * lisp/muse-project.el (muse-project-resolve-directory): New
134         function that figures out the directory part of the path that
135         provides a link to a page.
136         (muse-project-resolve-link): Expand docstring.  Use the new
137         function.  Don't call muse-publish-link-file, because that does
138         the wrong thing when we have muse-file-extension set to nil.
139         Thanks to Sebastian Obermanns for the report.
140         (muse-project-publish-this-file): Let-bind muse-current-project.
141         Also, if the file is not associated with a project, fall back to
142         muse-publish-this-file.
143         (muse-project-set-variables): Add this to
144         muse-before-publish-hook, so that it gets called.  This fixes a
145         bug where project-specific variables were being used in Muse mode,
146         but ignored when publishing.
148         * lisp/muse-publish.el (muse-publish-link-name)
149         (muse-publish-link-file, muse-publish-link-page): Add docstrings
150         so that I can remember what each of these things do.
151         (muse-publish-strip-tags): Remove, since it is no longer used.
152         (muse-publish-cite-tag): Don't let-bind
153         muse-publishing-directives, because there is no need to do so.
154         Fix code indentation.
155         (muse-publish-markup-attribute): Avoid multiple evaluation of
156         attrs argument, in case it is list value instead of a symbol.  Use
157         sexp instead of form in the edebug-form-spec.
158         (muse-publish-include-tag): Make a full copy of
159         muse-publishing-directives, since it can be modified with setcdr.
160         This fixes a bug where #title and some other directives were
161         leaking out of an included region.
162         (muse-publish-mark-up-tag): Don't let-bind
163         muse-publishing-directives, because there is no need to do so.
165         * lisp/muse.el (muse-page-name): Improve docstring.
167         * texi/muse.texi (Development): Mention the http method for
168         anonymous git access to the shared repo.
170 2007-08-10  Michael Olson  <mwolson@gnu.org>
172         * Makefile (dist, debprepare): Use git instead of tla.
174         * contrib/httpd.el (httpd-send-file): Use insert-file-contents.
176         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
177         Use muse-insert-file-contents.
179         * experimental/muse-split.el (muse-publish-file)
180         (muse-publish-presplit-publish, muse-publish-no-split-function)
181         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
182         muse-insert-file-contents.
184         * lisp/muse-book.el (muse-book-publish-chapter)
185         (muse-book-get-directives): Use muse-insert-file-contents.
187         * lisp/muse-http.el (muse-http-render-page): Use
188         muse-insert-file-contents.
190         * lisp/muse-poem.el (muse-poem-markup-tag): Use
191         muse-insert-file-contents.
193         * lisp/muse-publish.el (muse-insert-file-or-string)
194         (muse-publish-file, muse-publish-include-tag)
195         (muse-published-contents): Use muse-insert-file-contents.
197         * lisp/muse.el (muse-insert-file-contents): New function that
198         inserts a file with character code conversion, but none of the
199         other frivolities.  Since insert-file-contents-literally does not
200         do character code conversion, it is not suitable for us.
201         (muse-with-temp-buffer): Mention muse-insert-file-contents rather
202         than insert-file-contents-literally.
204 2007-08-09  Michael Olson  <mwolson@gnu.org>
206         * lisp/muse.el (muse-write-file): Pay attention to
207         coding-system-for-write and save-buffer-coding-system.  This
208         should fix a recently-introduced bug with writing Muse pages in
209         different coding systems.
211 2007-08-08  Michael Olson  <mwolson@gnu.org>
213         * README (Prerequisites): Fix typo.
214         (Compilation, Installation): Update.
215         (Documentation, Further Documentation): Update URLs.
216         (Further Documentation): Add quick blurb on how to participate in
217         Muse development or track changes.
219         * texi/muse.texi (Releases): Use gna.org URL for downloading the
220         latest release, rather than my website.
221         (Development): Change instructions to use git instead of
222         Arch. Mention where to get a Windows binary for git.  Improve the
223         look of the listing.  Add section with instructions for Becoming a
224         Muse developer.
225         (Installation): Update instructions for Makefile.defs.default and
226         XEmacs.  Add index entries.  Add section for ELPA, since Muse
227         ought to be distributed in ELPA after the 3.10 release.  Fix typo
228         and clarify wording.
230 2007-08-06  Michael Olson  <mwolson@gnu.org>
232         * texi/muse.texi: Make sure that attributes are marked up with
233         @option{} rather than @code{} or @samp{} for consistency.
234         (Journal): Add "muse-project-alist-considerations" subheading,
235         along with a mention of :base-url.
237 2007-08-05  Michael Olson  <mwolson@gnu.org>
239         * .gitignore: Add texi/muse.html and the DVC log edit file.
241         * Makefile.defs.default (install_info): Rename from INSTALLINFO.
242         Turn this into something that can be called like a command, due to
243         needing to deal with XEmacs, which has different argument order.
244         Thanks to Terrence Brannon for the report.
246         * lisp/muse-project.el (muse-project-of-file): Simplify by using
247         catch, throw, and dolist.  Look for exact matches before
248         considering any subdirectories.  If no exact matches are found,
249         then pick the longest match.
251         * lisp/muse.el (muse-sort-by-rating): Mention default test in
252         documentation.
254         * scripts/muse-build.el: Avoid interference from VC.el in the
255         build process.
257         * texi/Makefile (install): Call install_info.
259 2007-08-03  Michael Olson  <mwolson@gnu.org>
261         * lisp/muse-project.el (muse-project-applicable-styles): Remove
262         useless argument ignore-regexp.  Use saner logic.  This fixes a
263         bug where a file could potentially not exist but still appear in
264         the used-styles list.  Thanks to John Wiegley for the fix.
265         (muse-project-publish-file): Don't take ignore-reegxp argument.
267 2007-08-02  Michael Olson  <mwolson@gnu.org>
269         * lisp/muse-publish.el (muse-batch-publish-files): Don't activate
270         VC when publishing files in batch.  This avoids some annoying
271         messages when building QuickStart in the examples directory.
273         * lisp/muse-mode.el (muse-mode): Don't try to indent line before
274         inserting a comment.
276 2007-07-31  Michael Olson  <mwolson@gnu.org>
278         * lisp/Makefile: Add dependencies between Emacs Lisp files, so
279         that Muse can be recompiled without running "make clean" after an
280         update.
282         * lisp/muse-publish.el (muse-publish-verse-tag): Unconditionally
283         delete forward one character, since we are guaranteed to be on a
284         blank line.  Don't delete all initial whitespace of the first
285         line.  This fixes an issue where the output from the verse tag did
286         not match the output from Muse's verse syntax.
288 2007-07-29  Michael Olson  <mwolson@gnu.org>
290         * Relicense to GPLv3.
292         * Makefile.defs.default: Rename from Makefile.defs.  This allows
293         people to copy this file to Makefile.defs and make changes,
294         without having the changes be accidentally committed.  If
295         Makefile.defs does not exist, this file is read instead, in order
296         to minimize inconvenience to the casual user.
298         * Makefile, contrib/Makefile, examples/Makefile,
299         experimental/Makefile, lisp/Makefile, texi/Makefile: Use either
300         Makefile.defs.default or Makefile.defs.
302         * lisp/muse-mode.el (muse-list-edit-minor-mode-map): Use new
303         function names.
304         (muse-l-e-m-m-insert-list-item): Add real documentation.
305         (muse-l-e-m-m-increase-list-item-indent)
306         (muse-l-e-m-m-decrease-list-item-indent): Rename for clarity.  Add
307         real documentation.
308         (muse-list-edit-minor-mode): Improve documentation.
310         * texi/doclicense.texi (GNU Free Documentation License): Use
311         pristine copy from Emacs source tree.
313         * texi/muse.texi (Contributors): Move node and appendix indicators
314         here, rather than doclicense.texi.
316 2007-07-29  Jean Magnan de Bornier  <jean@bornier.net>
318         * lisp/muse-latex.el (muse-latex-markup-strings): Change rule
319         command which did not work correctly
321         * lisp/muse-context.el (muse-context-markup-strings): Change rule
322         command which did not work correctly; defined verse commands
323         (muse-context-markup-specials-literal): Eliminate all unuseful entries
325 2007-07-29  Michael Olson  <mwolson@gnu.org>
327         * contrib/httpd.el (httpd-send-file): Use
328         insert-file-contents-literally instead of insert-file-contents.
330         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
331         Use insert-file-contents-literally instead of
332         insert-file-contents.
334         * experimental/muse-split.el (muse-publish-file)
335         (muse-publish-presplit-publish, muse-publish-no-split-function)
336         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
337         insert-file-contents-literally instead of insert-file-contents.
339         * lisp/muse-book.el (muse-book-publish-chapter)
340         (muse-book-get-directives): Use insert-file-contents-literally
341         instead of insert-file-contents.
343         * lisp/muse-http.el (muse-http-render-page): Use
344         insert-file-contents-literally instead of insert-file-contents.
346         * lisp/muse-import-latex.el (muse-import-latex): Set marker to
347         nowhere when done, since they can slow things down.
349         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Set
350         marker to nowhere when done, since they can slow things down.
352         * lisp/muse-poem.el (muse-poem-markup-tag): Set marker to nowhere
353         when done, since they can slow things down.  Use
354         insert-file-contents-literally instead of insert-file-contents.
356         * lisp/muse-publish.el (muse-publish-markup-tag)
357         (muse-publish-markup-word, muse-publish-markup-footnote)
358         (muse-publish-call-tag-on-buffer): Set markers to nowhere when
359         done, since they can slow things down.
360         (muse-insert-file-or-string, muse-publish-file)
361         (muse-publish-include-tag, muse-published-contents): Use
362         insert-file-contents-literally instead of insert-file-contents.
363         (muse-publish-surround-dl): Remove unused variable.  Track whether
364         a term has been found, and handle that case well.
365         (muse-publish-ensure-blank-line): Use a marker, so that we don't
366         lose our place when adding a newline.  This really fixes the
367         definition list item bug.
368         (muse-publish-markup-list): Since people do seem to want
369         definition lists with no terms, allow this.
370         (muse-batch-publish-files): Set muse-current-output-style.
372         * lisp/muse.el (muse-with-temp-buffer): Mention
373         `insert-file-contents-literally'.
375 2007-07-28  Michael Olson  <mwolson@gnu.org>
377         * lisp/muse-mode.el (muse-browse-result): Set
378         muse-current-output-style.
379         (muse-mode): Don't duplicate the paragraph-start regexp
380         unnecessarily.
381         (muse-list-edit-minor-mode-map): New variable containing the
382         keymap for Muse list edit minor mode.
383         (muse-l-e-m-m-list-item-regexp): New variable that matches list
384         items for Muse list edit minor mode.
385         (muse-l-e-m-m-insert-list-item,
386         muse-l-e-m-m-i-list-item-indentation)
387         (muse-l-e-m-m-d-list-item-indentation): Variants of existing list
388         item functions that change the list item regexp before calling the
389         existing function.
390         (muse-l-e-m-m-data): New variable that keeps track of the fill
391         data that we overwrite when activating Muse list edit minor mode,
392         so that we can restore it if the minor mode is toggled off.
393         (muse-list-edit-minor-mode): New minor mode that is useful for
394         editing lists in other major modes.
395         (turn-on-muse-list-edit-minor-mode)
396         (turn-off-muse-list-edit-minor-mode): New interactive functions
397         that turn Muse list edit minor mode on and off, respectively.
398         (muse-on-blank-line, muse-get-paragraph-start): Simplify some
399         regexps.
401         * lisp/muse-project.el (muse-project-publish-this-file): Set
402         muse-current-output-style.  This fixes a bug when publishing to a
403         style that is not first in the list of styles.  Thanks to Jean
404         Magnan de Bornier for the report.
406         * lisp/muse-publish.el (muse-publish-ensure-blank-line): New
407         function that ensures that a blank line exists in the line before
408         point.
409         (muse-publish-markup-list): Use it, rather than
410         `muse-publish-ensure-block'.  This fixes a bug with definition
411         list publishing.  Thanks to meandtheshell for reporting this.
413         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): If the
414         project argument is nil, default to the current project instead of
415         the first project entry in muse-project-alist.  This seems much
416         more sane to me.
418         * lisp/muse.el (muse-forward-list-item): Only check the 'face
419         property if we are in Muse mode or one of its derivatives.  This
420         allows movement on nested lists to work in other modes, and fixes
421         an issue with altering list indentation in
422         muse-list-edit-minor-mode.
424 2007-07-27  Michael Olson  <mwolson@gnu.org>
426         * AUTHORS: Add new authors.
428         * README: Permit Muse to be called "Emacs-Muse".
430         * etc/IDEAS.muse: Remove now-implemented ideas and duplicate idea.
432         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug
433         involving list items that have an extra blank line in front.
435         * texi/muse.texi (Introduction): Mention that Emacs Muse, Muse,
436         and Emacs-Muse are the same thing.
438 2007-07-27  Jean Magnan de Bornier  <jean@bornier.net>
440         * lisp/muse-context.el (muse-context-header): Put
441         starttext after the modules who must be in preamble.
442         (muse-context-markup-strings): Fixed mistake in begin-example and
443         end-example.
445         * lisp/muse-latex2png.el (muse-publish-math-tag): Replaced the
446         math environment in ConTeXt when centered: "$$ $$" has to be
447         "\startformula \stopformula".
449 2007-07-26  Michael Olson  <mwolson@gnu.org>
451         * lisp/muse-xml-common.el (muse-xml-escape-url): Do not escape
452         parentheses in URLs.
454 2007-07-24  Michael Olson  <mwolson@gnu.org>
456         * examples/QuickStart.muse (Images): Fix typo where some text
457         existed in the output but not in the example region.
458         (Source Code): Fix another typo.  Explain that publishing from
459         console or X can make a difference.
461         * lisp/muse-context.el (muse-context-pdf-program): New option that
462         determines the program to use for generating PDF files for
463         ConTeXt.
464         (muse-context-pdf-cruft): New option that specifies the extensions
465         of files to remove after generating PDF output successfully.
466         (muse-context-slides-header): Docfix.
467         (muse-context-pdf-generate): Use new options.
469         * lisp/muse-publish.el (muse-publish-lisp-tag): Add missing
470         save-restriction call.  This was causing a world of hurt when
471         using <lisp> inside of <include>.
473         * texi/muse.texi (ConTeXt): New section that documents how to use
474         the ConTeXt publishing styles.
476 2007-07-23  Michael Olson  <mwolson@gnu.org>
478         * lisp/muse-context.el: New file that provides support for
479         publishing documents to the ConTeXt format.  Thanks to Jean Magnan
480         de Bornier for his work on this.
482         * lisp/muse-docbook.el (muse-docbook-entities)
483         (muse-docbook-bibliography): Remove unneeded save-restriction use.
485         * lisp/muse-latex2png.el (muse-publish-latex-tag):
486         s/contex/context/.
488         * lisp/muse-latex.el (muse-latex-fixup-citations): Add docstring.
489         (muse-latex-bibliography): Remove call to `widen', since it is not
490         needed anymore.  Remove unneeded save-restriction use.
491         ("slides", "slides-pdf"): Indent elements uniformly.
493 2007-07-22  Michael Olson  <mwolson@gnu.org>
495         * lisp/muse-blosxom.el (muse-blosxom-new-entry):
496         * lisp/muse-mode.el (muse-insert-tag):
497         * lisp/muse-project.el (muse-read-project)
498         (muse-read-project-file):
499         * lisp/muse-publish.el (muse-publish-get-style): Use
500         muse-completing-read-function.
502         * lisp/muse-latex2png.el (muse-publish-latex-tag)
503         (muse-publish-math-tag): Allow the context style -- which I plan
504         to include soon -- to work with these tags.
506         * lisp/muse.el (muse-completing-read-function): New option that
507         determines which function to call when doing a completing-read.
509 2007-07-15  Michael Olson  <mwolson@gnu.org>
511         * lisp/muse-journal.el (muse-journal-html-entry-template)
512         (muse-journal-rdf-entry-template)
513         (muse-journal-rss-entry-template): Mention that this can be text
514         or a filename.
515         (muse-journal-rdf-entry-template, muse-journal-rss-header)
516         (muse-journal-rss-footer, muse-journal-rss-entry-template): Add
517         newlines to make the output look nicer.
518         (muse-journal-html-munge-buffer, muse-journal-rss-munge-buffer):
519         Use muse-insert-file-or-string for the entry templates, rather
520         than muse-insert-markup.  This allows <lisp> and <markup> tags to
521         be acted on.  Thanks to Scott Hyde for the report.
522         (muse-journal-html-munge-buffer): Escape quote of the day using
523         entire-document specials before snarfing it.  Mark entire template
524         as read-only -- this fixes an incorrect escaping bug.  Remove
525         read-only properties before replacing template matches so that
526         they can still be escaped with entire-document specials later on.
527         (muse-journal-rss-munge-buffer): Make sure that title is escaped
528         properly.
529         (muse-journal-markup-tags): Rename from
530         muse-journal-latex-markup-tags, because we will use it for
531         journal-rss-entry as well.
532         (muse-journal-qotd-tag): Move higher.  Use begin-quote-item and
533         end-quote-item.
534         (muse-journal-rss-munge-buffer): Use journal-rss-entry rather than
535         html.
536         ("journal-latex", "journal-pdf", "journal-book-latex")
537         ("journal-book-pdf"): Use muse-journal-markup-tags rather than
538         muse-journal-latex-markup-tags.
539         ("journal-rss-entry"): New style that is used by journal-rss and
540         journal-rdf to mark up individual entries.  It is needed so that
541         we can do something meaningful with the qotd tag.
542         (muse-journal-rdf-summarize-entries): Set this to nil by default,
543         because it is annoying.  Update docs to mention this.
544         (muse-journal-rss-summarize-entries): Docfix.
546         * lisp/muse-publish.el (muse-insert-file-or-string): Use
547         muse-publish-markup-header-footer-tags.  I'm not quite sure how
548         this change got reverted.
549         (muse-markup-tag-info): Make into a function.  Move common code
550         here, rather than duplicating it in two places.  Deal with case
551         where muse-publish-use-header-footer-tags is non-nil.
552         (muse-publish-markup-specials, muse-publish-inhibit-style-hooks)
553         (muse-inhibit-style-tags): Move higher to avoid byte-compiler
554         warning.
555         (muse-publish-use-header-footer-tags): New variable that indicates
556         whether we should use just the header and footer tags, rather than
557         the full set.
558         (muse-insert-file-or-string): Bind
559         muse-publish-use-header-footer-tags to t.
560         (muse-publish-markup-tag, muse-publish-call-tag-on-buffer):
561         Simplify call to muse-markup-tag-info.
562         (muse-publish-mark-up-tag): Bind
563         muse-publish-use-header-footer-tags to nil.
565         * texi/muse.texi (Journal): Update for recent changes.
567 2007-07-14  Michael Olson  <mwolson@gnu.org>
569         * lisp/muse-journal.el (muse-journal-rss-munge-buffer): Don't
570         delete the remainder of the buffer, since this causes the
571         resulting RDF to have invalid syntax.  Thanks to Phillip Lord for
572         the report and the suggested fix.
574         * lisp/muse-publish.el (muse-publish-markup-regexps): Add "^" to
575         beginning of table-el regexp.  This fixes a bug where Muse stalls
576         when trying to publish a malformed table.  Thanks to Ye Wenbin for
577         the report and the suggested fix.
579 2007-07-12  Michael Olson  <mwolson@gnu.org>
581         * lisp/muse-wiki.el (muse-wiki-interwiki-regexp): Set to nil by
582         default, rather than the empty string.  This really fixes the bug
583         that occurred when using Muse with muse-project-alist set to nil.
584         Thanks to Jonathan Underwood for the report.
585         (muse-wiki-update-interwiki-regexp): Set
586         muse-wiki-interwiki-regexp to nil if muse-project-alist is not
587         defined.
588         (muse-wiki-handle-implicit-interwiki)
589         (muse-wiki-handle-explicit-interwiki): Handle case where
590         muse-wiki-interwiki-regexp is nil.
592 2007-07-10  Michael Olson  <mwolson@gnu.org>
594         * lisp/muse-mode.el (muse-grep): Abort search if the current
595         project contains no directories.
597         * lisp/muse-project.el (muse-project-file-alist): If
598         muse-project-alist is not defined, or project is nil, return nil
599         right away.  This ought to fix a bug that occurred when using Muse
600         with muse-project-alist set to nil.
601         (muse-project-of-file): Make sure muse-project-alist is not nil.
602         (muse-project-save-buffers): Make sure project is not nil.
604         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Deal with
605         case where muse-project-alist is nil.
607         * lisp/muse.el (muse-replace-regexp-in-string): Explicitly check
608         for XEmacs, since color-theme.el is poorly behaved, and defines
609         its own replace-in-string.  Bad color-theme.el -- no cookie for
610         you.
612 2007-07-01  Michael Olson  <mwolson@gnu.org>
614         * Makefile (.PHONY): Update for new debian package rules.
616         * lisp/muse-book.el (muse-book-latex-footer): Wrap long line.
618         * lisp/muse-docbook.el (muse-docbook-fixup-citations): Re-indent.
619         Use save-restriction properly.
620         (muse-docbook-entities, muse-docbook-bibliography): : Re-indent.
622         * lisp/muse-latex.el (muse-latex-footer): Wrap long line.
623         (muse-latex-fixup-citations): Re-indent.  Use save-restriction
624         properly.
625         (muse-latex-bibliography): Re-indent.
627         * lisp/muse-publish.el (muse-publish-get-and-delete-attr): Move
628         higher.  This fixes an error at startup with some versions of
629         Emacs.
630         (muse-publish-cite-tag): Re-indent.
632         * lisp/muse-wiki.el (muse-wiki-handle-explicit-interwiki): Narrow
633         to the end of the link part, so as to exclude the description from
634         the match.  This fixes a bug with three-part links that have
635         descriptions.  Thanks to everyone who pointed it out.
637 2007-06-18  Michael Olson  <mwolson@gnu.org>
639         * lisp/muse-html.el (muse-html-markup-strings): Add anchor.
640         (muse-xhtml1.1-markup-strings): New option that specifies XHTML
641         1.1 specific markup strings.
642         (muse-html-insert-anchor): Use 'anchor string, rather than
643         hard-coding it.  Thanks to Chris Corsair for the suggestion.
644         ("xhtml1.0"): New style that is an alias for the xhtml style.
645         ("xhtml1.1"): New style that publishes XHTML 1.1 compliant output.
647 2007-06-17  Michael Olson  <mwolson@gnu.org>
649         * examples/QuickStart.muse: Make images local so that the Info
650         version of this document works.  Add <example> for the Literal
651         paragraphs chapter, so that it is clear what is happening.
653         * Makefile: Add elpa target, which is used for building an ELPA
654         package for Muse.
656         * Makefile.defs (ELPADIR, ELPADESC): New variables used for
657         building ELPA packages.
659         * examples/Makefile (%.html, %.pdf, %.info): Add message to
660         indicate what we are publishing.
661         (realclean distclean fullclean): Remove all TeX crud.
663         * examples/emacs-muse.png, examples/muse-made-with.png: Include so
664         that the Info version of QuickStart can publish correctly.
666         * lisp/muse-latex.el (muse-latex-slides-header)
667         (muse-latex-lecture-notes-header): Docfix.
669         * lisp/muse-project.el (muse-project-ignore-regexp): Add .git to
670         the list of things to ignore.
672         * lisp/muse-publish.el (muse-publish-markup-list): Remove unused
673         variable.
675         * lisp/muse-texinfo.el (muse-texinfo-process-natively): Set
676         default to nil, since texinfmt.el is a serious nuisance.
677         (muse-texinfo-markup-strings): Add newlines to begin-example and
678         end-example.
679         (muse-texinfo-decide-specials): Also escape URL-type specials in a
680         whole slew of other contexts.
682         * lisp/muse-xml-common.el (muse-xml-encoding-map): Change group to
683         muse-xml.
685         * lisp/muse-xml.el (muse-xml-footer): Docfix.
687         * lisp/muse.el (muse-version): Release Emacs Muse version 3.03.
689 2007-06-16  Michael Olson  <mwolson@gnu.org>
691         * etc/IDEAS.muse: Add some ideas from David D. Smith.
693         * examples/QuickStart.muse: Overhaul.
695         * lisp/muse-project.el (muse-project): Call the last part of a
696         muse-project-alist entry "Output styles" rather than "styles".
698         * lisp/muse-publish.el (muse-publish-table-fields): Handle case
699         where we have a pipe character at the beginning of line.
701         * lisp/muse-xml-common.el (muse-xml-sort-table): Fix typo that was
702         causing tables to not be sorted at all.
704         * texi/muse.texi: Overhaul.  It would be too time-consuming to
705         list all of the changes here.  The "Getting Started" and
706         "Projects" chapters, in particular, were heavily revised.
708 2007-06-15  Michael Olson  <mwolson@gnu.org>
710         * NEWS: Update.
712         * examples/QuickStart.muse: Mention new features.
714         * lisp/muse-colors.el (muse-colors-toggle-inline-images): Docfix.
715         Remove C-c C-i keybinding, since it conflicts with C-c TAB in the
716         terminal, and C-c TAB is more important.  Most people will not
717         want to toggle images on and off that often.
719         * lisp/muse-mode.el (muse-mode-map): Bind muse-insert-thing to C-c
720         C-i as well, so that it works in the terminal.
722         * lisp/muse-publish.el (muse-publish-literal-tag): Make the output
723         look a bit tidier when removing the region.
725         * lisp/muse-regexps.el (muse-list-item-regexp): Put definition
726         list regexp part before other parts.
727         (muse-ol-item-regexp): New regexp that specifies how to match an
728         ordered list item.
729         (muse-ul-item-regexp): New regexp that specifies how to match an
730         unordered list item.
731         (muse-table-field-regexp): New regexp that specifies how to match
732         a definition list entry.
734         * lisp/muse-texinfo.el (muse-texinfo-info-generate): Work around
735         lack of support for @headitem in texinfmt.el.
737         * lisp/muse.el: Wrap muse-line-beginning-position and
738         muse-line-end-position in `eval-and-compile', since they are now
739         used in muse.el.
740         (muse-list-item-type): Use a simpler algorithm for detecting which
741         kind of list item we have.  This fixes a bug where a number in a
742         definition list term was being detected incorrectly as an ordered
743         list item.  Fixes bug #6250.
744         (muse-forward-list-item): Get the entire line with the list item.
745         For some reason, Emacs 21 was not populating match 2 correctly,
746         unlike Emacs 22, so this workaround was needed.
748         * texi/muse.texi: (Keystroke Summary): Remove C-c
749         C-i (`muse-insert-tag') documentation, and mention C-c C-i as an
750         alternative keybinding to the C-c TAB stuff.  Mention
751         muse-colors-toggle-inline-images.
753 2007-06-14  Michael Olson  <mwolson@gnu.org>
755         * README: Mention that RelaxNG schema is in etc/ directory.
757         * etc/emacs-wiki-migration.txt: New document that explains how to
758         migrate from emacs-wiki to Muse.
760         * etc/muse.rnc: Increment version number to 1.0.  Fix several
761         nested emphasis and nested lists edge cases.  Move here from
762         examples/.
764         * lisp/muse-mode.el (muse-mode-map): Permit C-c C-M-t to do the
765         same thing as C-c C-S-t, since the former works better in the
766         console.  Thanks to Leo for the suggestion.
768         * lisp/muse-publish.el (muse-publish-markup-table)
769         (muse-publish-markup-table-el): Include a newline in the return
770         string, so that paragraph detection does not get confused.
772         * lisp/muse.el (muse-with-temp-buffer): Docfix.
774         * texi/muse.texi (Keystroke Summary): Document the C-c C-M-t
775         keybinding.
777 2007-06-13  Michael Olson  <mwolson@gnu.org>
779         * etc/IDEAS.muse: Mark three-part-links item as done.
781         * experimental/muse-message.el: Remove guard for muse-define-style
782         calls.
784         * lisp/muse-colors.el (muse-configure-highlighting): Fix bug where
785         markup rules were being interpreted in reverse order.  This should
786         make implicit interwiki links work properly again.
787         (muse-link-face): Strip anchor from end of a path, so that this
788         works with anchors in interwiki links.
789         (muse-colors-insert-image): Catch error that occurs in Emacs 21
790         when an image does not exist.
792         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Permit
793         anchors.
794         (muse-wiki-handle-implicit-interwiki): Docfix.  Make anchors in
795         interwiki links work.  Thanks to Jim Ottaway for the initial
796         implementation.
797         (muse-wiki-handle-explicit-interwiki): Make anchors in interwiki
798         links work.
800         * lisp/muse.el (muse-handle-implicit-link): Docfix: only care
801         about match 0.
802         (muse-handle-explicit-link): Docfix: this does not modify the
803         match data.
804         (muse-file-remote-p): In Emacs 21, ange-ftp-name-format is a list
805         that has the regexp in its car.
807 2007-06-12  Michael Olson  <mwolson@gnu.org>
809         * README: Document new etc/ directory.
811         * etc/IDEAS.muse: Install things from new contributors just after
812         the 3.03 release, since I won't have time to review the code
813         before the release.  Move to new etc/ directory.  Slides
814         publishing has been installed.
816         * lisp/muse-latex.el (muse-latex-slides-header): New option that
817         determines the header to use for publishing slides.
818         (muse-latex-lecture-notes-header): New option that determines the
819         header to use for publishing lecture notes.
820         (muse-latex-slides-markup-tags): New option containing tags to use
821         when publishing slides.
822         (muse-latex-permit-contents-tag): Move higher in file.
823         (muse-latex-slide-tag): New function to publish the <slide> tag.
824         ("slides", "slides-pdf"): New publishing styles that create slides
825         using Beamer.
826         ("lecture-notes", "lecture-notes-pdf"): New publishing styles that
827         create lecture notes using Beamer.
829         * lisp/muse.el: Re-add the auto-mode-alist part to top-level,
830         since otherwise Planner is not happy when `plan' is called during
831         init.  Remove stray quote from autoload snippet.
833 2007-06-11  Michael Olson  <mwolson@gnu.org>
835         * lisp/muse.el: Make the add-to-list 'auto-mode-alist part an
836         autoload, rather than having it exist at top-level.  Thanks to Leo
837         for the suggestion.
838         (muse-update-file-extension): Docfix.
840 2007-06-10  Michael Olson  <mwolson@gnu.org>
842         * lisp/muse-publish.el (muse-publish-strip-URL): Fix bug where
843         URLs were being removed during publishing.  Thanks to everyone who
844         reported this.
846 2007-06-09  Markus Hoenicka <markus.hoenicka@mhoenicka.de>
848         * lisp/muse-book.el
849         * lisp/muse-docbook.el
850         * lisp/muse-latex.el
851         * lisp/muse-publish.el: added support for <cite> element which
852         denotes in-text citations
854         * lisp/muse-html.el
855         * lisp/muse-groff.el
856         * lisp/muse-texinfo.el
857         * lisp/muse-xml.el: added support for <cite> element (stub)
859 2007-06-06  Michael Olson  <mwolson@gnu.org>
861         * lisp/muse-regexps.el (muse-table-line-regexp)
862         (muse-table-hline-regexp, muse-table-el-border-regexp): Fix
863         regexps so that they work with XEmacs 21.  Thanks to Adrian
864         Tritschler for the report.
866         * texi/muse.texi: Update copyright years.
867         (HTML): Document muse-xhtml-style-sheet.  Thanks
868         to thorne for noticing.
869         (Development): Change archive year to 2006.  Thanks to Adrian
870         Tritschler for noticing.  So *that's* why some people had the 2005
871         version ....
873 2007-06-05  Michael Olson  <mwolson@gnu.org>
875         * Makefile (install-info): Remove $(MANUAL).info part, since this
876         is taken care of already by texi/Makefile.  Thanks to Leo for the
877         report.
879         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Add
880         read-only properties to qotd contents, so that they don't get
881         double-escaped.  Thanks to Leo for the report.
883 2007-06-04  Michael Olson  <mwolson@gnu.org>
885         * lisp/muse-colors.el (muse-link-face): If the link is to a remote
886         -- that is, Tramp or ange-ftp -- file, then do not call
887         file-exists-p on it.  Thanks to Jim Ottaway for the suggestion.
888         Fixes bug #5115.
890         * lisp/muse-html.el (muse-html-insert-contents): Add
891         documentation.  Handle case where heading is read-only, but has
892         muse-contents property.  Remove the muse-contents property for any
893         heading we come across so as to avoid double-including an item in
894         an outer table of contents.
895         (muse-html-denote-headings): New function that denotes whether a
896         heading is not read-only by adding the muse-contents property to
897         it.
898         (muse-html-munge-buffer): If we are not to generate contents,
899         still denote headings, in case some outer layer wants to generate
900         contents for our headings.  This should fix a bug with table of
901         contents and the <include> tag.  Thanks to thorne for the report.
903         * lisp/muse-publish.el (muse-publish-markup-region): Let-bind
904         muse-publish-generate-contents and set it to nil.  This should
905         do the right thing when using <include> tags.
907 2007-06-02  Michael Olson  <mwolson@gnu.org>
909         * NEWS: Update for non-inlined image change and support for
910         table.el style tables.
912         * examples/Makefile (clean): Clean backup files.
914         * examples/QuickStart.muse (Images): New section that describes
915         how to inline and not inline images.
917         * lisp/muse-colors.el (muse-colors-resolve-image-file): Don't
918         touch images that have "URL:" in front of them.
920         * lisp/muse-protocols.el (muse-url-protocols): Add handler for
921         "URL:".  Use the identity function to resolve, since we don't want
922         to rip "URL:" out while publishing, due to some magic that depends
923         on that text.
924         (muse-browse-url-url): New function that browses URLs that have
925         "URL:" in front of them, by removing the "URL:" part and
926         reprocessing the remainder.
928         * lisp/muse-publish.el (muse-publish-classify-url): Docfix.
929         (muse-publish-url): Recognize images in the description before
930         images in the link.  Fixes bug #5112.  Thanks to Thomas Kappler
931         for the suggested workaround.
932         (muse-publish-desc-transforms): Add `muse-publish-strip-URL' as a
933         default value.
934         (muse-publish-classify-url): If target begins with "URL:" return
935         type url.
936         (muse-publish-strip-URL): New function that strips "URL:" from the
937         beginning of a string.  This is used to remove URL: from the link
938         description.  * texi/muse.texi (Markup Strings): Clarify the
939         meanings of image-link, link, and link-and-anchor.
940         (muse-publish-markup-regexps): Move normal table rule to 2350.
941         Rule 2300 is now a regexp that matches table.el-style tables.
942         (muse-publish-markup-functions): Add table-el entry.
943         (muse-publish-table-el-table): New function that given a variant,
944         publishes a table.el-style table using the table in the matched
945         region.
946         (muse-publish-markup-table-el): New function that determines
947         whether the table.el-style table can be published, and what
948         variant to use.
950         * lisp/muse-regexps.el (muse-tag-regexp): New regexp that matches
951         the borders of table.el-style tables.
953         * lisp/muse-xml-common.el (muse-xml-markup-table): Make sure that
954         the table has sufficient whitespace in front of it.
956         * texi/muse.texi (Images): Update for new non-inlined image
957         ability and provide example.
959 2007-05-31  Michael Olson  <mwolson@gnu.org>
961         * NEWS: Add example for setting `muse-html-table-attributes'.
963         * lisp/muse-xml-common.el (muse-xml-markup-table): Add docstring.
964         Publish multiple tbody tags if there is a horizontal separator
965         after the heading, because that is valid HTML after all.
967 2007-05-30  Michael Olson  <mwolson@gnu.org>
969         * NEWS: Update.
971         * lisp/muse-latex.el (muse-latex-markup-table): Deal with
972         horizontal separators in tables.
974         * lisp/muse-publish.el (muse-publish-markup-regexps): Recognize
975         horizontal separators in tables.
976         (muse-publish-trim-table): New function to remove initial and
977         final blank columns from a table.
978         (muse-publish-table-fields): Call `muse-publish-trim-table'.  Deal
979         with horizontal separators, aka "hlines".
981         * lisp/muse-regexps.el (muse-table-hline-regexp): New regexp that
982         defines the syntax of a horizontal separator in a table.
984         * lisp/muse-texinfo.el (muse-texinfo-markup-table): Deal with
985         horizontal separators.  Publish header lines correctly.
987         * lisp/muse-xml-common.el (muse-xml-sort-table): Deal with case
988         where we have nonnumbers as a row type.  This ignores sorting for
989         hlines.
990         (muse-xml-markup-table): Deal with horizontal separators.  If the
991         markup supports table groups, make hlines separate table groups.
992         Otherwise, ignore them, since they cannot be marked up.  Together,
993         these changes allow us to support orgtbl-mode tables.  Thanks to
994         Carsten Dominik for the suggestion.
996 2007-05-26  Michael Olson  <mwolson@gnu.org>
998         * lisp/muse-project.el (muse-project-alist-styles): Allow for
999         other things to be added to each generated style as well.  For
1000         example, this permits me to add
1001         :base-url "http://blog.mwolson.org/"
1002         for my blog.
1004 2007-05-25  Michael Olson  <mwolson@gnu.org>
1006         * Makefile (debclean, debprepare, debbuild, debinstall, deb): New
1007         way of building Debian packages that preserves the original
1008         release tarball and is more modular.
1009         (debrevision, debrelease): Remove.
1010         (dist): No need to remove the debian/ directory, since it is now
1011         in its own branch.
1012         (debprepare): Copy over debian/ directory properly.
1014         * NEWS: Update.
1016         * examples/Makefile (clean): Remove QuickStart.texi, in case
1017         something went wrong during the build.
1018         (%.pdf): Publish the example using the normal pdf style, rather
1019         than info-pdf.
1021         * examples/QuickStart.muse: Add myself to the authors list.
1023         * lisp/muse-html.el (muse-html-src-tag): Ensure that we have
1024         sufficient blank lines before the tag.
1026         * lisp/muse-journal.el (muse-journal-latex-qotd-tag): Ensure that
1027         we have sufficient blank lines before the tag.
1029         * lisp/muse-latex.el (muse-latex-pdf-program): New option that
1030         specifies the program to call in order to generate PDF content
1031         from LaTeX content.
1032         (muse-latex-pdf-cruft): New option that specifies the extensions
1033         of files to remove after generating PDF output successfully.
1034         (muse-latex-pdf-generate): Use these new options.  Work around the
1035         annoying edge case where a tilde character exists in the filename
1036         or directory path -- now this can only error out when the relative
1037         path from the output file to the source file contains a tilde,
1038         which is far less likely.
1040         * lisp/muse-publish.el (muse-publish-markup-attribute): Don't use
1041         muse-publish-ensure-block here after all, because <lisp> et al may
1042         occur inline as part of other things.
1044         * lisp/muse-texinfo.el ("texi"): Make muse-texinfo-munge-buffer
1045         occur after full-document escaping, rather than before.  This
1046         prevents automatically-inserted Texinfo code from being escaped.
1047         (muse-texinfo-pdf-generate): Rewrite to call
1048         `muse-latex-pdf-generate' with pdftex as the generating binary,
1049         because texi2pdf suffers irredeemably from the tilde edge case
1050         mentioned above.
1052 2007-05-24  Michael Olson  <mwolson@gnu.org>
1054         * NEWS: Drop vague entries and position interesting entries closer
1055         to the top of each section.  Update for new changes.
1057         * lisp/muse-project.el (muse-project-ignore-regexp): Add Mercurial
1058         and bzr metadata directories to the list of things to ignore.
1060         * lisp/muse-publish.el (muse-publish-ensure-block): Rename from
1061         `muse-publish-ensure-block-tag', since we will use it for more
1062         than just tags.
1063         (muse-publish-markup-list, muse-publish-verse-tag)
1064         (muse-publish-quote-tag, muse-publish-example-tag)
1065         (muse-publish-markup-attribute): Use it.  This fixes a bug that
1066         can occur when these types of markup occur immediately after a
1067         paragraph.  It's good to have defined behavior!
1069         * texi/muse.texi (Markup Strings): Mention new argument for
1070         link-and-anchor.
1072 2007-05-19  Michael Olson  <mwolson@gnu.org>
1074         * lisp/muse-html.el (muse-html-markup-footnote): Add class tags to
1075         published footnotes and footnote references.  Thanks to Scott
1076         Jaderholm for the idea.
1078         * lisp/muse-latex.el (muse-latex-markup-strings): Revert change to
1079         link-and-anchor, on the recommendation of the original submitter.
1081 2007-05-14  Michael Olson  <mwolson@gnu.org>
1083         * lisp/muse-latex.el (muse-latex-markup-strings): Use better
1084         link-and-anchor markup.  Thanks to Jean Magnan de Bornier for the
1085         suggestion.
1087         * lisp/muse-publish.el (muse-publish-url): Pass the url without a
1088         file extension as the fourth argument.
1090         * README, texi/muse.texi (Getting Help and Reporting Bugs):
1091         Mention the new muse-el-logs mailing list.
1093 2007-05-13  Michael Olson  <mwolson@gnu.org>
1095         * lisp/muse-protocols.el (muse-resolve-url): Don't concatenate
1096         "\`" here.  This fixes a problem with publishing custom URLs.
1098 2007-05-12  Michael Olson  <mwolson@gnu.org>
1100         * lisp/muse-blosxom.el (muse-blosxom-update-page-date-alist): Only
1101         update the list if the current buffer is associated with a file.
1102         This fixes a bug with M-x muse-publish-region in a temporary
1103         buffer.
1105 2007-05-01  Michael Olson  <mwolson@gnu.org>
1107         * lisp/muse-publish.el (muse-publish-region): Remove read-only
1108         properties from the published buffer, so that the results can be
1109         manually tweaked.
1111 2007-04-23  Michael Olson  <mwolson@gnu.org>
1113         * lisp/muse-publish.el (muse-publish-markup-footnote): If we can't
1114         find the footnote that goes with a reference, leave the reference
1115         as-is.  This fixes an error where control characters could be
1116         placed in a published document.
1118 2007-04-22  Michael Olson  <mwolson@gnu.org>
1120         * IDEAS.muse: Add muse-slides.el to list of things to include
1121         before release.
1123         * lisp/muse-protocols.el (muse-url-protocols): Remove stray quote
1124         character.
1125         (muse-protocol-find): Find protocols correctly.  Rewrite to use
1126         catch/throw.
1127         (muse-browse-url): Don't concatenate "\`" here.  Together, this
1128         fixes a bug with browsing woman:// links.
1130         * lisp/muse-project.el (muse-project-alist-styles): Deal with case
1131         where entry-dir has a trailing backslash.
1132         (muse-project-publish-file): If a style is malformed, skip it and
1133         display a warning message.  This should help people figure out
1134         where the problem is.
1136 2007-04-21  Michael Olson  <mwolson@gnu.org>
1138         * lisp/muse-latex2png.el (muse-publish-math-tag): If using the
1139         yet-to-be-included "contex" publishing style, use "$$" rather
1140         than "\[" and "\]".  Thanks to Jean Magnan de Bornier for pointing
1141         this out.
1143 2007-04-20  Michael Olson  <mwolson@gnu.org>
1145         * lisp/muse-publish.el (muse-publish-inhibit-style-hooks): New
1146         variable that causes the :before and :before-end hooks to be
1147         ignored when non-nil.
1148         (muse-publish-markup-region): Use it.  Also, guarantee that point
1149         is at end of region after publishing.
1150         (muse-publish-mark-up-tag): Simplify, taking advantage of the new
1151         variable.
1153 2007-04-19  Michael Olson  <mwolson@gnu.org>
1155         * IDEAS.muse: New file containing a list of ideas we have for new
1156         features, or patches that have yet to be applied.
1158         * README: Call it "Emacs Muse", not "the Emacs Muse".  No need to
1159         be so confusing.
1161         * lisp/muse-html.el (muse-html-table-attributes): Fix typo in
1162         docstring.
1164         * lisp/muse-publish.el (muse-publish-markup-tags): Handle
1165         <literal> tags with muse-publish-literal-tag, rather than
1166         muse-publish-mark-read-only.
1167         (muse-publish-literal-tag): New function that publishes the
1168         <literal> tag.  It adds the ability to add the optional "style"
1169         and "exact" elements, which cause text to only be included if the
1170         current publishing style matches some criteria.  The text will be
1171         removed otherwise.  Thanks to Jim Ottaway for the implementation.
1172         (muse-publish-mark-up-tag): Let the <markup> tag take the
1173         additional optional elements "style" and "exact", with much the
1174         same effect as the <literal> improvements, but after calling
1175         "function" or publishing the region first.  Make it possible to
1176         put <content> tags in <markup> regions in HTML publishing.
1178 2007-04-12  Michael Olson  <mwolson@gnu.org>
1180         * lisp/muse-publish.el (muse-publish-markup-heading): Make sure
1181         that a blank line always exists after a heading.  This fixes a bug
1182         in Docbook paragraph detection.  Thanks to Jean Magnan de Bornier
1183         for the report.
1185         * lisp/muse-xml.el (muse-xml-markup-regexps): Update paragraph
1186         detection regexp to that which is used in Docbook and HTML
1187         publishing styles.
1189 2007-04-02  Michael Olson  <mwolson@gnu.org>
1191         * README (muse-el-announce): Make a listing of mailing lists,
1192         rather than pointing to the old EmacsWikiMailingList page.  Thanks
1193         to Andreas Roehler for noticing.
1195 2007-04-01  Michael Olson  <mwolson@gnu.org>
1197         * lisp/muse-publish.el (muse-publish-date-format): Add
1198 `       customization type and group.
1199         (muse-publish-region): New interactive function that publishes a
1200         region to a new buffer.
1202         * texi/muse.texi: Use "document" rather than "manual".
1204 2007-03-31  Michael Olson  <mwolson@gnu.org>
1206         * lisp/muse-publish.el (muse-style-derived-p): Fix bug where the
1207         expression (muse-style-derived-p "latex" (muse-style "latex"))
1208         yielded nil.  It now yields t, as expected.  Thanks to Jim Ottaway
1209         for the catch.
1211 2007-02-25  Michael Olson  <mwolson@gnu.org>
1213         * lisp/muse-publish.el (muse-publish-date-format): New option that
1214         specifies how to format the date when publishing Muse pages.
1215         Thanks to Thomas Gehrlein for the suggestion.
1216         (muse-publish-markup-buffer): Use it.
1218 2007-02-23  Michael Olson  <mwolson@gnu.org>
1220         * README: Add Prerequisites section to mention which versions of
1221         Emacs work with Muse.  Thanks to Exal de Jesus Garcia Carrillo for
1222         the suggestion.  Update link destination for Muse's page on
1223         emacswiki.org.
1225 2007-02-15  Michael Olson  <mwolson@gnu.org>
1227         * lisp/muse.el (muse-goto-tag-end): Modify regexp to allow tags to
1228         be not just at beginning of line.  This fixes an error with the
1229         <class> tag.  Thanks to Jim Pivarski for the report.
1231 2007-02-14  Michael Olson  <mwolson@gnu.org>
1233         * lisp/muse-publish.el (muse-publish-classify-url): Check to see
1234         whether something is an image before checking to see if it is a
1235         URL.  Thanks to ITSUMI ken-ichi for the report.
1237 2007-02-13  Michael Olson  <mwolson@gnu.org>
1239         * lisp/muse-publish.el (muse-publish-markup-regexps): Handle
1240         comments that have no text better.  Thanks to fang.lungang for the
1241         report.
1242         (muse-publish-markup-comment): Deal with case where no comment
1243         text is provided.
1245 2007-01-23  Michael Olson  <mwolson@gnu.org>
1247         * lisp/muse-publish.el (muse-publish-ensure-block-tag): New macro
1248         that ensures that at least one blank line exists at the given
1249         position.  This is used to avoid paragraph detection problems when
1250         block-level tags like <example> immediately follow a paragraph.
1251         Thanks to Hans Ekbrand for the report.
1252         (muse-publish-example-tag): Use it.
1254 2007-01-19  Michael Olson  <mwolson@gnu.org>
1256         * lisp/muse-latex2png.el (muse-publish-math-tag): Only remove the
1257         previous blank line if we are publishing in Latex.  Otherwise,
1258         that wouldn't be the right thing, so leave it be.
1260 2007-01-17  Michael Olson  <mwolson@gnu.org>
1262         * lisp/muse-latex2png.el (muse-publish-math-tag): Don't put
1263         multiple centered math lines on the same line; keep them on
1264         different lines.  Use \[ math-text \] instead of $$math-text$$,
1265         since the latter seems to be deprecated.  Thanks to Jody Klymak
1266         for the pointer.
1268 2007-01-15  Michael Olson  <mwolson@gnu.org>
1270         * lisp/muse-latex2png.el (muse-publish-latex-tag)
1271         (muse-publish-math-tag): Publish region read-only when current
1272         style is Latex-derived, so that Muse does not escape it.
1273         (muse-publish-math-tag): If 6 or more spaces come before the tag,
1274         surround the region with "$$" rather than "$".  This is the Muse
1275         syntax for something centered, so it should be a good fit.
1277 2007-01-15  Valery V. Vorotyntsev  <valery.vv@gmail.com>
1279         * lisp/muse-protocols.el (muse-url-protocols): Add "woman://"
1280         protocol.
1281         (muse-browse-url-man): Change man page URL format.  The code is
1282         simpler when the section is left inside parentheses.
1283         (muse-browse-url-woman): New function.
1285 2007-01-14  Michael Olson  <mwolson@gnu.org>
1287         * AUTHORS: Bookkeeping.
1289         * lisp/muse-latex2png.el: Associate <math> tag with
1290         muse-publish-math-tag, not muse-publish-latex-tag.  Thanks to Jody
1291         Klymak for the report.
1292         (muse-publish-math-tag): Use muse-insert-markup for the "$"
1293         characters, so they don't get escaped.
1295         * lisp/muse-publish.el (muse-style-derived-p-1): New function to
1296         make muse-style-derived-p easier to implement.
1297         (muse-style-derived-p): If the style is not provided, fetch it and
1298         check to see if the car is a string.  This should fix the other
1299         problem that was reported.
1301         * texi/muse.texi (Projects): Apply patch from Bradley M. Kuhn that
1302         explains a case where setting muse-file-extension to nil can cause
1303         unexpected behavior.
1305 2007-01-09  Michael Olson  <mwolson@gnu.org>
1307         * lisp/muse-publish.el (muse-publish-markup-regexps): Make
1308         comments higher priority than tags.  Thanks to Stefan van der Walt
1309         for the report.
1311 2007-01-08  Michael Olson  <mwolson@gnu.org>
1313         * lisp/muse-publish.el (muse-markup-tag-info): Use the given
1314         argument rather than calling match-string.  Thanks to Stefan van
1315         der Walt for the report.  This should fix a bug with publishing
1316         <include file="..." markup="example">.
1318 2007-01-06  Michael Olson  <mwolson@gnu.org>
1320         * Makefile (debclean): New rule split from debrevision and
1321         debrelease.
1322         (debbuild): Take distributor into account.
1324         * Makefile.defs (DISTRIBUTOR): New field that tracks what
1325         vendor/distributor we are building for.
1327 2007-01-04  Michael Olson  <mwolson@gnu.org>
1329         * lisp/muse-html.el (muse-html-src-tag): Remove initial blank
1330         line.
1332         * lisp/muse-publish.el (muse-publish-markup-tags): Make "src"
1333         point to muse-publish-src-tag by default, since <src> and
1334         <example> have different parameters.
1335         (muse-publish-src-tag): New barebones publishing function for
1336         <src>, which is superseded when publishing in an HTML-based style.
1338 2007-01-03  Michael Olson  <mwolson@gnu.org>
1340         * lisp/muse-html.el (muse-html-src-tag): Document.
1342         * lisp/muse-publish.el (muse-publish-call-tag-on-buffer): New
1343         command that calls a given tag on the current buffer.  Attributes
1344         may be passed.
1345         (muse-publish-examplify-buffer, muse-publish-versify-buffer): Use
1346         it.
1347         (muse-publish-srcify-buffer): New function that allows
1348         markup="src" in the <include> tag.
1349         (muse-publish-get-and-delete-attr): New macro that gets an
1350         attribute from a list and removes the first instance of that
1351         attribute from said list.
1352         (muse-publish-markup-attribute): Handle markup="src".
1353         (muse-publish-command-tag, muse-publish-include-tag): Use
1354         muse-publish-get-and-delete-attr.  This allows the remaining
1355         attributes to be passed.
1357         * texi/muse.texi (Tag Summary): Update for new <src> tag as well
1358         as changes to <command> and <include>.
1360 2006-12-30  Michael Olson  <mwolson@gnu.org>
1362         * NEWS: Update.
1364         * experimental/muse-mathml.el (muse-publish-mathml-tag): Rename
1365         from muse-publish-math-tag to avoid conflict with
1366         muse-latex2png.el.
1368 2006-12-23  Michael Olson  <mwolson@gnu.org>
1370         * lisp/muse-latex2png.el: Update header, since this has been
1371         rewritten sufficiently to not need an assignment from the original
1372         author.
1373         (muse-latex2png-use-xhtml): Remove, since we now autodetect this.
1374         (muse-latex2png): Use two underscores to separate prefix and hash.
1375         (muse-latex2png-region): New function split from
1376         muse-publish-latex-tag that can be used easily by other code.
1377         Detect whether we are using an HTML-based publishing style, and
1378         insert a simpler markup if we are not.  If we are using a
1379         Latex-based publishing style, do not generate an image, and leave
1380         the region alone.  Return the path of the generated image, in case
1381         other functions want to use this programmatically.
1382         (muse-publish-latex-tag): Set a default prefix based on the name
1383         of the current file.
1384         (muse-publish-math-tag): New tag that surrounds the region with
1385         "$" characters, so that it becomes a Latex math region, and then
1386         publishes it.
1388         * lisp/muse-publish.el (muse-style-derived-p): New function that
1389         returns non-nil if a given style, or the current style if omitted,
1390         is equal to or derived from the given base style.  This is useful
1391         in <lisp> tags, because it allows the user to specify markup that
1392         is only to be inserted for one particular style.
1394 2006-12-22  Michael Olson  <mwolson@gnu.org>
1396         * lisp/muse-html.el (muse-html-markup-tags): Add <src> tag.
1397         (muse-html-src-tag): New function which publishes the <src> tag.
1398         Thanks to Clinton Ebadi and Charles Wang for the initial
1399         implementations.
1401         * lisp/muse-publish.el (muse-publish-markup-tags): Add <src> tag.
1403 2006-12-21  Michael Olson  <mwolson@gnu.org>
1405         * examples/johnw/muse-johnw.el: Update for preferred
1406         muse-derive-style usage.  Rename to muse-init.el.
1408         * examples/mwolson/muse-init.el: Update.
1410         * lisp/muse-book.el (muse-book-publish): New function split from
1411         muse-book-publish-project.  This is used in the definitions for
1412         the book-latex and book-pdf styles.
1413         (muse-book-publish-p): New function split from muse-book-publish.
1414         (muse-book-get-directives): New function that retrieves the
1415         publishing directives from the given file.
1416         (muse-book-publish): Use muse-book-get-directives to set the title
1417         if no title was specified.
1419         * lisp/muse-project.el (muse-project): Add :publish-project entry
1420         to widget.
1421         (muse-read-project, muse-project-find-file): Message fix.
1422         (muse-project-publish-file-default): New function split from
1423         muse-project-publish-file.
1424         (muse-project-publish-file): Allow file-level publishing function
1425         to be specified by the :publish element.  The default is
1426         muse-project-publish-file-default.
1427         (muse-project-publish-default): New function split from
1428         muse-project-publish.
1429         (muse-project-publish): Allow project-level publishing function to
1430         be specified by :publish-project element.  The default is
1431         muse-project-publish-default.
1433         * lisp/muse-publish.el (muse-publish-file): Message fix.
1435         * texi/muse.texi (Book): Mention new way to publish books and
1436         provide an example, since the process may be non-obvious.
1438 2006-12-20  Michael Olson  <mwolson@gnu.org>
1440         * lisp/muse-docbook.el (muse-docbook-munge-buffer): Split out
1441         content-modifying code from the rest of
1442         muse-docbook-finalize-buffer.
1444         * lisp/muse-groff.el (muse-groff-munge-buffer): Rename from
1445         muse-groff-finalize-buffer, since it adds content to the buffer.
1447         * lisp/muse-html.el (muse-html-munge-buffer): Split out
1448         content-modifying code from the rest of muse-html-finalize-buffer.
1449         This fixes a bug when using <include> with <content> tags.
1451         * lisp/muse-journal.el (muse-journal-html-munge-buffer)
1452         (muse-journal-latex-munge-buffer)
1453         (muse-journal-rss-munge-buffer): Rename, since they add content to
1454         the buffer.
1456         * lisp/muse-latex.el (muse-latex-munge-buffer): Rename from
1457         muse-latex-finalize-buffer, since it adds content to the buffer.
1459         * lisp/muse-mode.el:
1460         * lisp/muse-project.el:
1461         * lisp/muse-publish.el:
1462         * lisp/muse.el: Fix recursive load error.
1464         * lisp/muse-texinfo.el (muse-texinfo-munge-buffer): Rename from
1465         muse-texinfo-finalize-buffer, since it adds content to the buffer.
1467         * lisp/muse-wiki.el: Comment cleanup.
1469         * lisp/muse-xml.el (muse-xml-charset-default): Docfix.
1471 2006-12-17  Michael Olson  <mwolson@gnu.org>
1473         * lisp/muse-latex.el (muse-latex-header, muse-latexcjk-header):
1474         Remove the definition of \comment, since Latex already has comment
1475         syntax.
1476         (muse-latex-markup-strings): Use the Latex comment syntax, rather
1477         than our own.  Thanks to Ryan Stutsman for pointing this out.
1479 2006-12-02  Michael Olson  <mwolson@gnu.org>
1481         * lisp/muse-html.el (muse-html-insert-contents): Tweak regexp so
1482         that this can generate a proper table of contents for Planner HTML
1483         publishing.
1485 2006-12-01  Michael Olson  <mwolson@gnu.org>
1487         * lisp/muse.el (muse-replace-regexp-in-string): In case someone is
1488         using a very old Emacs, avoid an infinite loop that could occur
1489         when the regexp is an empty string.
1491 2006-11-26  Michael Olson  <mwolson@gnu.org>
1493         * NEWS: Bring up to date.
1495         * lisp/muse-docbook.el (muse-docbook-markup-paragraph): Fix nested
1496         list issues and multiple-stanza verse issues.  This takes care of
1497         all of the markup issues I was worried about.
1499         * lisp/muse-project.el (muse-project-ignore-regexp): Minor docfix.
1500         (muse-project-publish-private-files): New option that indicates
1501         whether files with private filesystem permissions should be
1502         published.  The default is to publish them, since it avoids
1503         confusion in new users.
1504         (muse-project-private-p): Use it.
1506 2006-11-19  Michael Olson  <mwolson@gnu.org>
1508         * lisp/muse-project.el (muse-project-resolve-link): If no remote
1509         style is found, which means that the link is not a Muse page, do
1510         not add a suffix or prefix to it.  This should fix the
1511         "[[thing.owl]]" bug that Phillip Lord reported.
1513         * lisp/muse-publish.el (muse-publish-link-file): Simplify by
1514         removing unused 2nd argument.
1516 2006-11-17  Michael Olson  <mwolson@gnu.org>
1518         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug in
1519         latex publishing where nested enumerated lists would be squashed
1520         together at the end.
1522 2006-11-16  Michael Olson  <mwolson@gnu.org>
1524         * lisp/muse-latex.el (muse-latex-markup-strings): Make an ordered
1525         list embedded in a definition list look right.  This also allows
1526         for definitions to be separated from their terms, much like the
1527         way HTML does it by default, if the user puts a blank line or a
1528         line break between the term and the definition.  If the term and
1529         definition are on the same line, they will be that way in the
1530         output as well.
1532 2006-11-11  Michael Olson  <mwolson@gnu.org>
1534         * muse.texi (Markup Strings): Fix typo.  Thanks to Haiyong Zheng
1535         for the report.
1536         (Getting Help and Reporting Bugs): Fix emacswiki.org page URL.
1538 2006-11-07  Michael Olson  <mwolson@gnu.org>
1540         * lisp/muse.el (muse-version): Make Emacs Muse 3.02.93, the third
1541         release candidate for Muse 3.03, available.
1543         * NEWS: Update.
1545 2006-11-06  Michael Olson  <mwolson@gnu.org>
1547         * lisp/muse-project.el (muse-project-find-file): Fix bug when
1548         following a relative link worked even when the path was incorrect.
1550 2006-11-04  John Sullivan  <john@wjsullivan.net>
1552         * lisp/muse-mode.el (muse-mode-map): Remove C-c C-c binding for
1553         muse-follow-name-at-point to reduce collisions with other
1554         modes (Planner).
1556         * muse.texi (Keystroke Summary): Remove C-c C-c binding.
1558 2006-11-04  Michael Olson  <mwolson@gnu.org>
1560         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Make page
1561         optional, and make interwiki delimiter a regular rather than shy
1562         group.
1563         (muse-wiki-handle-implicit-interwiki): Rename from
1564         muse-wiki-handle-interwiki.  Use match group 3 to get the page.
1565         (muse-wiki-handle-explicit-interwiki): New function that is
1566         smarter about where an explicit link ends in a buffer.  This
1567         allows you to refer to page names with invalid Wiki characters,
1568         such as underscores and dashes, merely by enclosing them in double
1569         brackets.  Also, a bug with recognizing project names too loosely
1570         has been fixed.
1572 2006-11-03  Michael Olson  <mwolson@gnu.org>
1574         * lisp/muse-project.el (muse-project-page-file): Make relative
1575         links work as expected, hopefully.
1577         * lisp/muse-publish.el (muse-publish-this-file): Set the current
1578         output style manually, since it will differ from anything in the
1579         publishing style list.
1581 2006-10-30  Michael Olson  <mwolson@gnu.org>
1583         * lisp/muse-colors.el (muse-colors-markup): Remove note about
1584         grouping elements, since that no longer applies.
1585         (muse-colors-custom-tags): Explicitly match against
1586         muse-tag-regexp to get the match-data set the way we want.  This
1587         really fixes the <example> highlighting bug that Stefan reported.
1588         (muse-configure-highlighting): Set the original value to the
1589         symbol, not the modified value.  Re-use modified rules properly.
1591         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Fix bug
1592         introduced yesterday.
1594 2006-10-29  Michael Olson  <mwolson@gnu.org>
1596         * examples/mwolson: Update my example configuration.
1598         * NEWS: Update.
1600         * lisp/muse-colors.el (muse-configure-highlighting): Remove rules
1601         without a regexp in the first position before iterating through
1602         them to build muse-colors-vector.  This fixes a bug with the
1603         display of <example> tags.  Thanks to Stefan Reichör for the
1604         report.
1606         * lisp/muse-project.el (muse-project-find-file): Permit non-Muse
1607         files in projects to be linked to.
1609         * lisp/muse-publish.el (muse-publish-url): Allow the original link
1610         to serve as a description for a URL, as long as it differs from
1611         the destination URL.  This fixes the description of WikPage links
1612         in PDF output.
1613         (muse-publish-link-file): Check to see whether the given link
1614         points at a valid file.  If so, return it.  Otherwise, apply other
1615         transforms like prefix and link suffix.
1617         * lisp/muse-regexps.el (muse-file-regexp): If something ends in
1618         "/", it is a file or directory, not a Muse page.  Thanks to
1619         Phillip Lord for the suggestion.
1621         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Use the path
1622         of the current page as the local path, instead of duplicating the
1623         remote file's path.  This probably fixes at least one reported
1624         bug. since it's quite major.
1625         (muse-wiki-update-project-file-regexp)
1626         (muse-wiki-update-interwiki-regexp): Ensure that nil is never
1627         passed to regexp-opt, since that can cause Emacs 21 to throw an
1628         "maximum binding depth exceeded" error.  Thanks to xs32 AT cornell
1629         DOT edu for the report.
1630         (muse-wiki-handle-wikiword): Avoid a potential stringp error.
1632 2006-10-28  Michael Olson  <mwolson@gnu.org>
1634         * lisp/muse-project.el (muse-project-choose-style-by-link-suffix)
1635         (muse-project-resolve-link): If the given style does not have a
1636         link-suffix, default to suffix.  This fixes a bug I was noticing
1637         when linking to a file that was published in both PDF and HTML
1638         form.
1640         * lisp/muse-publish.el (muse-publish-determine-dl-indent): New
1641         function that is used as a callback to determine the initial
1642         amount of indentation that the current dl item has.
1643         (muse-publish-surround-dl): Use it.  Pass the initial indent value
1644         and the post-indent value, instead of trying to determine them
1645         both.
1646         (muse-publish-strip-list-indentation): New function stripped from
1647         `muse-publish-surround-text' for readability.
1648         (muse-publish-surround-text): Instead of taking a determine-indent
1649         value, take a determine-indent-func function, which is called just
1650         after finding the next list item.  If we are asked to determine
1651         the amount of indentation, concatenate indent and post-indent the
1652         first time around.  This effectively fixes all known definition
1653         list issues.
1655 2006-10-16  Michael Olson  <mwolson@gnu.org>
1657         * lisp/muse.el: Provide the 'muse-nested-tags feature so that
1658         other software -- namely, Planner -- can detect whether they are
1659         using a version of Muse that supports nested tags.
1660         (muse-goto-tag-end): Moved from muse-publish.el and renamed from
1661         muse-publish-goto-tag-end.
1663         * lisp/muse-colors.el (muse-colors-tags, muse-colors-custom-tags):
1664         Adapt for nested tags.
1666         * lisp/muse-html.el (muse-html-markup-tags): Indicate that the
1667         <class> tag is nestable.  Thanks to Phillip Lord for noticing
1668         this.
1670         * lisp/muse-publish.el (muse-publish-markup-tag)
1671         (muse-publish-quote-tag): Use muse-goto-tag-end.
1673         * lisp/muse-wiki.el ("muse-colors"): Adapt for nested tags.
1675 2006-10-15  Michael Olson  <mwolson@gnu.org>
1677         * AUTHORS: Bookkeeping.
1679         * lisp/muse-blosxom.el (muse-blosxom-header): Indent code in lisp
1680         tag.
1682         * lisp/muse-groff.el (muse-groff-markup-tags): Adapt for nested
1683         tags.
1685         * lisp/muse-html.el (muse-html-markup-tags): Ditto.
1687         * lisp/muse-import-docbook.el (muse-import-docbook)
1688         (muse-import-docbook-files): Docfix.
1689         (muse-import-docbook-get-title): Remove cl.el-ism.
1691         * lisp/muse-import-xml.el (muse-import-xml): Fix compiler warning.
1693         * lisp/muse-journal.el (muse-journal-latex-markup-tags): Ditto.
1695         * lisp/muse-latex2png.el (muse-publish-markup-tags): Ditto.
1697         * lisp/muse-mode.el (muse-previous-reference): Minor docfix.
1698         (muse-next-reference, muse-previous-reference): Minor whitespace
1699         changes.
1700         (muse-mode-choose-mode): Add autoload cookie.  Thanks to Leo for
1701         the suggestion.
1703         * lisp/muse-poem.el (muse-poem-tag): Ditto.
1705         * lisp/muse-publish.el (muse-publish-markup-tags)
1706         (muse-publish-markup-header-footer-tags): Shift 4th element to 5th
1707         element and make 4th element determine whether tags are nestable.
1708         (muse-publish-goto-tag-end): New function that moves to the end of
1709         a tag.  Handle nested tags when NESTED is non-nil.
1710         (muse-publish-markup-tag): Call muse-publish-goto-tag-end.  Use
1711         5th element for function.
1712         (muse-publish-quote-tag): Handle nested quote tags.  I've tested
1713         this on several scenarios, and it seems to work.
1714         (muse-publish-surround-text): Accept new optional argument
1715         LIST-ITEM which determines the regexp to use for list items.  The
1716         default is to use muse-list-item-regexp.
1718         * muse.texi (Markup Tags): Mention nestable tags.
1720         * NEWS: Mention new files.
1722 2006-10-15  Elena Pomohaci  <e.pomohaci@gmail.com>
1724         * lisp/muse-import-docbook.el: New file that converts Docbook XML
1725         into Muse format.
1727         * lisp/muse-import-xml.el: New file that provides helper routines
1728         for converting XML-ish files to Muse format.
1730 2006-10-10  Michael Olson  <mwolson@gnu.org>
1732         * NEWS: Update for 3.02.7 bugfix release.
1734 2006-10-06  Sasha Kovar  <sasha@arcocene.org>
1736         * lisp/muse-blosxom.el (muse-blosxom-header): Insert the date
1737         using the value in the muse #date directive.
1738         (muse-blosxom-use-metadate): New option that determines whether or
1739         not to use the #postdate directive.
1740         (muse-blosxom-format-date): Convert a date string to PyBlosxom
1741         metadate plugin format.
1743 2006-09-30  Stefan Schlee  <stefan_schlee@yahoo.com>
1745         * lisp/muse-protocols.el: Fix bug #6741: Exclude colon in
1746         recognised URLs.
1748         * muse.texi: Clarify handling of implicit links by mentioning
1749         which characters can prevent Muse from recognizing something as an
1750         implicit link.
1752 2006-09-26  Stefan Schlee  <stefan_schlee@yahoo.com>
1754         * lisp/muse-mode.el (muse-next-reference)
1755         (muse-previous-reference): Fix bug #6367 by moving point to the
1756         beginning of the link.
1758 2006-09-26  Michael Olson  <mwolson@gnu.org>
1760         * lisp/muse-colors.el (muse-use-font-lock): Don't quote
1761         beginning-of-line.  This should fix a bug that was noticed in
1762         recent Emacs 22 builds.
1764         * lisp/muse-backlink.el: Wrap muse-backlink-split-string in an
1765         eval-and-compile block to avoid a compiler warning.
1767 2006-09-25  Jim Ottaway  <j.ottaway@lse.ac.uk>
1769         * lisp/muse-backlink.el (muse-backlink-split-string):
1770         Compatibility with Emacs versions < 22
1771         (muse-backlink-pending): New internal variable
1772         (muse-backlink-get-mode-hook): Find the major mode hook to use, so
1773         that backlinks are inserted at the right time.
1774         (muse-backlink-insert-hook-func): Remove unwind-protection; check
1775         for pending backlink, and that this is the targe page.
1776         (muse-backlink-handle-link): Don’t handle the link if we are
1777         already handling one. Return the link as well as the parent links.
1779 2006-09-25  Sasha Kovar  <sasha@arcocene.org>
1781         * lisp/muse-blosxom.el (muse-blosxom-new-entry): : Fix for bug
1782         #6942 - muse-blosxom-new-entry fails when using tags.
1784 2006-09-14  Michael Olson  <mwolson@gnu.org>
1786         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): Silence
1787         compiler warning.
1789 2006-09-14  Jim Ottaway  <j.ottaway@lse.ac.uk>
1791         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): New
1792         function: Protect all wikiwords from START to END from further
1793         processing.
1794         (muse-texinfo-markup-heading): Use muse-texinfo-protect-wikiwords.
1796 2006-09-13  Michael Olson  <mwolson@gnu.org>
1798         * lisp/muse-texinfo.el (muse-texinfo-markup-heading): New function
1799         adopted from Jim Ottaway's patch.  It removes links from the
1800         heading, and then marks the region read-only to inhibit WikiWord
1801         detection.
1803 2006-09-13  Jim Ottaway  <j.ottaway@lse.ac.uk>
1805         * lisp/muse-texinfo.el (muse-texinfo-markup-functions): Add
1806         special handling for headings.
1807         (muse-texinfo-remove-links): New function that removes explicit
1808         links from the given strings, replacing them with a description.
1810 2006-09-11  Michael Olson  <mwolson@gnu.org>
1812         * muse.texi (Getting Help and Reporting Bugs): Mention the
1813         muse-el-internationalization mailing list.
1815         * lisp/muse.el (muse-path-sans-extension): New function that acts
1816         like file-name-sans-extension, but guarantees to never modify the
1817         directory part of the path.  Thanks to Evan Monroig for
1818         investigating this.
1820         * lisp/muse-book.el (muse-book-publish-project): Use
1821         muse-path-sans-extension instead of file-name-sans-extension.
1823         * lisp/muse-publish.el (muse-publish-file, muse-publish-url):
1824         Ditto.
1826 2006-08-30  Michael Olson  <mwolson@gnu.org>
1828         * muse.texi (Blosxom Requirements): Fix typo.
1830         * contrib/pyblosxom/getstamps.py (recurse): Ignore metadata
1831         directories for bzr and darcs.
1833         * contrib/pyblosxom/make-blog, contrib/pyblosxom/hardcodedates.py:
1834         contrib/pyblosxom/getstamps.py: Update version and headers.
1836 2006-08-27  Michael Olson  <mwolson@gnu.org>
1838         * lisp/muse-colors.el (muse-configure-highlighting): Prune out any
1839         nil values before they get to mapconcat.  This fixes a lockup when
1840         muse-wiki-match-all-project-files is nil.
1842         * lisp/muse-wiki.el (muse-wiki-match-all-project-files)
1843         (muse-wiki-ignore-implicit-links-to-current-page)
1844         (muse-wiki-interwiki-regexp, muse-wiki-interwiki-alist)
1845         (muse-wiki-resolve-project-page, muse-wiki-handle-interwiki)
1846         (muse-wiki-publish-small-title-words)
1847         (muse-wiki-publish-pretty-title): Docfix.
1848         (muse-wiki-update-local-wikiword-regexp): Rename from
1849         muse-wiki-update-local-wikiword-regexp.  Set
1850         muse-wiki-project-file-regexp instead of
1851         muse-wiki-wikiword-regexp, as suggested by Per Sederberg.  Don't
1852         take muse-wiki-use-wikiword into account, since this is a
1853         different concept now.
1854         (muse-wiki-update-wikiword-regexp): Remove.
1855         (muse-wiki-wikiword-regexp): In-line the :set function.
1856         (muse-wiki-handle-wikiword): Use muse-wiki-project-file-regexp.
1858 2006-08-26  Michael Olson  <mwolson@gnu.org>
1860         * lisp/muse-publish.el (muse-publish-surround-text): When looking
1861         for indented list items, ignore blank lines.
1863         * lisp/muse-wiki.el (muse-wiki-update-local-wikiword-regexp)
1864         (muse-wiki-update-interwiki-regexp): Use regexp-opt instead of
1865         mapconcat.  This should hopefully fix a problem with large amounts
1866         of files with spaces in their name.  Thanks to Greg Detre for the
1867         report.
1869 2006-08-24  Michael Olson  <mwolson@gnu.org>
1871         * lisp/muse-blosxom.el (muse-blosxom-new-entry): Remove the
1872         numbers from the argument to format-time-string.  This fixes an
1873         XEmacs bug.  Thanks to Michael Welle for the report and analysis.
1875 2006-08-18  Michael Olson  <mwolson@gnu.org>
1877         * lisp/muse-project.el (muse-project-file-entries): Since we are
1878         given a full path, match against the filename as well.  This fixes
1879         an issue where backup files were being added to the file alist.
1881         * lisp/muse-docbook.el (muse-docbook-markup-regexps): Apply a fix
1882         from muse-html.el.
1884 2006-08-12  Michael Olson  <mwolson@gnu.org>
1886         * Makefile (.PHONY): Don't use line continuations.
1887         (realclean fullclean): Call realclean in subdirs, not distclean.
1888         (distclean): Don't call realclean, since this would wipe out our
1889         autoloads file.
1890         (dist): Use correct path to autoloads file.
1892         * NEWS: Catch up with the latest changes.
1894         * experimental/Makefile (.PHONY): Wrap long line.
1896         * lisp/Makefile (distclean): Do the same thing as "clean", not
1897         "realclean".
1899         * lisp/muse-project.el (muse-project-get-applicable-style):
1900         Indentation tweak.
1901         (muse-project-ignore-regexp, muse-project-recurse-directory):
1902         Docfix.
1903         (muse-project-of-file): Try the ignored files regexp against the
1904         base filename as well as the entire path.
1906         * lisp/muse-publish.el (muse-publish-this-file): Display message
1907         if the buffer is not associated with any file, so that we avoid
1908         errors later on.
1909         (muse-publish-url-desc): New function taken from muse-publish-url
1910         that causes a URL description to be transformed.
1911         (muse-publish-url): Call muse-publish-url-desc on either the
1912         description or the original URL if it will be used as a
1913         description.  Accept the original URL as an argument, in case it
1914         was transformed earlier.
1915         (muse-publish-insert-url): Pass original URL as an argument.
1916         (muse-publish-markup-link): Make this somewhat easier to follow.
1917         Pass original URL as argument.
1918         (muse-publish-get-style): If the same style is used to publish to
1919         two different directories, prompt the user for which directory to
1920         use.
1921         (muse-publish-markup-header-footer-tags): Sync lisp tag with the
1922         latest changes.
1923         (muse-publish-markup-url): Pass original URL as an argument.  This
1924         fixes the "nil" description for bare URLs that was in 3.02.91.
1925         Nothing like finding a bug just after completing the announcement
1926         of a release.
1928         * lisp/muse.el: Use defalias whenever convenient.
1929         (muse-version): Set version to 3.02.92 (3.03 RC2).
1931 2006-08-10  Michael Olson  <mwolson@gnu.org>
1933         * lisp/muse-html.el (muse-html-finalize-buffer): Since the html
1934         style does not derive from any other class, return `t' here.
1935         This, along with the corresponding change to muse-publish.el,
1936         fixes a problem with the table of contents getting inserted
1937         multiple times for custom html-based styles.
1938         (muse-html-markup-strings, muse-xhtml-markup-strings): Use a
1939         smarter method for table centering that works with XHTML.
1941         * lisp/muse-latex2png.el Rename all functions to have a
1942         "muse-latex2png" prefix.  Turn all variables into customizable
1943         options in the muse-latex2png group.
1944         (muse-latex2png-img-dest): New option specifying where to place
1945         the images.
1946         (muse-latex2png-template): New option containing the template to
1947         use for the surrounding LaTeX code.
1948         (muse-latex2png-use-xhtml): New option that toggles strict XHTML
1949         compliance.
1950         (muse-latex2png-move2pubdir): Avoid multiple redundant error
1951         messages when something else goes wrong.  Create the image
1952         subdirectory if it doesn't exist already -- thanks to Christian
1953         Straßer for the report.  Expand the filename properly.
1954         (muse-publish-latex-tag, muse-latex2png): Ditto on error messages
1955         and filename expansion.
1956         (muse-latex2png): Use the "muse-latex2png" prefix by default.  Set
1957         the default directory properly.
1959         * lisp/muse-publish.el (muse-style-run-hooks): Make sure that we
1960         do not run the same function twice.
1962 2006-08-08  Michael Olson  <mwolson@gnu.org>
1964         * lisp/muse-colors.el (muse-colors-explicit-link): Fix recently
1965         introduced wrong-type-argument error.
1967         * lisp/muse-html.el (muse-html-markup-strings)
1968         (muse-xhtml-markup-string): Cause table definition that contains
1969         image to be center-aligned.  This should fix an issue with images
1970         not being centered when captions are very long.
1972         * lisp/muse-publish.el (muse-publish-table-fields): Trim
1973         whitespace from fields once we have split them up.
1975         * lisp/muse.el (muse-trim-whitespace): New function that strips
1976         leading and trailing whitespace from a string.
1978 2006-08-07  Michael Olson  <mwolson@gnu.org>
1980         * NEWS: Update through patch-95.
1982         * lisp/muse-colors.el (muse-colors-lisp-tag): Use a simpler regexp
1983         to match the tags.
1984         (muse-colors-explicit-link): Show images in link descriptions if
1985         inlined images are enabled.
1987         * lisp/muse-docbook.el (muse-docbook-markup-strings): Add
1988         definitions for 'image-with-desc, 'image, and 'image-link.
1989         (muse-docbook-markup-paragraph): If an inlined image begins a
1990         paragraph, insert <para> before it.
1991         (muse-docbook-fixup-images): New function that upper-cases the
1992         "format" attribute of the <imagedata> tag.
1993         (muse-docbook-finalize-buffer): Call it.
1995         * lisp/muse-html.el (muse-html-markup-strings): Publish images
1996         with descriptions as centered tables, with a centered caption
1997         underneath.  The resulting look is consistent with the way that
1998         they are published in the LaTeX style.  Thanks to Jody Klymak for
1999         the suggestion.
2000         (muse-xhtml-markup-strings): Ditto, but XHTML apparently has no
2001         valid way to center a table.
2002         (muse-html-markup-paragraph): Use class="image" instead of
2003         "image-link" for paragraphs that start with an embedded image.
2005         * lisp/muse-latex.el (muse-latex-markup-specials-url): Use
2006         \textbackslash{} for "\".  Thanks to Jim Ottaway for the
2007         suggestion.
2008         (muse-latex-markup-specials-image): New option that enables
2009         escaping of specials in images.  This was split from the URL
2010         specials.
2011         (muse-latex-decide-specials): Handle 'image context.
2012         (muse-latex-fixup-dquotes): Go to beginning of document, instead
2013         of relying on caller to do this for us.
2015         * lisp/muse-publish.el (muse-publish-escape-specials): Document
2016         'image context.
2017         (muse-publish-url): Use 'image context for images.  Use 'image
2018         instead of 'image-link and 'image-link in place of
2019         'url-with-image.  Separate the image file from its extension so
2020         that docbook and texinfo can publish images correctly.
2021         (muse-publish-markup-link): Don't force a description if one is
2022         not given.  This fixes a bug where images without descriptions
2023         were being published as 'image-with-desc instead of 'image.
2025         * lisp/muse-texinfo.el (muse-texinfo-decide-specials): Treat
2026         images the same as URLs.
2027         (muse-texinfo-markup-strings): Improve image markup to achieve an
2028         effect similar to that of the LaTeX publishing style.  Simplify
2029         'url string.
2031         * lisp/muse-xml-common.el (muse-xml-decide-specials): Ditto.
2033         * lisp/muse.el (muse-replace-regexp-in-string): Save match data
2034         when we have to use the custom version of this function.
2036         * muse.texi (Images): Explain how to toggle inlining of images and
2037         give better examples.  Mention captions and that captioned images
2038         should not be used inside of text paragraphs.
2039         (Markup Strings): Bring up-to-date with the changes made since
2040         3.02.
2042 2006-08-06  Michael Olson  <mwolson@gnu.org>
2044         * ChangeLog.1: Rename from ChangeLog.2004 to comply with standards
2045         in the Emacs source tree.
2047         * ChangeLog.2: Rename from ChangeLog.2005 to comply with standards
2048         in the Emacs source tree.
2050         * ChangeLog.3: New file created from the old ChangeLog.
2052         * Makefile.defs (VERSION): Set to 3.02.91.
2054         * NEWS: Update through patch-84.
2056         * lisp/muse.el (muse-version): Set to 3.02.91.
2058         * lisp/muse-colors.el (muse-colors-tags): Allow <lisp> to take
2059         attributes.
2060         (muse-colors-lisp-tag): Figure out where the <lisp> tag and its
2061         delimiter are instead of hard-coding it.
2063         * lisp/muse-mode.el (muse-insert-thing): Qualify "tag".
2064         (muse-mode): Make filling definition lists work better.  This
2065         should fix #5359.
2067         * lisp/muse-publish.el (muse-style-run-hooks): Use
2068         `muse-style-element' instead of `muse-get-keyword' here.  This
2069         should fix #6399.
2071         * muse.texi: Set version to 3.02.91 (3.02 RC2).
2073 See ChangeLog.3 for earlier changes.
2075 ;; Local Variables:
2076 ;; coding: utf-8
2077 ;; End: