Implement publish-time detection of whether a link needs link-suffix
[muse-el.git] / ChangeLog
blob3eb5efd41fe2be2aa74ab8234a254cc0137fa274
1 2006-10-29  Michael Olson  <mwolson@gnu.org>
3         * examples/mwolson: Update my example configuration.
5         * NEWS: Update.
7         * lisp/muse-project.el (muse-project-find-file): Permit non-Muse
8         files in projects to be linked to, though it isn't yet sure
9         whether they will publish correctly.
11         * lisp/muse-publish.el (muse-publish-url): Allow the original link
12         to serve as a description for a URL, as long as it differs from
13         the destination URL.  This fixes the description of WikPage links
14         in PDF output.
15         (muse-publish-link-file): Check to see whether the given link
16         points at a valid file.  If so, return it.  Otherwise, apply other
17         transforms like prefix and link suffix.
19         * lisp/muse-regexps.el (muse-file-regexp): If something ends in
20         "/", it is a file or directory, not a Muse page.  Thanks to
21         Phillip Lord for the suggestion.
23         * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Use the path
24         of the current page as the local path, instead of duplicating the
25         remote file's path.  This probably fixes at least one reported
26         bug. since it's quite major.
28 2006-10-28  Michael Olson  <mwolson@gnu.org>
30         * lisp/muse-project.el (muse-project-choose-style-by-link-suffix)
31         (muse-project-resolve-link): If the given style does not have a
32         link-suffix, default to suffix.  This fixes a bug I was noticing
33         when linking to a file that was published in both PDF and HTML
34         form.
36         * lisp/muse-publish.el (muse-publish-determine-dl-indent): New
37         function that is used as a callback to determine the initial
38         amount of indentation that the current dl item has.
39         (muse-publish-surround-dl): Use it.  Pass the initial indent value
40         and the post-indent value, instead of trying to determine them
41         both.
42         (muse-publish-strip-list-indentation): New function stripped from
43         `muse-publish-surround-text' for readability.
44         (muse-publish-surround-text): Instead of taking a determine-indent
45         value, take a determine-indent-func function, which is called just
46         after finding the next list item.  If we are asked to determine
47         the amount of indentation, concatenate indent and post-indent the
48         first time around.  This effectively fixes all known definition
49         list issues.
51 2006-10-16  Michael Olson  <mwolson@gnu.org>
53         * lisp/muse.el: Provide the 'muse-nested-tags feature so that
54         other software -- namely, Planner -- can detect whether they are
55         using a version of Muse that supports nested tags.
56         (muse-goto-tag-end): Moved from muse-publish.el and renamed from
57         muse-publish-goto-tag-end.
59         * lisp/muse-colors.el (muse-colors-tags, muse-colors-custom-tags):
60         Adapt for nested tags.
62         * lisp/muse-html.el (muse-html-markup-tags): Indicate that the
63         <class> tag is nestable.  Thanks to Phillip Lord for noticing
64         this.
66         * lisp/muse-publish.el (muse-publish-markup-tag)
67         (muse-publish-quote-tag): Use muse-goto-tag-end.
69         * lisp/muse-wiki.el ("muse-colors"): Adapt for nested tags.
71 2006-10-15  Michael Olson  <mwolson@gnu.org>
73         * AUTHORS: Bookkeeping.
75         * lisp/muse-blosxom.el (muse-blosxom-header): Indent code in lisp
76         tag.
78         * lisp/muse-groff.el (muse-groff-markup-tags): Adapt for nested
79         tags.
81         * lisp/muse-html.el (muse-html-markup-tags): Ditto.
83         * lisp/muse-import-docbook.el (muse-import-docbook)
84         (muse-import-docbook-files): Docfix.
85         (muse-import-docbook-get-title): Remove cl.el-ism.
87         * lisp/muse-import-xml.el (muse-import-xml): Fix compiler warning.
89         * lisp/muse-journal.el (muse-journal-latex-markup-tags): Ditto.
91         * lisp/muse-latex2png.el (muse-publish-markup-tags): Ditto.
93         * lisp/muse-mode.el (muse-previous-reference): Minor docfix.
94         (muse-next-reference, muse-previous-reference): Minor whitespace
95         changes.
96         (muse-mode-choose-mode): Add autoload cookie.  Thanks to Leo for
97         the suggestion.
99         * lisp/muse-poem.el (muse-poem-tag): Ditto.
101         * lisp/muse-publish.el (muse-publish-markup-tags)
102         (muse-publish-markup-header-footer-tags): Shift 4th element to 5th
103         element and make 4th element determine whether tags are nestable.
104         (muse-publish-goto-tag-end): New function that moves to the end of
105         a tag.  Handle nested tags when NESTED is non-nil.
106         (muse-publish-markup-tag): Call muse-publish-goto-tag-end.  Use
107         5th element for function.
108         (muse-publish-quote-tag): Handle nested quote tags.  I've tested
109         this on several scenarios, and it seems to work.
110         (muse-publish-surround-text): Accept new optional argument
111         LIST-ITEM which determines the regexp to use for list items.  The
112         default is to use muse-list-item-regexp.
114         * muse.texi (Markup Tags): Mention nestable tags.
116         * NEWS: Mention new files.
118 2006-10-15  Elena Pomohaci  <e.pomohaci@gmail.com>
120         * lisp/muse-import-docbook.el: New file that converts Docbook XML
121         into Muse format.
123         * lisp/muse-import-xml.el: New file that provides helper routines
124         for converting XML-ish files to Muse format.
126 2006-10-10  Michael Olson  <mwolson@gnu.org>
128         * NEWS: Update for 3.02.7 bugfix release.
130 2006-10-06  Sasha Kovar  <sasha@arcocene.org>
132         * lisp/muse-blosxom.el (muse-blosxom-header): Insert the date
133         using the value in the muse #date directive.
134         (muse-blosxom-use-metadate): New option that determines whether or
135         not to use the #postdate directive.
136         (muse-blosxom-format-date): Convert a date string to PyBlosxom
137         metadate plugin format.
139 2006-09-30  Stefan Schlee  <stefan_schlee@yahoo.com>
141         * lisp/muse-protocols.el: Fix bug #6741: Exclude colon in
142         recognised URLs.
144         * muse.texi: Clarify handling of implicit links by mentioning
145         which characters can prevent Muse from recognizing something as an
146         implicit link.
148 2006-09-26  Stefan Schlee  <stefan_schlee@yahoo.com>
150         * lisp/muse-mode.el (muse-next-reference)
151         (muse-previous-reference): Fix bug #6367 by moving point to the
152         beginning of the link.
154 2006-09-26  Michael Olson  <mwolson@gnu.org>
156         * lisp/muse-colors.el (muse-use-font-lock): Don't quote
157         beginning-of-line.  This should fix a bug that was noticed in
158         recent Emacs 22 builds.
160         * lisp/muse-backlink.el: Wrap muse-backlink-split-string in an
161         eval-and-compile block to avoid a compiler warning.
163 2006-09-25  Jim Ottaway  <j.ottaway@lse.ac.uk>
165         * lisp/muse-backlink.el (muse-backlink-split-string):
166         Compatibility with Emacs versions < 22
167         (muse-backlink-pending): New internal variable
168         (muse-backlink-get-mode-hook): Find the major mode hook to use, so
169         that backlinks are inserted at the right time.
170         (muse-backlink-insert-hook-func): Remove unwind-protection; check
171         for pending backlink, and that this is the targe page.
172         (muse-backlink-handle-link): Don’t handle the link if we are
173         already handling one. Return the link as well as the parent links.
175 2006-09-25  Sasha Kovar  <sasha@arcocene.org>
177         * lisp/muse-blosxom.el (muse-blosxom-new-entry): : Fix for bug
178         #6942 - muse-blosxom-new-entry fails when using tags.
180 2006-09-14  Michael Olson  <mwolson@gnu.org>
182         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): Silence
183         compiler warning.
185 2006-09-14  Jim Ottaway  <j.ottaway@lse.ac.uk>
187         * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): New
188         function: Protect all wikiwords from START to END from further
189         processing.
190         (muse-texinfo-markup-heading): Use muse-texinfo-protect-wikiwords.
192 2006-09-13  Michael Olson  <mwolson@gnu.org>
194         * lisp/muse-texinfo.el (muse-texinfo-markup-heading): New function
195         adopted from Jim Ottaway's patch.  It removes links from the
196         heading, and then marks the region read-only to inhibit WikiWord
197         detection.
199 2006-09-13  Jim Ottaway  <j.ottaway@lse.ac.uk>
201         * lisp/muse-texinfo.el (muse-texinfo-markup-functions): Add
202         special handling for headings.
203         (muse-texinfo-remove-links): New function that removes explicit
204         links from the given strings, replacing them with a description.
206 2006-09-11  Michael Olson  <mwolson@gnu.org>
208         * muse.texi (Getting Help and Reporting Bugs): Mention the
209         muse-el-internationalization mailing list.
211         * lisp/muse.el (muse-path-sans-extension): New function that acts
212         like file-name-sans-extension, but guarantees to never modify the
213         directory part of the path.  Thanks to Evan Monroig for
214         investigating this.
216         * lisp/muse-book.el (muse-book-publish-project): Use
217         muse-path-sans-extension instead of file-name-sans-extension.
219         * lisp/muse-publish.el (muse-publish-file, muse-publish-url):
220         Ditto.
222 2006-08-30  Michael Olson  <mwolson@gnu.org>
224         * muse.texi (Blosxom Requirements): Fix typo.
226         * contrib/pyblosxom/getstamps.py (recurse): Ignore metadata
227         directories for bzr and darcs.
229         * contrib/pyblosxom/make-blog, contrib/pyblosxom/hardcodedates.py:
230         contrib/pyblosxom/getstamps.py: Update version and headers.
232 2006-08-27  Michael Olson  <mwolson@gnu.org>
234         * lisp/muse-colors.el (muse-configure-highlighting): Prune out any
235         nil values before they get to mapconcat.  This fixes a lockup when
236         muse-wiki-match-all-project-files is nil.
238         * lisp/muse-wiki.el (muse-wiki-match-all-project-files)
239         (muse-wiki-ignore-implicit-links-to-current-page)
240         (muse-wiki-interwiki-regexp, muse-wiki-interwiki-alist)
241         (muse-wiki-resolve-project-page, muse-wiki-handle-interwiki)
242         (muse-wiki-publish-small-title-words)
243         (muse-wiki-publish-pretty-title): Docfix.
244         (muse-wiki-update-local-wikiword-regexp): Rename from
245         muse-wiki-update-local-wikiword-regexp.  Set
246         muse-wiki-project-file-regexp instead of
247         muse-wiki-wikiword-regexp, as suggested by Per Sederberg.  Don't
248         take muse-wiki-use-wikiword into account, since this is a
249         different concept now.
250         (muse-wiki-update-wikiword-regexp): Remove.
251         (muse-wiki-wikiword-regexp): In-line the :set function.
252         (muse-wiki-handle-wikiword): Use muse-wiki-project-file-regexp.
254 2006-08-26  Michael Olson  <mwolson@gnu.org>
256         * lisp/muse-publish.el (muse-publish-surround-text): When looking
257         for indented list items, ignore blank lines.
259         * lisp/muse-wiki.el (muse-wiki-update-local-wikiword-regexp)
260         (muse-wiki-update-interwiki-regexp): Use regexp-opt instead of
261         mapconcat.  This should hopefully fix a problem with large amounts
262         of files with spaces in their name.  Thanks to Greg Detre for the
263         report.
265 2006-08-24  Michael Olson  <mwolson@gnu.org>
267         * lisp/muse-blosxom.el (muse-blosxom-new-entry): Remove the
268         numbers from the argument to format-time-string.  This fixes an
269         XEmacs bug.  Thanks to Michael Welle for the report and analysis.
271 2006-08-18  Michael Olson  <mwolson@gnu.org>
273         * lisp/muse-project.el (muse-project-file-entries): Since we are
274         given a full path, match against the filename as well.  This fixes
275         an issue where backup files were being added to the file alist.
277         * lisp/muse-docbook.el (muse-docbook-markup-regexps): Apply a fix
278         from muse-html.el.
280 2006-08-12  Michael Olson  <mwolson@gnu.org>
282         * Makefile (.PHONY): Don't use line continuations.
283         (realclean fullclean): Call realclean in subdirs, not distclean.
284         (distclean): Don't call realclean, since this would wipe out our
285         autoloads file.
286         (dist): Use correct path to autoloads file.
288         * NEWS: Catch up with the latest changes.
290         * experimental/Makefile (.PHONY): Wrap long line.
292         * lisp/Makefile (distclean): Do the same thing as "clean", not
293         "realclean".
295         * lisp/muse-project.el (muse-project-get-applicable-style):
296         Indentation tweak.
297         (muse-project-ignore-regexp, muse-project-recurse-directory):
298         Docfix.
299         (muse-project-of-file): Try the ignored files regexp against the
300         base filename as well as the entire path.
302         * lisp/muse-publish.el (muse-publish-this-file): Display message
303         if the buffer is not associated with any file, so that we avoid
304         errors later on.
305         (muse-publish-url-desc): New function taken from muse-publish-url
306         that causes a URL description to be transformed.
307         (muse-publish-url): Call muse-publish-url-desc on either the
308         description or the original URL if it will be used as a
309         description.  Accept the original URL as an argument, in case it
310         was transformed earlier.
311         (muse-publish-insert-url): Pass original URL as an argument.
312         (muse-publish-markup-link): Make this somewhat easier to follow.
313         Pass original URL as argument.
314         (muse-publish-get-style): If the same style is used to publish to
315         two different directories, prompt the user for which directory to
316         use.
317         (muse-publish-markup-header-footer-tags): Sync lisp tag with the
318         latest changes.
319         (muse-publish-markup-url): Pass original URL as an argument.  This
320         fixes the "nil" description for bare URLs that was in 3.02.91.
321         Nothing like finding a bug just after completing the announcement
322         of a release.
324         * lisp/muse.el: Use defalias whenever convenient.
325         (muse-version): Set version to 3.02.92 (3.03 RC2).
327 2006-08-10  Michael Olson  <mwolson@gnu.org>
329         * lisp/muse-html.el (muse-html-finalize-buffer): Since the html
330         style does not derive from any other class, return `t' here.
331         This, along with the corresponding change to muse-publish.el,
332         fixes a problem with the table of contents getting inserted
333         multiple times for custom html-based styles.
334         (muse-html-markup-strings, muse-xhtml-markup-strings): Use a
335         smarter method for table centering that works with XHTML.
337         * lisp/muse-latex2png.el Rename all functions to have a
338         "muse-latex2png" prefix.  Turn all variables into customizable
339         options in the muse-latex2png group.
340         (muse-latex2png-img-dest): New option specifying where to place
341         the images.
342         (muse-latex2png-template): New option containing the template to
343         use for the surrounding LaTeX code.
344         (muse-latex2png-use-xhtml): New option that toggles strict XHTML
345         compliance.
346         (muse-latex2png-move2pubdir): Avoid multiple redundant error
347         messages when something else goes wrong.  Create the image
348         subdirectory if it doesn't exist already -- thanks to Christian
349         Straßer for the report.  Expand the filename properly.
350         (muse-publish-latex-tag, muse-latex2png): Ditto on error messages
351         and filename expansion.
352         (muse-latex2png): Use the "muse-latex2png" prefix by default.  Set
353         the default directory properly.
355         * lisp/muse-publish.el (muse-style-run-hooks): Make sure that we
356         do not run the same function twice.
358 2006-08-08  Michael Olson  <mwolson@gnu.org>
360         * lisp/muse-colors.el (muse-colors-explicit-link): Fix recently
361         introduced wrong-type-argument error.
363         * lisp/muse-html.el (muse-html-markup-strings)
364         (muse-xhtml-markup-string): Cause table definition that contains
365         image to be center-aligned.  This should fix an issue with images
366         not being centered when captions are very long.
368         * lisp/muse-publish.el (muse-publish-table-fields): Trim
369         whitespace from fields once we have split them up.
371         * lisp/muse.el (muse-trim-whitespace): New function that strips
372         leading and trailing whitespace from a string.
374 2006-08-07  Michael Olson  <mwolson@gnu.org>
376         * NEWS: Update through patch-95.
378         * lisp/muse-colors.el (muse-colors-lisp-tag): Use a simpler regexp
379         to match the tags.
380         (muse-colors-explicit-link): Show images in link descriptions if
381         inlined images are enabled.
383         * lisp/muse-docbook.el (muse-docbook-markup-strings): Add
384         definitions for 'image-with-desc, 'image, and 'image-link.
385         (muse-docbook-markup-paragraph): If an inlined image begins a
386         paragraph, insert <para> before it.
387         (muse-docbook-fixup-images): New function that upper-cases the
388         "format" attribute of the <imagedata> tag.
389         (muse-docbook-finalize-buffer): Call it.
391         * lisp/muse-html.el (muse-html-markup-strings): Publish images
392         with descriptions as centered tables, with a centered caption
393         underneath.  The resulting look is consistent with the way that
394         they are published in the LaTeX style.  Thanks to Jody Klymak for
395         the suggestion.
396         (muse-xhtml-markup-strings): Ditto, but XHTML apparently has no
397         valid way to center a table.
398         (muse-html-markup-paragraph): Use class="image" instead of
399         "image-link" for paragraphs that start with an embedded image.
401         * lisp/muse-latex.el (muse-latex-markup-specials-url): Use
402         \textbackslash{} for "\".  Thanks to Jim Ottaway for the
403         suggestion.
404         (muse-latex-markup-specials-image): New option that enables
405         escaping of specials in images.  This was split from the URL
406         specials.
407         (muse-latex-decide-specials): Handle 'image context.
408         (muse-latex-fixup-dquotes): Go to beginning of document, instead
409         of relying on caller to do this for us.
411         * lisp/muse-publish.el (muse-publish-escape-specials): Document
412         'image context.
413         (muse-publish-url): Use 'image context for images.  Use 'image
414         instead of 'image-link and 'image-link in place of
415         'url-with-image.  Separate the image file from its extension so
416         that docbook and texinfo can publish images correctly.
417         (muse-publish-markup-link): Don't force a description if one is
418         not given.  This fixes a bug where images without descriptions
419         were being published as 'image-with-desc instead of 'image.
421         * lisp/muse-texinfo.el (muse-texinfo-decide-specials): Treat
422         images the same as URLs.
423         (muse-texinfo-markup-strings): Improve image markup to achieve an
424         effect similar to that of the LaTeX publishing style.  Simplify
425         'url string.
427         * lisp/muse-xml-common.el (muse-xml-decide-specials): Ditto.
429         * lisp/muse.el (muse-replace-regexp-in-string): Save match data
430         when we have to use the custom version of this function.
432         * muse.texi (Images): Explain how to toggle inlining of images and
433         give better examples.  Mention captions and that captioned images
434         should not be used inside of text paragraphs.
435         (Markup Strings): Bring up-to-date with the changes made since
436         3.02.
438 2006-08-06  Michael Olson  <mwolson@gnu.org>
440         * ChangeLog.1: Rename from ChangeLog.2004 to comply with standards
441         in the Emacs source tree.
443         * ChangeLog.2: Rename from ChangeLog.2005 to comply with standards
444         in the Emacs source tree.
446         * ChangeLog.3: New file created from the old ChangeLog.
448         * Makefile.defs (VERSION): Set to 3.02.91.
450         * NEWS: Update through patch-84.
452         * lisp/muse.el (muse-version): Set to 3.02.91.
454         * lisp/muse-colors.el (muse-colors-tags): Allow <lisp> to take
455         attributes.
456         (muse-colors-lisp-tag): Figure out where the <lisp> tag and its
457         delimiter are instead of hard-coding it.
459         * lisp/muse-mode.el (muse-insert-thing): Qualify "tag".
460         (muse-mode): Make filling definition lists work better.  This
461         should fix #5359.
463         * lisp/muse-publish.el (muse-style-run-hooks): Use
464         `muse-style-element' instead of `muse-get-keyword' here.  This
465         should fix #6399.
467         * muse.texi: Set version to 3.02.91 (3.02 RC2).
469 See ChangeLog.3 for earlier changes.
471 ;; Local Variables:
472 ;; coding: utf-8
473 ;; End: