From: Ivan Shmakov <ivan@siamics.net>
To: 18687@debbugs.gnu.org
Subject: bug#18687: mw: modular MediaWiki interface for Emacs
Date: Wed, 31 Dec 2014 12:12:49 +0000 [thread overview]
Message-ID: <87k3186mri.fsf_-_@violet.siamics.net> (raw)
In-Reply-To: <87siide1r2.fsf@violet.siamics.net> (Ivan Shmakov's message of "Fri, 24 Oct 2014 18:55:29 +0000")
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
next prev parent reply other threads:[~2014-12-31 12:12 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87oatpkof7.fsf@passepartout.tim-landscheidt.de>
2014-10-11 10:55 ` bug#18687: mw 0.1: modular MediaWiki interface for Emacs Ivan Shmakov
2014-10-12 4:47 ` Stefan Monnier
2014-10-12 10:20 ` Ivan Shmakov
2014-10-14 18:40 ` Stefan Monnier
2014-10-14 20:05 ` Ivan Shmakov
[not found] ` <87k342zabt.fsf@violet.siamics.net>
2014-10-14 23:51 ` Stefan Monnier
2014-10-15 10:27 ` GNU ELPA; " Ivan Shmakov
2014-10-15 13:35 ` Nic Ferrier
2014-10-15 17:51 ` Stefan Monnier
2014-10-15 18:42 ` Ivan Shmakov
2014-10-15 22:38 ` Stefan Monnier
2014-10-15 18:51 ` Nic Ferrier
2014-10-15 22:31 ` Stefan Monnier
2014-10-21 16:33 ` bug#18687: " Stefan Monnier
2014-10-22 21:35 ` Ivan Shmakov
2014-10-24 18:55 ` Ivan Shmakov
2014-12-31 12:12 ` Ivan Shmakov [this message]
2015-01-01 16:06 ` bug#18687: mw: " Stefan Monnier
2015-01-01 16:37 ` Ivan Shmakov
2015-01-23 14:42 ` Ivan Shmakov
2015-01-29 13:45 ` a few questions on GNU ELPA Ivan Shmakov
2015-01-29 16:06 ` Stefan Monnier
2015-01-30 20:24 ` Ivan Shmakov
2015-01-31 6:31 ` Stefan Monnier
2015-02-20 17:14 ` bug#18687: mw: modular MediaWiki interface for Emacs Stefan Monnier
2015-02-20 18:30 ` Ivan Shmakov
2015-02-20 19:52 ` Stefan Monnier
2015-01-01 21:03 ` Ivan Shmakov
2015-02-20 7:09 ` Ivan Shmakov
2020-02-29 18:39 ` bug#18687: mw 0.1: " Stefan Kangas
2020-02-29 19:55 ` Ivan Shmakov
2020-03-01 1:38 ` Stefan Kangas
2020-03-08 17:52 ` Stefan Monnier
2020-08-04 16:06 ` Stefan Kangas
2020-08-04 16:45 ` Mark A. Hershberger
2020-08-04 16:47 ` Stefan Kangas
2020-03-02 20:30 ` Mark A. Hershberger
2020-03-11 1:31 ` Stefan Kangas
2014-10-13 17:20 ` Mark A. Hershberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k3186mri.fsf_-_@violet.siamics.net \
--to=ivan@siamics.net \
--cc=18687@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.