1. 30 Jun, 2011 5 commits
    • Gnus developers's avatar
      gnus-group.el (gnus-read-ephemeral-emacs-bug-group): Take an optional quit window configuration. · b09c3fe0
      Gnus developers authored
      auth-source.el (epg-context-set-passphrase-callback): Remove duplicate autoload.
      nnir.el (nnir-request-article): Allow requesting articles by Message-ID with nnimap.
      gnus-sum.el (gnus-refer-article-methods): Allow (nnir) entry to use current server.
      auth-source.el: Autoload EPA/EPG functions.
       (auth-source-netrc-use-gpg-tokens): Clarify that it should not be changed when EPA/EPG is not available.
       (auth-source-backend): Rename "arg" member to "data".
       (auth-source-backend-parse, auth-source-plstore-search)
       (auth-source-plstore-create): Use it.
      b09c3fe0
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 936d08bb
      Gnus developers authored
      gnus-art.el (gnus-request-article-this-buffer): Use existing function `gnus-refer-article-methods'.
      auth-source.el: Require EPA and EPG.
       (auth-source-passphrase-alist): New variable.
       (auth-source-passphrase-callback-function, auth-source-token-passphrase-callback-function): Callbacks for the netrc field encryption (GPG tokens).
       (auth-source-epa-extract-gpg-token, auth-source-epa-make-gpg-token): Symmetric encryption and decryption of the netrc GPG tokens.
       (auth-source-netrc-normalize): Use them, simplifying the closure.
      936d08bb
    • Daiki Ueno's avatar
      Silence auth-source.el compilation. · c302199d
      Daiki Ueno authored
      c302199d
    • Daiki Ueno's avatar
      Add new auth-source backend 'plstore. · 8977de27
      Daiki Ueno authored
      * auth-source.el (auth-source-backend): New member "arg".
      (auth-source-backend-parse): Handle new backend 'plstore.
      * plstore.el: New file.
      8977de27
    • Lars Magne Ingebrigtsen's avatar
      Merge changes made in Gnus trunk. · 3451795c
      Lars Magne Ingebrigtsen authored
      message.el (message-point-in-header-p): Tweak the function to default to saying that we're not in the headers if there is no separator at all.  This makes it possible to use the Message version of `M-q' in buffers with no headers (bug#7987).
       (message-point-in-header-p): Fix last checkin to work with an empty mail-header-separator, too.
      auth-source.el (auth-source-netrc-saver): If the user says "don't ask again, save the choice via customize.
      message.el (message-send-mail-function): Add `sendmail-query-once'.
      nnimap.el (nnimap-finish-retrieve-group-infos): If the server has ended the connection, bail out before waiting infinitely on a new connection.
      3451795c
  2. 26 Jun, 2011 1 commit
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 60a0884e
      Gnus developers authored
      gnus.texi (Summary Mail Commands): Document `gnus-summary-reply-to-list-with-original'.
      auth-source.el (with-auth-source-epa-overrides): Fix compilation error with `find-file-hooks' on Emacs 22.
       (with-auth-source-epa-overrides): Ugly hack to Wrap the `find-file-hook' things in `symbol-value' to avoid compilation warnings on all architectures.
      spam.el (spam-stat): Require in a normal fashion without binding `spam-stat-install-hooks' to avoid compilation warnings.
      spam-stat.el (spam-stat-install-hooks): Removed.
       (spam-stat-install-hooks): Don't run automatically.
      gnus-msg.el (gnus-summary-reply-to-list-with-original): New command and keystroke.
      60a0884e
  3. 23 Jun, 2011 1 commit
  4. 22 Jun, 2011 1 commit
  5. 21 Jun, 2011 1 commit
  6. 18 Jun, 2011 1 commit
    • Ted Zlatanov's avatar
      auth-source.el (auth-source-netrc-use-gpg-tokens): Replace... · 61e6a0ac
      Ted Zlatanov authored
      auth-source.el (auth-source-netrc-use-gpg-tokens): Replace `auth-source-save-secrets' with a more sensitive alist that can be configured per file.  Experimental, so defaults to 'never.
       (auth-source-netrc-create): Use it.  Still experimental code.
       (with-auth-source-epa-overrides): Use `find-file-hooks' if `find-file-hook' is unbound (XEmacs fix).  Fix backquoting bug.
      61e6a0ac
  7. 16 Jun, 2011 1 commit
    • Ted Zlatanov's avatar
      Merge changes made in Gnus trunk. · 2b8c5660
      Ted Zlatanov authored
      auth-source.el (auth-source-save-secrets): New variable to control if secret tokens should be saved encrypted.
       (auth-source-netrc-parse, auth-source-netrc-search): Pass the file name to `auth-source-netrc-normalize'.
       (with-auth-source-epa-overrides): Add convenience macro.  Don't depend on the EPA variables being defined.
       (auth-source-epa-make-gpg-token): Convert text to a "gpg:" token.
       (auth-source-netrc-normalize): Convert "gpg:" tokens back to text in the lexical-let closure.
       (auth-source-netrc-create): Create "gpg:" tokens according to `auth-source-save-secrets'.
      2b8c5660
  8. 15 Mar, 2011 2 commits
    • Stefan Monnier's avatar
      Fix misuse of quote in `case'. · 0adf5618
      Stefan Monnier authored
      * lisp/progmodes/ruby-mode.el (ruby-backward-sexp):
      * lisp/progmodes/ebrowse.el (ebrowse-draw-file-member-info):
      * lisp/play/gamegrid.el (gamegrid-make-face):
      * lisp/play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
      (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
      * lisp/notifications.el (notifications-notify):
      * lisp/net/xesam.el (xesam-search-engines):
      * lisp/net/quickurl.el (quickurl-list-insert):
      * lisp/vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
      * lisp/gnus/auth-source.el (auth-source-netrc-create):
      * lisp/gnus/message.el (message-yank-original): Fix use of `case'.
      * lisp/org/org-src.el (org-src-switch-to-buffer):
      * lisp/org/org-plot.el (org-plot/gnuplot-script, org-plot/gnuplot):
      * lisp/org/org-mouse.el (org-mouse-agenda-type):
      * lisp/org/org-freemind.el (org-freemind-node-to-org):
      * lisp/org/ob-sql.el (org-babel-execute:sql):
      * lisp/org/ob-exp.el (org-babel-exp-do-export, org-babel-exp-code):
      * lisp/org/ob-ref.el (org-babel-ref-resolve): Fix use of case.
      0adf5618
    • Stefan Monnier's avatar
      aa2ebce9
  9. 13 Mar, 2011 2 commits
    • Ted Zlatanov's avatar
      auth-source.el (auth-source-netrc-create): Show the default in the prompt when... · 67613d31
      Ted Zlatanov authored
      auth-source.el (auth-source-netrc-create): Show the default in the prompt when prompting for token creation.
      67613d31
    • Ted Zlatanov's avatar
      Merge changes made in Gnus trunk. · 4248cca2
      Ted Zlatanov authored
      auth.texi (Help for developers): Update docs to explain that the :save-function will only run the first time.
      auth-source.el (auth-source-format-prompt): Always convert the value to a string to avoid evaluating non-string arguments.
       (auth-source-netrc-create): Offer default properly, not as initial content in `read-string'.
       (auth-source-netrc-saver): Use a cache keyed by file name and MD5 hash of line to determine if we've been run before.  If so, don't run again, but print a trivial message to indicate the cache was hit instead.
      4248cca2
  10. 10 Mar, 2011 1 commit
  11. 09 Mar, 2011 1 commit
    • Ted Zlatanov's avatar
      Merge changes made in Gnus trunk. · 733afdf4
      Ted Zlatanov authored
      auth-source.el (auth-source-read-char-choice): New function to read a character choice using `dropdown-list', `read-char-choice', or `read-char'.  It appends "[a/b/c] " to the prompt if the choices were '(?a ?b ?c).  The `dropdown-list' support is disabled for now.  Use `eval-when-compile' to load `dropdown-list'.
       (auth-source-netrc-saver): Use it.
      nnimap.el (nnimap-credentials): Keep the :save-function as the third parameter in the credentials.
       (nnimap-open-connection-1): Use it after a successful login.
       (nnimap-credentials): Add IMAP-specific user and password prompt.
      auth-source.el (auth-source-search): Add :require parameter, taking a list.  Document it and the :save-function return token.  Pass :require down.  Change the CREATED message from a warning to a debug statement.
       (auth-source-search-backends): Pass :require down.
       (auth-source-netrc-search): Pass :require down.
       (auth-source-netrc-parse): Use :require, if it's given, as a filter.  Change save prompt to indicate all modifications saved here are deletions.
       (auth-source-netrc-create): Take user login name as default in user prompt.  Move all the save functionality to a lexically bound function under the :save-function token in the returned list.  Set up clearer default prompts for user, host, port, and secret.
       (auth-source-netrc-saver): New function, intended to be wrapped for :save-function.
      733afdf4
  12. 25 Feb, 2011 2 commits
    • Ted Zlatanov's avatar
      Merge changes made in Gnus trunk. · 61e9662e
      Ted Zlatanov authored
      auth-source.el (auth-source-search): Cache empty result sets.
      password-cache.el (password-in-cache-p): Convenience function to check if a key is in the cache, even if the value is nil.
      61e9662e
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 003522ce
      Gnus developers authored
      auth-source.el (auth-source-save-behavior): New variable to replace `auth-source-never-create'.
       (auth-source-netrc-create): Use it.
       (auth-source-never-save): Remove.
      nnimap.el (nnimap-stream): Doc fix.
       (nnimap-open-connection-1): Reverse the order of the ports to that the prompted-for port is first.
      gnus-start.el (gnus-get-unread-articles): Don't clobber the async retrieval by the no-group selection.
      gnus-demon.el (gnus-demon-init): run-with-timer should be called with numerical parameters.
      auth-source.el (auth-source-creation-prompts): New variable to manage creation-time prompts.
       (auth-source-search): Document it.
       (auth-source-format-prompt): Add utility function.
       (auth-source-netrc-create): Don't default the user name to user-login-name.  Use `auth-source-creation-prompts' and some default prompts for user, host, port, and password (the default generic prompt remains ugly).
       (auth-source-never-save): Add customizable option to never save info.
       (auth-source-netrc-create): Use it and improve save prompts.  Fix help mode excursion.
      003522ce
  13. 24 Feb, 2011 1 commit
  14. 23 Feb, 2011 3 commits
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · fa41748c
      Gnus developers authored
      gnus-art.el (article-make-date-line): Ignore errors if time is invalid and not convertible.
       (article-make-date-line): Only add lapsed time if time is not nil.
      auth-source.el (auth-source-netrc-element-or-first): New function to DTRT for parameter extraction.
       (auth-source-netrc-create): Use it and fix multiple parameter print bug.  Use the default passed from above (given-default) or the built-in (user-login-name for :user).
      fa41748c
    • Ted Zlatanov's avatar
      auth-source.el (auth-source-netrc-create): Use `read-char' instead of... · d41d18c0
      Ted Zlatanov authored
      auth-source.el (auth-source-netrc-create): Use `read-char' instead of `read-char-choice' for backwards compatibility.
      d41d18c0
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 4a3988d5
      Gnus developers authored
      auth.texi (Help for users): Mention ~/.netrc is also searched by default now.
      gnus-start.el (gnus-dribble-read-file): Set buffer-save-without-query, since we always want to save the dribble file, probably.
      nnmail.el (nnmail-article-group): Allow a final "" split to work on nnimap.
      gnus-sum.el (gnus-user-date-format-alist): Renamed back again from -summary- since it's a user-visible variable.
      nnimap.el (nnimap-retrieve-group-data-early): Don't do QRESYNC the first time you use the new Gnus.
      auth-source.el: Don't load netrc.el.
       (auth-sources): Search ~/.netrc as well by default.
       (auth-source-debug): Add 'trivia option for extra output.
       (auth-source-do-trivia): Use it.
       (auth-source-search): Simplify logic to use `auth-source-search-backends'.  Use `auth-source-do-trivia' where appropriate.  Don't keep a running count at this level.  Layer :create and :delete options appropriately on the first and second passes.  Don't track the backend with the search results.
       (auth-source-search-backends): New function to search a list of backends for a processed spec.
       (auth-source-netrc-parse): Cache all netrc files, making auth-source-netrc-cache an alist keyed by the file name and using the file mtime as the caching criterion.  Keep the obfuscated data secret with a lexical bind.
       (auth-source-netrc-search): Don't calculate the length of the results unnecessarily.
       (auth-source-search-backends): Fix bug.
       (auth-source-netrc-create): Rework prompts.
      nnir.el (nnir-imap-search-arguments,nnir-imap-default-search-key): Lower case names of search constraints.
       (nnir-run-query): Cache and reuse search constraints for all imap servers.
      gnus-msg.el (gnus-setup-message): Define missing variable from last checkin.
      4a3988d5
  15. 22 Feb, 2011 1 commit
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 8e22bee0
      Gnus developers authored
      gnus.texi (Article Date): Clarify gnus-article-update-date-headers.
      gnus-msg.el (gnus-inews-add-send-actions): Restore the winconf name after exit.
      gnus-sum.el (gnus-summary-show-article): When called with t as the value, show the raw article.
      nnimap.el (nnimap-open-connection-1): Revert last change, since auth-source now accepts numbers.
      auth-source.el (auth-source-netrc-parse): Accept a number as the port spec, too.
       (auth-source-ensure-strings): New function.
      gnus-art.el (gnus-article-update-date-headers): Doc fix.
       (gnus-article-setup-buffer): Always restart the date timer so that user changes to the frequency is respected.
      nnimap.el (nnimap-open-connection-1): auth-source expects strings as port numbers, so make sure it gets that if nnimap-server-port is explicit.
      nnimap.el (nnimap-inbox): Doc fix.
      8e22bee0
  16. 21 Feb, 2011 1 commit
    • Lars Ingebrigtsen's avatar
      Merge changes made in Gnus trunk. · 06b840e0
      Lars Ingebrigtsen authored
      gnus.texi (Window Layout): Document layout names.
      nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the given method as in the group name if we're using an extended method.
       (nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE command, if we're using that, instead of waiting for the beginning.
      gnus-start.el (gnus-get-unread-articles): Extend the methods so that we're sure to get unique server names, and we don't output two async commands in the same buffer.  This fixes an NNTP hang for some users.
      netrc.el (netrc-parse): Comment fix.
      gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the summary buffer before reading going to the next buffer.  This avoids putting the point in the group buffer if you `C-g' the command.
      auth-source.el (auth-source-netrc-parse): Add an in-memory netrc cache (for now) to make ~/.authinfo.gpg files usable.
      nnfolder.el (copyright-update): Define for the compiler.
      auth-source.el (auth-source-search): Fix unbound variable.
      06b840e0
  17. 18 Feb, 2011 2 commits
  18. 17 Feb, 2011 5 commits
    • Lars Ingebrigtsen's avatar
      auth-source.el (auth-source-search): Do a two-phase search, one with no... · 1d2c4a49
      Lars Ingebrigtsen authored
      auth-source.el (auth-source-search): Do a two-phase search, one with no :create to get the responses from all backends.
      1d2c4a49
    • Gnus developers's avatar
      Merge chagnes made in Gnus trunk. · 7ba93e94
      Gnus developers authored
      auth.texi (GnuPG and EasyPG Assistant Configuration): Mention the default now is to have two files in `auth-sources'.
      nnimap.el (nnimap-open-connection-1): Delete duplicate server names when getting credentials.
      gnus-util.el (gnus-delete-duplicates): New function.
      nnimap.el (nnimap-credentials): Instead of picking the first port as a creation default, pass the whole port list down.  It will be completed.
      auth-source.el (auth-source-search): Updated docs to talk about multiple creation choices.
       (auth-source-netrc-create): Accept a list as a value (from the search parameters) and do completion on that list.  Keep a separate netrc line with the password obscured for showing the user.
      nnimap.el (nnimap-open-connection-1): Make the `nnimap-address' the first choice to `auth-source-search' so it will be used for entry creation instead of the server's Gnus-specific name.
       (nnimap-credentials): Rely on the auth-source library to select which port is actually wanted in the new netrc entry, so don't override `auth-source-creation-defaults'.
      7ba93e94
    • Ted Zlatanov's avatar
      a202ff49
    • Ted Zlatanov's avatar
      auth.texi (Help for users): Use :port instead of :protocol for all auth-source docs. · 35123c04
      Ted Zlatanov authored
      auth-source.el (auth-source-netrc-parse): Use :port instead of :protocol and accept a missing user, host, or port as a wildcard match.
       (auth-source-netrc-search, auth-source-netrc-create)
       (auth-source-secrets-search, auth-source-secrets-create)
       (auth-source-user-or-password, auth-source-backend, auth-sources)
       (auth-source-backend-parse-parameters, auth-source-search): Use :port instead of :protocol.
      nnimap.el (nnimap-credentials): Pass a port default to `auth-source-search' in case an entry needs to be created.
       (nnimap-open-connection-1): Use :port instead of :protocol.
      35123c04
    • Katsumi Yamaoka's avatar
      auth-source.el (auth-source-secrets-search): Use mm-delete-duplicates instead... · d638ac9e
      Katsumi Yamaoka authored
      auth-source.el (auth-source-secrets-search): Use mm-delete-duplicates instead of delete-dups that is not available in XEmacs 21.4.
      d638ac9e
  19. 16 Feb, 2011 2 commits
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 584c9d3f
      Gnus developers authored
      gnus-sum.el (gnus-propagate-marks): Change default to t again, since nil means that nnimap doesn't get updated.
      auth-source.el (auth-source-netrc-create): Return a synthetic search result when the user doesn't want to write to the file.
       (auth-source-netrc-search): Expect a synthetic result and proceed accordingly.
       (auth-source-cache-expiry): New variable to override `password-cache-expiry'.
       (auth-source-remember): Use it.
      nnimap.el (nnimap-credentials): Remove the `inhibit-create' parameter.  Create entry if necessary by using :create t.
       (nnimap-open-connection-1): Don't pass `inhibit-create'.
      584c9d3f
    • Ted Zlatanov's avatar
      auth-source.el (auth-source-debug): Enable by default and don't mention the... · ca6ddb88
      Ted Zlatanov authored
      auth-source.el (auth-source-debug): Enable by default and don't mention the obsolete `auth-source-hide-passwords'.
       (auth-source-do-warn): New function to debug unconditionally.
       (auth-source-do-debug): Use it.
       (auth-source-backend-parse): Use it for invalid `auth-sources' entries and for Secrets API entries when the secrets.el library is not available.
      ca6ddb88
  20. 15 Feb, 2011 1 commit
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · 5415d076
      Gnus developers authored
      auth.texi (Help for users): Login collection is "Login" and not "login".
      gnus-sum.el (gnus-propagate-marks): Default to nil.
       (gnus-summary-exit): Kill the correct article buffer on exit from a `C-d' group.
      gnus-start.el (gnus-use-backend-marks): Removed, since it duplicates gnus-propagate-marks.
      gnus-sum.el (gnus-summary-exit-no-update): Restore the group conf before killing the buffers so that a non-full window conf gets handled correctly.
       (gnus-summary-exit): Ditto.
       (gnus-summary-read-group-1): Ditto.
      nntp.el (nntp-retrieve-group-data-early): Reinstate the two-part async code again so that we can debug it properly.
      message.el (message-reply): Take an optional switch-buffer parameter so that Gnus window confs are respected better.
      auth-source.el (auth-source-secrets-search): Use `delete-dups', `append mapcar', and `butlast' instead of `remove-duplicates', `mapcan', and `subseq'.
       (auth-sources, auth-source-backend-parse, auth-source-secrets-search): Login collection is "Login" and not "login".
      gnus-art.el (article-update-date-lapsed): Don't bug out when updating multiple headers.
      5415d076
  21. 14 Feb, 2011 3 commits
  22. 13 Feb, 2011 1 commit
    • Gnus developers's avatar
      Merge changes made in Gnus trunk. · b8e0f0cd
      Gnus developers authored
      auth.texi (Overview, Help for users, Help for developers): Update docs.
       (Help for users): Talk about spaces.
      sieve-manage.el: Autoload `auth-source-search'.
       (sieve-sasl-auth): Use it.
      nnimap.el: Autoload `auth-source-forget+'.
       (nnimap-open-connection-1): Use it if the connection fails.
      auth-source.el: Require `password-cache'.
       (auth-source-hide-passwords, auth-source-cache): Remove and mark obsolete.
       (auth-source-magic): Marker for `password-cache' keys.
       (auth-source-do-cache): Update docstring.
       (auth-source-search): Use and check cache.
       (auth-source-forget-all-cached, auth-source-remember)
       (auth-source-recall, auth-source-forget, auth-source-forget+)
       (auth-source-specmatchp): Caching support functions.
       (auth-source-forget-user-or-password, auth-source-forget-all-cached): Remove and obsolete.
       (auth-source-user-or-password): Remove caching to further discourage using it.  Always hide passwords.
      password-cache.el (password-cache-remove): Accept secrets that are not strings.
      mail-source.el: Autoload `auth-source-search'.
       (mail-source-keyword-map): Note order matters.
       (mail-source-set-1): Get all the mail-source source values and defaults and search auth-source on those if needed.  This can all probably be simplified.
      nnimap.el: Autoload `auth-source-search'.
       (nnimap-credentials): Use it.
       (nnimap-open-connection-1): Ask for the virtual server and physical address in one shot.
      nntp.el: Autoload `auth-source-search'.
       (nntp-send-authinfo): Use it.  Note TODO.
      auth-source.el (auth-source-secrets-search, auth-source-user-or-password): Use `append' instead of `nconc'.
       (auth-source-user-or-password): Build return list better and protect against nil :secret.
      auth-source.el (top): Require 'eieio unconditionally.  Autoload `secrets-get-attributes' instead of `secrets-get-attribute'.
       (auth-source-secrets-search): Limit search when `max' is greater than number of results.
      auth-source.el (auth-source-secrets-search): Add examples.
      auth-source.el (auth-sources): Allow for simpler defaults for Secrets API with a string "secrets:collection-name" and with 'default.
       (auth-source-backend-parse): Parse "secrets:collection-name" and 'default.  Recurse on parses instead of repeating code.  Use the Secrets API is the source is not nil and 'ignore otherwise.  Emit a message when ignoring a source.
       (auth-source-search): List ignored search keys at the top level.
       (auth-source-netrc-create): Use `case' instead of `cond'.
       (auth-source-secrets-search): Created with TODOs.
       (auth-source-secrets-create): Created with TODOs.
       (auth-source-retrieve, auth-source-create, auth-source-delete)
       (auth-source-protocol-defaults, auth-source-user-or-password-imap)
       (auth-source-user-or-password-pop3, auth-source-user-or-password-ssh)
       (auth-source-user-or-password-sftp)
       (auth-source-user-or-password-smtp): Removed.
       (auth-source-user-or-password): Deprecated and modified to be a wrapper around `auth-source-search'.  Not tested thoroughly.
      auth-source.el: Bring in assoc and eioeio libraries.
       (secrets-enabled): New variable to track the status of the Secrets API.
       (auth-source-backend): New EIOEIO class to represent a backend.
       (auth-source-creation-defaults): New variable to set prompt defaults during token creation (see the `auth-source-search' docstring for details).
       (auth-sources): Simplify to allow a simple string as a netrc backend spec.
       (auth-source-backend-parse): Parse a backend from an `auth-sources' spec.
       (auth-source-backend-parse-parameters): Fill in the backend parameters.
       (auth-source-search): Main auth-source API entry point.
       (auth-source-delete): Wrapper around `auth-source-search' for deletion.
       (auth-source-search-collection): Helper function for searching.
       (auth-source-netrc-parse, auth-source-netrc-normalize)
       (auth-source-netrc-search, auth-source-netrc-create): Netrc backend.  Supports search, create, and delete.
       (auth-source-secrets-search, auth-source-secrets-create): Secrets API backend stubs.
      (auth-source-user-or-password): Call `auth-source-search' but it's not ready yet.
      b8e0f0cd
  23. 25 Jan, 2011 1 commit