[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18687: mw: modular MediaWiki interface for Emacs
From: |
Ivan Shmakov |
Subject: |
bug#18687: mw: modular MediaWiki interface for Emacs |
Date: |
Wed, 31 Dec 2014 12:12:49 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
I kept improving the code throughout late October, late November
to early December, and then from December, 26…
And by now, as one might guess, – the vc-mw.el code has hardly
any readability left.
So, I’ve started cleaning up the resulting shameful mess.
Which includes moving a fair share of code from (my private
version of) vc-mw.el, as well as the “tokens” support bit from
mw-api.el, into the new mw-xapi.el module. Along the way,
I also hope to publish fixes for the few bugs which I was able
to spot in the code as available from [1, 2].
Also to note that I use this interface on more or less daily
basis (see [3]), so even though I’m lazy to publish the changes,
– rest assured that the code gets a whole lot of my attention.
(Not that the HTTP server logs indicate that anyone’s
interested, but still…)
[1] https://am-1.org/~ivan/archives/git/mw-el-2014.git
[2] https://am-1.org/~ivan/archives/git/gitweb.cgi?p=mw-el-2014.git
[3] https://tools.wmflabs.org/pirsquared/guc/?user=Ivan_Shmakov
Below is the summary of the features already implemented (but
yet to be made public) since the last published revision, in
roughly the order of decreasing “user visibility.”
• Fixed ‘vc-mw-buffer-page-state’ to support the new (as of
2014-11-20) two-argument interface in, – bringing back the
vc-mw.el compatibility with Emacs 25. (Support for the
Emacs 24 three-argument interface is retained.)
• Added support for vc-dir, vc-diff, and vc-revert operations.
• Adapted ‘mw-eww-preview’ to the ‘eww-display-html’
“multi-buffer” support added on 2014-11-10.
• New ‘vc-mw-revision-query-alist’ customizable variable,
allowing for an empty “continuation cookie” to be added to all
the vc-mw.el queries in order to silence a warning emitted by
the recent MediaWiki versions. And it allows for the set of
entries shown by vc-print-log to be customized, too, – to the
extent allowed by the remote MediaWiki instance.
• New ‘mw-buffer’, ‘mw-api’, and the package’s top-level ‘mw’
customization groups, allowing for easier customization of the
respective variables.
• The state determination code (vc-mw-buffer-page-state) will
now use SHA-1 digests of the revisions, either as returned by
the MediaWiki endpoint (including after running vc-print-log),
or as computed by vc-mw.el itself. (Prior to this change,
vc-mw.el had to retrieve the full content of the page to
discern the needs-update vs. needs-merge and update vs. edited
states.) Either way, the digests will be cached.
• Support for token types other than ‘csrf’ and ‘edit’.
• A few further fixes to vc-mw.el and mw-eww.el.
The features just planned are as follows.
• Associate buffer with a revision by its (cached) SHA-1.
Makes it possible to recover the state after, say, erasing the
desktop file.
• Customizable queries for mw-buffer.el, mw-eww.el, and
mw-info.el facilities, – also providing a way to get rid of
certain MediaWiki warnings.
• Asynchronous operation, – especially for vc-dir and
mw-buffer-try-file-name (try using vc-dir on a directory
holding some 768+ individual MediaWiki page files! or
restoring a desktop file listing all of them, anyway), but
also possibly for vc-print-log.
--
FSF associate member #7257 np. Conclusion — Apocalyptica 3013 B6A0 230E 334A
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#18687: mw: modular MediaWiki interface for Emacs,
Ivan Shmakov <=