WThreeMAuthentication

WThreeM has a problem when you don’t get the username/password right for http authentication. It basically ends up in la-la land. If you try to C-g at the username/password prompt it ends up in la-la-land.

Hers’s some code I wrote that will allow w3m.el to “forget” authentication info so that you can try to authenticate again with a different username/password:

(defun w3m-erase-authinfo-root (root)
  (setq w3m-process-authinfo-alist
        (assq-delete-all 
         nil (mapcar 
              (lambda (elem) (if (not (equal root (car elem))) elem)) 
              w3m-process-authinfo-alist))))

(defun w3m-forget-authinfo ()
  (interactive)
  (let* ((roots (mapcar
                 (lambda (elem) (list (car elem) (car elem)))
                 w3m-process-authinfo-alist))
         (root (completing-read "URL: " roots nil t)))
    (w3m-erase-authinfo-root root)))