2007-06-17 Michael Olson * examples/QuickStart.muse: Make images local so that the Info version of this document works. Add for the Literal paragraphs chapter, so that it is clear what is happening. * Makefile: Add elpa target, which is used for building an ELPA package for Muse. * Makefile.defs (ELPADIR, ELPADESC): New variables used for building ELPA packages. * examples/Makefile (%.html, %.pdf, %.info): Add message to indicate what we are publishing. (realclean distclean fullclean): Remove all TeX crud. * examples/emacs-muse.png, examples/muse-made-with.png: Include so that the Info version of QuickStart can publish correctly. * lisp/muse-latex.el (muse-latex-slides-header) (muse-latex-lecture-notes-header): Docfix. * lisp/muse-project.el (muse-project-ignore-regexp): Add .git to the list of things to ignore. * lisp/muse-publish.el (muse-publish-markup-list): Remove unused variable. * lisp/muse-texinfo.el (muse-texinfo-process-natively): Set default to nil, since texinfmt.el is a serious nuisance. (muse-texinfo-markup-strings): Add newlines to begin-example and end-example. (muse-texinfo-decide-specials): Also escape URL-type specials in a whole slew of other contexts. * lisp/muse-xml-common.el (muse-xml-encoding-map): Change group to muse-xml. * lisp/muse-xml.el (muse-xml-footer): Docfix. * lisp/muse.el (muse-version): Release Emacs Muse version 3.03. 2007-06-16 Michael Olson * etc/IDEAS.muse: Add some ideas from David D. Smith. * examples/QuickStart.muse: Overhaul. * lisp/muse-project.el (muse-project): Call the last part of a muse-project-alist entry "Output styles" rather than "styles". * lisp/muse-publish.el (muse-publish-table-fields): Handle case where we have a pipe character at the beginning of line. * lisp/muse-xml-common.el (muse-xml-sort-table): Fix typo that was causing tables to not be sorted at all. * texi/muse.texi: Overhaul. It would be too time-consuming to list all of the changes here. The "Getting Started" and "Projects" chapters, in particular, were heavily revised. 2007-06-15 Michael Olson * NEWS: Update. * examples/QuickStart.muse: Mention new features. * lisp/muse-colors.el (muse-colors-toggle-inline-images): Docfix. Remove C-c C-i keybinding, since it conflicts with C-c TAB in the terminal, and C-c TAB is more important. Most people will not want to toggle images on and off that often. * lisp/muse-mode.el (muse-mode-map): Bind muse-insert-thing to C-c C-i as well, so that it works in the terminal. * lisp/muse-publish.el (muse-publish-literal-tag): Make the output look a bit tidier when removing the region. * lisp/muse-regexps.el (muse-list-item-regexp): Put definition list regexp part before other parts. (muse-ol-item-regexp): New regexp that specifies how to match an ordered list item. (muse-ul-item-regexp): New regexp that specifies how to match an unordered list item. (muse-table-field-regexp): New regexp that specifies how to match a definition list entry. * lisp/muse-texinfo.el (muse-texinfo-info-generate): Work around lack of support for @headitem in texinfmt.el. * lisp/muse.el: Wrap muse-line-beginning-position and muse-line-end-position in `eval-and-compile', since they are now used in muse.el. (muse-list-item-type): Use a simpler algorithm for detecting which kind of list item we have. This fixes a bug where a number in a definition list term was being detected incorrectly as an ordered list item. Fixes bug #6250. (muse-forward-list-item): Get the entire line with the list item. For some reason, Emacs 21 was not populating match 2 correctly, unlike Emacs 22, so this workaround was needed. * texi/muse.texi: (Keystroke Summary): Remove C-c C-i (`muse-insert-tag') documentation, and mention C-c C-i as an alternative keybinding to the C-c TAB stuff. Mention muse-colors-toggle-inline-images. 2007-06-14 Michael Olson * README: Mention that RelaxNG schema is in etc/ directory. * etc/emacs-wiki-migration.txt: New document that explains how to migrate from emacs-wiki to Muse. * etc/muse.rnc: Increment version number to 1.0. Fix several nested emphasis and nested lists edge cases. Move here from examples/. * lisp/muse-mode.el (muse-mode-map): Permit C-c C-M-t to do the same thing as C-c C-S-t, since the former works better in the console. Thanks to Leo for the suggestion. * lisp/muse-publish.el (muse-publish-markup-table) (muse-publish-markup-table-el): Include a newline in the return string, so that paragraph detection does not get confused. * lisp/muse.el (muse-with-temp-buffer): Docfix. * texi/muse.texi (Keystroke Summary): Document the C-c C-M-t keybinding. 2007-06-13 Michael Olson * etc/IDEAS.muse: Mark three-part-links item as done. * experimental/muse-message.el: Remove guard for muse-define-style calls. * lisp/muse-colors.el (muse-configure-highlighting): Fix bug where markup rules were being interpreted in reverse order. This should make implicit interwiki links work properly again. (muse-link-face): Strip anchor from end of a path, so that this works with anchors in interwiki links. (muse-colors-insert-image): Catch error that occurs in Emacs 21 when an image does not exist. * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Permit anchors. (muse-wiki-handle-implicit-interwiki): Docfix. Make anchors in interwiki links work. Thanks to Jim Ottaway for the initial implementation. (muse-wiki-handle-explicit-interwiki): Make anchors in interwiki links work. * lisp/muse.el (muse-handle-implicit-link): Docfix: only care about match 0. (muse-handle-explicit-link): Docfix: this does not modify the match data. (muse-file-remote-p): In Emacs 21, ange-ftp-name-format is a list that has the regexp in its car. 2007-06-12 Michael Olson * README: Document new etc/ directory. * etc/IDEAS.muse: Install things from new contributors just after the 3.03 release, since I won't have time to review the code before the release. Move to new etc/ directory. Slides publishing has been installed. * lisp/muse-latex.el (muse-latex-slides-header): New option that determines the header to use for publishing slides. (muse-latex-lecture-notes-header): New option that determines the header to use for publishing lecture notes. (muse-latex-slides-markup-tags): New option containing tags to use when publishing slides. (muse-latex-permit-contents-tag): Move higher in file. (muse-latex-slide-tag): New function to publish the tag. ("slides", "slides-pdf"): New publishing styles that create slides using Beamer. ("lecture-notes", "lecture-notes-pdf"): New publishing styles that create lecture notes using Beamer. * lisp/muse.el: Re-add the auto-mode-alist part to top-level, since otherwise Planner is not happy when `plan' is called during init. Remove stray quote from autoload snippet. 2007-06-11 Michael Olson * lisp/muse.el: Make the add-to-list 'auto-mode-alist part an autoload, rather than having it exist at top-level. Thanks to Leo for the suggestion. (muse-update-file-extension): Docfix. 2007-06-10 Michael Olson * lisp/muse-publish.el (muse-publish-strip-URL): Fix bug where URLs were being removed during publishing. Thanks to everyone who reported this. 2007-06-06 Michael Olson * lisp/muse-regexps.el (muse-table-line-regexp) (muse-table-hline-regexp, muse-table-el-border-regexp): Fix regexps so that they work with XEmacs 21. Thanks to Adrian Tritschler for the report. * texi/muse.texi: Update copyright years. (HTML): Document muse-xhtml-style-sheet. Thanks to thorne for noticing. (Development): Change archive year to 2006. Thanks to Adrian Tritschler for noticing. So *that's* why some people had the 2005 version .... 2007-06-05 Michael Olson * Makefile (install-info): Remove $(MANUAL).info part, since this is taken care of already by texi/Makefile. Thanks to Leo for the report. * lisp/muse-journal.el (muse-journal-html-munge-buffer): Add read-only properties to qotd contents, so that they don't get double-escaped. Thanks to Leo for the report. 2007-06-04 Michael Olson * lisp/muse-colors.el (muse-link-face): If the link is to a remote -- that is, Tramp or ange-ftp -- file, then do not call file-exists-p on it. Thanks to Jim Ottaway for the suggestion. Fixes bug #5115. * lisp/muse-html.el (muse-html-insert-contents): Add documentation. Handle case where heading is read-only, but has muse-contents property. Remove the muse-contents property for any heading we come across so as to avoid double-including an item in an outer table of contents. (muse-html-denote-headings): New function that denotes whether a heading is not read-only by adding the muse-contents property to it. (muse-html-munge-buffer): If we are not to generate contents, still denote headings, in case some outer layer wants to generate contents for our headings. This should fix a bug with table of contents and the tag. Thanks to thorne for the report. * lisp/muse-publish.el (muse-publish-markup-region): Let-bind muse-publish-generate-contents and set it to nil. This should do the right thing when using tags. 2007-06-02 Michael Olson * NEWS: Update for non-inlined image change and support for table.el style tables. * examples/Makefile (clean): Clean backup files. * examples/QuickStart.muse (Images): New section that describes how to inline and not inline images. * lisp/muse-colors.el (muse-colors-resolve-image-file): Don't touch images that have "URL:" in front of them. * lisp/muse-protocols.el (muse-url-protocols): Add handler for "URL:". Use the identity function to resolve, since we don't want to rip "URL:" out while publishing, due to some magic that depends on that text. (muse-browse-url-url): New function that browses URLs that have "URL:" in front of them, by removing the "URL:" part and reprocessing the remainder. * lisp/muse-publish.el (muse-publish-classify-url): Docfix. (muse-publish-url): Recognize images in the description before images in the link. Fixes bug #5112. Thanks to Thomas Kappler for the suggested workaround. (muse-publish-desc-transforms): Add `muse-publish-strip-URL' as a default value. (muse-publish-classify-url): If target begins with "URL:" return type url. (muse-publish-strip-URL): New function that strips "URL:" from the beginning of a string. This is used to remove URL: from the link description. * texi/muse.texi (Markup Strings): Clarify the meanings of image-link, link, and link-and-anchor. (muse-publish-markup-regexps): Move normal table rule to 2350. Rule 2300 is now a regexp that matches table.el-style tables. (muse-publish-markup-functions): Add table-el entry. (muse-publish-table-el-table): New function that given a variant, publishes a table.el-style table using the table in the matched region. (muse-publish-markup-table-el): New function that determines whether the table.el-style table can be published, and what variant to use. * lisp/muse-regexps.el (muse-tag-regexp): New regexp that matches the borders of table.el-style tables. * lisp/muse-xml-common.el (muse-xml-markup-table): Make sure that the table has sufficient whitespace in front of it. * texi/muse.texi (Images): Update for new non-inlined image ability and provide example. 2007-05-31 Michael Olson * NEWS: Add example for setting `muse-html-table-attributes'. * lisp/muse-xml-common.el (muse-xml-markup-table): Add docstring. Publish multiple tbody tags if there is a horizontal separator after the heading, because that is valid HTML after all. 2007-05-30 Michael Olson * NEWS: Update. * lisp/muse-latex.el (muse-latex-markup-table): Deal with horizontal separators in tables. * lisp/muse-publish.el (muse-publish-markup-regexps): Recognize horizontal separators in tables. (muse-publish-trim-table): New function to remove initial and final blank columns from a table. (muse-publish-table-fields): Call `muse-publish-trim-table'. Deal with horizontal separators, aka "hlines". * lisp/muse-regexps.el (muse-table-hline-regexp): New regexp that defines the syntax of a horizontal separator in a table. * lisp/muse-texinfo.el (muse-texinfo-markup-table): Deal with horizontal separators. Publish header lines correctly. * lisp/muse-xml-common.el (muse-xml-sort-table): Deal with case where we have nonnumbers as a row type. This ignores sorting for hlines. (muse-xml-markup-table): Deal with horizontal separators. If the markup supports table groups, make hlines separate table groups. Otherwise, ignore them, since they cannot be marked up. Together, these changes allow us to support orgtbl-mode tables. Thanks to Carsten Dominik for the suggestion. 2007-05-26 Michael Olson * lisp/muse-project.el (muse-project-alist-styles): Allow for other things to be added to each generated style as well. For example, this permits me to add :base-url "http://blog.mwolson.org/" for my blog. 2007-05-25 Michael Olson * Makefile (debclean, debprepare, debbuild, debinstall, deb): New way of building Debian packages that preserves the original release tarball and is more modular. (debrevision, debrelease): Remove. (dist): No need to remove the debian/ directory, since it is now in its own branch. (debprepare): Copy over debian/ directory properly. * NEWS: Update. * examples/Makefile (clean): Remove QuickStart.texi, in case something went wrong during the build. (%.pdf): Publish the example using the normal pdf style, rather than info-pdf. * examples/QuickStart.muse: Add myself to the authors list. * lisp/muse-html.el (muse-html-src-tag): Ensure that we have sufficient blank lines before the tag. * lisp/muse-journal.el (muse-journal-latex-qotd-tag): Ensure that we have sufficient blank lines before the tag. * lisp/muse-latex.el (muse-latex-pdf-program): New option that specifies the program to call in order to generate PDF content from LaTeX content. (muse-latex-pdf-cruft): New option that specifies the extensions of files to remove after generating PDF output successfully. (muse-latex-pdf-generate): Use these new options. Work around the annoying edge case where a tilde character exists in the filename or directory path -- now this can only error out when the relative path from the output file to the source file contains a tilde, which is far less likely. * lisp/muse-publish.el (muse-publish-markup-attribute): Don't use muse-publish-ensure-block here after all, because et al may occur inline as part of other things. * lisp/muse-texinfo.el ("texi"): Make muse-texinfo-munge-buffer occur after full-document escaping, rather than before. This prevents automatically-inserted Texinfo code from being escaped. (muse-texinfo-pdf-generate): Rewrite to call `muse-latex-pdf-generate' with pdftex as the generating binary, because texi2pdf suffers irredeemably from the tilde edge case mentioned above. 2007-05-24 Michael Olson * NEWS: Drop vague entries and position interesting entries closer to the top of each section. Update for new changes. * lisp/muse-project.el (muse-project-ignore-regexp): Add Mercurial and bzr metadata directories to the list of things to ignore. * lisp/muse-publish.el (muse-publish-ensure-block): Rename from `muse-publish-ensure-block-tag', since we will use it for more than just tags. (muse-publish-markup-list, muse-publish-verse-tag) (muse-publish-quote-tag, muse-publish-example-tag) (muse-publish-markup-attribute): Use it. This fixes a bug that can occur when these types of markup occur immediately after a paragraph. It's good to have defined behavior! * texi/muse.texi (Markup Strings): Mention new argument for link-and-anchor. 2007-05-19 Michael Olson * lisp/muse-html.el (muse-html-markup-footnote): Add class tags to published footnotes and footnote references. Thanks to Scott Jaderholm for the idea. * lisp/muse-latex.el (muse-latex-markup-strings): Revert change to link-and-anchor, on the recommendation of the original submitter. 2007-05-14 Michael Olson * lisp/muse-latex.el (muse-latex-markup-strings): Use better link-and-anchor markup. Thanks to Jean Magnan de Bornier for the suggestion. * lisp/muse-publish.el (muse-publish-url): Pass the url without a file extension as the fourth argument. * README, texi/muse.texi (Getting Help and Reporting Bugs): Mention the new muse-el-logs mailing list. 2007-05-13 Michael Olson * lisp/muse-protocols.el (muse-resolve-url): Don't concatenate "\`" here. This fixes a problem with publishing custom URLs. 2007-05-12 Michael Olson * lisp/muse-blosxom.el (muse-blosxom-update-page-date-alist): Only update the list if the current buffer is associated with a file. This fixes a bug with M-x muse-publish-region in a temporary buffer. 2007-05-01 Michael Olson * lisp/muse-publish.el (muse-publish-region): Remove read-only properties from the published buffer, so that the results can be manually tweaked. 2007-04-23 Michael Olson * lisp/muse-publish.el (muse-publish-markup-footnote): If we can't find the footnote that goes with a reference, leave the reference as-is. This fixes an error where control characters could be placed in a published document. 2007-04-22 Michael Olson * IDEAS.muse: Add muse-slides.el to list of things to include before release. * lisp/muse-protocols.el (muse-url-protocols): Remove stray quote character. (muse-protocol-find): Find protocols correctly. Rewrite to use catch/throw. (muse-browse-url): Don't concatenate "\`" here. Together, this fixes a bug with browsing woman:// links. * lisp/muse-project.el (muse-project-alist-styles): Deal with case where entry-dir has a trailing backslash. (muse-project-publish-file): If a style is malformed, skip it and display a warning message. This should help people figure out where the problem is. 2007-04-21 Michael Olson * lisp/muse-latex2png.el (muse-publish-math-tag): If using the yet-to-be-included "contex" publishing style, use "$$" rather than "\[" and "\]". Thanks to Jean Magnan de Bornier for pointing this out. 2007-04-20 Michael Olson * lisp/muse-publish.el (muse-publish-inhibit-style-hooks): New variable that causes the :before and :before-end hooks to be ignored when non-nil. (muse-publish-markup-region): Use it. Also, guarantee that point is at end of region after publishing. (muse-publish-mark-up-tag): Simplify, taking advantage of the new variable. 2007-04-19 Michael Olson * IDEAS.muse: New file containing a list of ideas we have for new features, or patches that have yet to be applied. * README: Call it "Emacs Muse", not "the Emacs Muse". No need to be so confusing. * lisp/muse-html.el (muse-html-table-attributes): Fix typo in docstring. * lisp/muse-publish.el (muse-publish-markup-tags): Handle tags with muse-publish-literal-tag, rather than muse-publish-mark-read-only. (muse-publish-literal-tag): New function that publishes the tag. It adds the ability to add the optional "style" and "exact" elements, which cause text to only be included if the current publishing style matches some criteria. The text will be removed otherwise. Thanks to Jim Ottaway for the implementation. (muse-publish-mark-up-tag): Let the tag take the additional optional elements "style" and "exact", with much the same effect as the improvements, but after calling "function" or publishing the region first. Make it possible to put tags in regions in HTML publishing. 2007-04-12 Michael Olson * lisp/muse-publish.el (muse-publish-markup-heading): Make sure that a blank line always exists after a heading. This fixes a bug in Docbook paragraph detection. Thanks to Jean Magnan de Bornier for the report. * lisp/muse-xml.el (muse-xml-markup-regexps): Update paragraph detection regexp to that which is used in Docbook and HTML publishing styles. 2007-04-02 Michael Olson * README (muse-el-announce): Make a listing of mailing lists, rather than pointing to the old EmacsWikiMailingList page. Thanks to Andreas Roehler for noticing. 2007-04-01 Michael Olson * lisp/muse-publish.el (muse-publish-date-format): Add ` customization type and group. (muse-publish-region): New interactive function that publishes a region to a new buffer. * texi/muse.texi: Use "document" rather than "manual". 2007-03-31 Michael Olson * lisp/muse-publish.el (muse-style-derived-p): Fix bug where the expression (muse-style-derived-p "latex" (muse-style "latex")) yielded nil. It now yields t, as expected. Thanks to Jim Ottaway for the catch. 2007-02-25 Michael Olson * lisp/muse-publish.el (muse-publish-date-format): New option that specifies how to format the date when publishing Muse pages. Thanks to Thomas Gehrlein for the suggestion. (muse-publish-markup-buffer): Use it. 2007-02-23 Michael Olson * README: Add Prerequisites section to mention which versions of Emacs work with Muse. Thanks to Exal de Jesus Garcia Carrillo for the suggestion. Update link destination for Muse's page on emacswiki.org. 2007-02-15 Michael Olson * lisp/muse.el (muse-goto-tag-end): Modify regexp to allow tags to be not just at beginning of line. This fixes an error with the tag. Thanks to Jim Pivarski for the report. 2007-02-14 Michael Olson * lisp/muse-publish.el (muse-publish-classify-url): Check to see whether something is an image before checking to see if it is a URL. Thanks to ITSUMI ken-ichi for the report. 2007-02-13 Michael Olson * lisp/muse-publish.el (muse-publish-markup-regexps): Handle comments that have no text better. Thanks to fang.lungang for the report. (muse-publish-markup-comment): Deal with case where no comment text is provided. 2007-01-23 Michael Olson * lisp/muse-publish.el (muse-publish-ensure-block-tag): New macro that ensures that at least one blank line exists at the given position. This is used to avoid paragraph detection problems when block-level tags like immediately follow a paragraph. Thanks to Hans Ekbrand for the report. (muse-publish-example-tag): Use it. 2007-01-19 Michael Olson * lisp/muse-latex2png.el (muse-publish-math-tag): Only remove the previous blank line if we are publishing in Latex. Otherwise, that wouldn't be the right thing, so leave it be. 2007-01-17 Michael Olson * lisp/muse-latex2png.el (muse-publish-math-tag): Don't put multiple centered math lines on the same line; keep them on different lines. Use \[ math-text \] instead of $$math-text$$, since the latter seems to be deprecated. Thanks to Jody Klymak for the pointer. 2007-01-15 Michael Olson * lisp/muse-latex2png.el (muse-publish-latex-tag) (muse-publish-math-tag): Publish region read-only when current style is Latex-derived, so that Muse does not escape it. (muse-publish-math-tag): If 6 or more spaces come before the tag, surround the region with "$$" rather than "$". This is the Muse syntax for something centered, so it should be a good fit. 2007-01-15 Valery V. Vorotyntsev * lisp/muse-protocols.el (muse-url-protocols): Add "woman://" protocol. (muse-browse-url-man): Change man page URL format. The code is simpler when the section is left inside parentheses. (muse-browse-url-woman): New function. 2007-01-14 Michael Olson * AUTHORS: Bookkeeping. * lisp/muse-latex2png.el: Associate tag with muse-publish-math-tag, not muse-publish-latex-tag. Thanks to Jody Klymak for the report. (muse-publish-math-tag): Use muse-insert-markup for the "$" characters, so they don't get escaped. * lisp/muse-publish.el (muse-style-derived-p-1): New function to make muse-style-derived-p easier to implement. (muse-style-derived-p): If the style is not provided, fetch it and check to see if the car is a string. This should fix the other problem that was reported. * texi/muse.texi (Projects): Apply patch from Bradley M. Kuhn that explains a case where setting muse-file-extension to nil can cause unexpected behavior. 2007-01-09 Michael Olson * lisp/muse-publish.el (muse-publish-markup-regexps): Make comments higher priority than tags. Thanks to Stefan van der Walt for the report. 2007-01-08 Michael Olson * lisp/muse-publish.el (muse-markup-tag-info): Use the given argument rather than calling match-string. Thanks to Stefan van der Walt for the report. This should fix a bug with publishing . 2007-01-06 Michael Olson * Makefile (debclean): New rule split from debrevision and debrelease. (debbuild): Take distributor into account. * Makefile.defs (DISTRIBUTOR): New field that tracks what vendor/distributor we are building for. 2007-01-04 Michael Olson * lisp/muse-html.el (muse-html-src-tag): Remove initial blank line. * lisp/muse-publish.el (muse-publish-markup-tags): Make "src" point to muse-publish-src-tag by default, since and have different parameters. (muse-publish-src-tag): New barebones publishing function for , which is superseded when publishing in an HTML-based style. 2007-01-03 Michael Olson * lisp/muse-html.el (muse-html-src-tag): Document. * lisp/muse-publish.el (muse-publish-call-tag-on-buffer): New command that calls a given tag on the current buffer. Attributes may be passed. (muse-publish-examplify-buffer, muse-publish-versify-buffer): Use it. (muse-publish-srcify-buffer): New function that allows markup="src" in the tag. (muse-publish-get-and-delete-attr): New macro that gets an attribute from a list and removes the first instance of that attribute from said list. (muse-publish-markup-attribute): Handle markup="src". (muse-publish-command-tag, muse-publish-include-tag): Use muse-publish-get-and-delete-attr. This allows the remaining attributes to be passed. * texi/muse.texi (Tag Summary): Update for new tag as well as changes to and . 2006-12-30 Michael Olson * NEWS: Update. * experimental/muse-mathml.el (muse-publish-mathml-tag): Rename from muse-publish-math-tag to avoid conflict with muse-latex2png.el. 2006-12-23 Michael Olson * lisp/muse-latex2png.el: Update header, since this has been rewritten sufficiently to not need an assignment from the original author. (muse-latex2png-use-xhtml): Remove, since we now autodetect this. (muse-latex2png): Use two underscores to separate prefix and hash. (muse-latex2png-region): New function split from muse-publish-latex-tag that can be used easily by other code. Detect whether we are using an HTML-based publishing style, and insert a simpler markup if we are not. If we are using a Latex-based publishing style, do not generate an image, and leave the region alone. Return the path of the generated image, in case other functions want to use this programmatically. (muse-publish-latex-tag): Set a default prefix based on the name of the current file. (muse-publish-math-tag): New tag that surrounds the region with "$" characters, so that it becomes a Latex math region, and then publishes it. * lisp/muse-publish.el (muse-style-derived-p): New function that returns non-nil if a given style, or the current style if omitted, is equal to or derived from the given base style. This is useful in tags, because it allows the user to specify markup that is only to be inserted for one particular style. 2006-12-22 Michael Olson * lisp/muse-html.el (muse-html-markup-tags): Add tag. (muse-html-src-tag): New function which publishes the tag. Thanks to Clinton Ebadi and Charles Wang for the initial implementations. * lisp/muse-publish.el (muse-publish-markup-tags): Add tag. 2006-12-21 Michael Olson * examples/johnw/muse-johnw.el: Update for preferred muse-derive-style usage. Rename to muse-init.el. * examples/mwolson/muse-init.el: Update. * lisp/muse-book.el (muse-book-publish): New function split from muse-book-publish-project. This is used in the definitions for the book-latex and book-pdf styles. (muse-book-publish-p): New function split from muse-book-publish. (muse-book-get-directives): New function that retrieves the publishing directives from the given file. (muse-book-publish): Use muse-book-get-directives to set the title if no title was specified. * lisp/muse-project.el (muse-project): Add :publish-project entry to widget. (muse-read-project, muse-project-find-file): Message fix. (muse-project-publish-file-default): New function split from muse-project-publish-file. (muse-project-publish-file): Allow file-level publishing function to be specified by the :publish element. The default is muse-project-publish-file-default. (muse-project-publish-default): New function split from muse-project-publish. (muse-project-publish): Allow project-level publishing function to be specified by :publish-project element. The default is muse-project-publish-default. * lisp/muse-publish.el (muse-publish-file): Message fix. * texi/muse.texi (Book): Mention new way to publish books and provide an example, since the process may be non-obvious. 2006-12-20 Michael Olson * lisp/muse-docbook.el (muse-docbook-munge-buffer): Split out content-modifying code from the rest of muse-docbook-finalize-buffer. * lisp/muse-groff.el (muse-groff-munge-buffer): Rename from muse-groff-finalize-buffer, since it adds content to the buffer. * lisp/muse-html.el (muse-html-munge-buffer): Split out content-modifying code from the rest of muse-html-finalize-buffer. This fixes a bug when using with tags. * lisp/muse-journal.el (muse-journal-html-munge-buffer) (muse-journal-latex-munge-buffer) (muse-journal-rss-munge-buffer): Rename, since they add content to the buffer. * lisp/muse-latex.el (muse-latex-munge-buffer): Rename from muse-latex-finalize-buffer, since it adds content to the buffer. * lisp/muse-mode.el: * lisp/muse-project.el: * lisp/muse-publish.el: * lisp/muse.el: Fix recursive load error. * lisp/muse-texinfo.el (muse-texinfo-munge-buffer): Rename from muse-texinfo-finalize-buffer, since it adds content to the buffer. * lisp/muse-wiki.el: Comment cleanup. * lisp/muse-xml.el (muse-xml-charset-default): Docfix. 2006-12-17 Michael Olson * lisp/muse-latex.el (muse-latex-header, muse-latexcjk-header): Remove the definition of \comment, since Latex already has comment syntax. (muse-latex-markup-strings): Use the Latex comment syntax, rather than our own. Thanks to Ryan Stutsman for pointing this out. 2006-12-02 Michael Olson * lisp/muse-html.el (muse-html-insert-contents): Tweak regexp so that this can generate a proper table of contents for Planner HTML publishing. 2006-12-01 Michael Olson * lisp/muse.el (muse-replace-regexp-in-string): In case someone is using a very old Emacs, avoid an infinite loop that could occur when the regexp is an empty string. 2006-11-26 Michael Olson * NEWS: Bring up to date. * lisp/muse-docbook.el (muse-docbook-markup-paragraph): Fix nested list issues and multiple-stanza verse issues. This takes care of all of the markup issues I was worried about. * lisp/muse-project.el (muse-project-ignore-regexp): Minor docfix. (muse-project-publish-private-files): New option that indicates whether files with private filesystem permissions should be published. The default is to publish them, since it avoids confusion in new users. (muse-project-private-p): Use it. 2006-11-19 Michael Olson * lisp/muse-project.el (muse-project-resolve-link): If no remote style is found, which means that the link is not a Muse page, do not add a suffix or prefix to it. This should fix the "[[thing.owl]]" bug that Phillip Lord reported. * lisp/muse-publish.el (muse-publish-link-file): Simplify by removing unused 2nd argument. 2006-11-17 Michael Olson * lisp/muse-publish.el (muse-publish-surround-text): Fix bug in latex publishing where nested enumerated lists would be squashed together at the end. 2006-11-16 Michael Olson * lisp/muse-latex.el (muse-latex-markup-strings): Make an ordered list embedded in a definition list look right. This also allows for definitions to be separated from their terms, much like the way HTML does it by default, if the user puts a blank line or a line break between the term and the definition. If the term and definition are on the same line, they will be that way in the output as well. 2006-11-11 Michael Olson * muse.texi (Markup Strings): Fix typo. Thanks to Haiyong Zheng for the report. (Getting Help and Reporting Bugs): Fix emacswiki.org page URL. 2006-11-07 Michael Olson * lisp/muse.el (muse-version): Make Emacs Muse 3.02.93, the third release candidate for Muse 3.03, available. * NEWS: Update. 2006-11-06 Michael Olson * lisp/muse-project.el (muse-project-find-file): Fix bug when following a relative link worked even when the path was incorrect. 2006-11-04 John Sullivan * lisp/muse-mode.el (muse-mode-map): Remove C-c C-c binding for muse-follow-name-at-point to reduce collisions with other modes (Planner). * muse.texi (Keystroke Summary): Remove C-c C-c binding. 2006-11-04 Michael Olson * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Make page optional, and make interwiki delimiter a regular rather than shy group. (muse-wiki-handle-implicit-interwiki): Rename from muse-wiki-handle-interwiki. Use match group 3 to get the page. (muse-wiki-handle-explicit-interwiki): New function that is smarter about where an explicit link ends in a buffer. This allows you to refer to page names with invalid Wiki characters, such as underscores and dashes, merely by enclosing them in double brackets. Also, a bug with recognizing project names too loosely has been fixed. 2006-11-03 Michael Olson * lisp/muse-project.el (muse-project-page-file): Make relative links work as expected, hopefully. * lisp/muse-publish.el (muse-publish-this-file): Set the current output style manually, since it will differ from anything in the publishing style list. 2006-10-30 Michael Olson * lisp/muse-colors.el (muse-colors-markup): Remove note about grouping elements, since that no longer applies. (muse-colors-custom-tags): Explicitly match against muse-tag-regexp to get the match-data set the way we want. This really fixes the highlighting bug that Stefan reported. (muse-configure-highlighting): Set the original value to the symbol, not the modified value. Re-use modified rules properly. * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Fix bug introduced yesterday. 2006-10-29 Michael Olson * examples/mwolson: Update my example configuration. * NEWS: Update. * lisp/muse-colors.el (muse-configure-highlighting): Remove rules without a regexp in the first position before iterating through them to build muse-colors-vector. This fixes a bug with the display of tags. Thanks to Stefan Reichör for the report. * lisp/muse-project.el (muse-project-find-file): Permit non-Muse files in projects to be linked to. * lisp/muse-publish.el (muse-publish-url): Allow the original link to serve as a description for a URL, as long as it differs from the destination URL. This fixes the description of WikPage links in PDF output. (muse-publish-link-file): Check to see whether the given link points at a valid file. If so, return it. Otherwise, apply other transforms like prefix and link suffix. * lisp/muse-regexps.el (muse-file-regexp): If something ends in "/", it is a file or directory, not a Muse page. Thanks to Phillip Lord for the suggestion. * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Use the path of the current page as the local path, instead of duplicating the remote file's path. This probably fixes at least one reported bug. since it's quite major. (muse-wiki-update-project-file-regexp) (muse-wiki-update-interwiki-regexp): Ensure that nil is never passed to regexp-opt, since that can cause Emacs 21 to throw an "maximum binding depth exceeded" error. Thanks to xs32 AT cornell DOT edu for the report. (muse-wiki-handle-wikiword): Avoid a potential stringp error. 2006-10-28 Michael Olson * lisp/muse-project.el (muse-project-choose-style-by-link-suffix) (muse-project-resolve-link): If the given style does not have a link-suffix, default to suffix. This fixes a bug I was noticing when linking to a file that was published in both PDF and HTML form. * lisp/muse-publish.el (muse-publish-determine-dl-indent): New function that is used as a callback to determine the initial amount of indentation that the current dl item has. (muse-publish-surround-dl): Use it. Pass the initial indent value and the post-indent value, instead of trying to determine them both. (muse-publish-strip-list-indentation): New function stripped from `muse-publish-surround-text' for readability. (muse-publish-surround-text): Instead of taking a determine-indent value, take a determine-indent-func function, which is called just after finding the next list item. If we are asked to determine the amount of indentation, concatenate indent and post-indent the first time around. This effectively fixes all known definition list issues. 2006-10-16 Michael Olson * lisp/muse.el: Provide the 'muse-nested-tags feature so that other software -- namely, Planner -- can detect whether they are using a version of Muse that supports nested tags. (muse-goto-tag-end): Moved from muse-publish.el and renamed from muse-publish-goto-tag-end. * lisp/muse-colors.el (muse-colors-tags, muse-colors-custom-tags): Adapt for nested tags. * lisp/muse-html.el (muse-html-markup-tags): Indicate that the tag is nestable. Thanks to Phillip Lord for noticing this. * lisp/muse-publish.el (muse-publish-markup-tag) (muse-publish-quote-tag): Use muse-goto-tag-end. * lisp/muse-wiki.el ("muse-colors"): Adapt for nested tags. 2006-10-15 Michael Olson * AUTHORS: Bookkeeping. * lisp/muse-blosxom.el (muse-blosxom-header): Indent code in lisp tag. * lisp/muse-groff.el (muse-groff-markup-tags): Adapt for nested tags. * lisp/muse-html.el (muse-html-markup-tags): Ditto. * lisp/muse-import-docbook.el (muse-import-docbook) (muse-import-docbook-files): Docfix. (muse-import-docbook-get-title): Remove cl.el-ism. * lisp/muse-import-xml.el (muse-import-xml): Fix compiler warning. * lisp/muse-journal.el (muse-journal-latex-markup-tags): Ditto. * lisp/muse-latex2png.el (muse-publish-markup-tags): Ditto. * lisp/muse-mode.el (muse-previous-reference): Minor docfix. (muse-next-reference, muse-previous-reference): Minor whitespace changes. (muse-mode-choose-mode): Add autoload cookie. Thanks to Leo for the suggestion. * lisp/muse-poem.el (muse-poem-tag): Ditto. * lisp/muse-publish.el (muse-publish-markup-tags) (muse-publish-markup-header-footer-tags): Shift 4th element to 5th element and make 4th element determine whether tags are nestable. (muse-publish-goto-tag-end): New function that moves to the end of a tag. Handle nested tags when NESTED is non-nil. (muse-publish-markup-tag): Call muse-publish-goto-tag-end. Use 5th element for function. (muse-publish-quote-tag): Handle nested quote tags. I've tested this on several scenarios, and it seems to work. (muse-publish-surround-text): Accept new optional argument LIST-ITEM which determines the regexp to use for list items. The default is to use muse-list-item-regexp. * muse.texi (Markup Tags): Mention nestable tags. * NEWS: Mention new files. 2006-10-15 Elena Pomohaci * lisp/muse-import-docbook.el: New file that converts Docbook XML into Muse format. * lisp/muse-import-xml.el: New file that provides helper routines for converting XML-ish files to Muse format. 2006-10-10 Michael Olson * NEWS: Update for 3.02.7 bugfix release. 2006-10-06 Sasha Kovar * lisp/muse-blosxom.el (muse-blosxom-header): Insert the date using the value in the muse #date directive. (muse-blosxom-use-metadate): New option that determines whether or not to use the #postdate directive. (muse-blosxom-format-date): Convert a date string to PyBlosxom metadate plugin format. 2006-09-30 Stefan Schlee * lisp/muse-protocols.el: Fix bug #6741: Exclude colon in recognised URLs. * muse.texi: Clarify handling of implicit links by mentioning which characters can prevent Muse from recognizing something as an implicit link. 2006-09-26 Stefan Schlee * lisp/muse-mode.el (muse-next-reference) (muse-previous-reference): Fix bug #6367 by moving point to the beginning of the link. 2006-09-26 Michael Olson * lisp/muse-colors.el (muse-use-font-lock): Don't quote beginning-of-line. This should fix a bug that was noticed in recent Emacs 22 builds. * lisp/muse-backlink.el: Wrap muse-backlink-split-string in an eval-and-compile block to avoid a compiler warning. 2006-09-25 Jim Ottaway * lisp/muse-backlink.el (muse-backlink-split-string): Compatibility with Emacs versions < 22 (muse-backlink-pending): New internal variable (muse-backlink-get-mode-hook): Find the major mode hook to use, so that backlinks are inserted at the right time. (muse-backlink-insert-hook-func): Remove unwind-protection; check for pending backlink, and that this is the targe page. (muse-backlink-handle-link): Don’t handle the link if we are already handling one. Return the link as well as the parent links. 2006-09-25 Sasha Kovar * lisp/muse-blosxom.el (muse-blosxom-new-entry): : Fix for bug #6942 - muse-blosxom-new-entry fails when using tags. 2006-09-14 Michael Olson * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): Silence compiler warning. 2006-09-14 Jim Ottaway * lisp/muse-texinfo.el (muse-texinfo-protect-wikiwords): New function: Protect all wikiwords from START to END from further processing. (muse-texinfo-markup-heading): Use muse-texinfo-protect-wikiwords. 2006-09-13 Michael Olson * lisp/muse-texinfo.el (muse-texinfo-markup-heading): New function adopted from Jim Ottaway's patch. It removes links from the heading, and then marks the region read-only to inhibit WikiWord detection. 2006-09-13 Jim Ottaway * lisp/muse-texinfo.el (muse-texinfo-markup-functions): Add special handling for headings. (muse-texinfo-remove-links): New function that removes explicit links from the given strings, replacing them with a description. 2006-09-11 Michael Olson * muse.texi (Getting Help and Reporting Bugs): Mention the muse-el-internationalization mailing list. * lisp/muse.el (muse-path-sans-extension): New function that acts like file-name-sans-extension, but guarantees to never modify the directory part of the path. Thanks to Evan Monroig for investigating this. * lisp/muse-book.el (muse-book-publish-project): Use muse-path-sans-extension instead of file-name-sans-extension. * lisp/muse-publish.el (muse-publish-file, muse-publish-url): Ditto. 2006-08-30 Michael Olson * muse.texi (Blosxom Requirements): Fix typo. * contrib/pyblosxom/getstamps.py (recurse): Ignore metadata directories for bzr and darcs. * contrib/pyblosxom/make-blog, contrib/pyblosxom/hardcodedates.py: contrib/pyblosxom/getstamps.py: Update version and headers. 2006-08-27 Michael Olson * lisp/muse-colors.el (muse-configure-highlighting): Prune out any nil values before they get to mapconcat. This fixes a lockup when muse-wiki-match-all-project-files is nil. * lisp/muse-wiki.el (muse-wiki-match-all-project-files) (muse-wiki-ignore-implicit-links-to-current-page) (muse-wiki-interwiki-regexp, muse-wiki-interwiki-alist) (muse-wiki-resolve-project-page, muse-wiki-handle-interwiki) (muse-wiki-publish-small-title-words) (muse-wiki-publish-pretty-title): Docfix. (muse-wiki-update-local-wikiword-regexp): Rename from muse-wiki-update-local-wikiword-regexp. Set muse-wiki-project-file-regexp instead of muse-wiki-wikiword-regexp, as suggested by Per Sederberg. Don't take muse-wiki-use-wikiword into account, since this is a different concept now. (muse-wiki-update-wikiword-regexp): Remove. (muse-wiki-wikiword-regexp): In-line the :set function. (muse-wiki-handle-wikiword): Use muse-wiki-project-file-regexp. 2006-08-26 Michael Olson * lisp/muse-publish.el (muse-publish-surround-text): When looking for indented list items, ignore blank lines. * lisp/muse-wiki.el (muse-wiki-update-local-wikiword-regexp) (muse-wiki-update-interwiki-regexp): Use regexp-opt instead of mapconcat. This should hopefully fix a problem with large amounts of files with spaces in their name. Thanks to Greg Detre for the report. 2006-08-24 Michael Olson * lisp/muse-blosxom.el (muse-blosxom-new-entry): Remove the numbers from the argument to format-time-string. This fixes an XEmacs bug. Thanks to Michael Welle for the report and analysis. 2006-08-18 Michael Olson * lisp/muse-project.el (muse-project-file-entries): Since we are given a full path, match against the filename as well. This fixes an issue where backup files were being added to the file alist. * lisp/muse-docbook.el (muse-docbook-markup-regexps): Apply a fix from muse-html.el. 2006-08-12 Michael Olson * Makefile (.PHONY): Don't use line continuations. (realclean fullclean): Call realclean in subdirs, not distclean. (distclean): Don't call realclean, since this would wipe out our autoloads file. (dist): Use correct path to autoloads file. * NEWS: Catch up with the latest changes. * experimental/Makefile (.PHONY): Wrap long line. * lisp/Makefile (distclean): Do the same thing as "clean", not "realclean". * lisp/muse-project.el (muse-project-get-applicable-style): Indentation tweak. (muse-project-ignore-regexp, muse-project-recurse-directory): Docfix. (muse-project-of-file): Try the ignored files regexp against the base filename as well as the entire path. * lisp/muse-publish.el (muse-publish-this-file): Display message if the buffer is not associated with any file, so that we avoid errors later on. (muse-publish-url-desc): New function taken from muse-publish-url that causes a URL description to be transformed. (muse-publish-url): Call muse-publish-url-desc on either the description or the original URL if it will be used as a description. Accept the original URL as an argument, in case it was transformed earlier. (muse-publish-insert-url): Pass original URL as an argument. (muse-publish-markup-link): Make this somewhat easier to follow. Pass original URL as argument. (muse-publish-get-style): If the same style is used to publish to two different directories, prompt the user for which directory to use. (muse-publish-markup-header-footer-tags): Sync lisp tag with the latest changes. (muse-publish-markup-url): Pass original URL as an argument. This fixes the "nil" description for bare URLs that was in 3.02.91. Nothing like finding a bug just after completing the announcement of a release. * lisp/muse.el: Use defalias whenever convenient. (muse-version): Set version to 3.02.92 (3.03 RC2). 2006-08-10 Michael Olson * lisp/muse-html.el (muse-html-finalize-buffer): Since the html style does not derive from any other class, return `t' here. This, along with the corresponding change to muse-publish.el, fixes a problem with the table of contents getting inserted multiple times for custom html-based styles. (muse-html-markup-strings, muse-xhtml-markup-strings): Use a smarter method for table centering that works with XHTML. * lisp/muse-latex2png.el Rename all functions to have a "muse-latex2png" prefix. Turn all variables into customizable options in the muse-latex2png group. (muse-latex2png-img-dest): New option specifying where to place the images. (muse-latex2png-template): New option containing the template to use for the surrounding LaTeX code. (muse-latex2png-use-xhtml): New option that toggles strict XHTML compliance. (muse-latex2png-move2pubdir): Avoid multiple redundant error messages when something else goes wrong. Create the image subdirectory if it doesn't exist already -- thanks to Christian Straßer for the report. Expand the filename properly. (muse-publish-latex-tag, muse-latex2png): Ditto on error messages and filename expansion. (muse-latex2png): Use the "muse-latex2png" prefix by default. Set the default directory properly. * lisp/muse-publish.el (muse-style-run-hooks): Make sure that we do not run the same function twice. 2006-08-08 Michael Olson * lisp/muse-colors.el (muse-colors-explicit-link): Fix recently introduced wrong-type-argument error. * lisp/muse-html.el (muse-html-markup-strings) (muse-xhtml-markup-string): Cause table definition that contains image to be center-aligned. This should fix an issue with images not being centered when captions are very long. * lisp/muse-publish.el (muse-publish-table-fields): Trim whitespace from fields once we have split them up. * lisp/muse.el (muse-trim-whitespace): New function that strips leading and trailing whitespace from a string. 2006-08-07 Michael Olson * NEWS: Update through patch-95. * lisp/muse-colors.el (muse-colors-lisp-tag): Use a simpler regexp to match the tags. (muse-colors-explicit-link): Show images in link descriptions if inlined images are enabled. * lisp/muse-docbook.el (muse-docbook-markup-strings): Add definitions for 'image-with-desc, 'image, and 'image-link. (muse-docbook-markup-paragraph): If an inlined image begins a paragraph, insert before it. (muse-docbook-fixup-images): New function that upper-cases the "format" attribute of the tag. (muse-docbook-finalize-buffer): Call it. * lisp/muse-html.el (muse-html-markup-strings): Publish images with descriptions as centered tables, with a centered caption underneath. The resulting look is consistent with the way that they are published in the LaTeX style. Thanks to Jody Klymak for the suggestion. (muse-xhtml-markup-strings): Ditto, but XHTML apparently has no valid way to center a table. (muse-html-markup-paragraph): Use class="image" instead of "image-link" for paragraphs that start with an embedded image. * lisp/muse-latex.el (muse-latex-markup-specials-url): Use \textbackslash{} for "\". Thanks to Jim Ottaway for the suggestion. (muse-latex-markup-specials-image): New option that enables escaping of specials in images. This was split from the URL specials. (muse-latex-decide-specials): Handle 'image context. (muse-latex-fixup-dquotes): Go to beginning of document, instead of relying on caller to do this for us. * lisp/muse-publish.el (muse-publish-escape-specials): Document 'image context. (muse-publish-url): Use 'image context for images. Use 'image instead of 'image-link and 'image-link in place of 'url-with-image. Separate the image file from its extension so that docbook and texinfo can publish images correctly. (muse-publish-markup-link): Don't force a description if one is not given. This fixes a bug where images without descriptions were being published as 'image-with-desc instead of 'image. * lisp/muse-texinfo.el (muse-texinfo-decide-specials): Treat images the same as URLs. (muse-texinfo-markup-strings): Improve image markup to achieve an effect similar to that of the LaTeX publishing style. Simplify 'url string. * lisp/muse-xml-common.el (muse-xml-decide-specials): Ditto. * lisp/muse.el (muse-replace-regexp-in-string): Save match data when we have to use the custom version of this function. * muse.texi (Images): Explain how to toggle inlining of images and give better examples. Mention captions and that captioned images should not be used inside of text paragraphs. (Markup Strings): Bring up-to-date with the changes made since 3.02. 2006-08-06 Michael Olson * ChangeLog.1: Rename from ChangeLog.2004 to comply with standards in the Emacs source tree. * ChangeLog.2: Rename from ChangeLog.2005 to comply with standards in the Emacs source tree. * ChangeLog.3: New file created from the old ChangeLog. * Makefile.defs (VERSION): Set to 3.02.91. * NEWS: Update through patch-84. * lisp/muse.el (muse-version): Set to 3.02.91. * lisp/muse-colors.el (muse-colors-tags): Allow to take attributes. (muse-colors-lisp-tag): Figure out where the tag and its delimiter are instead of hard-coding it. * lisp/muse-mode.el (muse-insert-thing): Qualify "tag". (muse-mode): Make filling definition lists work better. This should fix #5359. * lisp/muse-publish.el (muse-style-run-hooks): Use `muse-style-element' instead of `muse-get-keyword' here. This should fix #6399. * muse.texi: Set version to 3.02.91 (3.02 RC2). See ChangeLog.3 for earlier changes. ;; Local Variables: ;; coding: utf-8 ;; End: