gnus
13 years agognus.texi: First very rough pass at nnir documentation.
Andrew Cohen [Mon, 13 Dec 2010 23:33:02 +0000 (18:33 -0500)]
gnus.texi: First very rough pass at nnir documentation.

13 years agonnir.el (nnir-run-gmane): Better check for gmane groups.
Andrew Cohen [Mon, 13 Dec 2010 23:26:26 +0000 (18:26 -0500)]
nnir.el (nnir-run-gmane): Better check for gmane groups.

13 years ago(netrc-parse): Cache the netrc contents.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 18:59:50 +0000 (19:59 +0100)]
(netrc-parse): Cache the netrc contents.

13 years agoRemove the unused netrc-point-at-old and netrc-bound-and-true-p bindings.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 18:50:48 +0000 (19:50 +0100)]
Remove the unused netrc-point-at-old and netrc-bound-and-true-p bindings.

13 years ago(gnus-start-draft-setup): Make sure that the new group is started out empty.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:46:02 +0000 (18:46 +0100)]
(gnus-start-draft-setup): Make sure that the new group is started out empty.

13 years agoThere's no need to read the active file here, since that's done again later on a...
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:38:50 +0000 (18:38 +0100)]
There's no need to read the active file here, since that's done again later on a per-backend basis.

13 years ago(gnus-1): Don't create the nndrafts group twice.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:31:51 +0000 (18:31 +0100)]
(gnus-1): Don't create the nndrafts group twice.

13 years agoClarify comment.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:30:54 +0000 (18:30 +0100)]
Clarify comment.

13 years agoClarify comment.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:07:29 +0000 (18:07 +0100)]
Clarify comment.

13 years agoDon't create the queue group automatically on startup. It'll be created later, if...
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:05:22 +0000 (18:05 +0100)]
Don't create the queue group automatically on startup.  It'll be created later, if needed.

13 years ago(gnus-start-draft-setup): Message a bit less.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:03:41 +0000 (18:03 +0100)]
(gnus-start-draft-setup): Message a bit less.

13 years agognus-default-subscribed-newsgroups is unused, so remove it.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 17:01:16 +0000 (18:01 +0100)]
gnus-default-subscribed-newsgroups is unused, so remove it.

13 years agoAuto-subscribe groups from all mail-like backends.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 16:40:57 +0000 (17:40 +0100)]
Auto-subscribe groups from all mail-like backends.

13 years agoAdd nnimap to the list of automatically subscribed groups.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 16:28:46 +0000 (17:28 +0100)]
Add nnimap to the list of automatically subscribed groups.

13 years agonnir.el (nnir-run-imap): Return article list in UID order.
Andrew Cohen [Mon, 13 Dec 2010 12:25:37 +0000 (07:25 -0500)]
nnir.el (nnir-run-imap): Return article list in UID order.

13 years ago(gnus-summary-enter-digest-group): Mention gnus-auto-select-on-ephemeral-exit.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 03:25:58 +0000 (04:25 +0100)]
(gnus-summary-enter-digest-group): Mention gnus-auto-select-on-ephemeral-exit.

13 years agoFix the calling convention of the network-only option.
Lars Magne Ingebrigtsen [Mon, 13 Dec 2010 03:24:15 +0000 (04:24 +0100)]
Fix the calling convention of the network-only option.

13 years agoCreate a way to make a non-STARTTLS network connection.
Lars Magne Ingebrigtsen [Fri, 10 Dec 2010 16:28:27 +0000 (17:28 +0100)]
Create a way to make a non-STARTTLS network connection.

13 years agognus-gravatar: gnus-gravatar-transform-address: fix error when email address is nil
Julien Danjou [Fri, 10 Dec 2010 16:26:48 +0000 (17:26 +0100)]
gnus-gravatar: gnus-gravatar-transform-address: fix error when email address is nil

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agomessage: fix message-bogus-recipient-p with nil address
Julien Danjou [Fri, 10 Dec 2010 16:12:02 +0000 (17:12 +0100)]
message: fix message-bogus-recipient-p with nil address

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agonnir.el (nnir-request-expire-articles): Only allow article deletion.
Andrew Cohen [Fri, 10 Dec 2010 14:31:11 +0000 (09:31 -0500)]
nnir.el (nnir-request-expire-articles): Only allow article deletion.

13 years agoAdd <label> support.
Lars Magne Ingebrigtsen [Thu, 9 Dec 2010 22:29:48 +0000 (23:29 +0100)]
Add <label> support.

13 years agomm-util.el (mm-ucs-to-char): Use eval-and-compile.
Katsumi Yamaoka [Thu, 9 Dec 2010 11:11:29 +0000 (11:11 +0000)]
mm-util.el (mm-ucs-to-char): Use eval-and-compile.

13 years ago(shr-tag-script): Ignore <script>.
Lars Magne Ingebrigtsen [Thu, 9 Dec 2010 09:45:46 +0000 (10:45 +0100)]
(shr-tag-script): Ignore <script>.

13 years agoshr.el (shr-image-displayer): Work for images lined side by side.
Katsumi Yamaoka [Thu, 9 Dec 2010 06:40:04 +0000 (06:40 +0000)]
shr.el (shr-image-displayer): Work for images lined side by side.

13 years agoMerge branch 'master' of https://git.gnus.org/gnus
Lars Magne Ingebrigtsen [Wed, 8 Dec 2010 19:34:48 +0000 (20:34 +0100)]
Merge branch 'master' of https://git.gnus.org/gnus

Conflicts:
lisp/ChangeLog

13 years ago* gnus-demon.el (gnus-demon-init): Call run-with-timer with an integer
Robert Pluim [Wed, 8 Dec 2010 19:34:03 +0000 (20:34 +0100)]
* gnus-demon.el (gnus-demon-init): Call run-with-timer with an integer
parameter, since XEmacs doesn't accept t as a parameter.

13 years agognus-demon: fix run-with-timer arguments for XEmacs
Robert Pluim [Wed, 8 Dec 2010 12:30:16 +0000 (13:30 +0100)]
gnus-demon: fix run-with-timer arguments for XEmacs

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agonnir.el (nnir-request-expire-articles): New function allows deleting articles.
Andrew Cohen [Wed, 8 Dec 2010 14:31:40 +0000 (09:31 -0500)]
nnir.el (nnir-request-expire-articles): New function allows deleting articles.

13 years agonnir.el: Minor code cleanup.
Andrew Cohen [Wed, 8 Dec 2010 13:07:14 +0000 (08:07 -0500)]
nnir.el: Minor code cleanup.

13 years agoFix last fix.
Lars Magne Ingebrigtsen [Tue, 7 Dec 2010 20:25:16 +0000 (21:25 +0100)]
Fix last fix.

13 years agoTweak VANISHED regexp to avoid regexp overflow, possibly.
Lars Magne Ingebrigtsen [Tue, 7 Dec 2010 20:24:15 +0000 (21:24 +0100)]
Tweak VANISHED regexp to avoid regexp overflow, possibly.

13 years ago(shr-render-td): Make sure we copy over all the overlays, too.
Lars Magne Ingebrigtsen [Tue, 7 Dec 2010 19:37:32 +0000 (20:37 +0100)]
(shr-render-td): Make sure we copy over all the overlays, too.

13 years ago(shr-tag-table): Use the color from the style sheet.
Lars Magne Ingebrigtsen [Tue, 7 Dec 2010 17:08:21 +0000 (18:08 +0100)]
(shr-tag-table): Use the color from the style sheet.

13 years ago(shr-render-td): Handle td style="" better.
Lars Magne Ingebrigtsen [Tue, 7 Dec 2010 17:03:13 +0000 (18:03 +0100)]
(shr-render-td): Handle td style="" better.

13 years agoUse bg/gfcolor specs on tables.
Lars Magne Ingebrigtsen [Tue, 7 Dec 2010 16:25:17 +0000 (17:25 +0100)]
Use bg/gfcolor specs on tables.

13 years agonnir.el (nnir-request-article): Improve article retrieval.
Andrew Cohen [Tue, 7 Dec 2010 13:59:19 +0000 (08:59 -0500)]
nnir.el (nnir-request-article): Improve article retrieval.

13 years agonnir.el (nnir-run-gmane): Restore sub-optimal test for gmane server.
Andrew Cohen [Tue, 7 Dec 2010 13:29:21 +0000 (08:29 -0500)]
nnir.el (nnir-run-gmane): Restore sub-optimal test for gmane server.

13 years agomm-util.el (mm-extra-numeric-entities): New variable.
Katsumi Yamaoka [Tue, 7 Dec 2010 05:04:47 +0000 (05:04 +0000)]
mm-util.el (mm-extra-numeric-entities): New variable.
mm-url.el (mm-url-decode-entities):
mm-decode.el (mm-shr): Use it to decode extra numeric entities.
lpath.el: Fbind completion-at-point for Emacs 22 and XEmacs.

13 years agomessage.el: Use completion-at-point.
Stefan Monnier [Tue, 7 Dec 2010 04:05:42 +0000 (04:05 +0000)]
message.el: Use completion-at-point.
 (message-completion-function): New fun, extracted from message-tab.
 (message-mode): Use it for completion-at-point-functions.
 (message-tab): Use it and completion-at-point.

13 years agoshr.el (shr-find-fill-point): Don't break a line after a kinsoku-bol character if...
Katsumi Yamaoka [Tue, 7 Dec 2010 01:18:41 +0000 (01:18 +0000)]
shr.el (shr-find-fill-point): Don't break a line after a kinsoku-bol character if a non-breakable character follows.

13 years ago* gnus.texi (Server Commands): Point to the rest of the server
Tassilo Horn [Mon, 6 Dec 2010 22:36:43 +0000 (23:36 +0100)]
* gnus.texi (Server Commands): Point to the rest of the server
commands.

13 years ago(proto-stream-open-tls): Return nil if we don't get any stream.
Lars Magne Ingebrigtsen [Mon, 6 Dec 2010 22:19:07 +0000 (23:19 +0100)]
(proto-stream-open-tls): Return nil if we don't get any stream.

13 years agoIgnore all <style> tags for the moment.
Lars Magne Ingebrigtsen [Mon, 6 Dec 2010 17:54:22 +0000 (18:54 +0100)]
Ignore all <style> tags for the moment.

13 years ago(shr-tag-font): Get the background color right.
Lars Magne Ingebrigtsen [Mon, 6 Dec 2010 17:25:46 +0000 (18:25 +0100)]
(shr-tag-font): Get the background color right.

13 years ago(shr-tag-font): Actually let the styles be inherited instead of overwriting them.
Lars Magne Ingebrigtsen [Mon, 6 Dec 2010 17:20:44 +0000 (18:20 +0100)]
(shr-tag-font): Actually let the styles be inherited instead of overwriting them.

13 years ago(shr-tag-font): Colorize the region.
Lars Magne Ingebrigtsen [Mon, 6 Dec 2010 17:14:21 +0000 (18:14 +0100)]
(shr-tag-font): Colorize the region.

13 years ago(gnus-request-thread): Rework to take a header instead of a Message-ID to avoid havin...
Lars Magne Ingebrigtsen [Mon, 6 Dec 2010 17:07:55 +0000 (18:07 +0100)]
(gnus-request-thread): Rework to take a header instead of a Message-ID to avoid having nnimap depend on gnus-sum.

13 years agoOnly colorise something if we have a node that sets colors.
Lars Magne Ingebrigtsen [Mon, 6 Dec 2010 17:03:50 +0000 (18:03 +0100)]
Only colorise something if we have a node that sets colors.

13 years agoshr: enhance font color inheritance
Julien Danjou [Mon, 6 Dec 2010 16:51:44 +0000 (17:51 +0100)]
shr: enhance font color inheritance

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoshr-colorize-region: colorize bg, shr-tag-body: fix stylesheet
Julien Danjou [Mon, 6 Dec 2010 16:46:18 +0000 (17:46 +0100)]
shr-colorize-region: colorize bg, shr-tag-body: fix stylesheet

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoRevert shr-colorize recent work
Julien Danjou [Mon, 6 Dec 2010 16:41:03 +0000 (17:41 +0100)]
Revert shr-colorize recent work

This reverts commit d5bca4bfcb07b94701f4f7561aa81d7abd9dbd68.
This reverts commit 9a2e7412ae672c1b2c7169513646e8acfd7f53fe.
This reverts commit 8f4eecc5fb565efeb1b74efc53936efeca29daf6.

13 years agoFix typo
Julien Danjou [Mon, 6 Dec 2010 16:25:05 +0000 (17:25 +0100)]
Fix typo

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoshr: colorize only in one place
Julien Danjou [Mon, 6 Dec 2010 15:05:13 +0000 (16:05 +0100)]
shr: colorize only in one place

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoshr: shr-colorize-region fix and stylesheet color retrieval fix
Julien Danjou [Mon, 6 Dec 2010 14:52:31 +0000 (15:52 +0100)]
shr: shr-colorize-region fix and stylesheet color retrieval fix

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoshr: Render td content with shr-descend
Julien Danjou [Mon, 6 Dec 2010 14:27:38 +0000 (15:27 +0100)]
shr: Render td content with shr-descend

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoMerge branch 'master' of https://git.gnus.org/gnus
Katsumi Yamaoka [Mon, 6 Dec 2010 03:55:24 +0000 (03:55 +0000)]
Merge branch 'master' of https://git.gnus.org/gnus

Conflicts:
lisp/ChangeLog

13 years ago(shr-find-fill-point): Don't regard apostrophe as kinsoku-bol.
Katsumi Yamaoka [Mon, 6 Dec 2010 02:54:19 +0000 (02:54 +0000)]
(shr-find-fill-point): Don't regard apostrophe as kinsoku-bol.

13 years agonnir.el (nnir-request-move-article): Remove obsolete code.
Andrew Cohen [Mon, 6 Dec 2010 02:45:47 +0000 (21:45 -0500)]
nnir.el (nnir-request-move-article): Remove obsolete code.

13 years agognus-util.el (gnus-macroexpand-all): Use eval-and-compile.
Katsumi Yamaoka [Sun, 5 Dec 2010 23:29:34 +0000 (23:29 +0000)]
gnus-util.el (gnus-macroexpand-all): Use eval-and-compile.

13 years agoThe completion function expects a list instead of an alist.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 21:10:28 +0000 (22:10 +0100)]
The completion function expects a list instead of an alist.

13 years agonnheader-report takes a format string as the parameter.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 20:06:19 +0000 (21:06 +0100)]
nnheader-report takes a format string as the parameter.

13 years ago* gnus.el (gnus-valid-select-methods): Allow nnimap to respool.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 19:06:40 +0000 (20:06 +0100)]
* gnus.el (gnus-valid-select-methods): Allow nnimap to respool.

13 years agoWhen the background color isn't explicit, use a fixed background.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 16:40:45 +0000 (17:40 +0100)]
When the background color isn't explicit, use a fixed background.

13 years agoIndent.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 15:09:29 +0000 (16:09 +0100)]
Indent.

13 years agoWhite space fix.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 14:33:20 +0000 (15:33 +0100)]
White space fix.

13 years ago(shr-put-color-1): Don't overwrite old colors.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 14:28:58 +0000 (15:28 +0100)]
(shr-put-color-1): Don't overwrite old colors.

13 years agoOnly render color/background when they change.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 13:44:53 +0000 (14:44 +0100)]
Only render color/background when they change.

13 years agoRework the colorization to work on CSS inheritance.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 13:41:41 +0000 (14:41 +0100)]
Rework the colorization to work on CSS inheritance.

13 years agognus-util.el: Require nnmail before using nnmail variables.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 12:45:07 +0000 (13:45 +0100)]
gnus-util.el: Require nnmail before using nnmail variables.

13 years ago(nnimap-process-expiry-targets): Avoid downloading articles unless necessary.
Bjørn Mork [Sun, 5 Dec 2010 12:15:16 +0000 (13:15 +0100)]
(nnimap-process-expiry-targets): Avoid downloading articles unless necessary.

13 years agoWhite space fix.
Lars Magne Ingebrigtsen [Sun, 5 Dec 2010 12:13:57 +0000 (13:13 +0100)]
White space fix.

13 years agonnir.el (nnir-run-gmane): Use more careful test for gmane.
Andrew Cohen [Sun, 5 Dec 2010 03:36:15 +0000 (22:36 -0500)]
nnir.el (nnir-run-gmane): Use more careful test for gmane.

13 years ago(gnus-html-put-image): Use widget instead of local maps so that TAB works.
Lars Magne Ingebrigtsen [Sat, 4 Dec 2010 23:40:06 +0000 (00:40 +0100)]
(gnus-html-put-image): Use widget instead of local maps so that TAB works.

13 years agoRevert `C-u g' to its old meaning.
Lars Magne Ingebrigtsen [Sat, 4 Dec 2010 22:34:11 +0000 (23:34 +0100)]
Revert `C-u g' to its old meaning.

13 years agoShow the URL before the title to avoid misleading URLs.
Lars Magne Ingebrigtsen [Sat, 4 Dec 2010 22:24:27 +0000 (23:24 +0100)]
Show the URL before the title to avoid misleading URLs.

13 years ago* shr.el (shr-urlify): Display the title in <a> tags.
Adam Sjøgren [Sat, 4 Dec 2010 22:23:35 +0000 (23:23 +0100)]
* shr.el (shr-urlify): Display the title in <a> tags.

13 years agonnir.el (nnir-categorize): Replace mapcar with mapc.
Andrew Cohen [Sat, 4 Dec 2010 13:03:49 +0000 (08:03 -0500)]
nnir.el (nnir-categorize): Replace mapcar with mapc.

13 years agoAllow nnir macros to be autoloaded in gnus-sum.el
Andrew Cohen [Fri, 3 Dec 2010 14:29:48 +0000 (09:29 -0500)]
Allow nnir macros to be autoloaded in gnus-sum.el

13 years agognus-demon-init: Fix time computing when time is nil
Julien Danjou [Fri, 3 Dec 2010 10:03:43 +0000 (11:03 +0100)]
gnus-demon-init: Fix time computing when time is nil

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agognus-util.el ( gnus-macroexpand-all ): Fix last change.
Katsumi Yamaoka [Fri, 3 Dec 2010 08:01:16 +0000 (08:01 +0000)]
gnus-util.el ( gnus-macroexpand-all ): Fix last change.

13 years agognus-util.el ( gnus-macroexpand-all ) : Allow optional argument `environment'.
Katsumi Yamaoka [Fri, 3 Dec 2010 07:49:20 +0000 (07:49 +0000)]
gnus-util.el ( gnus-macroexpand-all ) : Allow optional argument `environment'.

13 years agognus-util.el (gnus-macroexpand-all): Don't modify argument.
Katsumi Yamaoka [Fri, 3 Dec 2010 04:38:37 +0000 (04:38 +0000)]
gnus-util.el (gnus-macroexpand-all): Don't modify argument.

13 years agomm-extern.el (message-goto-body): Update declaration.
Glenn Morris [Fri, 3 Dec 2010 04:38:11 +0000 (04:38 +0000)]
mm-extern.el (message-goto-body): Update declaration.

13 years agognus-util.el (gnus-macroexpand-all): Fix last change.
Katsumi Yamaoka [Fri, 3 Dec 2010 02:30:51 +0000 (02:30 +0000)]
gnus-util.el (gnus-macroexpand-all): Fix last change.

13 years agognus-util.el (gnus-macroexpand-all): New function.
Katsumi Yamaoka [Fri, 3 Dec 2010 02:15:01 +0000 (02:15 +0000)]
gnus-util.el (gnus-macroexpand-all): New function.
gnus-sum.el (gnus-summary-line-format-alist): Use gnus-macroexpand-all instead of macroexpand-all that is unavailable in XEmacs.

13 years agoAllow modified summary-line-format in nnir summary buffers.
Andrew Cohen [Thu, 2 Dec 2010 20:03:02 +0000 (15:03 -0500)]
Allow modified summary-line-format in nnir summary buffers.

13 years agoImplement rtree-length.
Lars Magne Ingebrigtsen [Thu, 2 Dec 2010 17:43:06 +0000 (18:43 +0100)]
Implement rtree-length.

13 years agoFix typo.
Lars Magne Ingebrigtsen [Thu, 2 Dec 2010 17:36:59 +0000 (18:36 +0100)]
Fix typo.

13 years agoImplement rtree-delq.
Lars Magne Ingebrigtsen [Thu, 2 Dec 2010 17:33:37 +0000 (18:33 +0100)]
Implement rtree-delq.

13 years agoFix commit e501407c364524265328d4f70206e2c287877426
Julien Danjou [Thu, 2 Dec 2010 17:03:53 +0000 (18:03 +0100)]
Fix commit e501407c364524265328d4f70206e2c287877426

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoStart rtree-delq.
Lars Magne Ingebrigtsen [Thu, 2 Dec 2010 16:58:48 +0000 (17:58 +0100)]
Start rtree-delq.

13 years agoMake code slightly faster.
Lars Magne Ingebrigtsen [Thu, 2 Dec 2010 16:46:00 +0000 (17:46 +0100)]
Make code slightly faster.

13 years agoImplement rtree-add.
Lars Magne Ingebrigtsen [Thu, 2 Dec 2010 16:42:38 +0000 (17:42 +0100)]
Implement rtree-add.

13 years agoRewrite rtree-memq as a non-recursive function.
Lars Magne Ingebrigtsen [Thu, 2 Dec 2010 16:17:47 +0000 (17:17 +0100)]
Rewrite rtree-memq as a non-recursive function.

13 years agognus-configure-frame: Remove old compatibility code
Julien Danjou [Thu, 2 Dec 2010 16:57:19 +0000 (17:57 +0100)]
gnus-configure-frame: Remove old compatibility code

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoMark gnus-outgoing-message-group as obsolete.
Julien Danjou [Thu, 2 Dec 2010 15:44:52 +0000 (16:44 +0100)]
Mark gnus-outgoing-message-group as obsolete.

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoRemove Gnus 3.x setting support.
Julien Danjou [Thu, 2 Dec 2010 15:14:37 +0000 (16:14 +0100)]
Remove Gnus 3.x setting support.

Signed-off-by: Julien Danjou <julien@danjou.info>
13 years agoSimplify rtree-extract.
Lars Magne Ingebrigtsen [Wed, 1 Dec 2010 22:53:43 +0000 (23:53 +0100)]
Simplify rtree-extract.

13 years agoReimplement extraction as O(n).
Lars Magne Ingebrigtsen [Wed, 1 Dec 2010 22:46:22 +0000 (23:46 +0100)]
Reimplement extraction as O(n).