Commits on Jul 13, 2005
  1. Prepare Muse 3.01.90 (3.02 RC1).

    mwolson committed Jul 13, 2005
  2. Attempt to get the right file extension when publishing; more examples.

    * examples/mwolson/muse-init.el: Update my configuration.
    * examples/mwolson/templates: Store my web page templates here.
    * examples/mwolson/stylesheets: Store my CSS stylesheets here.
    * lisp/muse-publish.el (muse-publish-markup-link): Fix mangling of
      descriptions.  Yet another reason to implement my list-returning from
      handlers idea.
    * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Deal gracefully
      with a few more edge cases.  Throw together a rough hack for
      determining when to include the output file extension.
    * lisp/muse-wiki.el (muse-wiki-colors-nop-tag): Make this less odious,
      but still ineffective.
    mwolson committed Jul 13, 2005
  3. Make published link handling do the right thing, plus misc. fixes.

    * lisp/muse-mode.el (muse-mode-hook): Add option for
      `muse-wiki-update-custom-values'.  The :set function makes sure that
      this is always included in `muse-mode-hook' if muse-wiki is loaded.
      This probably isn't best-practice, but it works.
    * lisp/muse-project.el (muse-project-of-file): Fix some duplicated code.
      Save match data.
    * lisp/muse-publish.el (muse-publish-url-transforms): Add
      `muse-publish-prepare-url' to the listed options.
    * lisp/muse-publish.el (muse-publish-output-file): Handle case where
      output-dir is not specified.
    * lisp/muse-publish.el (muse-publish-markup-link): Call link handlers
      here instead of later on.
    * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Try to do the
      right thing when `muse-wiki-interwiki-alist' is nil.
    * lisp/muse-wiki.el (muse-wiki-output-name): Removed in favor of calling
    * lisp/muse-wiki.el (muse-wiki-transform-interwiki)
      (muse-wiki-transform-wikiword): Removed.  We should not use the
      publishing transforms facility to handle these.
    * lisp/muse-wiki.el ("muse-publish"): Publish wikiwords and interwiki
      links as "link" rather than "url".
    * lisp/muse-wiki.el (muse-wiki-update-custom-values): New function that
      takes care of any customization cleaups that need to happen whenever
      muse-mode is entered.
    * lisp/muse.el (muse-implicit-link-functions): Add options for
      `muse-handle-url' and the wiki handlers.
      (muse-explicit-link-functions): Add option for
    mwolson committed Jul 13, 2005
  4. Add invalid directory assertion.

    * lisp/muse-project.el (muse-project-file-entries): Add assertion so that
      any invalid directories will trigger an error.
    mwolson committed Jul 13, 2005
Commits on Jul 12, 2005
  1. AUTHORS: Fix typo, add that Yann authored muse-wiki.el.

    mwolson committed Jul 12, 2005
  2. Yann's assignment form came in!

    mwolson committed Jul 12, 2005
  3. Compilation fix, minor shuffling in `muse-mode'.

    * lisp/muse.el (muse-file-extension): Make sure sym is bound before
      accessing it.  Fixes Yet Another Compiler Error.
    * lisp/muse-mode.el (muse-mode): Move font-lock setup to very end so that
     project-specific settings happen first.
    mwolson committed Jul 12, 2005
  4. Fix annoying initial buffer coloring problem.

    * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Handle the case
      where even buffer-file-name is not set.  This happens the first time we
      attempt to colorize the buffer.  I'm rather astonished that I had to do
    mwolson committed Jul 12, 2005
  5. Jump to bad and good links on TAB; mode-choosing fix.

    * lisp/muse-mode.el (muse-mode-choose-mode): New function that always
      pics a major mode for a file.  If one is specified in the project of
      file, use it.  Otherwise, use muse-mode.
      (muse-next-reference, muse-previous-reference): Jump to bad links as
      well as good ones.
    * lisp/muse.el (muse-file-extension): Use `muse-mode-choose-mode' instead
      of `muse-mode'.
    mwolson committed Jul 12, 2005
  6. Add specified Muse file extension to auto-mode-alist.

    * lisp/muse.el (muse-file-extension): If extension is specified, remove
      the old extension from auto-mode-alist and add the new one.  This
      eliminates the need to set muse-mode-auto-p when you have specified a
      Muse file extension.
    * examples/mwolson/muse-init.el: Sync.
    mwolson committed Jul 12, 2005
