[emacs-w3m:13326] Re: Another approach to improve w3m-doenload

Katsumi Yamaoka <[email protected]>
Newsgroups gmane.emacs.w3m
Organization Emacsen advocacy group
Message-ID <[email protected]>
I worked on the two kinds of approaches to improve w3m-download.
Both feature:

・Fully asynchronous operation
・Allow parallel downloads at a time
・Progress indicator(s) in the mode-line
・Not eat much Emacs' memory, only a header is cached

[1] is a version to use a timer that watches the size of a local
file being downloaded for the progress indicator.  This version
runs w3m twice separately; runs with the -dump_head option to get
the header of the remote contents to know the file size and the
timestamp, and runs with the -dump_source option to download the
contents directly to a local file.  The latter starts the timer.

[2] is a version to divide the output of `w3m -dump_extra' to
two streams using awk; one is for the progress indicator fed to
an Emacs' process buffer and the other is for the contents of a
remote file redirecting directly to a local file.

The both codes are almost complete, however either ones have an
unavoidable issue on the progress indicator.

As for [1] the indicator starts to increase after w3m starts to
write the remote contents to a local file.  It is the time when
w3m has buffered the contents fully in a local memory, not at
w3m starts to download.

Contrary, [2] starts the indicator to increase when w3m starts to
download, and finishes when w3m has buffered the remote contents
fully in a local memory, but time w3m takes thereafter to save
the contents to a local file is not necessarily negligible.  This
is just the current version's behavior except for the slowness of
saving though.  This version is equipped with a trick that blinks
the indicator for a while after the indicator's value gets still.

The one suitable to a slow connection would be [2], and of which
perfection is higher.

Here are two patches according to those two ways respectively.
Both are aimed to apply to the latest git master.
patch1.gz (application/x-gunzip, 2.5 KB) - not displayed
patch2.gz (application/x-gunzip, 3 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.