Deal with nested tag, font-locking, and comment or directive edge case
[muse-el.git] / ChangeLog
blobb97a7b5cfd4dbc37ac159a86e75dd7c97e56c1e5
1 2007-08-14  Michael Olson  <mwolson@gnu.org>
3         * lisp/muse-colors.el (muse-colors-emphasized)
4         (muse-colors-underlined. muse-colors-verbatim)
5         (muse-colors-custom-tags. muse-colors-explicit-link)
6         (muse-colors-implicit-link): Don't trod on comments or the #title
7         directive.
8         (muse-colors-markup): Add comment rule.
9         (muse-colors-implicit-link): Only remove flyspell overlay after we
10         decide whether this is an implicit link, rather than before.
11         (muse-colors-title): Add the muse-directive-or-comment property.
12         (muse-colors-comment): New function that colorizes comments using
13         font-lock-comment-face.
14         (muse-colors-region-end): New variable indicating the end of the
15         region that is currently being font-locked.  This removes the need
16         for an ugly "defvar end" hack.
17         (muse-colors-emphasized, muse-colors-underlined)
18         (muse-colors-verbatim): Use it.
19         (muse-colors-region): Let-bind it.
21         * lisp/muse-mode.el (muse-list-edit-minor-mode): Grammar fix in
22         docstring.
24         * lisp/muse-publish.el (muse-publish-markup-heading): Escape
25         specials in heading now, rather than waiting on the whole-document
26         pass later on.  This lets <contents> generation work without
27         validation errors.  Thanks to Reid van Melle for the report.
29         * texi/muse.texi (Tag Summary): Document <cite> tag.
30         (Miscellaneous): New chapter containing "Muse List Edit Minor
31         Mode" section.
32         (Muse List Edit Minor Mode): New section that documents
33         muse-list-edit-minor-mode.
34         (Development): Mention the MuseDevlopment page on emacswiki.org.
36         * lisp/muse.el (muse-goto-tag-end): Deal with case where we are
37         font-locking and the end or beginning of a tag is in a comment or
38         directive.
40 2007-08-12  Michael Olson  <mwolson@gnu.org>
42         * lisp/muse-html.el (muse-html-strip-links): New function that
43         strips HTML links from a string.
44         (muse-html-insert-contents): Use it, instead of
45         muse-publish-strip-tags.  This fixes a bug reported by Xin Shi
46         involving the use of <sup> in section titles.
48         * lisp/muse-project.el (muse-project-resolve-directory): New
49         function that figures out the directory part of the path that
50         provides a link to a page.
51         (muse-project-resolve-link): Expand docstring.  Use the new
52         function.  Don't call muse-publish-link-file, because that does
53         the wrong thing when we have muse-file-extension set to nil.
54         Thanks to Sebastian Obermanns for the report.
55         (muse-project-publish-this-file): Let-bind muse-current-project.
56         Also, if the file is not associated with a project, fall back to
57         muse-publish-this-file.
58         (muse-project-set-variables): Add this to
59         muse-before-publish-hook, so that it gets called.  This fixes a
60         bug where project-specific variables were being used in Muse mode,
61         but ignored when publishing.
63         * lisp/muse-publish.el (muse-publish-link-name)
64         (muse-publish-link-file, muse-publish-link-page): Add docstrings
65         so that I can remember what each of these things do.
66         (muse-publish-strip-tags): Remove, since it is no longer used.
67         (muse-publish-cite-tag): Don't let-bind
68         muse-publishing-directives, because there is no need to do so.
69         Fix code indentation.
70         (muse-publish-markup-attribute): Avoid multiple evaluation of
71         attrs argument, in case it is list value instead of a symbol.  Use
72         sexp instead of form in the edebug-form-spec.
73         (muse-publish-include-tag): Make a full copy of
74         muse-publishing-directives, since it can be modified with setcdr.
75         This fixes a bug where #title and some other directives were
76         leaking out of an included region.
77         (muse-publish-mark-up-tag): Don't let-bind
78         muse-publishing-directives, because there is no need to do so.
80         * lisp/muse.el (muse-page-name): Improve docstring.
82         * texi/muse.texi (Development): Mention the http method for
83         anonymous git access to the shared repo.
85 2007-08-10  Michael Olson  <mwolson@gnu.org>
87         * Makefile (dist, debprepare): Use git instead of tla.
89         * contrib/httpd.el (httpd-send-file): Use insert-file-contents.
91         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
92         Use muse-insert-file-contents.
94         * experimental/muse-split.el (muse-publish-file)
95         (muse-publish-presplit-publish, muse-publish-no-split-function)
96         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
97         muse-insert-file-contents.
99         * lisp/muse-book.el (muse-book-publish-chapter)
100         (muse-book-get-directives): Use muse-insert-file-contents.
102         * lisp/muse-http.el (muse-http-render-page): Use
103         muse-insert-file-contents.
105         * lisp/muse-poem.el (muse-poem-markup-tag): Use
106         muse-insert-file-contents.
108         * lisp/muse-publish.el (muse-insert-file-or-string)
109         (muse-publish-file, muse-publish-include-tag)
110         (muse-published-contents): Use muse-insert-file-contents.
112         * lisp/muse.el (muse-insert-file-contents): New function that
113         inserts a file with character code conversion, but none of the
114         other frivolities.  Since insert-file-contents-literally does not
115         do character code conversion, it is not suitable for us.
116         (muse-with-temp-buffer): Mention muse-insert-file-contents rather
117         than insert-file-contents-literally.
119 2007-08-09  Michael Olson  <mwolson@gnu.org>
121         * lisp/muse.el (muse-write-file): Pay attention to
122         coding-system-for-write and save-buffer-coding-system.  This
123         should fix a recently-introduced bug with writing Muse pages in
124         different coding systems.
126 2007-08-08  Michael Olson  <mwolson@gnu.org>
128         * README (Prerequisites): Fix typo.
129         (Compilation, Installation): Update.
130         (Documentation, Further Documentation): Update URLs.
131         (Further Documentation): Add quick blurb on how to participate in
132         Muse development or track changes.
134         * texi/muse.texi (Releases): Use gna.org URL for downloading the
135         latest release, rather than my website.
136         (Development): Change instructions to use git instead of
137         Arch. Mention where to get a Windows binary for git.  Improve the
138         look of the listing.  Add section with instructions for Becoming a
139         Muse developer.
140         (Installation): Update instructions for Makefile.defs.default and
141         XEmacs.  Add index entries.  Add section for ELPA, since Muse
142         ought to be distributed in ELPA after the 3.10 release.  Fix typo
143         and clarify wording.
145 2007-08-06  Michael Olson  <mwolson@gnu.org>
147         * texi/muse.texi: Make sure that attributes are marked up with
148         @option{} rather than @code{} or @samp{} for consistency.
149         (Journal): Add "muse-project-alist-considerations" subheading,
150         along with a mention of :base-url.
152 2007-08-05  Michael Olson  <mwolson@gnu.org>
154         * .gitignore: Add texi/muse.html and the DVC log edit file.
156         * Makefile.defs.default (install_info): Rename from INSTALLINFO.
157         Turn this into something that can be called like a command, due to
158         needing to deal with XEmacs, which has different argument order.
159         Thanks to Terrence Brannon for the report.
161         * lisp/muse-project.el (muse-project-of-file): Simplify by using
162         catch, throw, and dolist.  Look for exact matches before
163         considering any subdirectories.  If no exact matches are found,
164         then pick the longest match.
166         * lisp/muse.el (muse-sort-by-rating): Mention default test in
167         documentation.
169         * scripts/muse-build.el: Avoid interference from VC.el in the
170         build process.
172         * texi/Makefile (install): Call install_info.
174 2007-08-03  Michael Olson  <mwolson@gnu.org>
176         * lisp/muse-project.el (muse-project-applicable-styles): Remove
177         useless argument ignore-regexp.  Use saner logic.  This fixes a
178         bug where a file could potentially not exist but still appear in
179         the used-styles list.  Thanks to John Wiegley for the fix.
180         (muse-project-publish-file): Don't take ignore-reegxp argument.
182 2007-08-02  Michael Olson  <mwolson@gnu.org>
184         * lisp/muse-publish.el (muse-batch-publish-files): Don't activate
185         VC when publishing files in batch.  This avoids some annoying
186         messages when building QuickStart in the examples directory.
188         * lisp/muse-mode.el (muse-mode): Don't try to indent line before
189         inserting a comment.
191 2007-07-31  Michael Olson  <mwolson@gnu.org>
193         * lisp/Makefile: Add dependencies between Emacs Lisp files, so
194         that Muse can be recompiled without running "make clean" after an
195         update.
197         * lisp/muse-publish.el (muse-publish-verse-tag): Unconditionally
198         delete forward one character, since we are guaranteed to be on a
199         blank line.  Don't delete all initial whitespace of the first
200         line.  This fixes an issue where the output from the verse tag did
201         not match the output from Muse's verse syntax.
203 2007-07-29  Michael Olson  <mwolson@gnu.org>
205         * Relicense to GPLv3.
207         * Makefile.defs.default: Rename from Makefile.defs.  This allows
208         people to copy this file to Makefile.defs and make changes,
209         without having the changes be accidentally committed.  If
210         Makefile.defs does not exist, this file is read instead, in order
211         to minimize inconvenience to the casual user.
213         * Makefile, contrib/Makefile, examples/Makefile,
214         experimental/Makefile, lisp/Makefile, texi/Makefile: Use either
215         Makefile.defs.default or Makefile.defs.
217         * lisp/muse-mode.el (muse-list-edit-minor-mode-map): Use new
218         function names.
219         (muse-l-e-m-m-insert-list-item): Add real documentation.
220         (muse-l-e-m-m-increase-list-item-indent)
221         (muse-l-e-m-m-decrease-list-item-indent): Rename for clarity.  Add
222         real documentation.
223         (muse-list-edit-minor-mode): Improve documentation.
225         * texi/doclicense.texi (GNU Free Documentation License): Use
226         pristine copy from Emacs source tree.
228         * texi/muse.texi (Contributors): Move node and appendix indicators
229         here, rather than doclicense.texi.
231 2007-07-29  Jean Magnan de Bornier  <jean@bornier.net>
233         * lisp/muse-latex.el (muse-latex-markup-strings): Change rule
234         command which did not work correctly
236         * lisp/muse-context.el (muse-context-markup-strings): Change rule
237         command which did not work correctly; defined verse commands
238         (muse-context-markup-specials-literal): Eliminate all unuseful entries
240 2007-07-29  Michael Olson  <mwolson@gnu.org>
242         * contrib/httpd.el (httpd-send-file): Use
243         insert-file-contents-literally instead of insert-file-contents.
245         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
246         Use insert-file-contents-literally instead of
247         insert-file-contents.
249         * experimental/muse-split.el (muse-publish-file)
250         (muse-publish-presplit-publish, muse-publish-no-split-function)
251         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
252         insert-file-contents-literally instead of insert-file-contents.
254         * lisp/muse-book.el (muse-book-publish-chapter)
255         (muse-book-get-directives): Use insert-file-contents-literally
256         instead of insert-file-contents.
258         * lisp/muse-http.el (muse-http-render-page): Use
259         insert-file-contents-literally instead of insert-file-contents.
261         * lisp/muse-import-latex.el (muse-import-latex): Set marker to
262         nowhere when done, since they can slow things down.
264         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Set
265         marker to nowhere when done, since they can slow things down.
267         * lisp/muse-poem.el (muse-poem-markup-tag): Set marker to nowhere
268         when done, since they can slow things down.  Use
269         insert-file-contents-literally instead of insert-file-contents.
271         * lisp/muse-publish.el (muse-publish-markup-tag)
272         (muse-publish-markup-word, muse-publish-markup-footnote)
273         (muse-publish-call-tag-on-buffer): Set markers to nowhere when
274         done, since they can slow things down.
275         (muse-insert-file-or-string, muse-publish-file)
276         (muse-publish-include-tag, muse-published-contents): Use
277         insert-file-contents-literally instead of insert-file-contents.
278         (muse-publish-surround-dl): Remove unused variable.  Track whether
279         a term has been found, and handle that case well.
280         (muse-publish-ensure-blank-line): Use a marker, so that we don't
281         lose our place when adding a newline.  This really fixes the
282         definition list item bug.
283         (muse-publish-markup-list): Since people do seem to want
284         definition lists with no terms, allow this.
285         (muse-batch-publish-files): Set muse-current-output-style.
287         * lisp/muse.el (muse-with-temp-buffer): Mention
288         `insert-file-contents-literally'.
290 2007-07-28  Michael Olson  <mwolson@gnu.org>
292         * lisp/muse-mode.el (muse-browse-result): Set
293         muse-current-output-style.
294         (muse-mode): Don't duplicate the paragraph-start regexp
295         unnecessarily.
296         (muse-list-edit-minor-mode-map): New variable containing the
297         keymap for Muse list edit minor mode.
298         (muse-l-e-m-m-list-item-regexp): New variable that matches list
299         items for Muse list edit minor mode.
300         (muse-l-e-m-m-insert-list-item,
301         muse-l-e-m-m-i-list-item-indentation)
302         (muse-l-e-m-m-d-list-item-indentation): Variants of existing list
303         item functions that change the list item regexp before calling the
304         existing function.
305         (muse-l-e-m-m-data): New variable that keeps track of the fill
306         data that we overwrite when activating Muse list edit minor mode,
307         so that we can restore it if the minor mode is toggled off.
308         (muse-list-edit-minor-mode): New minor mode that is useful for
309         editing lists in other major modes.
310         (turn-on-muse-list-edit-minor-mode)
311         (turn-off-muse-list-edit-minor-mode): New interactive functions
312         that turn Muse list edit minor mode on and off, respectively.
313         (muse-on-blank-line, muse-get-paragraph-start): Simplify some
314         regexps.
316         * lisp/muse-project.el (muse-project-publish-this-file): Set
317         muse-current-output-style.  This fixes a bug when publishing to a
318         style that is not first in the list of styles.  Thanks to Jean
319         Magnan de Bornier for the report.
321         * lisp/muse-publish.el (muse-publish-ensure-blank-line): New
322         function that ensures that a blank line exists in the line before
323         point.
324         (muse-publish-markup-list): Use it, rather than
325         `muse-publish-ensure-block'.  This fixes a bug with definition
326         list publishing.  Thanks to meandtheshell for reporting this.
328         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): If the
329         project argument is nil, default to the current project instead of
330         the first project entry in muse-project-alist.  This seems much
331         more sane to me.
333         * lisp/muse.el (muse-forward-list-item): Only check the 'face
334         property if we are in Muse mode or one of its derivatives.  This
335         allows movement on nested lists to work in other modes, and fixes
336         an issue with altering list indentation in
337         muse-list-edit-minor-mode.
339 2007-07-27  Michael Olson  <mwolson@gnu.org>
341         * AUTHORS: Add new authors.
343         * README: Permit Muse to be called "Emacs-Muse".
345         * etc/IDEAS.muse: Remove now-implemented ideas and duplicate idea.
347         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug
348         involving list items that have an extra blank line in front.
350         * texi/muse.texi (Introduction): Mention that Emacs Muse, Muse,
351         and Emacs-Muse are the same thing.
353 2007-07-27  Jean Magnan de Bornier  <jean@bornier.net>
355         * lisp/muse-context.el (muse-context-header): Put
356         starttext after the modules who must be in preamble.
357         (muse-context-markup-strings): Fixed mistake in begin-example and
358         end-example.
360         * lisp/muse-latex2png.el (muse-publish-math-tag): Replaced the
361         math environment in ConTeXt when centered: "$$ $$" has to be
362         "\startformula \stopformula".
364 2007-07-26  Michael Olson  <mwolson@gnu.org>
366         * lisp/muse-xml-common.el (muse-xml-escape-url): Do not escape
367         parentheses in URLs.
369 2007-07-24  Michael Olson  <mwolson@gnu.org>
371         * examples/QuickStart.muse (Images): Fix typo where some text
372         existed in the output but not in the example region.
373         (Source Code): Fix another typo.  Explain that publishing from
374         console or X can make a difference.
376         * lisp/muse-context.el (muse-context-pdf-program): New option that
377         determines the program to use for generating PDF files for
378         ConTeXt.
379         (muse-context-pdf-cruft): New option that specifies the extensions
380         of files to remove after generating PDF output successfully.
381         (muse-context-slides-header): Docfix.
382         (muse-context-pdf-generate): Use new options.
384         * lisp/muse-publish.el (muse-publish-lisp-tag): Add missing
385         save-restriction call.  This was causing a world of hurt when
386         using <lisp> inside of <include>.
388         * texi/muse.texi (ConTeXt): New section that documents how to use
389         the ConTeXt publishing styles.
391 2007-07-23  Michael Olson  <mwolson@gnu.org>
393         * lisp/muse-context.el: New file that provides support for
394         publishing documents to the ConTeXt format.  Thanks to Jean Magnan
395         de Bornier for his work on this.
397         * lisp/muse-docbook.el (muse-docbook-entities)
398         (muse-docbook-bibliography): Remove unneeded save-restriction use.
400         * lisp/muse-latex2png.el (muse-publish-latex-tag):
401         s/contex/context/.
403         * lisp/muse-latex.el (muse-latex-fixup-citations): Add docstring.
404         (muse-latex-bibliography): Remove call to `widen', since it is not
405         needed anymore.  Remove unneeded save-restriction use.
406         ("slides", "slides-pdf"): Indent elements uniformly.
408 2007-07-22  Michael Olson  <mwolson@gnu.org>
410         * lisp/muse-blosxom.el (muse-blosxom-new-entry):
411         * lisp/muse-mode.el (muse-insert-tag):
412         * lisp/muse-project.el (muse-read-project)
413         (muse-read-project-file):
414         * lisp/muse-publish.el (muse-publish-get-style): Use
415         muse-completing-read-function.
417         * lisp/muse-latex2png.el (muse-publish-latex-tag)
418         (muse-publish-math-tag): Allow the context style -- which I plan
419         to include soon -- to work with these tags.
421         * lisp/muse.el (muse-completing-read-function): New option that
422         determines which function to call when doing a completing-read.
424 2007-07-15  Michael Olson  <mwolson@gnu.org>
426         * lisp/muse-journal.el (muse-journal-html-entry-template)
427         (muse-journal-rdf-entry-template)
428         (muse-journal-rss-entry-template): Mention that this can be text
429         or a filename.
430         (muse-journal-rdf-entry-template, muse-journal-rss-header)
431         (muse-journal-rss-footer, muse-journal-rss-entry-template): Add
432         newlines to make the output look nicer.
433         (muse-journal-html-munge-buffer, muse-journal-rss-munge-buffer):
434         Use muse-insert-file-or-string for the entry templates, rather
435         than muse-insert-markup.  This allows <lisp> and <markup> tags to
436         be acted on.  Thanks to Scott Hyde for the report.
437         (muse-journal-html-munge-buffer): Escape quote of the day using
438         entire-document specials before snarfing it.  Mark entire template
439         as read-only -- this fixes an incorrect escaping bug.  Remove
440         read-only properties before replacing template matches so that
441         they can still be escaped with entire-document specials later on.
442         (muse-journal-rss-munge-buffer): Make sure that title is escaped
443         properly.
444         (muse-journal-markup-tags): Rename from
445         muse-journal-latex-markup-tags, because we will use it for
446         journal-rss-entry as well.
447         (muse-journal-qotd-tag): Move higher.  Use begin-quote-item and
448         end-quote-item.
449         (muse-journal-rss-munge-buffer): Use journal-rss-entry rather than
450         html.
451         ("journal-latex", "journal-pdf", "journal-book-latex")
452         ("journal-book-pdf"): Use muse-journal-markup-tags rather than
453         muse-journal-latex-markup-tags.
454         ("journal-rss-entry"): New style that is used by journal-rss and
455         journal-rdf to mark up individual entries.  It is needed so that
456         we can do something meaningful with the qotd tag.
457         (muse-journal-rdf-summarize-entries): Set this to nil by default,
458         because it is annoying.  Update docs to mention this.
459         (muse-journal-rss-summarize-entries): Docfix.
461         * lisp/muse-publish.el (muse-insert-file-or-string): Use
462         muse-publish-markup-header-footer-tags.  I'm not quite sure how
463         this change got reverted.
464         (muse-markup-tag-info): Make into a function.  Move common code
465         here, rather than duplicating it in two places.  Deal with case
466         where muse-publish-use-header-footer-tags is non-nil.
467         (muse-publish-markup-specials, muse-publish-inhibit-style-hooks)
468         (muse-inhibit-style-tags): Move higher to avoid byte-compiler
469         warning.
470         (muse-publish-use-header-footer-tags): New variable that indicates
471         whether we should use just the header and footer tags, rather than
472         the full set.
473         (muse-insert-file-or-string): Bind
474         muse-publish-use-header-footer-tags to t.
475         (muse-publish-markup-tag, muse-publish-call-tag-on-buffer):
476         Simplify call to muse-markup-tag-info.
477         (muse-publish-mark-up-tag): Bind
478         muse-publish-use-header-footer-tags to nil.
480         * texi/muse.texi (Journal): Update for recent changes.
482 2007-07-14  Michael Olson  <mwolson@gnu.org>
484         * lisp/muse-journal.el (muse-journal-rss-munge-buffer): Don't
485         delete the remainder of the buffer, since this causes the
486         resulting RDF to have invalid syntax.  Thanks to Phillip Lord for
487         the report and the suggested fix.
489         * lisp/muse-publish.el (muse-publish-markup-regexps): Add "^" to
490         beginning of table-el regexp.  This fixes a bug where Muse stalls
491         when trying to publish a malformed table.  Thanks to Ye Wenbin for
492         the report and the suggested fix.
494 2007-07-12  Michael Olson  <mwolson@gnu.org>
496         * lisp/muse-wiki.el (muse-wiki-interwiki-regexp): Set to nil by
497         default, rather than the empty string.  This really fixes the bug
498         that occurred when using Muse with muse-project-alist set to nil.
499         Thanks to Jonathan Underwood for the report.
500         (muse-wiki-update-interwiki-regexp): Set
501         muse-wiki-interwiki-regexp to nil if muse-project-alist is not
502         defined.
503         (muse-wiki-handle-implicit-interwiki)
504         (muse-wiki-handle-explicit-interwiki): Handle case where
505         muse-wiki-interwiki-regexp is nil.
507 2007-07-10  Michael Olson  <mwolson@gnu.org>
509         * lisp/muse-mode.el (muse-grep): Abort search if the current
510         project contains no directories.
512         * lisp/muse-project.el (muse-project-file-alist): If
513         muse-project-alist is not defined, or project is nil, return nil
514         right away.  This ought to fix a bug that occurred when using Muse
515         with muse-project-alist set to nil.
516         (muse-project-of-file): Make sure muse-project-alist is not nil.
517         (muse-project-save-buffers): Make sure project is not nil.
519         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Deal with
520         case where muse-project-alist is nil.
522         * lisp/muse.el (muse-replace-regexp-in-string): Explicitly check
523         for XEmacs, since color-theme.el is poorly behaved, and defines
524         its own replace-in-string.  Bad color-theme.el -- no cookie for
525         you.
527 2007-07-01  Michael Olson  <mwolson@gnu.org>
529         * Makefile (.PHONY): Update for new debian package rules.
531         * lisp/muse-book.el (muse-book-latex-footer): Wrap long line.
533         * lisp/muse-docbook.el (muse-docbook-fixup-citations): Re-indent.
534         Use save-restriction properly.
535         (muse-docbook-entities, muse-docbook-bibliography): : Re-indent.
537         * lisp/muse-latex.el (muse-latex-footer): Wrap long line.
538         (muse-latex-fixup-citations): Re-indent.  Use save-restriction
539         properly.
540         (muse-latex-bibliography): Re-indent.
542         * lisp/muse-publish.el (muse-publish-get-and-delete-attr): Move
543         higher.  This fixes an error at startup with some versions of
544         Emacs.
545         (muse-publish-cite-tag): Re-indent.
547         * lisp/muse-wiki.el (muse-wiki-handle-explicit-interwiki): Narrow
548         to the end of the link part, so as to exclude the description from
549         the match.  This fixes a bug with three-part links that have
550         descriptions.  Thanks to everyone who pointed it out.
552 2007-06-18  Michael Olson  <mwolson@gnu.org>
554         * lisp/muse-html.el (muse-html-markup-strings): Add anchor.
555         (muse-xhtml1.1-markup-strings): New option that specifies XHTML
556         1.1 specific markup strings.
557         (muse-html-insert-anchor): Use 'anchor string, rather than
558         hard-coding it.  Thanks to Chris Corsair for the suggestion.
559         ("xhtml1.0"): New style that is an alias for the xhtml style.
560         ("xhtml1.1"): New style that publishes XHTML 1.1 compliant output.
562 2007-06-17  Michael Olson  <mwolson@gnu.org>
564         * examples/QuickStart.muse: Make images local so that the Info
565         version of this document works.  Add <example> for the Literal
566         paragraphs chapter, so that it is clear what is happening.
568         * Makefile: Add elpa target, which is used for building an ELPA
569         package for Muse.
571         * Makefile.defs (ELPADIR, ELPADESC): New variables used for
572         building ELPA packages.
574         * examples/Makefile (%.html, %.pdf, %.info): Add message to
575         indicate what we are publishing.
576         (realclean distclean fullclean): Remove all TeX crud.
578         * examples/emacs-muse.png, examples/muse-made-with.png: Include so
579         that the Info version of QuickStart can publish correctly.
581         * lisp/muse-latex.el (muse-latex-slides-header)
582         (muse-latex-lecture-notes-header): Docfix.
584         * lisp/muse-project.el (muse-project-ignore-regexp): Add .git to
585         the list of things to ignore.
587         * lisp/muse-publish.el (muse-publish-markup-list): Remove unused
588         variable.
590         * lisp/muse-texinfo.el (muse-texinfo-process-natively): Set
591         default to nil, since texinfmt.el is a serious nuisance.
592         (muse-texinfo-markup-strings): Add newlines to begin-example and
593         end-example.
594         (muse-texinfo-decide-specials): Also escape URL-type specials in a
595         whole slew of other contexts.
597         * lisp/muse-xml-common.el (muse-xml-encoding-map): Change group to
598         muse-xml.
600         * lisp/muse-xml.el (muse-xml-footer): Docfix.
602         * lisp/muse.el (muse-version): Release Emacs Muse version 3.03.
604 2007-06-16  Michael Olson  <mwolson@gnu.org>
606         * etc/IDEAS.muse: Add some ideas from David D. Smith.
608         * examples/QuickStart.muse: Overhaul.
610         * lisp/muse-project.el (muse-project): Call the last part of a
611         muse-project-alist entry "Output styles" rather than "styles".
613         * lisp/muse-publish.el (muse-publish-table-fields): Handle case
614         where we have a pipe character at the beginning of line.
616         * lisp/muse-xml-common.el (muse-xml-sort-table): Fix typo that was
617         causing tables to not be sorted at all.
619         * texi/muse.texi: Overhaul.  It would be too time-consuming to
620         list all of the changes here.  The "Getting Started" and
621         "Projects" chapters, in particular, were heavily revised.
623 2007-06-15  Michael Olson  <mwolson@gnu.org>
625         * NEWS: Update.
627         * examples/QuickStart.muse: Mention new features.
629         * lisp/muse-colors.el (muse-colors-toggle-inline-images): Docfix.
630         Remove C-c C-i keybinding, since it conflicts with C-c TAB in the
631         terminal, and C-c TAB is more important.  Most people will not
632         want to toggle images on and off that often.
634         * lisp/muse-mode.el (muse-mode-map): Bind muse-insert-thing to C-c
635         C-i as well, so that it works in the terminal.
637         * lisp/muse-publish.el (muse-publish-literal-tag): Make the output
638         look a bit tidier when removing the region.
640         * lisp/muse-regexps.el (muse-list-item-regexp): Put definition
641         list regexp part before other parts.
642         (muse-ol-item-regexp): New regexp that specifies how to match an
643         ordered list item.
644         (muse-ul-item-regexp): New regexp that specifies how to match an
645         unordered list item.
646         (muse-table-field-regexp): New regexp that specifies how to match
647         a definition list entry.
649         * lisp/muse-texinfo.el (muse-texinfo-info-generate): Work around
650         lack of support for @headitem in texinfmt.el.
652         * lisp/muse.el: Wrap muse-line-beginning-position and
653         muse-line-end-position in `eval-and-compile', since they are now
654         used in muse.el.
655         (muse-list-item-type): Use a simpler algorithm for detecting which
656         kind of list item we have.  This fixes a bug where a number in a
657         definition list term was being detected incorrectly as an ordered
658         list item.  Fixes bug #6250.
659         (muse-forward-list-item): Get the entire line with the list item.
660         For some reason, Emacs 21 was not populating match 2 correctly,
661         unlike Emacs 22, so this workaround was needed.
663         * texi/muse.texi: (Keystroke Summary): Remove C-c
664         C-i (`muse-insert-tag') documentation, and mention C-c C-i as an
665         alternative keybinding to the C-c TAB stuff.  Mention
666         muse-colors-toggle-inline-images.
668 2007-06-14  Michael Olson  <mwolson@gnu.org>
670         * README: Mention that RelaxNG schema is in etc/ directory.
672         * etc/emacs-wiki-migration.txt: New document that explains how to
673         migrate from emacs-wiki to Muse.
675         * etc/muse.rnc: Increment version number to 1.0.  Fix several
676         nested emphasis and nested lists edge cases.  Move here from
677         examples/.
679         * lisp/muse-mode.el (muse-mode-map): Permit C-c C-M-t to do the
680         same thing as C-c C-S-t, since the former works better in the
681         console.  Thanks to Leo for the suggestion.
683         * lisp/muse-publish.el (muse-publish-markup-table)
684         (muse-publish-markup-table-el): Include a newline in the return
685         string, so that paragraph detection does not get confused.
687         * lisp/muse.el (muse-with-temp-buffer): Docfix.
689         * texi/muse.texi (Keystroke Summary): Document the C-c C-M-t
690         keybinding.
692 2007-06-13  Michael Olson  <mwolson@gnu.org>
694         * etc/IDEAS.muse: Mark three-part-links item as done.
696         * experimental/muse-message.el: Remove guard for muse-define-style
697         calls.
699         * lisp/muse-colors.el (muse-configure-highlighting): Fix bug where
700         markup rules were being interpreted in reverse order.  This should
701         make implicit interwiki links work properly again.
702         (muse-link-face): Strip anchor from end of a path, so that this
703         works with anchors in interwiki links.
704         (muse-colors-insert-image): Catch error that occurs in Emacs 21
705         when an image does not exist.
707         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Permit
708         anchors.
709         (muse-wiki-handle-implicit-interwiki): Docfix.  Make anchors in
710         interwiki links work.  Thanks to Jim Ottaway for the initial
711         implementation.
712         (muse-wiki-handle-explicit-interwiki): Make anchors in interwiki
713         links work.
715         * lisp/muse.el (muse-handle-implicit-link): Docfix: only care
716         about match 0.
717         (muse-handle-explicit-link): Docfix: this does not modify the
718         match data.
719         (muse-file-remote-p): In Emacs 21, ange-ftp-name-format is a list
720         that has the regexp in its car.
722 2007-06-12  Michael Olson  <mwolson@gnu.org>
724         * README: Document new etc/ directory.
726         * etc/IDEAS.muse: Install things from new contributors just after
727         the 3.03 release, since I won't have time to review the code
728         before the release.  Move to new etc/ directory.  Slides
729         publishing has been installed.
731         * lisp/muse-latex.el (muse-latex-slides-header): New option that
732         determines the header to use for publishing slides.
733         (muse-latex-lecture-notes-header): New option that determines the
734         header to use for publishing lecture notes.
735         (muse-latex-slides-markup-tags): New option containing tags to use
736         when publishing slides.
737         (muse-latex-permit-contents-tag): Move higher in file.
738         (muse-latex-slide-tag): New function to publish the <slide> tag.
739         ("slides", "slides-pdf"): New publishing styles that create slides
740         using Beamer.
741         ("lecture-notes", "lecture-notes-pdf"): New publishing styles that
742         create lecture notes using Beamer.
744         * lisp/muse.el: Re-add the auto-mode-alist part to top-level,
745         since otherwise Planner is not happy when `plan' is called during
746         init.  Remove stray quote from autoload snippet.
748 2007-06-11  Michael Olson  <mwolson@gnu.org>
750         * lisp/muse.el: Make the add-to-list 'auto-mode-alist part an
751         autoload, rather than having it exist at top-level.  Thanks to Leo
752         for the suggestion.
753         (muse-update-file-extension): Docfix.
755 2007-06-10  Michael Olson  <mwolson@gnu.org>
757         * lisp/muse-publish.el (muse-publish-strip-URL): Fix bug where
758         URLs were being removed during publishing.  Thanks to everyone who
759         reported this.
761 2007-06-09  Markus Hoenicka <markus.hoenicka@mhoenicka.de>
763         * lisp/muse-book.el
764         * lisp/muse-docbook.el
765         * lisp/muse-latex.el
766         * lisp/muse-publish.el: added support for <cite> element which
767         denotes in-text citations
769         * lisp/muse-html.el
770         * lisp/muse-groff.el
771         * lisp/muse-texinfo.el
772         * lisp/muse-xml.el: added support for <cite> element (stub)
774 2007-06-06  Michael Olson  <mwolson@gnu.org>
776         * lisp/muse-regexps.el (muse-table-line-regexp)
777         (muse-table-hline-regexp, muse-table-el-border-regexp): Fix
778         regexps so that they work with XEmacs 21.  Thanks to Adrian
779         Tritschler for the report.
781         * texi/muse.texi: Update copyright years.
782         (HTML): Document muse-xhtml-style-sheet.  Thanks
783         to thorne for noticing.
784         (Development): Change archive year to 2006.  Thanks to Adrian
785         Tritschler for noticing.  So *that's* why some people had the 2005
786         version ....
788 2007-06-05  Michael Olson  <mwolson@gnu.org>
790         * Makefile (install-info): Remove $(MANUAL).info part, since this
791         is taken care of already by texi/Makefile.  Thanks to Leo for the
792         report.
794         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Add
795         read-only properties to qotd contents, so that they don't get
796         double-escaped.  Thanks to Leo for the report.
798 2007-06-04  Michael Olson  <mwolson@gnu.org>
800         * lisp/muse-colors.el (muse-link-face): If the link is to a remote
801         -- that is, Tramp or ange-ftp -- file, then do not call
802         file-exists-p on it.  Thanks to Jim Ottaway for the suggestion.
803         Fixes bug #5115.
805         * lisp/muse-html.el (muse-html-insert-contents): Add
806         documentation.  Handle case where heading is read-only, but has
807         muse-contents property.  Remove the muse-contents property for any
808         heading we come across so as to avoid double-including an item in
809         an outer table of contents.
810         (muse-html-denote-headings): New function that denotes whether a
811         heading is not read-only by adding the muse-contents property to
812         it.
813         (muse-html-munge-buffer): If we are not to generate contents,
814         still denote headings, in case some outer layer wants to generate
815         contents for our headings.  This should fix a bug with table of
816         contents and the <include> tag.  Thanks to thorne for the report.
818         * lisp/muse-publish.el (muse-publish-markup-region): Let-bind
819         muse-publish-generate-contents and set it to nil.  This should
820         do the right thing when using <include> tags.
822 2007-06-02  Michael Olson  <mwolson@gnu.org>
824         * NEWS: Update for non-inlined image change and support for
825         table.el style tables.
827         * examples/Makefile (clean): Clean backup files.
829         * examples/QuickStart.muse (Images): New section that describes
830         how to inline and not inline images.
832         * lisp/muse-colors.el (muse-colors-resolve-image-file): Don't
833         touch images that have "URL:" in front of them.
835         * lisp/muse-protocols.el (muse-url-protocols): Add handler for
836         "URL:".  Use the identity function to resolve, since we don't want
837         to rip "URL:" out while publishing, due to some magic that depends
838         on that text.
839         (muse-browse-url-url): New function that browses URLs that have
840         "URL:" in front of them, by removing the "URL:" part and
841         reprocessing the remainder.
843         * lisp/muse-publish.el (muse-publish-classify-url): Docfix.
844         (muse-publish-url): Recognize images in the description before
845         images in the link.  Fixes bug #5112.  Thanks to Thomas Kappler
846         for the suggested workaround.
847         (muse-publish-desc-transforms): Add `muse-publish-strip-URL' as a
848         default value.
849         (muse-publish-classify-url): If target begins with "URL:" return
850         type url.
851         (muse-publish-strip-URL): New function that strips "URL:" from the
852         beginning of a string.  This is used to remove URL: from the link
853         description.  * texi/muse.texi (Markup Strings): Clarify the
854         meanings of image-link, link, and link-and-anchor.
855         (muse-publish-markup-regexps): Move normal table rule to 2350.
856         Rule 2300 is now a regexp that matches table.el-style tables.
857         (muse-publish-markup-functions): Add table-el entry.
858         (muse-publish-table-el-table): New function that given a variant,
859         publishes a table.el-style table using the table in the matched
860         region.
861         (muse-publish-markup-table-el): New function that determines
862         whether the table.el-style table can be published, and what
863         variant to use.
865         * lisp/muse-regexps.el (muse-tag-regexp): New regexp that matches
866         the borders of table.el-style tables.
868         * lisp/muse-xml-common.el (muse-xml-markup-table): Make sure that
869         the table has sufficient whitespace in front of it.
871         * texi/muse.texi (Images): Update for new non-inlined image
872         ability and provide example.
874 2007-05-31  Michael Olson  <mwolson@gnu.org>
876         * NEWS: Add example for setting `muse-html-table-attributes'.
878         * lisp/muse-xml-common.el (muse-xml-markup-table): Add docstring.
879         Publish multiple tbody tags if there is a horizontal separator
880         after the heading, because that is valid HTML after all.
882 2007-05-30  Michael Olson  <mwolson@gnu.org>
884         * NEWS: Update.
886         * lisp/muse-latex.el (muse-latex-markup-table): Deal with
887         horizontal separators in tables.
889         * lisp/muse-publish.el (muse-publish-markup-regexps): Recognize
890         horizontal separators in tables.
891         (muse-publish-trim-table): New function to remove initial and
892         final blank columns from a table.
893         (muse-publish-table-fields): Call `muse-publish-trim-table'.  Deal
894         with horizontal separators, aka "hlines".
896         * lisp/muse-regexps.el (muse-table-hline-regexp): New regexp that
897         defines the syntax of a horizontal separator in a table.
899         * lisp/muse-texinfo.el (muse-texinfo-markup-table): Deal with
900         horizontal separators.  Publish header lines correctly.
902         * lisp/muse-xml-common.el (muse-xml-sort-table): Deal with case
903         where we have nonnumbers as a row type.  This ignores sorting for
904         hlines.
905         (muse-xml-markup-table): Deal with horizontal separators.  If the
906         markup supports table groups, make hlines separate table groups.
907         Otherwise, ignore them, since they cannot be marked up.  Together,
908         these changes allow us to support orgtbl-mode tables.  Thanks to
909         Carsten Dominik for the suggestion.
911 2007-05-26  Michael Olson  <mwolson@gnu.org>
913         * lisp/muse-project.el (muse-project-alist-styles): Allow for
914         other things to be added to each generated style as well.  For
915         example, this permits me to add
916         :base-url "http://blog.mwolson.org/"
917         for my blog.
919 2007-05-25  Michael Olson  <mwolson@gnu.org>
921         * Makefile (debclean, debprepare, debbuild, debinstall, deb): New
922         way of building Debian packages that preserves the original
923         release tarball and is more modular.
924         (debrevision, debrelease): Remove.
925         (dist): No need to remove the debian/ directory, since it is now
926         in its own branch.
927         (debprepare): Copy over debian/ directory properly.
929         * NEWS: Update.
931         * examples/Makefile (clean): Remove QuickStart.texi, in case
932         something went wrong during the build.
933         (%.pdf): Publish the example using the normal pdf style, rather
934         than info-pdf.
936         * examples/QuickStart.muse: Add myself to the authors list.
938         * lisp/muse-html.el (muse-html-src-tag): Ensure that we have
939         sufficient blank lines before the tag.
941         * lisp/muse-journal.el (muse-journal-latex-qotd-tag): Ensure that
942         we have sufficient blank lines before the tag.
944         * lisp/muse-latex.el (muse-latex-pdf-program): New option that
945         specifies the program to call in order to generate PDF content
946         from LaTeX content.
947         (muse-latex-pdf-cruft): New option that specifies the extensions
948         of files to remove after generating PDF output successfully.
949         (muse-latex-pdf-generate): Use these new options.  Work around the
950         annoying edge case where a tilde character exists in the filename
951         or directory path -- now this can only error out when the relative
952         path from the output file to the source file contains a tilde,
953         which is far less likely.
955         * lisp/muse-publish.el (muse-publish-markup-attribute): Don't use
956         muse-publish-ensure-block here after all, because <lisp> et al may
957         occur inline as part of other things.
959         * lisp/muse-texinfo.el ("texi"): Make muse-texinfo-munge-buffer
960         occur after full-document escaping, rather than before.  This
961         prevents automatically-inserted Texinfo code from being escaped.
962         (muse-texinfo-pdf-generate): Rewrite to call
963         `muse-latex-pdf-generate' with pdftex as the generating binary,
964         because texi2pdf suffers irredeemably from the tilde edge case
965         mentioned above.
967 2007-05-24  Michael Olson  <mwolson@gnu.org>
969         * NEWS: Drop vague entries and position interesting entries closer
970         to the top of each section.  Update for new changes.
972         * lisp/muse-project.el (muse-project-ignore-regexp): Add Mercurial
973         and bzr metadata directories to the list of things to ignore.
975         * lisp/muse-publish.el (muse-publish-ensure-block): Rename from
976         `muse-publish-ensure-block-tag', since we will use it for more
977         than just tags.
978         (muse-publish-markup-list, muse-publish-verse-tag)
979         (muse-publish-quote-tag, muse-publish-example-tag)
980         (muse-publish-markup-attribute): Use it.  This fixes a bug that
981         can occur when these types of markup occur immediately after a
982         paragraph.  It's good to have defined behavior!
984         * texi/muse.texi (Markup Strings): Mention new argument for
985         link-and-anchor.
987 2007-05-19  Michael Olson  <mwolson@gnu.org>
989         * lisp/muse-html.el (muse-html-markup-footnote): Add class tags to
990         published footnotes and footnote references.  Thanks to Scott
991         Jaderholm for the idea.
993         * lisp/muse-latex.el (muse-latex-markup-strings): Revert change to
994         link-and-anchor, on the recommendation of the original submitter.
996 2007-05-14  Michael Olson  <mwolson@gnu.org>
998         * lisp/muse-latex.el (muse-latex-markup-strings): Use better
999         link-and-anchor markup.  Thanks to Jean Magnan de Bornier for the
1000         suggestion.
1002         * lisp/muse-publish.el (muse-publish-url): Pass the url without a
1003         file extension as the fourth argument.
1005         * README, texi/muse.texi (Getting Help and Reporting Bugs):
1006         Mention the new muse-el-logs mailing list.
1008 2007-05-13  Michael Olson  <mwolson@gnu.org>
1010         * lisp/muse-protocols.el (muse-resolve-url): Don't concatenate
1011         "\`" here.  This fixes a problem with publishing custom URLs.
1013 2007-05-12  Michael Olson  <mwolson@gnu.org>
1015         * lisp/muse-blosxom.el (muse-blosxom-update-page-date-alist): Only
1016         update the list if the current buffer is associated with a file.
1017         This fixes a bug with M-x muse-publish-region in a temporary
1018         buffer.
1020 2007-05-01  Michael Olson  <mwolson@gnu.org>
1022         * lisp/muse-publish.el (muse-publish-region): Remove read-only
1023         properties from the published buffer, so that the results can be
1024         manually tweaked.
1026 2007-04-23  Michael Olson  <mwolson@gnu.org>
1028         * lisp/muse-publish.el (muse-publish-markup-footnote): If we can't
1029         find the footnote that goes with a reference, leave the reference
1030         as-is.  This fixes an error where control characters could be
1031         placed in a published document.
1033 2007-04-22  Michael Olson  <mwolson@gnu.org>
1035         * IDEAS.muse: Add muse-slides.el to list of things to include
1036         before release.
1038         * lisp/muse-protocols.el (muse-url-protocols): Remove stray quote
1039         character.
1040         (muse-protocol-find): Find protocols correctly.  Rewrite to use
1041         catch/throw.
1042         (muse-browse-url): Don't concatenate "\`" here.  Together, this
1043         fixes a bug with browsing woman:// links.
1045         * lisp/muse-project.el (muse-project-alist-styles): Deal with case
1046         where entry-dir has a trailing backslash.
1047         (muse-project-publish-file): If a style is malformed, skip it and
1048         display a warning message.  This should help people figure out
1049         where the problem is.
1051 2007-04-21  Michael Olson  <mwolson@gnu.org>
1053         * lisp/muse-latex2png.el (muse-publish-math-tag): If using the
1054         yet-to-be-included "contex" publishing style, use "$$" rather
1055         than "\[" and "\]".  Thanks to Jean Magnan de Bornier for pointing
1056         this out.
1058 2007-04-20  Michael Olson  <mwolson@gnu.org>
1060         * lisp/muse-publish.el (muse-publish-inhibit-style-hooks): New
1061         variable that causes the :before and :before-end hooks to be
1062         ignored when non-nil.
1063         (muse-publish-markup-region): Use it.  Also, guarantee that point
1064         is at end of region after publishing.
1065         (muse-publish-mark-up-tag): Simplify, taking advantage of the new
1066         variable.
1068 2007-04-19  Michael Olson  <mwolson@gnu.org>
1070         * IDEAS.muse: New file containing a list of ideas we have for new
1071         features, or patches that have yet to be applied.
1073         * README: Call it "Emacs Muse", not "the Emacs Muse".  No need to
1074         be so confusing.
1076         * lisp/muse-html.el (muse-html-table-attributes): Fix typo in
1077         docstring.
1079         * lisp/muse-publish.el (muse-publish-markup-tags): Handle
1080         <literal> tags with muse-publish-literal-tag, rather than
1081         muse-publish-mark-read-only.
1082         (muse-publish-literal-tag): New function that publishes the
1083         <literal> tag.  It adds the ability to add the optional "style"
1084         and "exact" elements, which cause text to only be included if the
1085         current publishing style matches some criteria.  The text will be
1086         removed otherwise.  Thanks to Jim Ottaway for the implementation.
1087         (muse-publish-mark-up-tag): Let the <markup> tag take the
1088         additional optional elements "style" and "exact", with much the
1089         same effect as the <literal> improvements, but after calling
1090         "function" or publishing the region first.  Make it possible to
1091         put <content> tags in <markup> regions in HTML publishing.
1093 2007-04-12  Michael Olson  <mwolson@gnu.org>
1095         * lisp/muse-publish.el (muse-publish-markup-heading): Make sure
1096         that a blank line always exists after a heading.  This fixes a bug
1097         in Docbook paragraph detection.  Thanks to Jean Magnan de Bornier
1098         for the report.
1100         * lisp/muse-xml.el (muse-xml-markup-regexps): Update paragraph
1101         detection regexp to that which is used in Docbook and HTML
1102         publishing styles.
1104 2007-04-02  Michael Olson  <mwolson@gnu.org>
1106         * README (muse-el-announce): Make a listing of mailing lists,
1107         rather than pointing to the old EmacsWikiMailingList page.  Thanks
1108         to Andreas Roehler for noticing.
1110 2007-04-01  Michael Olson  <mwolson@gnu.org>
1112         * lisp/muse-publish.el (muse-publish-date-format): Add
1113 `       customization type and group.
1114         (muse-publish-region): New interactive function that publishes a
1115         region to a new buffer.
1117         * texi/muse.texi: Use "document" rather than "manual".
1119 2007-03-31  Michael Olson  <mwolson@gnu.org>
1121         * lisp/muse-publish.el (muse-style-derived-p): Fix bug where the
1122         expression (muse-style-derived-p "latex" (muse-style "latex"))
1123         yielded nil.  It now yields t, as expected.  Thanks to Jim Ottaway
1124         for the catch.
1126 2007-02-25  Michael Olson  <mwolson@gnu.org>
1128         * lisp/muse-publish.el (muse-publish-date-format): New option that
1129         specifies how to format the date when publishing Muse pages.
1130         Thanks to Thomas Gehrlein for the suggestion.
1131         (muse-publish-markup-buffer): Use it.
1133 2007-02-23  Michael Olson  <mwolson@gnu.org>
1135         * README: Add Prerequisites section to mention which versions of
1136         Emacs work with Muse.  Thanks to Exal de Jesus Garcia Carrillo for
1137         the suggestion.  Update link destination for Muse's page on
1138         emacswiki.org.
1140 2007-02-15  Michael Olson  <mwolson@gnu.org>
1142         * lisp/muse.el (muse-goto-tag-end): Modify regexp to allow tags to
1143         be not just at beginning of line.  This fixes an error with the
1144         <class> tag.  Thanks to Jim Pivarski for the report.
1146 2007-02-14  Michael Olson  <mwolson@gnu.org>
1148         * lisp/muse-publish.el (muse-publish-classify-url): Check to see
1149         whether something is an image before checking to see if it is a
1150         URL.  Thanks to ITSUMI ken-ichi for the report.
1152 2007-02-13  Michael Olson  <mwolson@gnu.org>
1154         * lisp/muse-publish.el (muse-publish-markup-regexps): Handle
1155         comments that have no text better.  Thanks to fang.lungang for the
1156         report.
1157         (muse-publish-markup-comment): Deal with case where no comment
1158         text is provided.
1160 2007-01-23  Michael Olson  <mwolson@gnu.org>
1162         * lisp/muse-publish.el (muse-publish-ensure-block-tag): New macro
1163         that ensures that at least one blank line exists at the given
1164         position.  This is used to avoid paragraph detection problems when
1165         block-level tags like <example> immediately follow a paragraph.
1166         Thanks to Hans Ekbrand for the report.
1167         (muse-publish-example-tag): Use it.
1169 2007-01-19  Michael Olson  <mwolson@gnu.org>
1171         * lisp/muse-latex2png.el (muse-publish-math-tag): Only remove the
1172         previous blank line if we are publishing in Latex.  Otherwise,
1173         that wouldn't be the right thing, so leave it be.
1175 2007-01-17  Michael Olson  <mwolson@gnu.org>
1177         * lisp/muse-latex2png.el (muse-publish-math-tag): Don't put
1178         multiple centered math lines on the same line; keep them on
1179         different lines.  Use \[ math-text \] instead of $$math-text$$,
1180         since the latter seems to be deprecated.  Thanks to Jody Klymak
1181         for the pointer.
1183 2007-01-15  Michael Olson  <mwolson@gnu.org>
1185         * lisp/muse-latex2png.el (muse-publish-latex-tag)
1186         (muse-publish-math-tag): Publish region read-only when current
1187         style is Latex-derived, so that Muse does not escape it.
1188         (muse-publish-math-tag): If 6 or more spaces come before the tag,
1189         surround the region with "$$" rather than "$".  This is the Muse
1190         syntax for something centered, so it should be a good fit.
1192 2007-01-15  Valery V. Vorotyntsev  <valery.vv@gmail.com>
1194         * lisp/muse-protocols.el (muse-url-protocols): Add "woman://"
1195         protocol.
1196         (muse-browse-url-man): Change man page URL format.  The code is
1197         simpler when the section is left inside parentheses.
1198         (muse-browse-url-woman): New function.
1200 2007-01-14  Michael Olson  <mwolson@gnu.org>
1202         * AUTHORS: Bookkeeping.
1204         * lisp/muse-latex2png.el: Associate <math> tag with
1205         muse-publish-math-tag, not muse-publish-latex-tag.  Thanks to Jody
1206         Klymak for the report.
1207         (muse-publish-math-tag): Use muse-insert-markup for the "$"
1208         characters, so they don't get escaped.
1210         * lisp/muse-publish.el (muse-style-derived-p-1): New function to
1211         make muse-style-derived-p easier to implement.
1212         (muse-style-derived-p): If the style is not provided, fetch it and
1213         check to see if the car is a string.  This should fix the other
1214         problem that was reported.
1216         * texi/muse.texi (Projects): Apply patch from Bradley M. Kuhn that
1217         explains a case where setting muse-file-extension to nil can cause
1218         unexpected behavior.
1220 2007-01-09  Michael Olson  <mwolson@gnu.org>
1222         * lisp/muse-publish.el (muse-publish-markup-regexps): Make
1223         comments higher priority than tags.  Thanks to Stefan van der Walt
1224         for the report.
1226 2007-01-08  Michael Olson  <mwolson@gnu.org>
1228         * lisp/muse-publish.el (muse-markup-tag-info): Use the given
1229         argument rather than calling match-string.  Thanks to Stefan van
1230         der Walt for the report.  This should fix a bug with publishing
1231         <include file="..." markup="example">.
1233 2007-01-06  Michael Olson  <mwolson@gnu.org>
1235         * Makefile (debclean): New rule split from debrevision and
1236         debrelease.
1237         (debbuild): Take distributor into account.
1239         * Makefile.defs (DISTRIBUTOR): New field that tracks what
1240         vendor/distributor we are building for.
1242 2007-01-04  Michael Olson  <mwolson@gnu.org>
1244         * lisp/muse-html.el (muse-html-src-tag): Remove initial blank
1245         line.
1247         * lisp/muse-publish.el (muse-publish-markup-tags): Make "src"
1248         point to muse-publish-src-tag by default, since <src> and
1249         <example> have different parameters.
1250         (muse-publish-src-tag): New barebones publishing function for
1251         <src>, which is superseded when publishing in an HTML-based style.
1253 2007-01-03  Michael Olson  <mwolson@gnu.org>
1255         * lisp/muse-html.el (muse-html-src-tag): Document.
1257         * lisp/muse-publish.el (muse-publish-call-tag-on-buffer): New
1258         command that calls a given tag on the current buffer.  Attributes
1259         may be passed.
1260         (muse-publish-examplify-buffer, muse-publish-versify-buffer): Use
1261         it.
1262         (muse-publish-srcify-buffer): New function that allows
1263         markup="src" in the <include> tag.
1264         (muse-publish-get-and-delete-attr): New macro that gets an
1265         attribute from a list and removes the first instance of that
1266         attribute from said list.
1267         (muse-publish-markup-attribute): Handle markup="src".
1268         (muse-publish-command-tag, muse-publish-include-tag): Use
1269         muse-publish-get-and-delete-attr.  This allows the remaining
1270         attributes to be passed.
1272         * texi/muse.texi (Tag Summary): Update for new <src> tag as well
1273         as changes to <command> and <include>.
1275 2006-12-30  Michael Olson  <mwolson@gnu.org>
1277         * NEWS: Update.
1279         * experimental/muse-mathml.el (muse-publish-mathml-tag): Rename
1280         from muse-publish-math-tag to avoid conflict with
1281         muse-latex2png.el.
1283 2006-12-23  Michael Olson  <mwolson@gnu.org>
1285         * lisp/muse-latex2png.el: Update header, since this has been
1286         rewritten sufficiently to not need an assignment from the original
1287         author.
1288         (muse-latex2png-use-xhtml): Remove, since we now autodetect this.
1289         (muse-latex2png): Use two underscores to separate prefix and hash.
1290         (muse-latex2png-region): New function split from
1291         muse-publish-latex-tag that can be used easily by other code.
1292         Detect whether we are using an HTML-based publishing style, and
1293         insert a simpler markup if we are not.  If we are using a
1294         Latex-based publishing style, do not generate an image, and leave
1295         the region alone.  Return the path of the generated image, in case
1296         other functions want to use this programmatically.
1297         (muse-publish-latex-tag): Set a default prefix based on the name
1298         of the current file.
1299         (muse-publish-math-tag): New tag that surrounds the region with
1300         "$" characters, so that it becomes a Latex math region, and then
1301         publishes it.
1303         * lisp/muse-publish.el (muse-style-derived-p): New function that
1304         returns non-nil if a given style, or the current style if omitted,
1305         is equal to or derived from the given base style.  This is useful
1306         in <lisp> tags, because it allows the user to specify markup that
1307         is only to be inserted for one particular style.
1309 2006-12-22  Michael Olson  <mwolson@gnu.org>
1311         * lisp/muse-html.el (muse-html-markup-tags): Add <src> tag.
1312         (muse-html-src-tag): New function which publishes the <src> tag.
1313         Thanks to Clinton Ebadi and Charles Wang for the initial
1314         implementations.
1316         * lisp/muse-publish.el (muse-publish-markup-tags): Add <src> tag.
1318 2006-12-21  Michael Olson  <mwolson@gnu.org>
1320         * examples/johnw/muse-johnw.el: Update for preferred
1321         muse-derive-style usage.  Rename to muse-init.el.
1323         * examples/mwolson/muse-init.el: Update.
1325         * lisp/muse-book.el (muse-book-publish): New function split from
1326         muse-book-publish-project.  This is used in the definitions for
1327         the book-latex and book-pdf styles.
1328         (muse-book-publish-p): New function split from muse-book-publish.
1329         (muse-book-get-directives): New function that retrieves the
1330         publishing directives from the given file.
1331         (muse-book-publish): Use muse-book-get-directives to set the title
1332         if no title was specified.
1334         * lisp/muse-project.el (muse-project): Add :publish-project entry
1335         to widget.
1336         (muse-read-project, muse-project-find-file): Message fix.
1337         (muse-project-publish-file-default): New function split from
1338         muse-project-publish-file.
1339         (muse-project-publish-file): Allow file-level publishing function
1340         to be specified by the :publish element.  The default is
1341         muse-project-publish-file-default.
1342         (muse-project-publish-default): New function split from
1343         muse-project-publish.
1344         (muse-project-publish): Allow project-level publishing function to
1345         be specified by :publish-project element.  The default is
1346         muse-project-publish-default.
1348         * lisp/muse-publish.el (muse-publish-file): Message fix.
1350         * texi/muse.texi (Book): Mention new way to publish books and
1351         provide an example, since the process may be non-obvious.
1353 2006-12-20  Michael Olson  <mwolson@gnu.org>
1355         * lisp/muse-docbook.el (muse-docbook-munge-buffer): Split out
1356         content-modifying code from the rest of
1357         muse-docbook-finalize-buffer.
1359         * lisp/muse-groff.el (muse-groff-munge-buffer): Rename from
1360         muse-groff-finalize-buffer, since it adds content to the buffer.
1362         * lisp/muse-html.el (muse-html-munge-buffer): Split out
1363         content-modifying code from the rest of muse-html-finalize-buffer.
1364         This fixes a bug when using <include> with <content> tags.
1366         * lisp/muse-journal.el (muse-journal-html-munge-buffer)
1367         (muse-journal-latex-munge-buffer)
1368         (muse-journal-rss-munge-buffer): Rename, since they add content to
1369         the buffer.
1371         * lisp/muse-latex.el (muse-latex-munge-buffer): Rename from
1372         muse-latex-finalize-buffer, since it adds content to the buffer.
1374         * lisp/muse-mode.el:
1375         * lisp/muse-project.el:
1376         * lisp/muse-publish.el:
1377         * lisp/muse.el: Fix recursive load error.
1379         * lisp/muse-texinfo.el (muse-texinfo-munge-buffer): Rename from
1380         muse-texinfo-finalize-buffer, since it adds content to the buffer.
1382         * lisp/muse-wiki.el: Comment cleanup.
1384         * lisp/muse-xml.el (muse-xml-charset-default): Docfix.
1386 2006-12-17  Michael Olson  <mwolson@gnu.org>
1388         * lisp/muse-latex.el (muse-latex-header, muse-latexcjk-header):
1389         Remove the definition of \comment, since Latex already has comment
1390         syntax.
1391         (muse-latex-markup-strings): Use the Latex comment syntax, rather
1392         than our own.  Thanks to Ryan Stutsman for pointing this out.
1394 2006-12-02  Michael Olson  <mwolson@gnu.org>
1396         * lisp/muse-html.el (muse-html-insert-contents): Tweak regexp so
1397         that this can generate a proper table of contents for Planner HTML
1398         publishing.
1400 2006-12-01  Michael Olson  <mwolson@gnu.org>
1402         * lisp/muse.el (muse-replace-regexp-in-string): In case someone is
1403         using a very old Emacs, avoid an infinite loop that could occur
1404         when the regexp is an empty string.
1406 2006-11-26  Michael Olson  <mwolson@gnu.org>
1408         * NEWS: Bring up to date.
1410         * lisp/muse-docbook.el (muse-docbook-markup-paragraph): Fix nested
1411         list issues and multiple-stanza verse issues.  This takes care of
1412         all of the markup issues I was worried about.
1414         * lisp/muse-project.el (muse-project-ignore-regexp): Minor docfix.
1415         (muse-project-publish-private-files): New option that indicates
1416         whether files with private filesystem permissions should be
1417         published.  The default is to publish them, since it avoids
1418         confusion in new users.
1419         (muse-project-private-p): Use it.
1421 2006-11-19  Michael Olson  <mwolson@gnu.org>
1423         * lisp/muse-project.el (muse-project-resolve-link): If no remote
1424         style is found, which means that the link is not a Muse page, do
1425         not add a suffix or prefix to it.  This should fix the
1426         "[[thing.owl]]" bug that Phillip Lord reported.
1428         * lisp/muse-publish.el (muse-publish-link-file): Simplify by
1429         removing unused 2nd argument.
1431 2006-11-17  Michael Olson  <mwolson@gnu.org>
1433         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug in
1434         latex publishing where nested enumerated lists would be squashed
1435         together at the end.
1437 2006-11-16  Michael Olson  <mwolson@gnu.org>
1439         * lisp/muse-latex.el (muse-latex-markup-strings): Make an ordered
1440         list embedded in a definition list look right.  This also allows
1441         for definitions to be separated from their terms, much like the
1442         way HTML does it by default, if the user puts a blank line or a
1443         line break between the term and the definition.  If the term and
1444         definition are on the same line, they will be that way in the
1445         output as well.
1447 2006-11-11  Michael Olson  <mwolson@gnu.org>
1449         * muse.texi (Markup Strings): Fix typo.  Thanks to Haiyong Zheng
1450         for the report.
1451         (Getting Help and Reporting Bugs): Fix emacswiki.org page URL.
1453 2006-11-07  Michael Olson  <mwolson@gnu.org>
1455         * lisp/muse.el (muse-version): Make Emacs Muse 3.02.93, the third
1456         release candidate for Muse 3.03, available.
1458         * NEWS: Update.
1460 2006-11-06  Michael Olson  <mwolson@gnu.org>
1462         * lisp/muse-project.el (muse-project-find-file): Fix bug when
1463         following a relative link worked even when the path was incorrect.
1465 2006-11-04  John Sullivan  <john@wjsullivan.net>
1467         * lisp/muse-mode.el (muse-mode-map): Remove C-c C-c binding for
1468         muse-follow-name-at-point to reduce collisions with other
1469         modes (Planner).
1471         * muse.texi (Keystroke Summary): Remove C-c C-c binding.
1473 2006-11-04  Michael Olson  <mwolson@gnu.org>
1475         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Make page
1476         optional, and make interwiki delimiter a regular rather than shy
1477         group.
1478         (muse-wiki-handle-implicit-interwiki): Rename from
1479         muse-wiki-handle-interwiki.  Use match group 3 to get the page.
1480         (muse-wiki-handle-explicit-interwiki): New function that is
1481         smarter about where an explicit link ends in a buffer.  This
1482         allows you to refer to page names with invalid Wiki characters,
1483         such as underscores and dashes, merely by enclosing them in double
1484         brackets.  Also, a bug with recognizing project names too loosely
1485         has been fixed.
1487 2006-11-03  Michael Olson  <mwolson@gnu.org>
1489         * lisp/muse-project.el (muse-project-page-file): Make relative
1490         links work as expected, hopefully.
1492         * lisp/muse-publish.el (muse-publish-this-file): Set the current
1493         output style manually, since it will differ from anything in the
1494         publishing style list.
1496 2006-10-30  Michael Olson  <mwolson@gnu.org>
1498         * lisp/muse-colors.el (muse-colors-markup): Remove note about
1499         grouping elements, since that no longer applies.
1500         (muse-colors-custom-tags): Explicitly match against
1501         muse-tag-regexp to get the match-data set the way we want.  This
1502         really fixes the <example> highlighting bug that Stefan reported.
1503         (muse-configure-highlighting): Set the original value to the
1504         symbol, not the modified value.  Re-use modified rules properly.
1506         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Fix bug
1507         introduced yesterday.
1509 2006-10-29  Michael Olson  <mwolson@gnu.org>
1511         * examples/mwolson: Update my example configuration.
1513         * NEWS: Update.
1515         * lisp/muse-colors.el (muse-configure-highlighting): Remove rules
1516         without a regexp in the first position before iterating through
1517         them to build muse-colors-vector.  This fixes a bug with the
1518         display of <example> tags.  Thanks to Stefan Reichör for the
1519         report.
1521         * lisp/muse-project.el (muse-project-find-file): Permit non-Muse
1522         files in projects to be linked to.
1524         * lisp/muse-publish.el (muse-publish-url): Allow the original link
1525         to serve as a description for a URL, as long as it differs from
1526         the destination URL.  This fixes the description of WikPage links
1527         in PDF output.
1528         (muse-publish-link-file): Check to see whether the given link
1529         points at a valid file.  If so, return it.  Otherwise, apply other
1530         transforms like prefix and link suffix.
1532         * lisp/muse-regexps.el (muse-file-regexp): If something ends in
1533         "/", it is a file or directory, not a Muse page.  Thanks to
1534         Phillip Lord for the suggestion.
1536         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Use the path
1537         of the current page as the local path, instead of duplicating the
1538         remote file's path.  This probably fixes at least one reported
1539         bug. since it's quite major.
1540         (muse-wiki-update-project-file-regexp)
1541         (muse-wiki-update-interwiki-regexp): Ensure that nil is never
1542         passed to regexp-opt, since that can cause Emacs 21 to throw an
1543         "maximum binding depth exceeded" error.  Thanks to xs32 AT cornell
1544         DOT edu for the report.
1545         (muse-wiki-handle-wikiword): Avoid a potential stringp error.
1547 2006-10-28  Michael Olson  <mwolson@gnu.org>
1549         * lisp/muse-project.el (muse-project-choose-style-by-link-suffix)
1550         (muse-project-resolve-link): If the given style does not have a
1551         link-suffix, default to suffix.  This fixes a bug I was noticing
1552         when linking to a file that was published in both PDF and HTML
1553         form.
1555         * lisp/muse-publish.el (muse-publish-determine-dl-indent): New
1556         function that is used as a callback to determine the initial
1557         amount of indentation that the current dl item has.
1558         (muse-publish-surround-dl): Use it.  Pass the initial indent value
1559         and the post-indent value, instead of trying to determine them
1560         both.
1561         (muse-publish-strip-list-indentation): New function stripped from
1562         `muse-publish-surround-text' for readability.
1563         (muse-publish-surround-text): Instead of taking a determine-indent
1564         value, take a determine-indent-func function, which is called just
1565         after finding the next list item.  If we are asked to determine
1566         the amount of indentation, concatenate indent and post-indent the
1567         first time around.  This effectively fixes all known definition
1568         list issues.
1570 2006-10-16  Michael Olson  <mwolson@gnu.org>
1572         * lisp/muse.el: Provide the 'muse-nested-tags feature so that
1573         other software -- namely, Planner -- can detect whether they are
1574         using a version of Muse that supports nested tags.
1575         (muse-goto-tag-end): Moved from muse-publish.el and renamed from
1576         muse-publish-goto-tag-end.
1578         * lisp/muse-colors.el (muse-colors-tags, muse-colors-custom-tags):
1579         Adapt for nested tags.
1581         * lisp/muse-html.el (muse-html-markup-tags): Indicate that the
1582         <class> tag is nestable.  Thanks to Phillip Lord for noticing
1583         this.
1585         * lisp/muse-publish.el (muse-publish-markup-tag)
1586         (muse-publish-quote-tag): Use muse-goto-tag-end.
1588         * lisp/muse-wiki.el ("muse-colors"): Adapt for nested tags.
1590 2006-10-15  Michael Olson  <mwolson@gnu.org>
1592         * AUTHORS: Bookkeeping.
1594         * lisp/muse-blosxom.el (muse-blosxom-header): Indent code in lisp
1595         tag.
1597         * lisp/muse-groff.el (muse-groff-markup-tags): Adapt for nested
1598         tags.
1600         * lisp/muse-html.el (muse-html-markup-tags): Ditto.
1602         * lisp/muse-import-docbook.el (muse-import-docbook)
1603         (muse-import-docbook-files): Docfix.
1604         (muse-import-docbook-get-title): Remove cl.el-ism.
1606         * lisp/muse-import-xml.el (muse-import-xml): Fix compiler warning.
1608         * lisp/muse-journal.el (muse-journal-latex-markup-tags): Ditto.
1610         * lisp/muse-latex2png.el (muse-publish-markup-tags): Ditto.
1612         * lisp/muse-mode.el (muse-previous-reference): Minor docfix.
1613         (muse-next-reference, muse-previous-reference): Minor whitespace
1614         changes.
1615         (muse-mode-choose-mode): Add autoload cookie.  Thanks to Leo for
1616         the suggestion.
1618         * lisp/muse-poem.el (muse-poem-tag): Ditto.
1620         * lisp/muse-publish.el (muse-publish-markup-tags)
1621         (muse-publish-markup-header-footer-tags): Shift 4th element to 5th
1622         element and make 4th element determine whether tags are nestable.
1623         (muse-publish-goto-tag-end): New function that moves to the end of
1624         a tag.  Handle nested tags when NESTED is non-nil.
1625         (muse-publish-markup-tag): Call muse-publish-goto-tag-end.  Use
1626         5th element for function.
1627         (muse-publish-quote-tag): Handle nested quote tags.  I've tested
1628         this on several scenarios, and it seems to work.
1629         (muse-publish-surround-text): Accept new optional argument
1630         LIST-ITEM which determines the regexp to use for list items.  The
1631         default is to use muse-list-item-regexp.
1633         * muse.texi (Markup Tags): Mention nestable tags.
1635         * NEWS: Mention new files.
1637 2006-10-15  Elena Pomohaci  <e.pomohaci@gmail.com>
1639         * lisp/muse-import-docbook.el: New file that converts Docbook XML
1640         into Muse format.
1642         * lisp/muse-import-xml.el: New file that provides helper routines
1643         for converting XML-ish files to Muse format.
1645 2006-10-10  Michael Olson  <mwolson@gnu.org>
1647         * NEWS: Update for 3.02.7 bugfix release.
1649 2006-10-06  Sasha Kovar  <sasha@arcocene.org>
1651         * lisp/muse-blosxom.el (muse-blosxom-header): Insert the date
1652         using the value in the muse #date directive.
1653         (muse-blosxom-use-metadate): New option that determines whether or
1654         not to use the #postdate directive.
1655         (muse-blosxom-format-date): Convert a date string to PyBlosxom
1656         metadate plugin format.
1658 2006-09-30  Stefan Schlee  <stefan_schlee@yahoo.com>
1660         * lisp/muse-protocols.el: Fix bug #6741: Exclude colon in
1661         recognised URLs.
1663         * muse.texi: Clarify handling of implicit links by mentioning
1664         which characters can prevent Muse from recognizing something as an
1665         implicit link.
1667 2006-09-26  Stefan Schlee  <stefan_schlee@yahoo.com>
1669         * lisp/muse-mode.el (muse-next-reference)
1670         (muse-previous-reference): Fix bug #6367 by moving point to the
1671         beginning of the link.
1673 2006-09-26  Michael Olson  <mwolson@gnu.org>
1675         * lisp/muse-colors.el (muse-use-font-lock): Don't quote
1676         beginning-of-line.  This should fix a bug that was noticed in
1677         recent Emacs 22 builds.
1679         * lisp/muse-backlink.el: Wrap muse-backlink-split-string in an
1680         eval-and-compile block to avoid a compiler warning.
1682 2006-09-25  Jim Ottaway  <j.ottaway@lse.ac.uk>
1684         * lisp/muse-backlink.el (muse-backlink-split-string):
1685         Compatibility with Emacs versions < 22
1686         (muse-backlink-pending): New internal variable
1687         (muse-backlink-get-mode-hook): Find the major mode hook to use, so
1688         that backlinks are inserted at the right time.
1689         (muse-backlink-insert-hook-func): Remove unwind-protection; check
1690         for pending backlink, and that this is the targe page.
1691         (muse-backlink-handle-link): Don’t handle the link if we are
1692         already handling one. Return the link as well as the parent links.
1694 2006-09-25  Sasha Kovar  <sasha@arcocene.org>
1696         * lisp/muse-blosxom.el (muse-blosxom-new-entry): : Fix for bug
1697         #6942 - muse-blosxom-new-entry fails when using tags.
1699 2006-09-14  Michael Olson  <mwolson@gnu.org>
1701         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): Silence
1702         compiler warning.
1704 2006-09-14  Jim Ottaway  <j.ottaway@lse.ac.uk>
1706         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): New
1707         function: Protect all wikiwords from START to END from further
1708         processing.
1709         (muse-texinfo-markup-heading): Use muse-texinfo-protect-wikiwords.
1711 2006-09-13  Michael Olson  <mwolson@gnu.org>
1713         * lisp/muse-texinfo.el (muse-texinfo-markup-heading): New function
1714         adopted from Jim Ottaway's patch.  It removes links from the
1715         heading, and then marks the region read-only to inhibit WikiWord
1716         detection.
1718 2006-09-13  Jim Ottaway  <j.ottaway@lse.ac.uk>
1720         * lisp/muse-texinfo.el (muse-texinfo-markup-functions): Add
1721         special handling for headings.
1722         (muse-texinfo-remove-links): New function that removes explicit
1723         links from the given strings, replacing them with a description.
1725 2006-09-11  Michael Olson  <mwolson@gnu.org>
1727         * muse.texi (Getting Help and Reporting Bugs): Mention the
1728         muse-el-internationalization mailing list.
1730         * lisp/muse.el (muse-path-sans-extension): New function that acts
1731         like file-name-sans-extension, but guarantees to never modify the
1732         directory part of the path.  Thanks to Evan Monroig for
1733         investigating this.
1735         * lisp/muse-book.el (muse-book-publish-project): Use
1736         muse-path-sans-extension instead of file-name-sans-extension.
1738         * lisp/muse-publish.el (muse-publish-file, muse-publish-url):
1739         Ditto.
1741 2006-08-30  Michael Olson  <mwolson@gnu.org>
1743         * muse.texi (Blosxom Requirements): Fix typo.
1745         * contrib/pyblosxom/getstamps.py (recurse): Ignore metadata
1746         directories for bzr and darcs.
1748         * contrib/pyblosxom/make-blog, contrib/pyblosxom/hardcodedates.py:
1749         contrib/pyblosxom/getstamps.py: Update version and headers.
1751 2006-08-27  Michael Olson  <mwolson@gnu.org>
1753         * lisp/muse-colors.el (muse-configure-highlighting): Prune out any
1754         nil values before they get to mapconcat.  This fixes a lockup when
1755         muse-wiki-match-all-project-files is nil.
1757         * lisp/muse-wiki.el (muse-wiki-match-all-project-files)
1758         (muse-wiki-ignore-implicit-links-to-current-page)
1759         (muse-wiki-interwiki-regexp, muse-wiki-interwiki-alist)
1760         (muse-wiki-resolve-project-page, muse-wiki-handle-interwiki)
1761         (muse-wiki-publish-small-title-words)
1762         (muse-wiki-publish-pretty-title): Docfix.
1763         (muse-wiki-update-local-wikiword-regexp): Rename from
1764         muse-wiki-update-local-wikiword-regexp.  Set
1765         muse-wiki-project-file-regexp instead of
1766         muse-wiki-wikiword-regexp, as suggested by Per Sederberg.  Don't
1767         take muse-wiki-use-wikiword into account, since this is a
1768         different concept now.
1769         (muse-wiki-update-wikiword-regexp): Remove.
1770         (muse-wiki-wikiword-regexp): In-line the :set function.
1771         (muse-wiki-handle-wikiword): Use muse-wiki-project-file-regexp.
1773 2006-08-26  Michael Olson  <mwolson@gnu.org>
1775         * lisp/muse-publish.el (muse-publish-surround-text): When looking
1776         for indented list items, ignore blank lines.
1778         * lisp/muse-wiki.el (muse-wiki-update-local-wikiword-regexp)
1779         (muse-wiki-update-interwiki-regexp): Use regexp-opt instead of
1780         mapconcat.  This should hopefully fix a problem with large amounts
1781         of files with spaces in their name.  Thanks to Greg Detre for the
1782         report.
1784 2006-08-24  Michael Olson  <mwolson@gnu.org>
1786         * lisp/muse-blosxom.el (muse-blosxom-new-entry): Remove the
1787         numbers from the argument to format-time-string.  This fixes an
1788         XEmacs bug.  Thanks to Michael Welle for the report and analysis.
1790 2006-08-18  Michael Olson  <mwolson@gnu.org>
1792         * lisp/muse-project.el (muse-project-file-entries): Since we are
1793         given a full path, match against the filename as well.  This fixes
1794         an issue where backup files were being added to the file alist.
1796         * lisp/muse-docbook.el (muse-docbook-markup-regexps): Apply a fix
1797         from muse-html.el.
1799 2006-08-12  Michael Olson  <mwolson@gnu.org>
1801         * Makefile (.PHONY): Don't use line continuations.
1802         (realclean fullclean): Call realclean in subdirs, not distclean.
1803         (distclean): Don't call realclean, since this would wipe out our
1804         autoloads file.
1805         (dist): Use correct path to autoloads file.
1807         * NEWS: Catch up with the latest changes.
1809         * experimental/Makefile (.PHONY): Wrap long line.
1811         * lisp/Makefile (distclean): Do the same thing as "clean", not
1812         "realclean".
1814         * lisp/muse-project.el (muse-project-get-applicable-style):
1815         Indentation tweak.
1816         (muse-project-ignore-regexp, muse-project-recurse-directory):
1817         Docfix.
1818         (muse-project-of-file): Try the ignored files regexp against the
1819         base filename as well as the entire path.
1821         * lisp/muse-publish.el (muse-publish-this-file): Display message
1822         if the buffer is not associated with any file, so that we avoid
1823         errors later on.
1824         (muse-publish-url-desc): New function taken from muse-publish-url
1825         that causes a URL description to be transformed.
1826         (muse-publish-url): Call muse-publish-url-desc on either the
1827         description or the original URL if it will be used as a
1828         description.  Accept the original URL as an argument, in case it
1829         was transformed earlier.
1830         (muse-publish-insert-url): Pass original URL as an argument.
1831         (muse-publish-markup-link): Make this somewhat easier to follow.
1832         Pass original URL as argument.
1833         (muse-publish-get-style): If the same style is used to publish to
1834         two different directories, prompt the user for which directory to
1835         use.
1836         (muse-publish-markup-header-footer-tags): Sync lisp tag with the
1837         latest changes.
1838         (muse-publish-markup-url): Pass original URL as an argument.  This
1839         fixes the "nil" description for bare URLs that was in 3.02.91.
1840         Nothing like finding a bug just after completing the announcement
1841         of a release.
1843         * lisp/muse.el: Use defalias whenever convenient.
1844         (muse-version): Set version to 3.02.92 (3.03 RC2).
1846 2006-08-10  Michael Olson  <mwolson@gnu.org>
1848         * lisp/muse-html.el (muse-html-finalize-buffer): Since the html
1849         style does not derive from any other class, return `t' here.
1850         This, along with the corresponding change to muse-publish.el,
1851         fixes a problem with the table of contents getting inserted
1852         multiple times for custom html-based styles.
1853         (muse-html-markup-strings, muse-xhtml-markup-strings): Use a
1854         smarter method for table centering that works with XHTML.
1856         * lisp/muse-latex2png.el Rename all functions to have a
1857         "muse-latex2png" prefix.  Turn all variables into customizable
1858         options in the muse-latex2png group.
1859         (muse-latex2png-img-dest): New option specifying where to place
1860         the images.
1861         (muse-latex2png-template): New option containing the template to
1862         use for the surrounding LaTeX code.
1863         (muse-latex2png-use-xhtml): New option that toggles strict XHTML
1864         compliance.
1865         (muse-latex2png-move2pubdir): Avoid multiple redundant error
1866         messages when something else goes wrong.  Create the image
1867         subdirectory if it doesn't exist already -- thanks to Christian
1868         Straßer for the report.  Expand the filename properly.
1869         (muse-publish-latex-tag, muse-latex2png): Ditto on error messages
1870         and filename expansion.
1871         (muse-latex2png): Use the "muse-latex2png" prefix by default.  Set
1872         the default directory properly.
1874         * lisp/muse-publish.el (muse-style-run-hooks): Make sure that we
1875         do not run the same function twice.
1877 2006-08-08  Michael Olson  <mwolson@gnu.org>
1879         * lisp/muse-colors.el (muse-colors-explicit-link): Fix recently
1880         introduced wrong-type-argument error.
1882         * lisp/muse-html.el (muse-html-markup-strings)
1883         (muse-xhtml-markup-string): Cause table definition that contains
1884         image to be center-aligned.  This should fix an issue with images
1885         not being centered when captions are very long.
1887         * lisp/muse-publish.el (muse-publish-table-fields): Trim
1888         whitespace from fields once we have split them up.
1890         * lisp/muse.el (muse-trim-whitespace): New function that strips
1891         leading and trailing whitespace from a string.
1893 2006-08-07  Michael Olson  <mwolson@gnu.org>
1895         * NEWS: Update through patch-95.
1897         * lisp/muse-colors.el (muse-colors-lisp-tag): Use a simpler regexp
1898         to match the tags.
1899         (muse-colors-explicit-link): Show images in link descriptions if
1900         inlined images are enabled.
1902         * lisp/muse-docbook.el (muse-docbook-markup-strings): Add
1903         definitions for 'image-with-desc, 'image, and 'image-link.
1904         (muse-docbook-markup-paragraph): If an inlined image begins a
1905         paragraph, insert <para> before it.
1906         (muse-docbook-fixup-images): New function that upper-cases the
1907         "format" attribute of the <imagedata> tag.
1908         (muse-docbook-finalize-buffer): Call it.
1910         * lisp/muse-html.el (muse-html-markup-strings): Publish images
1911         with descriptions as centered tables, with a centered caption
1912         underneath.  The resulting look is consistent with the way that
1913         they are published in the LaTeX style.  Thanks to Jody Klymak for
1914         the suggestion.
1915         (muse-xhtml-markup-strings): Ditto, but XHTML apparently has no
1916         valid way to center a table.
1917         (muse-html-markup-paragraph): Use class="image" instead of
1918         "image-link" for paragraphs that start with an embedded image.
1920         * lisp/muse-latex.el (muse-latex-markup-specials-url): Use
1921         \textbackslash{} for "\".  Thanks to Jim Ottaway for the
1922         suggestion.
1923         (muse-latex-markup-specials-image): New option that enables
1924         escaping of specials in images.  This was split from the URL
1925         specials.
1926         (muse-latex-decide-specials): Handle 'image context.
1927         (muse-latex-fixup-dquotes): Go to beginning of document, instead
1928         of relying on caller to do this for us.
1930         * lisp/muse-publish.el (muse-publish-escape-specials): Document
1931         'image context.
1932         (muse-publish-url): Use 'image context for images.  Use 'image
1933         instead of 'image-link and 'image-link in place of
1934         'url-with-image.  Separate the image file from its extension so
1935         that docbook and texinfo can publish images correctly.
1936         (muse-publish-markup-link): Don't force a description if one is
1937         not given.  This fixes a bug where images without descriptions
1938         were being published as 'image-with-desc instead of 'image.
1940         * lisp/muse-texinfo.el (muse-texinfo-decide-specials): Treat
1941         images the same as URLs.
1942         (muse-texinfo-markup-strings): Improve image markup to achieve an
1943         effect similar to that of the LaTeX publishing style.  Simplify
1944         'url string.
1946         * lisp/muse-xml-common.el (muse-xml-decide-specials): Ditto.
1948         * lisp/muse.el (muse-replace-regexp-in-string): Save match data
1949         when we have to use the custom version of this function.
1951         * muse.texi (Images): Explain how to toggle inlining of images and
1952         give better examples.  Mention captions and that captioned images
1953         should not be used inside of text paragraphs.
1954         (Markup Strings): Bring up-to-date with the changes made since
1955         3.02.
1957 2006-08-06  Michael Olson  <mwolson@gnu.org>
1959         * ChangeLog.1: Rename from ChangeLog.2004 to comply with standards
1960         in the Emacs source tree.
1962         * ChangeLog.2: Rename from ChangeLog.2005 to comply with standards
1963         in the Emacs source tree.
1965         * ChangeLog.3: New file created from the old ChangeLog.
1967         * Makefile.defs (VERSION): Set to 3.02.91.
1969         * NEWS: Update through patch-84.
1971         * lisp/muse.el (muse-version): Set to 3.02.91.
1973         * lisp/muse-colors.el (muse-colors-tags): Allow <lisp> to take
1974         attributes.
1975         (muse-colors-lisp-tag): Figure out where the <lisp> tag and its
1976         delimiter are instead of hard-coding it.
1978         * lisp/muse-mode.el (muse-insert-thing): Qualify "tag".
1979         (muse-mode): Make filling definition lists work better.  This
1980         should fix #5359.
1982         * lisp/muse-publish.el (muse-style-run-hooks): Use
1983         `muse-style-element' instead of `muse-get-keyword' here.  This
1984         should fix #6399.
1986         * muse.texi: Set version to 3.02.91 (3.02 RC2).
1988 See ChangeLog.3 for earlier changes.
1990 ;; Local Variables:
1991 ;; coding: utf-8
1992 ;; End: