muse-xml: Add support for <cite>
[muse-el.git] / ChangeLog
blobf5fae95136c6091b3abe6f8b9a3ffc5e6ed3c7b2
1 2007-08-17  Michael Olson  <mwolson@gnu.org>
3         * etc/muse.rnc: Add the <cite> tag.
5         * lisp/muse-xml.el (muse-xml-markup-strings): Mark up citations as
6         <cite type="something">.  We'll leave it to the post processing
7         tools to interpret that.
9 2007-08-16  Michael Olson  <mwolson@gnu.org>
11         * Release Emacs Muse 3.10.
13         * Makefile (dist, debprepare): Pass HEAD argument to git-archive.
14         (upload): Don't depend on release rule.
16         * NEWS: Document remaining changes.
18 2007-08-15  Michael Olson  <mwolson@gnu.org>
20         * NEWS: Document items through 2007-08-12.
22         * lisp/muse-colors.el: Split the muse-directive-or-comment
23         property into two separate properties that are muse-directive and
24         muse-comment.
25         (muse-colors-region-end): Make buffer-local.
26         (muse-colors-delayed-commands): New variable that contains a list
27         of commands to run immediately after highlighting.  This is meant
28         to allow highlighting functions to delay code until later.
29         (muse-colors-region): Apply commands in
30         muse-colors-delayed-commands.
31         (muse-colors-inhibit-tags-in-directives): New variable that
32         determines whether tags are allowed in directives.
33         (muse-colors-custom-tags): Take
34         muse-colors-inhibit-tags-in-directives into account.
35         (muse-unhighlight-region): Remove muse-directive and muse-comment
36         properties.
37         (muse-colors-title): Modify muse-colors-delayed-commands.
38         (muse-colors-title-lisp): New command that gets called after
39         highlighting other things.  This interprets <lisp> tags, and is
40         passed arguments specifying the beginning and end of the region.
41         Thanks to Junichi Uekawa for the report.  The reason we want to do
42         things this way is because this is the behavior we get already
43         when publishing the page.
45         * lisp/muse.el (muse-goto-tag-end): Change to use muse-comment
46         property rather than muse-directive-or-comment.
48 2007-08-14  Michael Olson  <mwolson@gnu.org>
50         * lisp/muse-colors.el: Document all functions and variables.
51         (muse-colors-emphasized, muse-colors-underlined)
52         (muse-colors-verbatim, muse-colors-custom-tags)
53         (muse-colors-explicit-link, muse-colors-implicit-link): Don't trod
54         on comments or the #title directive.
55         (muse-colors-markup): Add comment rule.
56         (muse-colors-implicit-link): Only remove flyspell overlay after we
57         decide whether this is an implicit link, rather than before.
58         (muse-colors-title): Add the muse-directive-or-comment property.
59         (muse-colors-comment): New function that colorizes comments using
60         font-lock-comment-face.
61         (muse-colors-region-end): New variable indicating the end of the
62         region that is currently being font-locked.  This removes the need
63         for an ugly "defvar end" hack.
64         (muse-colors-emphasized, muse-colors-underlined)
65         (muse-colors-verbatim): Use it.
66         (muse-colors-region): Let-bind it.
68         * lisp/muse-mode.el (muse-list-edit-minor-mode): Grammar fix in
69         docstring.
71         * lisp/muse-publish.el (muse-publish-markup-heading): Escape
72         specials in heading now, rather than waiting on the whole-document
73         pass later on.  This lets <contents> generation work without
74         validation errors.  Thanks to Reid van Melle for the report.
76         * texi/muse.texi (Tag Summary): Document <cite> tag.
77         (Miscellaneous): New chapter containing "Muse List Edit Minor
78         Mode" section.
79         (Muse List Edit Minor Mode): New section that documents
80         muse-list-edit-minor-mode.
81         (Development): Mention the MuseDevlopment page on emacswiki.org.
83         * lisp/muse.el (muse-goto-tag-end): Deal with case where we are
84         font-locking and the end or beginning of a tag is in a comment or
85         directive.
87 2007-08-12  Michael Olson  <mwolson@gnu.org>
89         * lisp/muse-html.el (muse-html-strip-links): New function that
90         strips HTML links from a string.
91         (muse-html-insert-contents): Use it, instead of
92         muse-publish-strip-tags.  This fixes a bug reported by Xin Shi
93         involving the use of <sup> in section titles.
95         * lisp/muse-project.el (muse-project-resolve-directory): New
96         function that figures out the directory part of the path that
97         provides a link to a page.
98         (muse-project-resolve-link): Expand docstring.  Use the new
99         function.  Don't call muse-publish-link-file, because that does
100         the wrong thing when we have muse-file-extension set to nil.
101         Thanks to Sebastian Obermanns for the report.
102         (muse-project-publish-this-file): Let-bind muse-current-project.
103         Also, if the file is not associated with a project, fall back to
104         muse-publish-this-file.
105         (muse-project-set-variables): Add this to
106         muse-before-publish-hook, so that it gets called.  This fixes a
107         bug where project-specific variables were being used in Muse mode,
108         but ignored when publishing.
110         * lisp/muse-publish.el (muse-publish-link-name)
111         (muse-publish-link-file, muse-publish-link-page): Add docstrings
112         so that I can remember what each of these things do.
113         (muse-publish-strip-tags): Remove, since it is no longer used.
114         (muse-publish-cite-tag): Don't let-bind
115         muse-publishing-directives, because there is no need to do so.
116         Fix code indentation.
117         (muse-publish-markup-attribute): Avoid multiple evaluation of
118         attrs argument, in case it is list value instead of a symbol.  Use
119         sexp instead of form in the edebug-form-spec.
120         (muse-publish-include-tag): Make a full copy of
121         muse-publishing-directives, since it can be modified with setcdr.
122         This fixes a bug where #title and some other directives were
123         leaking out of an included region.
124         (muse-publish-mark-up-tag): Don't let-bind
125         muse-publishing-directives, because there is no need to do so.
127         * lisp/muse.el (muse-page-name): Improve docstring.
129         * texi/muse.texi (Development): Mention the http method for
130         anonymous git access to the shared repo.
132 2007-08-10  Michael Olson  <mwolson@gnu.org>
134         * Makefile (dist, debprepare): Use git instead of tla.
136         * contrib/httpd.el (httpd-send-file): Use insert-file-contents.
138         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
139         Use muse-insert-file-contents.
141         * experimental/muse-split.el (muse-publish-file)
142         (muse-publish-presplit-publish, muse-publish-no-split-function)
143         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
144         muse-insert-file-contents.
146         * lisp/muse-book.el (muse-book-publish-chapter)
147         (muse-book-get-directives): Use muse-insert-file-contents.
149         * lisp/muse-http.el (muse-http-render-page): Use
150         muse-insert-file-contents.
152         * lisp/muse-poem.el (muse-poem-markup-tag): Use
153         muse-insert-file-contents.
155         * lisp/muse-publish.el (muse-insert-file-or-string)
156         (muse-publish-file, muse-publish-include-tag)
157         (muse-published-contents): Use muse-insert-file-contents.
159         * lisp/muse.el (muse-insert-file-contents): New function that
160         inserts a file with character code conversion, but none of the
161         other frivolities.  Since insert-file-contents-literally does not
162         do character code conversion, it is not suitable for us.
163         (muse-with-temp-buffer): Mention muse-insert-file-contents rather
164         than insert-file-contents-literally.
166 2007-08-09  Michael Olson  <mwolson@gnu.org>
168         * lisp/muse.el (muse-write-file): Pay attention to
169         coding-system-for-write and save-buffer-coding-system.  This
170         should fix a recently-introduced bug with writing Muse pages in
171         different coding systems.
173 2007-08-08  Michael Olson  <mwolson@gnu.org>
175         * README (Prerequisites): Fix typo.
176         (Compilation, Installation): Update.
177         (Documentation, Further Documentation): Update URLs.
178         (Further Documentation): Add quick blurb on how to participate in
179         Muse development or track changes.
181         * texi/muse.texi (Releases): Use gna.org URL for downloading the
182         latest release, rather than my website.
183         (Development): Change instructions to use git instead of
184         Arch. Mention where to get a Windows binary for git.  Improve the
185         look of the listing.  Add section with instructions for Becoming a
186         Muse developer.
187         (Installation): Update instructions for Makefile.defs.default and
188         XEmacs.  Add index entries.  Add section for ELPA, since Muse
189         ought to be distributed in ELPA after the 3.10 release.  Fix typo
190         and clarify wording.
192 2007-08-06  Michael Olson  <mwolson@gnu.org>
194         * texi/muse.texi: Make sure that attributes are marked up with
195         @option{} rather than @code{} or @samp{} for consistency.
196         (Journal): Add "muse-project-alist-considerations" subheading,
197         along with a mention of :base-url.
199 2007-08-05  Michael Olson  <mwolson@gnu.org>
201         * .gitignore: Add texi/muse.html and the DVC log edit file.
203         * Makefile.defs.default (install_info): Rename from INSTALLINFO.
204         Turn this into something that can be called like a command, due to
205         needing to deal with XEmacs, which has different argument order.
206         Thanks to Terrence Brannon for the report.
208         * lisp/muse-project.el (muse-project-of-file): Simplify by using
209         catch, throw, and dolist.  Look for exact matches before
210         considering any subdirectories.  If no exact matches are found,
211         then pick the longest match.
213         * lisp/muse.el (muse-sort-by-rating): Mention default test in
214         documentation.
216         * scripts/muse-build.el: Avoid interference from VC.el in the
217         build process.
219         * texi/Makefile (install): Call install_info.
221 2007-08-03  Michael Olson  <mwolson@gnu.org>
223         * lisp/muse-project.el (muse-project-applicable-styles): Remove
224         useless argument ignore-regexp.  Use saner logic.  This fixes a
225         bug where a file could potentially not exist but still appear in
226         the used-styles list.  Thanks to John Wiegley for the fix.
227         (muse-project-publish-file): Don't take ignore-reegxp argument.
229 2007-08-02  Michael Olson  <mwolson@gnu.org>
231         * lisp/muse-publish.el (muse-batch-publish-files): Don't activate
232         VC when publishing files in batch.  This avoids some annoying
233         messages when building QuickStart in the examples directory.
235         * lisp/muse-mode.el (muse-mode): Don't try to indent line before
236         inserting a comment.
238 2007-07-31  Michael Olson  <mwolson@gnu.org>
240         * lisp/Makefile: Add dependencies between Emacs Lisp files, so
241         that Muse can be recompiled without running "make clean" after an
242         update.
244         * lisp/muse-publish.el (muse-publish-verse-tag): Unconditionally
245         delete forward one character, since we are guaranteed to be on a
246         blank line.  Don't delete all initial whitespace of the first
247         line.  This fixes an issue where the output from the verse tag did
248         not match the output from Muse's verse syntax.
250 2007-07-29  Michael Olson  <mwolson@gnu.org>
252         * Relicense to GPLv3.
254         * Makefile.defs.default: Rename from Makefile.defs.  This allows
255         people to copy this file to Makefile.defs and make changes,
256         without having the changes be accidentally committed.  If
257         Makefile.defs does not exist, this file is read instead, in order
258         to minimize inconvenience to the casual user.
260         * Makefile, contrib/Makefile, examples/Makefile,
261         experimental/Makefile, lisp/Makefile, texi/Makefile: Use either
262         Makefile.defs.default or Makefile.defs.
264         * lisp/muse-mode.el (muse-list-edit-minor-mode-map): Use new
265         function names.
266         (muse-l-e-m-m-insert-list-item): Add real documentation.
267         (muse-l-e-m-m-increase-list-item-indent)
268         (muse-l-e-m-m-decrease-list-item-indent): Rename for clarity.  Add
269         real documentation.
270         (muse-list-edit-minor-mode): Improve documentation.
272         * texi/doclicense.texi (GNU Free Documentation License): Use
273         pristine copy from Emacs source tree.
275         * texi/muse.texi (Contributors): Move node and appendix indicators
276         here, rather than doclicense.texi.
278 2007-07-29  Jean Magnan de Bornier  <jean@bornier.net>
280         * lisp/muse-latex.el (muse-latex-markup-strings): Change rule
281         command which did not work correctly
283         * lisp/muse-context.el (muse-context-markup-strings): Change rule
284         command which did not work correctly; defined verse commands
285         (muse-context-markup-specials-literal): Eliminate all unuseful entries
287 2007-07-29  Michael Olson  <mwolson@gnu.org>
289         * contrib/httpd.el (httpd-send-file): Use
290         insert-file-contents-literally instead of insert-file-contents.
292         * examples/mwolson/muse-init.el (my-muse-prepare-entry-for-xanga):
293         Use insert-file-contents-literally instead of
294         insert-file-contents.
296         * experimental/muse-split.el (muse-publish-file)
297         (muse-publish-presplit-publish, muse-publish-no-split-function)
298         (muse-journal-split-by-entry, muse-journal-split-by-month): Use
299         insert-file-contents-literally instead of insert-file-contents.
301         * lisp/muse-book.el (muse-book-publish-chapter)
302         (muse-book-get-directives): Use insert-file-contents-literally
303         instead of insert-file-contents.
305         * lisp/muse-http.el (muse-http-render-page): Use
306         insert-file-contents-literally instead of insert-file-contents.
308         * lisp/muse-import-latex.el (muse-import-latex): Set marker to
309         nowhere when done, since they can slow things down.
311         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Set
312         marker to nowhere when done, since they can slow things down.
314         * lisp/muse-poem.el (muse-poem-markup-tag): Set marker to nowhere
315         when done, since they can slow things down.  Use
316         insert-file-contents-literally instead of insert-file-contents.
318         * lisp/muse-publish.el (muse-publish-markup-tag)
319         (muse-publish-markup-word, muse-publish-markup-footnote)
320         (muse-publish-call-tag-on-buffer): Set markers to nowhere when
321         done, since they can slow things down.
322         (muse-insert-file-or-string, muse-publish-file)
323         (muse-publish-include-tag, muse-published-contents): Use
324         insert-file-contents-literally instead of insert-file-contents.
325         (muse-publish-surround-dl): Remove unused variable.  Track whether
326         a term has been found, and handle that case well.
327         (muse-publish-ensure-blank-line): Use a marker, so that we don't
328         lose our place when adding a newline.  This really fixes the
329         definition list item bug.
330         (muse-publish-markup-list): Since people do seem to want
331         definition lists with no terms, allow this.
332         (muse-batch-publish-files): Set muse-current-output-style.
334         * lisp/muse.el (muse-with-temp-buffer): Mention
335         `insert-file-contents-literally'.
337 2007-07-28  Michael Olson  <mwolson@gnu.org>
339         * lisp/muse-mode.el (muse-browse-result): Set
340         muse-current-output-style.
341         (muse-mode): Don't duplicate the paragraph-start regexp
342         unnecessarily.
343         (muse-list-edit-minor-mode-map): New variable containing the
344         keymap for Muse list edit minor mode.
345         (muse-l-e-m-m-list-item-regexp): New variable that matches list
346         items for Muse list edit minor mode.
347         (muse-l-e-m-m-insert-list-item,
348         muse-l-e-m-m-i-list-item-indentation)
349         (muse-l-e-m-m-d-list-item-indentation): Variants of existing list
350         item functions that change the list item regexp before calling the
351         existing function.
352         (muse-l-e-m-m-data): New variable that keeps track of the fill
353         data that we overwrite when activating Muse list edit minor mode,
354         so that we can restore it if the minor mode is toggled off.
355         (muse-list-edit-minor-mode): New minor mode that is useful for
356         editing lists in other major modes.
357         (turn-on-muse-list-edit-minor-mode)
358         (turn-off-muse-list-edit-minor-mode): New interactive functions
359         that turn Muse list edit minor mode on and off, respectively.
360         (muse-on-blank-line, muse-get-paragraph-start): Simplify some
361         regexps.
363         * lisp/muse-project.el (muse-project-publish-this-file): Set
364         muse-current-output-style.  This fixes a bug when publishing to a
365         style that is not first in the list of styles.  Thanks to Jean
366         Magnan de Bornier for the report.
368         * lisp/muse-publish.el (muse-publish-ensure-blank-line): New
369         function that ensures that a blank line exists in the line before
370         point.
371         (muse-publish-markup-list): Use it, rather than
372         `muse-publish-ensure-block'.  This fixes a bug with definition
373         list publishing.  Thanks to meandtheshell for reporting this.
375         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): If the
376         project argument is nil, default to the current project instead of
377         the first project entry in muse-project-alist.  This seems much
378         more sane to me.
380         * lisp/muse.el (muse-forward-list-item): Only check the 'face
381         property if we are in Muse mode or one of its derivatives.  This
382         allows movement on nested lists to work in other modes, and fixes
383         an issue with altering list indentation in
384         muse-list-edit-minor-mode.
386 2007-07-27  Michael Olson  <mwolson@gnu.org>
388         * AUTHORS: Add new authors.
390         * README: Permit Muse to be called "Emacs-Muse".
392         * etc/IDEAS.muse: Remove now-implemented ideas and duplicate idea.
394         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug
395         involving list items that have an extra blank line in front.
397         * texi/muse.texi (Introduction): Mention that Emacs Muse, Muse,
398         and Emacs-Muse are the same thing.
400 2007-07-27  Jean Magnan de Bornier  <jean@bornier.net>
402         * lisp/muse-context.el (muse-context-header): Put
403         starttext after the modules who must be in preamble.
404         (muse-context-markup-strings): Fixed mistake in begin-example and
405         end-example.
407         * lisp/muse-latex2png.el (muse-publish-math-tag): Replaced the
408         math environment in ConTeXt when centered: "$$ $$" has to be
409         "\startformula \stopformula".
411 2007-07-26  Michael Olson  <mwolson@gnu.org>
413         * lisp/muse-xml-common.el (muse-xml-escape-url): Do not escape
414         parentheses in URLs.
416 2007-07-24  Michael Olson  <mwolson@gnu.org>
418         * examples/QuickStart.muse (Images): Fix typo where some text
419         existed in the output but not in the example region.
420         (Source Code): Fix another typo.  Explain that publishing from
421         console or X can make a difference.
423         * lisp/muse-context.el (muse-context-pdf-program): New option that
424         determines the program to use for generating PDF files for
425         ConTeXt.
426         (muse-context-pdf-cruft): New option that specifies the extensions
427         of files to remove after generating PDF output successfully.
428         (muse-context-slides-header): Docfix.
429         (muse-context-pdf-generate): Use new options.
431         * lisp/muse-publish.el (muse-publish-lisp-tag): Add missing
432         save-restriction call.  This was causing a world of hurt when
433         using <lisp> inside of <include>.
435         * texi/muse.texi (ConTeXt): New section that documents how to use
436         the ConTeXt publishing styles.
438 2007-07-23  Michael Olson  <mwolson@gnu.org>
440         * lisp/muse-context.el: New file that provides support for
441         publishing documents to the ConTeXt format.  Thanks to Jean Magnan
442         de Bornier for his work on this.
444         * lisp/muse-docbook.el (muse-docbook-entities)
445         (muse-docbook-bibliography): Remove unneeded save-restriction use.
447         * lisp/muse-latex2png.el (muse-publish-latex-tag):
448         s/contex/context/.
450         * lisp/muse-latex.el (muse-latex-fixup-citations): Add docstring.
451         (muse-latex-bibliography): Remove call to `widen', since it is not
452         needed anymore.  Remove unneeded save-restriction use.
453         ("slides", "slides-pdf"): Indent elements uniformly.
455 2007-07-22  Michael Olson  <mwolson@gnu.org>
457         * lisp/muse-blosxom.el (muse-blosxom-new-entry):
458         * lisp/muse-mode.el (muse-insert-tag):
459         * lisp/muse-project.el (muse-read-project)
460         (muse-read-project-file):
461         * lisp/muse-publish.el (muse-publish-get-style): Use
462         muse-completing-read-function.
464         * lisp/muse-latex2png.el (muse-publish-latex-tag)
465         (muse-publish-math-tag): Allow the context style -- which I plan
466         to include soon -- to work with these tags.
468         * lisp/muse.el (muse-completing-read-function): New option that
469         determines which function to call when doing a completing-read.
471 2007-07-15  Michael Olson  <mwolson@gnu.org>
473         * lisp/muse-journal.el (muse-journal-html-entry-template)
474         (muse-journal-rdf-entry-template)
475         (muse-journal-rss-entry-template): Mention that this can be text
476         or a filename.
477         (muse-journal-rdf-entry-template, muse-journal-rss-header)
478         (muse-journal-rss-footer, muse-journal-rss-entry-template): Add
479         newlines to make the output look nicer.
480         (muse-journal-html-munge-buffer, muse-journal-rss-munge-buffer):
481         Use muse-insert-file-or-string for the entry templates, rather
482         than muse-insert-markup.  This allows <lisp> and <markup> tags to
483         be acted on.  Thanks to Scott Hyde for the report.
484         (muse-journal-html-munge-buffer): Escape quote of the day using
485         entire-document specials before snarfing it.  Mark entire template
486         as read-only -- this fixes an incorrect escaping bug.  Remove
487         read-only properties before replacing template matches so that
488         they can still be escaped with entire-document specials later on.
489         (muse-journal-rss-munge-buffer): Make sure that title is escaped
490         properly.
491         (muse-journal-markup-tags): Rename from
492         muse-journal-latex-markup-tags, because we will use it for
493         journal-rss-entry as well.
494         (muse-journal-qotd-tag): Move higher.  Use begin-quote-item and
495         end-quote-item.
496         (muse-journal-rss-munge-buffer): Use journal-rss-entry rather than
497         html.
498         ("journal-latex", "journal-pdf", "journal-book-latex")
499         ("journal-book-pdf"): Use muse-journal-markup-tags rather than
500         muse-journal-latex-markup-tags.
501         ("journal-rss-entry"): New style that is used by journal-rss and
502         journal-rdf to mark up individual entries.  It is needed so that
503         we can do something meaningful with the qotd tag.
504         (muse-journal-rdf-summarize-entries): Set this to nil by default,
505         because it is annoying.  Update docs to mention this.
506         (muse-journal-rss-summarize-entries): Docfix.
508         * lisp/muse-publish.el (muse-insert-file-or-string): Use
509         muse-publish-markup-header-footer-tags.  I'm not quite sure how
510         this change got reverted.
511         (muse-markup-tag-info): Make into a function.  Move common code
512         here, rather than duplicating it in two places.  Deal with case
513         where muse-publish-use-header-footer-tags is non-nil.
514         (muse-publish-markup-specials, muse-publish-inhibit-style-hooks)
515         (muse-inhibit-style-tags): Move higher to avoid byte-compiler
516         warning.
517         (muse-publish-use-header-footer-tags): New variable that indicates
518         whether we should use just the header and footer tags, rather than
519         the full set.
520         (muse-insert-file-or-string): Bind
521         muse-publish-use-header-footer-tags to t.
522         (muse-publish-markup-tag, muse-publish-call-tag-on-buffer):
523         Simplify call to muse-markup-tag-info.
524         (muse-publish-mark-up-tag): Bind
525         muse-publish-use-header-footer-tags to nil.
527         * texi/muse.texi (Journal): Update for recent changes.
529 2007-07-14  Michael Olson  <mwolson@gnu.org>
531         * lisp/muse-journal.el (muse-journal-rss-munge-buffer): Don't
532         delete the remainder of the buffer, since this causes the
533         resulting RDF to have invalid syntax.  Thanks to Phillip Lord for
534         the report and the suggested fix.
536         * lisp/muse-publish.el (muse-publish-markup-regexps): Add "^" to
537         beginning of table-el regexp.  This fixes a bug where Muse stalls
538         when trying to publish a malformed table.  Thanks to Ye Wenbin for
539         the report and the suggested fix.
541 2007-07-12  Michael Olson  <mwolson@gnu.org>
543         * lisp/muse-wiki.el (muse-wiki-interwiki-regexp): Set to nil by
544         default, rather than the empty string.  This really fixes the bug
545         that occurred when using Muse with muse-project-alist set to nil.
546         Thanks to Jonathan Underwood for the report.
547         (muse-wiki-update-interwiki-regexp): Set
548         muse-wiki-interwiki-regexp to nil if muse-project-alist is not
549         defined.
550         (muse-wiki-handle-implicit-interwiki)
551         (muse-wiki-handle-explicit-interwiki): Handle case where
552         muse-wiki-interwiki-regexp is nil.
554 2007-07-10  Michael Olson  <mwolson@gnu.org>
556         * lisp/muse-mode.el (muse-grep): Abort search if the current
557         project contains no directories.
559         * lisp/muse-project.el (muse-project-file-alist): If
560         muse-project-alist is not defined, or project is nil, return nil
561         right away.  This ought to fix a bug that occurred when using Muse
562         with muse-project-alist set to nil.
563         (muse-project-of-file): Make sure muse-project-alist is not nil.
564         (muse-project-save-buffers): Make sure project is not nil.
566         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Deal with
567         case where muse-project-alist is nil.
569         * lisp/muse.el (muse-replace-regexp-in-string): Explicitly check
570         for XEmacs, since color-theme.el is poorly behaved, and defines
571         its own replace-in-string.  Bad color-theme.el -- no cookie for
572         you.
574 2007-07-01  Michael Olson  <mwolson@gnu.org>
576         * Makefile (.PHONY): Update for new debian package rules.
578         * lisp/muse-book.el (muse-book-latex-footer): Wrap long line.
580         * lisp/muse-docbook.el (muse-docbook-fixup-citations): Re-indent.
581         Use save-restriction properly.
582         (muse-docbook-entities, muse-docbook-bibliography): : Re-indent.
584         * lisp/muse-latex.el (muse-latex-footer): Wrap long line.
585         (muse-latex-fixup-citations): Re-indent.  Use save-restriction
586         properly.
587         (muse-latex-bibliography): Re-indent.
589         * lisp/muse-publish.el (muse-publish-get-and-delete-attr): Move
590         higher.  This fixes an error at startup with some versions of
591         Emacs.
592         (muse-publish-cite-tag): Re-indent.
594         * lisp/muse-wiki.el (muse-wiki-handle-explicit-interwiki): Narrow
595         to the end of the link part, so as to exclude the description from
596         the match.  This fixes a bug with three-part links that have
597         descriptions.  Thanks to everyone who pointed it out.
599 2007-06-18  Michael Olson  <mwolson@gnu.org>
601         * lisp/muse-html.el (muse-html-markup-strings): Add anchor.
602         (muse-xhtml1.1-markup-strings): New option that specifies XHTML
603         1.1 specific markup strings.
604         (muse-html-insert-anchor): Use 'anchor string, rather than
605         hard-coding it.  Thanks to Chris Corsair for the suggestion.
606         ("xhtml1.0"): New style that is an alias for the xhtml style.
607         ("xhtml1.1"): New style that publishes XHTML 1.1 compliant output.
609 2007-06-17  Michael Olson  <mwolson@gnu.org>
611         * examples/QuickStart.muse: Make images local so that the Info
612         version of this document works.  Add <example> for the Literal
613         paragraphs chapter, so that it is clear what is happening.
615         * Makefile: Add elpa target, which is used for building an ELPA
616         package for Muse.
618         * Makefile.defs (ELPADIR, ELPADESC): New variables used for
619         building ELPA packages.
621         * examples/Makefile (%.html, %.pdf, %.info): Add message to
622         indicate what we are publishing.
623         (realclean distclean fullclean): Remove all TeX crud.
625         * examples/emacs-muse.png, examples/muse-made-with.png: Include so
626         that the Info version of QuickStart can publish correctly.
628         * lisp/muse-latex.el (muse-latex-slides-header)
629         (muse-latex-lecture-notes-header): Docfix.
631         * lisp/muse-project.el (muse-project-ignore-regexp): Add .git to
632         the list of things to ignore.
634         * lisp/muse-publish.el (muse-publish-markup-list): Remove unused
635         variable.
637         * lisp/muse-texinfo.el (muse-texinfo-process-natively): Set
638         default to nil, since texinfmt.el is a serious nuisance.
639         (muse-texinfo-markup-strings): Add newlines to begin-example and
640         end-example.
641         (muse-texinfo-decide-specials): Also escape URL-type specials in a
642         whole slew of other contexts.
644         * lisp/muse-xml-common.el (muse-xml-encoding-map): Change group to
645         muse-xml.
647         * lisp/muse-xml.el (muse-xml-footer): Docfix.
649         * lisp/muse.el (muse-version): Release Emacs Muse version 3.03.
651 2007-06-16  Michael Olson  <mwolson@gnu.org>
653         * etc/IDEAS.muse: Add some ideas from David D. Smith.
655         * examples/QuickStart.muse: Overhaul.
657         * lisp/muse-project.el (muse-project): Call the last part of a
658         muse-project-alist entry "Output styles" rather than "styles".
660         * lisp/muse-publish.el (muse-publish-table-fields): Handle case
661         where we have a pipe character at the beginning of line.
663         * lisp/muse-xml-common.el (muse-xml-sort-table): Fix typo that was
664         causing tables to not be sorted at all.
666         * texi/muse.texi: Overhaul.  It would be too time-consuming to
667         list all of the changes here.  The "Getting Started" and
668         "Projects" chapters, in particular, were heavily revised.
670 2007-06-15  Michael Olson  <mwolson@gnu.org>
672         * NEWS: Update.
674         * examples/QuickStart.muse: Mention new features.
676         * lisp/muse-colors.el (muse-colors-toggle-inline-images): Docfix.
677         Remove C-c C-i keybinding, since it conflicts with C-c TAB in the
678         terminal, and C-c TAB is more important.  Most people will not
679         want to toggle images on and off that often.
681         * lisp/muse-mode.el (muse-mode-map): Bind muse-insert-thing to C-c
682         C-i as well, so that it works in the terminal.
684         * lisp/muse-publish.el (muse-publish-literal-tag): Make the output
685         look a bit tidier when removing the region.
687         * lisp/muse-regexps.el (muse-list-item-regexp): Put definition
688         list regexp part before other parts.
689         (muse-ol-item-regexp): New regexp that specifies how to match an
690         ordered list item.
691         (muse-ul-item-regexp): New regexp that specifies how to match an
692         unordered list item.
693         (muse-table-field-regexp): New regexp that specifies how to match
694         a definition list entry.
696         * lisp/muse-texinfo.el (muse-texinfo-info-generate): Work around
697         lack of support for @headitem in texinfmt.el.
699         * lisp/muse.el: Wrap muse-line-beginning-position and
700         muse-line-end-position in `eval-and-compile', since they are now
701         used in muse.el.
702         (muse-list-item-type): Use a simpler algorithm for detecting which
703         kind of list item we have.  This fixes a bug where a number in a
704         definition list term was being detected incorrectly as an ordered
705         list item.  Fixes bug #6250.
706         (muse-forward-list-item): Get the entire line with the list item.
707         For some reason, Emacs 21 was not populating match 2 correctly,
708         unlike Emacs 22, so this workaround was needed.
710         * texi/muse.texi: (Keystroke Summary): Remove C-c
711         C-i (`muse-insert-tag') documentation, and mention C-c C-i as an
712         alternative keybinding to the C-c TAB stuff.  Mention
713         muse-colors-toggle-inline-images.
715 2007-06-14  Michael Olson  <mwolson@gnu.org>
717         * README: Mention that RelaxNG schema is in etc/ directory.
719         * etc/emacs-wiki-migration.txt: New document that explains how to
720         migrate from emacs-wiki to Muse.
722         * etc/muse.rnc: Increment version number to 1.0.  Fix several
723         nested emphasis and nested lists edge cases.  Move here from
724         examples/.
726         * lisp/muse-mode.el (muse-mode-map): Permit C-c C-M-t to do the
727         same thing as C-c C-S-t, since the former works better in the
728         console.  Thanks to Leo for the suggestion.
730         * lisp/muse-publish.el (muse-publish-markup-table)
731         (muse-publish-markup-table-el): Include a newline in the return
732         string, so that paragraph detection does not get confused.
734         * lisp/muse.el (muse-with-temp-buffer): Docfix.
736         * texi/muse.texi (Keystroke Summary): Document the C-c C-M-t
737         keybinding.
739 2007-06-13  Michael Olson  <mwolson@gnu.org>
741         * etc/IDEAS.muse: Mark three-part-links item as done.
743         * experimental/muse-message.el: Remove guard for muse-define-style
744         calls.
746         * lisp/muse-colors.el (muse-configure-highlighting): Fix bug where
747         markup rules were being interpreted in reverse order.  This should
748         make implicit interwiki links work properly again.
749         (muse-link-face): Strip anchor from end of a path, so that this
750         works with anchors in interwiki links.
751         (muse-colors-insert-image): Catch error that occurs in Emacs 21
752         when an image does not exist.
754         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Permit
755         anchors.
756         (muse-wiki-handle-implicit-interwiki): Docfix.  Make anchors in
757         interwiki links work.  Thanks to Jim Ottaway for the initial
758         implementation.
759         (muse-wiki-handle-explicit-interwiki): Make anchors in interwiki
760         links work.
762         * lisp/muse.el (muse-handle-implicit-link): Docfix: only care
763         about match 0.
764         (muse-handle-explicit-link): Docfix: this does not modify the
765         match data.
766         (muse-file-remote-p): In Emacs 21, ange-ftp-name-format is a list
767         that has the regexp in its car.
769 2007-06-12  Michael Olson  <mwolson@gnu.org>
771         * README: Document new etc/ directory.
773         * etc/IDEAS.muse: Install things from new contributors just after
774         the 3.03 release, since I won't have time to review the code
775         before the release.  Move to new etc/ directory.  Slides
776         publishing has been installed.
778         * lisp/muse-latex.el (muse-latex-slides-header): New option that
779         determines the header to use for publishing slides.
780         (muse-latex-lecture-notes-header): New option that determines the
781         header to use for publishing lecture notes.
782         (muse-latex-slides-markup-tags): New option containing tags to use
783         when publishing slides.
784         (muse-latex-permit-contents-tag): Move higher in file.
785         (muse-latex-slide-tag): New function to publish the <slide> tag.
786         ("slides", "slides-pdf"): New publishing styles that create slides
787         using Beamer.
788         ("lecture-notes", "lecture-notes-pdf"): New publishing styles that
789         create lecture notes using Beamer.
791         * lisp/muse.el: Re-add the auto-mode-alist part to top-level,
792         since otherwise Planner is not happy when `plan' is called during
793         init.  Remove stray quote from autoload snippet.
795 2007-06-11  Michael Olson  <mwolson@gnu.org>
797         * lisp/muse.el: Make the add-to-list 'auto-mode-alist part an
798         autoload, rather than having it exist at top-level.  Thanks to Leo
799         for the suggestion.
800         (muse-update-file-extension): Docfix.
802 2007-06-10  Michael Olson  <mwolson@gnu.org>
804         * lisp/muse-publish.el (muse-publish-strip-URL): Fix bug where
805         URLs were being removed during publishing.  Thanks to everyone who
806         reported this.
808 2007-06-09  Markus Hoenicka <markus.hoenicka@mhoenicka.de>
810         * lisp/muse-book.el
811         * lisp/muse-docbook.el
812         * lisp/muse-latex.el
813         * lisp/muse-publish.el: added support for <cite> element which
814         denotes in-text citations
816         * lisp/muse-html.el
817         * lisp/muse-groff.el
818         * lisp/muse-texinfo.el
819         * lisp/muse-xml.el: added support for <cite> element (stub)
821 2007-06-06  Michael Olson  <mwolson@gnu.org>
823         * lisp/muse-regexps.el (muse-table-line-regexp)
824         (muse-table-hline-regexp, muse-table-el-border-regexp): Fix
825         regexps so that they work with XEmacs 21.  Thanks to Adrian
826         Tritschler for the report.
828         * texi/muse.texi: Update copyright years.
829         (HTML): Document muse-xhtml-style-sheet.  Thanks
830         to thorne for noticing.
831         (Development): Change archive year to 2006.  Thanks to Adrian
832         Tritschler for noticing.  So *that's* why some people had the 2005
833         version ....
835 2007-06-05  Michael Olson  <mwolson@gnu.org>
837         * Makefile (install-info): Remove $(MANUAL).info part, since this
838         is taken care of already by texi/Makefile.  Thanks to Leo for the
839         report.
841         * lisp/muse-journal.el (muse-journal-html-munge-buffer): Add
842         read-only properties to qotd contents, so that they don't get
843         double-escaped.  Thanks to Leo for the report.
845 2007-06-04  Michael Olson  <mwolson@gnu.org>
847         * lisp/muse-colors.el (muse-link-face): If the link is to a remote
848         -- that is, Tramp or ange-ftp -- file, then do not call
849         file-exists-p on it.  Thanks to Jim Ottaway for the suggestion.
850         Fixes bug #5115.
852         * lisp/muse-html.el (muse-html-insert-contents): Add
853         documentation.  Handle case where heading is read-only, but has
854         muse-contents property.  Remove the muse-contents property for any
855         heading we come across so as to avoid double-including an item in
856         an outer table of contents.
857         (muse-html-denote-headings): New function that denotes whether a
858         heading is not read-only by adding the muse-contents property to
859         it.
860         (muse-html-munge-buffer): If we are not to generate contents,
861         still denote headings, in case some outer layer wants to generate
862         contents for our headings.  This should fix a bug with table of
863         contents and the <include> tag.  Thanks to thorne for the report.
865         * lisp/muse-publish.el (muse-publish-markup-region): Let-bind
866         muse-publish-generate-contents and set it to nil.  This should
867         do the right thing when using <include> tags.
869 2007-06-02  Michael Olson  <mwolson@gnu.org>
871         * NEWS: Update for non-inlined image change and support for
872         table.el style tables.
874         * examples/Makefile (clean): Clean backup files.
876         * examples/QuickStart.muse (Images): New section that describes
877         how to inline and not inline images.
879         * lisp/muse-colors.el (muse-colors-resolve-image-file): Don't
880         touch images that have "URL:" in front of them.
882         * lisp/muse-protocols.el (muse-url-protocols): Add handler for
883         "URL:".  Use the identity function to resolve, since we don't want
884         to rip "URL:" out while publishing, due to some magic that depends
885         on that text.
886         (muse-browse-url-url): New function that browses URLs that have
887         "URL:" in front of them, by removing the "URL:" part and
888         reprocessing the remainder.
890         * lisp/muse-publish.el (muse-publish-classify-url): Docfix.
891         (muse-publish-url): Recognize images in the description before
892         images in the link.  Fixes bug #5112.  Thanks to Thomas Kappler
893         for the suggested workaround.
894         (muse-publish-desc-transforms): Add `muse-publish-strip-URL' as a
895         default value.
896         (muse-publish-classify-url): If target begins with "URL:" return
897         type url.
898         (muse-publish-strip-URL): New function that strips "URL:" from the
899         beginning of a string.  This is used to remove URL: from the link
900         description.  * texi/muse.texi (Markup Strings): Clarify the
901         meanings of image-link, link, and link-and-anchor.
902         (muse-publish-markup-regexps): Move normal table rule to 2350.
903         Rule 2300 is now a regexp that matches table.el-style tables.
904         (muse-publish-markup-functions): Add table-el entry.
905         (muse-publish-table-el-table): New function that given a variant,
906         publishes a table.el-style table using the table in the matched
907         region.
908         (muse-publish-markup-table-el): New function that determines
909         whether the table.el-style table can be published, and what
910         variant to use.
912         * lisp/muse-regexps.el (muse-tag-regexp): New regexp that matches
913         the borders of table.el-style tables.
915         * lisp/muse-xml-common.el (muse-xml-markup-table): Make sure that
916         the table has sufficient whitespace in front of it.
918         * texi/muse.texi (Images): Update for new non-inlined image
919         ability and provide example.
921 2007-05-31  Michael Olson  <mwolson@gnu.org>
923         * NEWS: Add example for setting `muse-html-table-attributes'.
925         * lisp/muse-xml-common.el (muse-xml-markup-table): Add docstring.
926         Publish multiple tbody tags if there is a horizontal separator
927         after the heading, because that is valid HTML after all.
929 2007-05-30  Michael Olson  <mwolson@gnu.org>
931         * NEWS: Update.
933         * lisp/muse-latex.el (muse-latex-markup-table): Deal with
934         horizontal separators in tables.
936         * lisp/muse-publish.el (muse-publish-markup-regexps): Recognize
937         horizontal separators in tables.
938         (muse-publish-trim-table): New function to remove initial and
939         final blank columns from a table.
940         (muse-publish-table-fields): Call `muse-publish-trim-table'.  Deal
941         with horizontal separators, aka "hlines".
943         * lisp/muse-regexps.el (muse-table-hline-regexp): New regexp that
944         defines the syntax of a horizontal separator in a table.
946         * lisp/muse-texinfo.el (muse-texinfo-markup-table): Deal with
947         horizontal separators.  Publish header lines correctly.
949         * lisp/muse-xml-common.el (muse-xml-sort-table): Deal with case
950         where we have nonnumbers as a row type.  This ignores sorting for
951         hlines.
952         (muse-xml-markup-table): Deal with horizontal separators.  If the
953         markup supports table groups, make hlines separate table groups.
954         Otherwise, ignore them, since they cannot be marked up.  Together,
955         these changes allow us to support orgtbl-mode tables.  Thanks to
956         Carsten Dominik for the suggestion.
958 2007-05-26  Michael Olson  <mwolson@gnu.org>
960         * lisp/muse-project.el (muse-project-alist-styles): Allow for
961         other things to be added to each generated style as well.  For
962         example, this permits me to add
963         :base-url "http://blog.mwolson.org/"
964         for my blog.
966 2007-05-25  Michael Olson  <mwolson@gnu.org>
968         * Makefile (debclean, debprepare, debbuild, debinstall, deb): New
969         way of building Debian packages that preserves the original
970         release tarball and is more modular.
971         (debrevision, debrelease): Remove.
972         (dist): No need to remove the debian/ directory, since it is now
973         in its own branch.
974         (debprepare): Copy over debian/ directory properly.
976         * NEWS: Update.
978         * examples/Makefile (clean): Remove QuickStart.texi, in case
979         something went wrong during the build.
980         (%.pdf): Publish the example using the normal pdf style, rather
981         than info-pdf.
983         * examples/QuickStart.muse: Add myself to the authors list.
985         * lisp/muse-html.el (muse-html-src-tag): Ensure that we have
986         sufficient blank lines before the tag.
988         * lisp/muse-journal.el (muse-journal-latex-qotd-tag): Ensure that
989         we have sufficient blank lines before the tag.
991         * lisp/muse-latex.el (muse-latex-pdf-program): New option that
992         specifies the program to call in order to generate PDF content
993         from LaTeX content.
994         (muse-latex-pdf-cruft): New option that specifies the extensions
995         of files to remove after generating PDF output successfully.
996         (muse-latex-pdf-generate): Use these new options.  Work around the
997         annoying edge case where a tilde character exists in the filename
998         or directory path -- now this can only error out when the relative
999         path from the output file to the source file contains a tilde,
1000         which is far less likely.
1002         * lisp/muse-publish.el (muse-publish-markup-attribute): Don't use
1003         muse-publish-ensure-block here after all, because <lisp> et al may
1004         occur inline as part of other things.
1006         * lisp/muse-texinfo.el ("texi"): Make muse-texinfo-munge-buffer
1007         occur after full-document escaping, rather than before.  This
1008         prevents automatically-inserted Texinfo code from being escaped.
1009         (muse-texinfo-pdf-generate): Rewrite to call
1010         `muse-latex-pdf-generate' with pdftex as the generating binary,
1011         because texi2pdf suffers irredeemably from the tilde edge case
1012         mentioned above.
1014 2007-05-24  Michael Olson  <mwolson@gnu.org>
1016         * NEWS: Drop vague entries and position interesting entries closer
1017         to the top of each section.  Update for new changes.
1019         * lisp/muse-project.el (muse-project-ignore-regexp): Add Mercurial
1020         and bzr metadata directories to the list of things to ignore.
1022         * lisp/muse-publish.el (muse-publish-ensure-block): Rename from
1023         `muse-publish-ensure-block-tag', since we will use it for more
1024         than just tags.
1025         (muse-publish-markup-list, muse-publish-verse-tag)
1026         (muse-publish-quote-tag, muse-publish-example-tag)
1027         (muse-publish-markup-attribute): Use it.  This fixes a bug that
1028         can occur when these types of markup occur immediately after a
1029         paragraph.  It's good to have defined behavior!
1031         * texi/muse.texi (Markup Strings): Mention new argument for
1032         link-and-anchor.
1034 2007-05-19  Michael Olson  <mwolson@gnu.org>
1036         * lisp/muse-html.el (muse-html-markup-footnote): Add class tags to
1037         published footnotes and footnote references.  Thanks to Scott
1038         Jaderholm for the idea.
1040         * lisp/muse-latex.el (muse-latex-markup-strings): Revert change to
1041         link-and-anchor, on the recommendation of the original submitter.
1043 2007-05-14  Michael Olson  <mwolson@gnu.org>
1045         * lisp/muse-latex.el (muse-latex-markup-strings): Use better
1046         link-and-anchor markup.  Thanks to Jean Magnan de Bornier for the
1047         suggestion.
1049         * lisp/muse-publish.el (muse-publish-url): Pass the url without a
1050         file extension as the fourth argument.
1052         * README, texi/muse.texi (Getting Help and Reporting Bugs):
1053         Mention the new muse-el-logs mailing list.
1055 2007-05-13  Michael Olson  <mwolson@gnu.org>
1057         * lisp/muse-protocols.el (muse-resolve-url): Don't concatenate
1058         "\`" here.  This fixes a problem with publishing custom URLs.
1060 2007-05-12  Michael Olson  <mwolson@gnu.org>
1062         * lisp/muse-blosxom.el (muse-blosxom-update-page-date-alist): Only
1063         update the list if the current buffer is associated with a file.
1064         This fixes a bug with M-x muse-publish-region in a temporary
1065         buffer.
1067 2007-05-01  Michael Olson  <mwolson@gnu.org>
1069         * lisp/muse-publish.el (muse-publish-region): Remove read-only
1070         properties from the published buffer, so that the results can be
1071         manually tweaked.
1073 2007-04-23  Michael Olson  <mwolson@gnu.org>
1075         * lisp/muse-publish.el (muse-publish-markup-footnote): If we can't
1076         find the footnote that goes with a reference, leave the reference
1077         as-is.  This fixes an error where control characters could be
1078         placed in a published document.
1080 2007-04-22  Michael Olson  <mwolson@gnu.org>
1082         * IDEAS.muse: Add muse-slides.el to list of things to include
1083         before release.
1085         * lisp/muse-protocols.el (muse-url-protocols): Remove stray quote
1086         character.
1087         (muse-protocol-find): Find protocols correctly.  Rewrite to use
1088         catch/throw.
1089         (muse-browse-url): Don't concatenate "\`" here.  Together, this
1090         fixes a bug with browsing woman:// links.
1092         * lisp/muse-project.el (muse-project-alist-styles): Deal with case
1093         where entry-dir has a trailing backslash.
1094         (muse-project-publish-file): If a style is malformed, skip it and
1095         display a warning message.  This should help people figure out
1096         where the problem is.
1098 2007-04-21  Michael Olson  <mwolson@gnu.org>
1100         * lisp/muse-latex2png.el (muse-publish-math-tag): If using the
1101         yet-to-be-included "contex" publishing style, use "$$" rather
1102         than "\[" and "\]".  Thanks to Jean Magnan de Bornier for pointing
1103         this out.
1105 2007-04-20  Michael Olson  <mwolson@gnu.org>
1107         * lisp/muse-publish.el (muse-publish-inhibit-style-hooks): New
1108         variable that causes the :before and :before-end hooks to be
1109         ignored when non-nil.
1110         (muse-publish-markup-region): Use it.  Also, guarantee that point
1111         is at end of region after publishing.
1112         (muse-publish-mark-up-tag): Simplify, taking advantage of the new
1113         variable.
1115 2007-04-19  Michael Olson  <mwolson@gnu.org>
1117         * IDEAS.muse: New file containing a list of ideas we have for new
1118         features, or patches that have yet to be applied.
1120         * README: Call it "Emacs Muse", not "the Emacs Muse".  No need to
1121         be so confusing.
1123         * lisp/muse-html.el (muse-html-table-attributes): Fix typo in
1124         docstring.
1126         * lisp/muse-publish.el (muse-publish-markup-tags): Handle
1127         <literal> tags with muse-publish-literal-tag, rather than
1128         muse-publish-mark-read-only.
1129         (muse-publish-literal-tag): New function that publishes the
1130         <literal> tag.  It adds the ability to add the optional "style"
1131         and "exact" elements, which cause text to only be included if the
1132         current publishing style matches some criteria.  The text will be
1133         removed otherwise.  Thanks to Jim Ottaway for the implementation.
1134         (muse-publish-mark-up-tag): Let the <markup> tag take the
1135         additional optional elements "style" and "exact", with much the
1136         same effect as the <literal> improvements, but after calling
1137         "function" or publishing the region first.  Make it possible to
1138         put <content> tags in <markup> regions in HTML publishing.
1140 2007-04-12  Michael Olson  <mwolson@gnu.org>
1142         * lisp/muse-publish.el (muse-publish-markup-heading): Make sure
1143         that a blank line always exists after a heading.  This fixes a bug
1144         in Docbook paragraph detection.  Thanks to Jean Magnan de Bornier
1145         for the report.
1147         * lisp/muse-xml.el (muse-xml-markup-regexps): Update paragraph
1148         detection regexp to that which is used in Docbook and HTML
1149         publishing styles.
1151 2007-04-02  Michael Olson  <mwolson@gnu.org>
1153         * README (muse-el-announce): Make a listing of mailing lists,
1154         rather than pointing to the old EmacsWikiMailingList page.  Thanks
1155         to Andreas Roehler for noticing.
1157 2007-04-01  Michael Olson  <mwolson@gnu.org>
1159         * lisp/muse-publish.el (muse-publish-date-format): Add
1160 `       customization type and group.
1161         (muse-publish-region): New interactive function that publishes a
1162         region to a new buffer.
1164         * texi/muse.texi: Use "document" rather than "manual".
1166 2007-03-31  Michael Olson  <mwolson@gnu.org>
1168         * lisp/muse-publish.el (muse-style-derived-p): Fix bug where the
1169         expression (muse-style-derived-p "latex" (muse-style "latex"))
1170         yielded nil.  It now yields t, as expected.  Thanks to Jim Ottaway
1171         for the catch.
1173 2007-02-25  Michael Olson  <mwolson@gnu.org>
1175         * lisp/muse-publish.el (muse-publish-date-format): New option that
1176         specifies how to format the date when publishing Muse pages.
1177         Thanks to Thomas Gehrlein for the suggestion.
1178         (muse-publish-markup-buffer): Use it.
1180 2007-02-23  Michael Olson  <mwolson@gnu.org>
1182         * README: Add Prerequisites section to mention which versions of
1183         Emacs work with Muse.  Thanks to Exal de Jesus Garcia Carrillo for
1184         the suggestion.  Update link destination for Muse's page on
1185         emacswiki.org.
1187 2007-02-15  Michael Olson  <mwolson@gnu.org>
1189         * lisp/muse.el (muse-goto-tag-end): Modify regexp to allow tags to
1190         be not just at beginning of line.  This fixes an error with the
1191         <class> tag.  Thanks to Jim Pivarski for the report.
1193 2007-02-14  Michael Olson  <mwolson@gnu.org>
1195         * lisp/muse-publish.el (muse-publish-classify-url): Check to see
1196         whether something is an image before checking to see if it is a
1197         URL.  Thanks to ITSUMI ken-ichi for the report.
1199 2007-02-13  Michael Olson  <mwolson@gnu.org>
1201         * lisp/muse-publish.el (muse-publish-markup-regexps): Handle
1202         comments that have no text better.  Thanks to fang.lungang for the
1203         report.
1204         (muse-publish-markup-comment): Deal with case where no comment
1205         text is provided.
1207 2007-01-23  Michael Olson  <mwolson@gnu.org>
1209         * lisp/muse-publish.el (muse-publish-ensure-block-tag): New macro
1210         that ensures that at least one blank line exists at the given
1211         position.  This is used to avoid paragraph detection problems when
1212         block-level tags like <example> immediately follow a paragraph.
1213         Thanks to Hans Ekbrand for the report.
1214         (muse-publish-example-tag): Use it.
1216 2007-01-19  Michael Olson  <mwolson@gnu.org>
1218         * lisp/muse-latex2png.el (muse-publish-math-tag): Only remove the
1219         previous blank line if we are publishing in Latex.  Otherwise,
1220         that wouldn't be the right thing, so leave it be.
1222 2007-01-17  Michael Olson  <mwolson@gnu.org>
1224         * lisp/muse-latex2png.el (muse-publish-math-tag): Don't put
1225         multiple centered math lines on the same line; keep them on
1226         different lines.  Use \[ math-text \] instead of $$math-text$$,
1227         since the latter seems to be deprecated.  Thanks to Jody Klymak
1228         for the pointer.
1230 2007-01-15  Michael Olson  <mwolson@gnu.org>
1232         * lisp/muse-latex2png.el (muse-publish-latex-tag)
1233         (muse-publish-math-tag): Publish region read-only when current
1234         style is Latex-derived, so that Muse does not escape it.
1235         (muse-publish-math-tag): If 6 or more spaces come before the tag,
1236         surround the region with "$$" rather than "$".  This is the Muse
1237         syntax for something centered, so it should be a good fit.
1239 2007-01-15  Valery V. Vorotyntsev  <valery.vv@gmail.com>
1241         * lisp/muse-protocols.el (muse-url-protocols): Add "woman://"
1242         protocol.
1243         (muse-browse-url-man): Change man page URL format.  The code is
1244         simpler when the section is left inside parentheses.
1245         (muse-browse-url-woman): New function.
1247 2007-01-14  Michael Olson  <mwolson@gnu.org>
1249         * AUTHORS: Bookkeeping.
1251         * lisp/muse-latex2png.el: Associate <math> tag with
1252         muse-publish-math-tag, not muse-publish-latex-tag.  Thanks to Jody
1253         Klymak for the report.
1254         (muse-publish-math-tag): Use muse-insert-markup for the "$"
1255         characters, so they don't get escaped.
1257         * lisp/muse-publish.el (muse-style-derived-p-1): New function to
1258         make muse-style-derived-p easier to implement.
1259         (muse-style-derived-p): If the style is not provided, fetch it and
1260         check to see if the car is a string.  This should fix the other
1261         problem that was reported.
1263         * texi/muse.texi (Projects): Apply patch from Bradley M. Kuhn that
1264         explains a case where setting muse-file-extension to nil can cause
1265         unexpected behavior.
1267 2007-01-09  Michael Olson  <mwolson@gnu.org>
1269         * lisp/muse-publish.el (muse-publish-markup-regexps): Make
1270         comments higher priority than tags.  Thanks to Stefan van der Walt
1271         for the report.
1273 2007-01-08  Michael Olson  <mwolson@gnu.org>
1275         * lisp/muse-publish.el (muse-markup-tag-info): Use the given
1276         argument rather than calling match-string.  Thanks to Stefan van
1277         der Walt for the report.  This should fix a bug with publishing
1278         <include file="..." markup="example">.
1280 2007-01-06  Michael Olson  <mwolson@gnu.org>
1282         * Makefile (debclean): New rule split from debrevision and
1283         debrelease.
1284         (debbuild): Take distributor into account.
1286         * Makefile.defs (DISTRIBUTOR): New field that tracks what
1287         vendor/distributor we are building for.
1289 2007-01-04  Michael Olson  <mwolson@gnu.org>
1291         * lisp/muse-html.el (muse-html-src-tag): Remove initial blank
1292         line.
1294         * lisp/muse-publish.el (muse-publish-markup-tags): Make "src"
1295         point to muse-publish-src-tag by default, since <src> and
1296         <example> have different parameters.
1297         (muse-publish-src-tag): New barebones publishing function for
1298         <src>, which is superseded when publishing in an HTML-based style.
1300 2007-01-03  Michael Olson  <mwolson@gnu.org>
1302         * lisp/muse-html.el (muse-html-src-tag): Document.
1304         * lisp/muse-publish.el (muse-publish-call-tag-on-buffer): New
1305         command that calls a given tag on the current buffer.  Attributes
1306         may be passed.
1307         (muse-publish-examplify-buffer, muse-publish-versify-buffer): Use
1308         it.
1309         (muse-publish-srcify-buffer): New function that allows
1310         markup="src" in the <include> tag.
1311         (muse-publish-get-and-delete-attr): New macro that gets an
1312         attribute from a list and removes the first instance of that
1313         attribute from said list.
1314         (muse-publish-markup-attribute): Handle markup="src".
1315         (muse-publish-command-tag, muse-publish-include-tag): Use
1316         muse-publish-get-and-delete-attr.  This allows the remaining
1317         attributes to be passed.
1319         * texi/muse.texi (Tag Summary): Update for new <src> tag as well
1320         as changes to <command> and <include>.
1322 2006-12-30  Michael Olson  <mwolson@gnu.org>
1324         * NEWS: Update.
1326         * experimental/muse-mathml.el (muse-publish-mathml-tag): Rename
1327         from muse-publish-math-tag to avoid conflict with
1328         muse-latex2png.el.
1330 2006-12-23  Michael Olson  <mwolson@gnu.org>
1332         * lisp/muse-latex2png.el: Update header, since this has been
1333         rewritten sufficiently to not need an assignment from the original
1334         author.
1335         (muse-latex2png-use-xhtml): Remove, since we now autodetect this.
1336         (muse-latex2png): Use two underscores to separate prefix and hash.
1337         (muse-latex2png-region): New function split from
1338         muse-publish-latex-tag that can be used easily by other code.
1339         Detect whether we are using an HTML-based publishing style, and
1340         insert a simpler markup if we are not.  If we are using a
1341         Latex-based publishing style, do not generate an image, and leave
1342         the region alone.  Return the path of the generated image, in case
1343         other functions want to use this programmatically.
1344         (muse-publish-latex-tag): Set a default prefix based on the name
1345         of the current file.
1346         (muse-publish-math-tag): New tag that surrounds the region with
1347         "$" characters, so that it becomes a Latex math region, and then
1348         publishes it.
1350         * lisp/muse-publish.el (muse-style-derived-p): New function that
1351         returns non-nil if a given style, or the current style if omitted,
1352         is equal to or derived from the given base style.  This is useful
1353         in <lisp> tags, because it allows the user to specify markup that
1354         is only to be inserted for one particular style.
1356 2006-12-22  Michael Olson  <mwolson@gnu.org>
1358         * lisp/muse-html.el (muse-html-markup-tags): Add <src> tag.
1359         (muse-html-src-tag): New function which publishes the <src> tag.
1360         Thanks to Clinton Ebadi and Charles Wang for the initial
1361         implementations.
1363         * lisp/muse-publish.el (muse-publish-markup-tags): Add <src> tag.
1365 2006-12-21  Michael Olson  <mwolson@gnu.org>
1367         * examples/johnw/muse-johnw.el: Update for preferred
1368         muse-derive-style usage.  Rename to muse-init.el.
1370         * examples/mwolson/muse-init.el: Update.
1372         * lisp/muse-book.el (muse-book-publish): New function split from
1373         muse-book-publish-project.  This is used in the definitions for
1374         the book-latex and book-pdf styles.
1375         (muse-book-publish-p): New function split from muse-book-publish.
1376         (muse-book-get-directives): New function that retrieves the
1377         publishing directives from the given file.
1378         (muse-book-publish): Use muse-book-get-directives to set the title
1379         if no title was specified.
1381         * lisp/muse-project.el (muse-project): Add :publish-project entry
1382         to widget.
1383         (muse-read-project, muse-project-find-file): Message fix.
1384         (muse-project-publish-file-default): New function split from
1385         muse-project-publish-file.
1386         (muse-project-publish-file): Allow file-level publishing function
1387         to be specified by the :publish element.  The default is
1388         muse-project-publish-file-default.
1389         (muse-project-publish-default): New function split from
1390         muse-project-publish.
1391         (muse-project-publish): Allow project-level publishing function to
1392         be specified by :publish-project element.  The default is
1393         muse-project-publish-default.
1395         * lisp/muse-publish.el (muse-publish-file): Message fix.
1397         * texi/muse.texi (Book): Mention new way to publish books and
1398         provide an example, since the process may be non-obvious.
1400 2006-12-20  Michael Olson  <mwolson@gnu.org>
1402         * lisp/muse-docbook.el (muse-docbook-munge-buffer): Split out
1403         content-modifying code from the rest of
1404         muse-docbook-finalize-buffer.
1406         * lisp/muse-groff.el (muse-groff-munge-buffer): Rename from
1407         muse-groff-finalize-buffer, since it adds content to the buffer.
1409         * lisp/muse-html.el (muse-html-munge-buffer): Split out
1410         content-modifying code from the rest of muse-html-finalize-buffer.
1411         This fixes a bug when using <include> with <content> tags.
1413         * lisp/muse-journal.el (muse-journal-html-munge-buffer)
1414         (muse-journal-latex-munge-buffer)
1415         (muse-journal-rss-munge-buffer): Rename, since they add content to
1416         the buffer.
1418         * lisp/muse-latex.el (muse-latex-munge-buffer): Rename from
1419         muse-latex-finalize-buffer, since it adds content to the buffer.
1421         * lisp/muse-mode.el:
1422         * lisp/muse-project.el:
1423         * lisp/muse-publish.el:
1424         * lisp/muse.el: Fix recursive load error.
1426         * lisp/muse-texinfo.el (muse-texinfo-munge-buffer): Rename from
1427         muse-texinfo-finalize-buffer, since it adds content to the buffer.
1429         * lisp/muse-wiki.el: Comment cleanup.
1431         * lisp/muse-xml.el (muse-xml-charset-default): Docfix.
1433 2006-12-17  Michael Olson  <mwolson@gnu.org>
1435         * lisp/muse-latex.el (muse-latex-header, muse-latexcjk-header):
1436         Remove the definition of \comment, since Latex already has comment
1437         syntax.
1438         (muse-latex-markup-strings): Use the Latex comment syntax, rather
1439         than our own.  Thanks to Ryan Stutsman for pointing this out.
1441 2006-12-02  Michael Olson  <mwolson@gnu.org>
1443         * lisp/muse-html.el (muse-html-insert-contents): Tweak regexp so
1444         that this can generate a proper table of contents for Planner HTML
1445         publishing.
1447 2006-12-01  Michael Olson  <mwolson@gnu.org>
1449         * lisp/muse.el (muse-replace-regexp-in-string): In case someone is
1450         using a very old Emacs, avoid an infinite loop that could occur
1451         when the regexp is an empty string.
1453 2006-11-26  Michael Olson  <mwolson@gnu.org>
1455         * NEWS: Bring up to date.
1457         * lisp/muse-docbook.el (muse-docbook-markup-paragraph): Fix nested
1458         list issues and multiple-stanza verse issues.  This takes care of
1459         all of the markup issues I was worried about.
1461         * lisp/muse-project.el (muse-project-ignore-regexp): Minor docfix.
1462         (muse-project-publish-private-files): New option that indicates
1463         whether files with private filesystem permissions should be
1464         published.  The default is to publish them, since it avoids
1465         confusion in new users.
1466         (muse-project-private-p): Use it.
1468 2006-11-19  Michael Olson  <mwolson@gnu.org>
1470         * lisp/muse-project.el (muse-project-resolve-link): If no remote
1471         style is found, which means that the link is not a Muse page, do
1472         not add a suffix or prefix to it.  This should fix the
1473         "[[thing.owl]]" bug that Phillip Lord reported.
1475         * lisp/muse-publish.el (muse-publish-link-file): Simplify by
1476         removing unused 2nd argument.
1478 2006-11-17  Michael Olson  <mwolson@gnu.org>
1480         * lisp/muse-publish.el (muse-publish-surround-text): Fix bug in
1481         latex publishing where nested enumerated lists would be squashed
1482         together at the end.
1484 2006-11-16  Michael Olson  <mwolson@gnu.org>
1486         * lisp/muse-latex.el (muse-latex-markup-strings): Make an ordered
1487         list embedded in a definition list look right.  This also allows
1488         for definitions to be separated from their terms, much like the
1489         way HTML does it by default, if the user puts a blank line or a
1490         line break between the term and the definition.  If the term and
1491         definition are on the same line, they will be that way in the
1492         output as well.
1494 2006-11-11  Michael Olson  <mwolson@gnu.org>
1496         * muse.texi (Markup Strings): Fix typo.  Thanks to Haiyong Zheng
1497         for the report.
1498         (Getting Help and Reporting Bugs): Fix emacswiki.org page URL.
1500 2006-11-07  Michael Olson  <mwolson@gnu.org>
1502         * lisp/muse.el (muse-version): Make Emacs Muse 3.02.93, the third
1503         release candidate for Muse 3.03, available.
1505         * NEWS: Update.
1507 2006-11-06  Michael Olson  <mwolson@gnu.org>
1509         * lisp/muse-project.el (muse-project-find-file): Fix bug when
1510         following a relative link worked even when the path was incorrect.
1512 2006-11-04  John Sullivan  <john@wjsullivan.net>
1514         * lisp/muse-mode.el (muse-mode-map): Remove C-c C-c binding for
1515         muse-follow-name-at-point to reduce collisions with other
1516         modes (Planner).
1518         * muse.texi (Keystroke Summary): Remove C-c C-c binding.
1520 2006-11-04  Michael Olson  <mwolson@gnu.org>
1522         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Make page
1523         optional, and make interwiki delimiter a regular rather than shy
1524         group.
1525         (muse-wiki-handle-implicit-interwiki): Rename from
1526         muse-wiki-handle-interwiki.  Use match group 3 to get the page.
1527         (muse-wiki-handle-explicit-interwiki): New function that is
1528         smarter about where an explicit link ends in a buffer.  This
1529         allows you to refer to page names with invalid Wiki characters,
1530         such as underscores and dashes, merely by enclosing them in double
1531         brackets.  Also, a bug with recognizing project names too loosely
1532         has been fixed.
1534 2006-11-03  Michael Olson  <mwolson@gnu.org>
1536         * lisp/muse-project.el (muse-project-page-file): Make relative
1537         links work as expected, hopefully.
1539         * lisp/muse-publish.el (muse-publish-this-file): Set the current
1540         output style manually, since it will differ from anything in the
1541         publishing style list.
1543 2006-10-30  Michael Olson  <mwolson@gnu.org>
1545         * lisp/muse-colors.el (muse-colors-markup): Remove note about
1546         grouping elements, since that no longer applies.
1547         (muse-colors-custom-tags): Explicitly match against
1548         muse-tag-regexp to get the match-data set the way we want.  This
1549         really fixes the <example> highlighting bug that Stefan reported.
1550         (muse-configure-highlighting): Set the original value to the
1551         symbol, not the modified value.  Re-use modified rules properly.
1553         * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Fix bug
1554         introduced yesterday.
1556 2006-10-29  Michael Olson  <mwolson@gnu.org>
1558         * examples/mwolson: Update my example configuration.
1560         * NEWS: Update.
1562         * lisp/muse-colors.el (muse-configure-highlighting): Remove rules
1563         without a regexp in the first position before iterating through
1564         them to build muse-colors-vector.  This fixes a bug with the
1565         display of <example> tags.  Thanks to Stefan Reichör for the
1566         report.
1568         * lisp/muse-project.el (muse-project-find-file): Permit non-Muse
1569         files in projects to be linked to.
1571         * lisp/muse-publish.el (muse-publish-url): Allow the original link
1572         to serve as a description for a URL, as long as it differs from
1573         the destination URL.  This fixes the description of WikPage links
1574         in PDF output.
1575         (muse-publish-link-file): Check to see whether the given link
1576         points at a valid file.  If so, return it.  Otherwise, apply other
1577         transforms like prefix and link suffix.
1579         * lisp/muse-regexps.el (muse-file-regexp): If something ends in
1580         "/", it is a file or directory, not a Muse page.  Thanks to
1581         Phillip Lord for the suggestion.
1583         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Use the path
1584         of the current page as the local path, instead of duplicating the
1585         remote file's path.  This probably fixes at least one reported
1586         bug. since it's quite major.
1587         (muse-wiki-update-project-file-regexp)
1588         (muse-wiki-update-interwiki-regexp): Ensure that nil is never
1589         passed to regexp-opt, since that can cause Emacs 21 to throw an
1590         "maximum binding depth exceeded" error.  Thanks to xs32 AT cornell
1591         DOT edu for the report.
1592         (muse-wiki-handle-wikiword): Avoid a potential stringp error.
1594 2006-10-28  Michael Olson  <mwolson@gnu.org>
1596         * lisp/muse-project.el (muse-project-choose-style-by-link-suffix)
1597         (muse-project-resolve-link): If the given style does not have a
1598         link-suffix, default to suffix.  This fixes a bug I was noticing
1599         when linking to a file that was published in both PDF and HTML
1600         form.
1602         * lisp/muse-publish.el (muse-publish-determine-dl-indent): New
1603         function that is used as a callback to determine the initial
1604         amount of indentation that the current dl item has.
1605         (muse-publish-surround-dl): Use it.  Pass the initial indent value
1606         and the post-indent value, instead of trying to determine them
1607         both.
1608         (muse-publish-strip-list-indentation): New function stripped from
1609         `muse-publish-surround-text' for readability.
1610         (muse-publish-surround-text): Instead of taking a determine-indent
1611         value, take a determine-indent-func function, which is called just
1612         after finding the next list item.  If we are asked to determine
1613         the amount of indentation, concatenate indent and post-indent the
1614         first time around.  This effectively fixes all known definition
1615         list issues.
1617 2006-10-16  Michael Olson  <mwolson@gnu.org>
1619         * lisp/muse.el: Provide the 'muse-nested-tags feature so that
1620         other software -- namely, Planner -- can detect whether they are
1621         using a version of Muse that supports nested tags.
1622         (muse-goto-tag-end): Moved from muse-publish.el and renamed from
1623         muse-publish-goto-tag-end.
1625         * lisp/muse-colors.el (muse-colors-tags, muse-colors-custom-tags):
1626         Adapt for nested tags.
1628         * lisp/muse-html.el (muse-html-markup-tags): Indicate that the
1629         <class> tag is nestable.  Thanks to Phillip Lord for noticing
1630         this.
1632         * lisp/muse-publish.el (muse-publish-markup-tag)
1633         (muse-publish-quote-tag): Use muse-goto-tag-end.
1635         * lisp/muse-wiki.el ("muse-colors"): Adapt for nested tags.
1637 2006-10-15  Michael Olson  <mwolson@gnu.org>
1639         * AUTHORS: Bookkeeping.
1641         * lisp/muse-blosxom.el (muse-blosxom-header): Indent code in lisp
1642         tag.
1644         * lisp/muse-groff.el (muse-groff-markup-tags): Adapt for nested
1645         tags.
1647         * lisp/muse-html.el (muse-html-markup-tags): Ditto.
1649         * lisp/muse-import-docbook.el (muse-import-docbook)
1650         (muse-import-docbook-files): Docfix.
1651         (muse-import-docbook-get-title): Remove cl.el-ism.
1653         * lisp/muse-import-xml.el (muse-import-xml): Fix compiler warning.
1655         * lisp/muse-journal.el (muse-journal-latex-markup-tags): Ditto.
1657         * lisp/muse-latex2png.el (muse-publish-markup-tags): Ditto.
1659         * lisp/muse-mode.el (muse-previous-reference): Minor docfix.
1660         (muse-next-reference, muse-previous-reference): Minor whitespace
1661         changes.
1662         (muse-mode-choose-mode): Add autoload cookie.  Thanks to Leo for
1663         the suggestion.
1665         * lisp/muse-poem.el (muse-poem-tag): Ditto.
1667         * lisp/muse-publish.el (muse-publish-markup-tags)
1668         (muse-publish-markup-header-footer-tags): Shift 4th element to 5th
1669         element and make 4th element determine whether tags are nestable.
1670         (muse-publish-goto-tag-end): New function that moves to the end of
1671         a tag.  Handle nested tags when NESTED is non-nil.
1672         (muse-publish-markup-tag): Call muse-publish-goto-tag-end.  Use
1673         5th element for function.
1674         (muse-publish-quote-tag): Handle nested quote tags.  I've tested
1675         this on several scenarios, and it seems to work.
1676         (muse-publish-surround-text): Accept new optional argument
1677         LIST-ITEM which determines the regexp to use for list items.  The
1678         default is to use muse-list-item-regexp.
1680         * muse.texi (Markup Tags): Mention nestable tags.
1682         * NEWS: Mention new files.
1684 2006-10-15  Elena Pomohaci  <e.pomohaci@gmail.com>
1686         * lisp/muse-import-docbook.el: New file that converts Docbook XML
1687         into Muse format.
1689         * lisp/muse-import-xml.el: New file that provides helper routines
1690         for converting XML-ish files to Muse format.
1692 2006-10-10  Michael Olson  <mwolson@gnu.org>
1694         * NEWS: Update for 3.02.7 bugfix release.
1696 2006-10-06  Sasha Kovar  <sasha@arcocene.org>
1698         * lisp/muse-blosxom.el (muse-blosxom-header): Insert the date
1699         using the value in the muse #date directive.
1700         (muse-blosxom-use-metadate): New option that determines whether or
1701         not to use the #postdate directive.
1702         (muse-blosxom-format-date): Convert a date string to PyBlosxom
1703         metadate plugin format.
1705 2006-09-30  Stefan Schlee  <stefan_schlee@yahoo.com>
1707         * lisp/muse-protocols.el: Fix bug #6741: Exclude colon in
1708         recognised URLs.
1710         * muse.texi: Clarify handling of implicit links by mentioning
1711         which characters can prevent Muse from recognizing something as an
1712         implicit link.
1714 2006-09-26  Stefan Schlee  <stefan_schlee@yahoo.com>
1716         * lisp/muse-mode.el (muse-next-reference)
1717         (muse-previous-reference): Fix bug #6367 by moving point to the
1718         beginning of the link.
1720 2006-09-26  Michael Olson  <mwolson@gnu.org>
1722         * lisp/muse-colors.el (muse-use-font-lock): Don't quote
1723         beginning-of-line.  This should fix a bug that was noticed in
1724         recent Emacs 22 builds.
1726         * lisp/muse-backlink.el: Wrap muse-backlink-split-string in an
1727         eval-and-compile block to avoid a compiler warning.
1729 2006-09-25  Jim Ottaway  <j.ottaway@lse.ac.uk>
1731         * lisp/muse-backlink.el (muse-backlink-split-string):
1732         Compatibility with Emacs versions < 22
1733         (muse-backlink-pending): New internal variable
1734         (muse-backlink-get-mode-hook): Find the major mode hook to use, so
1735         that backlinks are inserted at the right time.
1736         (muse-backlink-insert-hook-func): Remove unwind-protection; check
1737         for pending backlink, and that this is the targe page.
1738         (muse-backlink-handle-link): Don’t handle the link if we are
1739         already handling one. Return the link as well as the parent links.
1741 2006-09-25  Sasha Kovar  <sasha@arcocene.org>
1743         * lisp/muse-blosxom.el (muse-blosxom-new-entry): : Fix for bug
1744         #6942 - muse-blosxom-new-entry fails when using tags.
1746 2006-09-14  Michael Olson  <mwolson@gnu.org>
1748         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): Silence
1749         compiler warning.
1751 2006-09-14  Jim Ottaway  <j.ottaway@lse.ac.uk>
1753         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): New
1754         function: Protect all wikiwords from START to END from further
1755         processing.
1756         (muse-texinfo-markup-heading): Use muse-texinfo-protect-wikiwords.
1758 2006-09-13  Michael Olson  <mwolson@gnu.org>
1760         * lisp/muse-texinfo.el (muse-texinfo-markup-heading): New function
1761         adopted from Jim Ottaway's patch.  It removes links from the
1762         heading, and then marks the region read-only to inhibit WikiWord
1763         detection.
1765 2006-09-13  Jim Ottaway  <j.ottaway@lse.ac.uk>
1767         * lisp/muse-texinfo.el (muse-texinfo-markup-functions): Add
1768         special handling for headings.
1769         (muse-texinfo-remove-links): New function that removes explicit
1770         links from the given strings, replacing them with a description.
1772 2006-09-11  Michael Olson  <mwolson@gnu.org>
1774         * muse.texi (Getting Help and Reporting Bugs): Mention the
1775         muse-el-internationalization mailing list.
1777         * lisp/muse.el (muse-path-sans-extension): New function that acts
1778         like file-name-sans-extension, but guarantees to never modify the
1779         directory part of the path.  Thanks to Evan Monroig for
1780         investigating this.
1782         * lisp/muse-book.el (muse-book-publish-project): Use
1783         muse-path-sans-extension instead of file-name-sans-extension.
1785         * lisp/muse-publish.el (muse-publish-file, muse-publish-url):
1786         Ditto.
1788 2006-08-30  Michael Olson  <mwolson@gnu.org>
1790         * muse.texi (Blosxom Requirements): Fix typo.
1792         * contrib/pyblosxom/getstamps.py (recurse): Ignore metadata
1793         directories for bzr and darcs.
1795         * contrib/pyblosxom/make-blog, contrib/pyblosxom/hardcodedates.py:
1796         contrib/pyblosxom/getstamps.py: Update version and headers.
1798 2006-08-27  Michael Olson  <mwolson@gnu.org>
1800         * lisp/muse-colors.el (muse-configure-highlighting): Prune out any
1801         nil values before they get to mapconcat.  This fixes a lockup when
1802         muse-wiki-match-all-project-files is nil.
1804         * lisp/muse-wiki.el (muse-wiki-match-all-project-files)
1805         (muse-wiki-ignore-implicit-links-to-current-page)
1806         (muse-wiki-interwiki-regexp, muse-wiki-interwiki-alist)
1807         (muse-wiki-resolve-project-page, muse-wiki-handle-interwiki)
1808         (muse-wiki-publish-small-title-words)
1809         (muse-wiki-publish-pretty-title): Docfix.
1810         (muse-wiki-update-local-wikiword-regexp): Rename from
1811         muse-wiki-update-local-wikiword-regexp.  Set
1812         muse-wiki-project-file-regexp instead of
1813         muse-wiki-wikiword-regexp, as suggested by Per Sederberg.  Don't
1814         take muse-wiki-use-wikiword into account, since this is a
1815         different concept now.
1816         (muse-wiki-update-wikiword-regexp): Remove.
1817         (muse-wiki-wikiword-regexp): In-line the :set function.
1818         (muse-wiki-handle-wikiword): Use muse-wiki-project-file-regexp.
1820 2006-08-26  Michael Olson  <mwolson@gnu.org>
1822         * lisp/muse-publish.el (muse-publish-surround-text): When looking
1823         for indented list items, ignore blank lines.
1825         * lisp/muse-wiki.el (muse-wiki-update-local-wikiword-regexp)
1826         (muse-wiki-update-interwiki-regexp): Use regexp-opt instead of
1827         mapconcat.  This should hopefully fix a problem with large amounts
1828         of files with spaces in their name.  Thanks to Greg Detre for the
1829         report.
1831 2006-08-24  Michael Olson  <mwolson@gnu.org>
1833         * lisp/muse-blosxom.el (muse-blosxom-new-entry): Remove the
1834         numbers from the argument to format-time-string.  This fixes an
1835         XEmacs bug.  Thanks to Michael Welle for the report and analysis.
1837 2006-08-18  Michael Olson  <mwolson@gnu.org>
1839         * lisp/muse-project.el (muse-project-file-entries): Since we are
1840         given a full path, match against the filename as well.  This fixes
1841         an issue where backup files were being added to the file alist.
1843         * lisp/muse-docbook.el (muse-docbook-markup-regexps): Apply a fix
1844         from muse-html.el.
1846 2006-08-12  Michael Olson  <mwolson@gnu.org>
1848         * Makefile (.PHONY): Don't use line continuations.
1849         (realclean fullclean): Call realclean in subdirs, not distclean.
1850         (distclean): Don't call realclean, since this would wipe out our
1851         autoloads file.
1852         (dist): Use correct path to autoloads file.
1854         * NEWS: Catch up with the latest changes.
1856         * experimental/Makefile (.PHONY): Wrap long line.
1858         * lisp/Makefile (distclean): Do the same thing as "clean", not
1859         "realclean".
1861         * lisp/muse-project.el (muse-project-get-applicable-style):
1862         Indentation tweak.
1863         (muse-project-ignore-regexp, muse-project-recurse-directory):
1864         Docfix.
1865         (muse-project-of-file): Try the ignored files regexp against the
1866         base filename as well as the entire path.
1868         * lisp/muse-publish.el (muse-publish-this-file): Display message
1869         if the buffer is not associated with any file, so that we avoid
1870         errors later on.
1871         (muse-publish-url-desc): New function taken from muse-publish-url
1872         that causes a URL description to be transformed.
1873         (muse-publish-url): Call muse-publish-url-desc on either the
1874         description or the original URL if it will be used as a
1875         description.  Accept the original URL as an argument, in case it
1876         was transformed earlier.
1877         (muse-publish-insert-url): Pass original URL as an argument.
1878         (muse-publish-markup-link): Make this somewhat easier to follow.
1879         Pass original URL as argument.
1880         (muse-publish-get-style): If the same style is used to publish to
1881         two different directories, prompt the user for which directory to
1882         use.
1883         (muse-publish-markup-header-footer-tags): Sync lisp tag with the
1884         latest changes.
1885         (muse-publish-markup-url): Pass original URL as an argument.  This
1886         fixes the "nil" description for bare URLs that was in 3.02.91.
1887         Nothing like finding a bug just after completing the announcement
1888         of a release.
1890         * lisp/muse.el: Use defalias whenever convenient.
1891         (muse-version): Set version to 3.02.92 (3.03 RC2).
1893 2006-08-10  Michael Olson  <mwolson@gnu.org>
1895         * lisp/muse-html.el (muse-html-finalize-buffer): Since the html
1896         style does not derive from any other class, return `t' here.
1897         This, along with the corresponding change to muse-publish.el,
1898         fixes a problem with the table of contents getting inserted
1899         multiple times for custom html-based styles.
1900         (muse-html-markup-strings, muse-xhtml-markup-strings): Use a
1901         smarter method for table centering that works with XHTML.
1903         * lisp/muse-latex2png.el Rename all functions to have a
1904         "muse-latex2png" prefix.  Turn all variables into customizable
1905         options in the muse-latex2png group.
1906         (muse-latex2png-img-dest): New option specifying where to place
1907         the images.
1908         (muse-latex2png-template): New option containing the template to
1909         use for the surrounding LaTeX code.
1910         (muse-latex2png-use-xhtml): New option that toggles strict XHTML
1911         compliance.
1912         (muse-latex2png-move2pubdir): Avoid multiple redundant error
1913         messages when something else goes wrong.  Create the image
1914         subdirectory if it doesn't exist already -- thanks to Christian
1915         Straßer for the report.  Expand the filename properly.
1916         (muse-publish-latex-tag, muse-latex2png): Ditto on error messages
1917         and filename expansion.
1918         (muse-latex2png): Use the "muse-latex2png" prefix by default.  Set
1919         the default directory properly.
1921         * lisp/muse-publish.el (muse-style-run-hooks): Make sure that we
1922         do not run the same function twice.
1924 2006-08-08  Michael Olson  <mwolson@gnu.org>
1926         * lisp/muse-colors.el (muse-colors-explicit-link): Fix recently
1927         introduced wrong-type-argument error.
1929         * lisp/muse-html.el (muse-html-markup-strings)
1930         (muse-xhtml-markup-string): Cause table definition that contains
1931         image to be center-aligned.  This should fix an issue with images
1932         not being centered when captions are very long.
1934         * lisp/muse-publish.el (muse-publish-table-fields): Trim
1935         whitespace from fields once we have split them up.
1937         * lisp/muse.el (muse-trim-whitespace): New function that strips
1938         leading and trailing whitespace from a string.
1940 2006-08-07  Michael Olson  <mwolson@gnu.org>
1942         * NEWS: Update through patch-95.
1944         * lisp/muse-colors.el (muse-colors-lisp-tag): Use a simpler regexp
1945         to match the tags.
1946         (muse-colors-explicit-link): Show images in link descriptions if
1947         inlined images are enabled.
1949         * lisp/muse-docbook.el (muse-docbook-markup-strings): Add
1950         definitions for 'image-with-desc, 'image, and 'image-link.
1951         (muse-docbook-markup-paragraph): If an inlined image begins a
1952         paragraph, insert <para> before it.
1953         (muse-docbook-fixup-images): New function that upper-cases the
1954         "format" attribute of the <imagedata> tag.
1955         (muse-docbook-finalize-buffer): Call it.
1957         * lisp/muse-html.el (muse-html-markup-strings): Publish images
1958         with descriptions as centered tables, with a centered caption
1959         underneath.  The resulting look is consistent with the way that
1960         they are published in the LaTeX style.  Thanks to Jody Klymak for
1961         the suggestion.
1962         (muse-xhtml-markup-strings): Ditto, but XHTML apparently has no
1963         valid way to center a table.
1964         (muse-html-markup-paragraph): Use class="image" instead of
1965         "image-link" for paragraphs that start with an embedded image.
1967         * lisp/muse-latex.el (muse-latex-markup-specials-url): Use
1968         \textbackslash{} for "\".  Thanks to Jim Ottaway for the
1969         suggestion.
1970         (muse-latex-markup-specials-image): New option that enables
1971         escaping of specials in images.  This was split from the URL
1972         specials.
1973         (muse-latex-decide-specials): Handle 'image context.
1974         (muse-latex-fixup-dquotes): Go to beginning of document, instead
1975         of relying on caller to do this for us.
1977         * lisp/muse-publish.el (muse-publish-escape-specials): Document
1978         'image context.
1979         (muse-publish-url): Use 'image context for images.  Use 'image
1980         instead of 'image-link and 'image-link in place of
1981         'url-with-image.  Separate the image file from its extension so
1982         that docbook and texinfo can publish images correctly.
1983         (muse-publish-markup-link): Don't force a description if one is
1984         not given.  This fixes a bug where images without descriptions
1985         were being published as 'image-with-desc instead of 'image.
1987         * lisp/muse-texinfo.el (muse-texinfo-decide-specials): Treat
1988         images the same as URLs.
1989         (muse-texinfo-markup-strings): Improve image markup to achieve an
1990         effect similar to that of the LaTeX publishing style.  Simplify
1991         'url string.
1993         * lisp/muse-xml-common.el (muse-xml-decide-specials): Ditto.
1995         * lisp/muse.el (muse-replace-regexp-in-string): Save match data
1996         when we have to use the custom version of this function.
1998         * muse.texi (Images): Explain how to toggle inlining of images and
1999         give better examples.  Mention captions and that captioned images
2000         should not be used inside of text paragraphs.
2001         (Markup Strings): Bring up-to-date with the changes made since
2002         3.02.
2004 2006-08-06  Michael Olson  <mwolson@gnu.org>
2006         * ChangeLog.1: Rename from ChangeLog.2004 to comply with standards
2007         in the Emacs source tree.
2009         * ChangeLog.2: Rename from ChangeLog.2005 to comply with standards
2010         in the Emacs source tree.
2012         * ChangeLog.3: New file created from the old ChangeLog.
2014         * Makefile.defs (VERSION): Set to 3.02.91.
2016         * NEWS: Update through patch-84.
2018         * lisp/muse.el (muse-version): Set to 3.02.91.
2020         * lisp/muse-colors.el (muse-colors-tags): Allow <lisp> to take
2021         attributes.
2022         (muse-colors-lisp-tag): Figure out where the <lisp> tag and its
2023         delimiter are instead of hard-coding it.
2025         * lisp/muse-mode.el (muse-insert-thing): Qualify "tag".
2026         (muse-mode): Make filling definition lists work better.  This
2027         should fix #5359.
2029         * lisp/muse-publish.el (muse-style-run-hooks): Use
2030         `muse-style-element' instead of `muse-get-keyword' here.  This
2031         should fix #6399.
2033         * muse.texi: Set version to 3.02.91 (3.02 RC2).
2035 See ChangeLog.3 for earlier changes.
2037 ;; Local Variables:
2038 ;; coding: utf-8
2039 ;; End: