[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

macros for w3m-attributes



In the course of trying to debug an issue, I see a series of macros that
call function `w3m-attributes' and return a subset of that function's
output. What strikes me as unnecessary is that all of them perform a
check for a HANDLER argument - but that same identical check is done by
the underlying function `w3m-attributes' itself!

Am I missing some subtle issue in emacs / emacs-w3m process management?

It seems to me that the macros should all be simplified to the form

    `(------ (w3m-attributes ,url ,no-cache))))

but I hesitate to push a patch because I may be missing something subtle.

Here is a list of the macros in question

   w3m-content-type
   w3m-content-charset
   w3m-content-length
   w3m-content-encoding
   w3m-last-modified
   w3m-real-url-1

All are of the form:

  (if handler
      `(let ((handler ,handler))
         (w3m-process-do
             (attrs (w3m-attributes ,url ,no-cache handler))
           (car attrs)))
    `(car (w3m-attributes ,url ,no-cache))))

Note that `w3m-process-do' is itself a macro, and that it will create a
local variable `attrs' bound to the output of `w3m-attributes'.

-- 
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0