Commits on Jul 11, 2005
  1. Make `muse-project-alist' more intuitively customizable.

    * examples/mwolson/muse-init.el (muse-project-alist): Resync with my
    * lisp/muse-project.el: Thanks to jessealama on IRC for the suggestion.
      (muse-project-alist-get): New function that pre-parses
      `muse-projects-alist' before customization in order to work around an
      annoying limitation in the customize interface.
      (muse-project-alist-set): New function that takes the value that
      customize gave us and turns it into something Muse can use.
      (muse-project): New widget that outlines the form of the
      `muse-project-alist' variable.
      (muse-project-alist): Use the `muse-project' widget and specify :set
      and :get.
    mwolson committed Jul 11, 2005
Commits on Jul 10, 2005
  1. Silence compiler warnings.

    * lisp/muse-docbook.el (muse-docbook-fixup-tags): Docfix.
    * lisp/muse-html.el (muse-html-escape-string): Let-bind `ch' to silence a
      compiler warning.
    * lisp/muse-project.el (muse-project-applicable-styles): Call
      `muse-assert' with only 1 argument to silence a compiler warning.
    mwolson committed Jul 10, 2005
  2. muse-docbook: Merge several other types of tags if necessary.

    * lisp/muse-docbook.el (muse-docbook-fixup-tags): Renamed from
      `muse-docbook-fixup-sections'.  For each TAG in
      `muse-docbook-merged-tags', if consecutive groupings of TAG exist,
      merge them together.  Thanks to Dale P. Smith for the suggestion.
      (muse-docbook-merged-tags): Customizable list of tags that need merging.
    mwolson committed Jul 10, 2005
  3. muse-docbook: Output an XML tag with encoding at the beginning of doc…

    * lisp/muse-docbook.el (muse-docbook-header): Add <xml> tag at beginning
      of document.
      (muse-docbook-encoding-default): New option that determines which Emacs
      buffer encoding to use by default in Muse DocBook files if none is
      (muse-docbook-charset-default): New option that determines the DocBook
      XML charset to use if no translation is found in
      (muse-docbook-encoding-map): New option alist that maps an emacs coding
      system to its associated DocBook coding system.
      (muse-docbook-transform-content-type): New function that determines the
      DocBook XML encoding to use based on the contents of
      (muse-docbook-encoding): New function that calls
      (muse-docbook-finalize-buffer): New function that sets the buffer file
      coding system to the value of muse-docbook-encoding-default, but only
      if the buffers contents have no special characters.
      ("docbook"): Include :after tag that calls muse-docbook-finalize-buffer.
    mwolson committed Jul 10, 2005
  4. Apply muse-docbook patch from Dale P. Smith.

    * lisp/muse-docbook.el (muse-docbook-markup-strings): Apply patch from
      Dale P. Smith to make the markup much better.
    mwolson committed Jul 10, 2005
  5. Use different mapping for S-tab on Windows.

    * lisp/muse-mode.el (muse-mode-map): If using either XEmacs or on
      Windows, use [(shift tab)] for `muse-previous-reference'.
    mwolson committed Jul 10, 2005
Commits on Jul 9, 2005
  1. XEmacs wiki fix.

    * lisp/muse-wiki.el (muse-wiki-colors-wikiword): Use
      `muse-match-string-no-properties' so XEmacs doesn't complain.
    mwolson committed Jul 9, 2005
  2. Handle a few edge cases with project-page resolution gracefully.

    * lisp/muse-project.el (muse-project-applicable-styles): Add assertion to
      make sure that PAGE is specified.  STYLES should be generated
      automatically, but it could theoretically fail.  I'm managing to
      trigger this when messing with unsaved Muse files.  Handle case where
      buffer has not yet been saved.
      (muse-project-find-file): Don't try to resolve relative links; just
      open them.
    * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Fix
      point-of-reference bug.  No need to call muse-project-page-of-file
      since buffer-file-name and muse-publishing-current-file both give us
      full paths.
    * lisp/muse-mode.el (muse-link-at-point): For some reason,
      `skip-chars-backward' only respects the newline some of the time.
      Damned annoying.
    mwolson committed Jul 9, 2005
  3. Fix image-link goof-up and add pretty titles.

    * lisp/muse-html.el (muse-html-markup-paragraph): Use <p
      class="image-link"> instead of <div class="image-link">.  I found a bug
      with the way I was handling both, so I decided to simplify things.
    * lisp/muse-wiki.el (muse-wiki-output-name): New function that acts like
      `muse-publish-output-name', but keeps the directory prefix.
      (muse-wiki-transform-interwiki): Use `muse-publish-output-name'.
    * lisp/muse-wiki.el (muse-wiki-publish-small-title-words): New
      customizable option that determines the words to downcase in title.
      (muse-wiki-publish-pretty-title): New function that Makes a Nicely
      Capitalized Title out of either a string or the current title.  This is
      not currently used by any other function -- for now it is meant to be
      called by the user.
    mwolson committed Jul 9, 2005
  4. Escape specials in link descriptions.

    * lisp/muse-publish.el (muse-publish-escape-specials-in-string): New
      function that escapes special characters in the given string according
      to the current publishing style.
      (muse-publish-url): Use the above function to escape the description
      part of extended links.
      (muse-publish-prepare-url): Don't make string read-only; it does
    * lisp/muse-wiki.el (muse-wiki-transform-interwiki)
      (muse-wiki-transform-wikiword): Don't make string read-only.
    mwolson committed Jul 9, 2005
  5. Escape "&", "<", and ">" in URL text.

    * lisp/muse-html.el (muse-html-escape-string): Escape "&", "<", and ">"
      specially.  Thanks to John Sullivan for the suggestion.
    mwolson committed Jul 9, 2005
  6. Update my example configuration.

    * examples/mwolson/muse-init.el (muse-project-alist): Rename the "Web"
      project to "WebSite" in order to make it more distinct.
      (muse-wiki-interwiki-alist): Add mapping for "TheEmacsWiki".
      (my-muse-blosxom-finalize): Don't run the Xanga preparation code
      (my-muse-prepare-entry-for-xanga): Make this able to figure out the
      published name of the current file.  I really should make a function
      called `muse-published-name' or something similar!
      ("\C-cpx"): Use this key sequence for
      (muse-file-extension): I'm making use of this so I can figure out its
    mwolson committed Jul 9, 2005
  7. Tackle a project name interwiki highlighting snafu.

    * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Hack still more on
      this.  It seems to be more robust now.  Highlighting is going the way I
      want it.
    mwolson committed Jul 9, 2005
  8. Fix some gross mistakes.

    * lisp/muse-blosxom.el (muse-blosxom-update-page-date-alist): Fix several
      gross misspellings.
    * lisp/muse-project.el (muse-project-file-entries): If
      `muse-file-extension' is defined, use it to filter the entries.
    * lisp/muse.el (muse-file-extension): Fix messed up attempt to set
      variable.  Move higher in file.
    * lisp/muse.el (muse-update-ignored-extensions-regexp): Use given
      argument instead of the real name of the variable.
    mwolson committed Jul 9, 2005
  9. Make natural interwiki links between projects mostly work.

    * lisp/muse-wiki.el (muse-wiki-resolve-project-page): Uncomment this
      function and flesh it out.  This seems to work properly, though for
      some reason, interwiki links using projects are a bit flakey.
      (muse-wiki-handle-interwiki): Deal with case where we have a project
      name in an interwiki link.
    mwolson committed Jul 9, 2005
Commits on Jul 8, 2005
  1. Fix Emacs21 issue with muse-insert-tag.

    * lisp/muse-mode.el (muse-insert-tag): Pass a list of lists to
      completing-read to appease older Emacsen.
    mwolson committed Jul 8, 2005
  2. Fix error with `muse-blosxom-new-entry' and Emacs21.

    * lisp/muse-blosxom.el (muse-blosxom-new-entry): Mess with call to
      `completing-read' so that old versions of Emacs don't complain.
    mwolson committed Jul 8, 2005
  3. Try to fix an error with `muse-blosxom-get-categories'.

    * lisp/muse-blosxom.el (muse-blosxom-get-categories): Be extra cautious
      about processing directories.
    mwolson committed Jul 8, 2005
  4. Make a distinction between implicit and explicit links at publish-time.

    * lisp/muse-html.el (muse-html-escape-string): Ignore other arguments.
    * lisp/muse-http.el (muse-http-prepare-url): Handle `explicit' argument.
    * lisp/muse-publish.el (muse-publish-url, muse-publish-insert-url): Pass
      `explicit' argument.
    * lisp/muse-publish.el (muse-publish-markup-link): Determine whether or
      not we are dealing with an explicit link.
    * lisp/muse-publish.el (muse-publish-prepare-url): Ignore other arguments.
    * lisp/muse-wiki.el (muse-wiki-transform-interwiki): Take `explicit'
      argument, but ignore it.
    * lisp/muse-wiki.el (muse-wiki-transform-wikiword): Only apply transforms
      when link is not explicit.
    mwolson committed Jul 8, 2005
  5. Implement several WikiWord handling fixes.

    * lisp/muse-colors.el (muse-link-face): Handle case where no link is
      found by the handlers.  Don't send implicit links through some of the
      advanced checks.
    * lisp/muse-mode.el (muse-link-at-point): Move to beginning of first part
      of interwiki link before calling `muse-handle-explicit-link'.
    * lisp/muse-wiki.el (muse-wiki-update-interwiki-regexp): Append forgotten
      "\\|" separator between project-alist entries and interwiki entries.
      Force a reconfiguration of muse-colors-markup.
    * lisp/muse-wiki.el (muse-wiki-handle-wikiword): Add several checks to be
      sure that we don't colorize WikiNames that don't go with any file.
    mwolson committed Jul 8, 2005
Commits on Jul 7, 2005
  1. Attempt to simplify muse-wiki a bit.

    * lisp/muse-colors.el (muse-use-font-lock): Set up muse-colors-markup
    * lisp/muse-wiki.el (muse-wiki-wikiword-colors-markup)
      (muse-wiki-update-use-wikiword-colors, muse-wiki-wikiword-markup-regexp)
      (muse-wiki-update-use-wikiword-url-transforms): Remove.
      (muse-wiki-update-use-wikiword): Not :set function is needed anymore.
    * lisp/muse-wiki.el (muse-wiki-transform-wikiword): Only modify URL if
      `muse-wiki-use-wikiword' is specified.
    * lisp/muse-wiki.el (muse-wiki-handle-wikiword): Don't process the URL
      unless `muse-wiki-use-wikiword' is specified.
    * lisp/muse-wiki.el ("muse-colors"): Add muse-wiki-wikiword-regexp to
    * lisp/muse-wiki.el ("muse-publish"): Add muse-wiki-wikiword-regexp to
    * lisp/muse-wiki.el ("muse-publish"): Add muse-wiki-transform-wikiword to
    * lisp/muse-wiki.el (muse-implicit-link-functions): Add
      muse-wiki-handle-wikiword to muse-implicit-link-functions.
    mwolson committed Jul 7, 2005
  2. Make muse-blosxom use relative name of published file in page-date al…

    * lisp/muse-blosxom.el (muse-blosxom-base-directory): Move higher in
      (muse-blosxom-update-page-date-alist): Renamed from
      `muse-blosxom-markup-date-directive'.  Make the current file name
      relative to the base directory and strip file extension if necessary.
    mwolson committed Jul 7, 2005
  3. Hack on muse-blosxom timestamps somewhat.

    * lisp/muse-blosxom.el (muse-blosxom-markup-date-directive): Make this
      actually do something useful.  This should have a different name,
      ("blosxom-html", "blosxom-xhtml"): Call
      `muse-blosxom-markup-date-directive' after publishing each entry.
    mwolson committed Jul 7, 2005
  4. Fix several startup and compile errors.

    * lisp/muse-wiki.el ("muse-publish"): Use correct name of function.  This
      fixes an error that occurred during startup.
    * lisp/muse-regexps.el (muse-ignored-extensions-regexp)
      (muse-update-ignored-extensions-regexp, muse-ignored-extensions): Move
      to muse.el.
    * lisp/muse.el (muse-update-ignored-extensions-regexp): Fix ordering so
      that the nasty compile errors go away.  Fix a few typos.
      (muse-ignored-extensions): Fix docstring.
      (muse-file-extension): Move this higher in the file.
    mwolson committed Jul 7, 2005
  5. Note that muse-file-extension should not have "." in front.

    * lisp/muse-project.el (muse-project-find-file): Handle case where
      muse-file-extension is not specified.
    * lisp/muse.el (muse-file-extension): Note that the period at the
      beginning of this value should be omitted.
    * lisp/muse-regexps.el (muse-update-ignored-extensions-regexp): Quote
      file extension so that regexp characters inside the extension will not
      goof it up.  This should never be a problem in normal cases, but let's
      be robust.
    mwolson committed Jul 7, 2005