Hi for the last few month I could not use this extension. Sorry I cannot recall when exactly it broke.
OS: Ubuntu 16.04 (up-to-date)
Emacs: 24.5 (standard Ubuntu distribution)
I installed mediawiki.el 2.2.9 manually
Below a trace for Wikipedia. I get the same message if I try one of my wikis (MW 1.27)
Thanx for looking into this ! Daniel
Debugger entered--Lisp error: (void-variable url-user-agent)
(functionp url-user-agent)
(if (functionp url-user-agent) (funcall url-user-agent) url-user-agent)
(string-trim (if (functionp url-user-agent) (funcall url-user-agent) url-user-agent))
(concat (string-trim (if (functionp url-user-agent) (funcall url-user-agent) url-user-agent)) " mediawiki.el " mediawiki-version "
\n")
(let ((url-user-agent (concat (string-trim (if (functionp url-user-agent) (funcall url-user-agent) url-user-agent)) " mediawiki.el " mediawiki-version "
\n"))) (cond ((boundp (quote url-be-asynchronous)) (if callback (setq url-be-asynchronous t) (setq url-be-asynchronous nil)) (url-retrieve url t) (if (not url-be-asynchronous) (progn (let ((result ...)) result)))) (t (if callback (url-retrieve url post-process (list buffer callback cbargs)) (save-current-buffer (set-buffer (url-retrieve-synchronously url)) (funcall post-process buffer))))))
url-compat-retrieve("https://en.wikipedia.org/w/api.php" url-http-response-post-process nil nil nil)
(let* ((url-request-extra-headers (if headers headers (if url-request-extra-headers (progn url-request-extra-headers)))) (boundary (int-to-string (random))) (cs (quote utf-8)) (content-type (if multipart (concat "multipart/form-data, boundary=" boundary) (format "application/x-www-form-urlencoded; charset=%s" cs))) (url-request-method "POST") (url-request-coding-system cs) (url-request-data (if multipart (mm-url-encode-multipart-form-data parameters boundary) (mm-url-encode-www-form-urlencoded (delq nil parameters))))) (mapc (function (lambda (pair) (let ((key (car pair)) (val (cdr pair))) (if (assoc key url-request-extra-headers) (setcdr (assoc key url-request-extra-headers) val) (add-to-list (quote url-request-extra-headers) (cons key val)))))) (list (cons "Connection" "close") (cons "Content-Type" content-type))) (url-compat-retrieve url url-http-post-post-process buffer callback cbargs))
url-http-post("https://en.wikipedia.org/w/api.php" (("meta" . "tokens") ("type" . "login") ("format" . "xml") ("action" . "query")))
(let* ((raw (url-http-post (mediawiki-make-api-url sitename) (append args (list (cons "format" "xml") (cons "action" action))))) (result (assoc (quote api) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ...) (and ... ...))))))) (if result nil (error "There was an error parsing the result of the API call")) (mediawiki-raise result (quote warnings) (function (lambda (label info) (message "Warning (%s) %s" label info)))) (mediawiki-raise result (quote info) (function (lambda (label info) (message "(%s) %s" label info)))) (mediawiki-raise result (quote error) (function (lambda (label info) (error "(%s) %s" label info)))) (if (cddr result) (let ((action-res (assq (intern action) (cddr result)))) (if action-res nil (error "Didn't see action name in the result list")) action-res) t))
mediawiki-api-call("Wikipedia" "query" (("meta" . "tokens") ("type" . "login")))
(cddr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type))))
(car (cddr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type)))))
(cdr (car (cddr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type))))))
(car (cdr (car (cddr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type)))))))
(car (car (cdr (car (cddr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type))))))))
(cdr (car (car (cdr (car (cddr (mediawiki-api-call sitename "query" (list ... ...))))))))
mediawiki-site-get-token("Wikipedia" "login")
(let ((--cl-token-- (mediawiki-site-get-token (symbol-value (quote --cl-sitename--)) "login"))) (progn (defvar --cl-args--) (let ((--cl-args-- (list (cons "lgname" (symbol-value ...)) (cons "lgpassword" (symbol-value ...)) (if (symbol-value ...) (progn ...)) (if (symbol-value ...) (progn ...))))) (progn (defvar --cl-result--) (let ((--cl-result-- (cadr ...))) (progn (if (string= ... "NeedToken") (progn ...)) (if (string= "Success" ...) (progn ...))))))))
(progn (defvar --cl-token--) (let ((--cl-token-- (mediawiki-site-get-token (symbol-value (quote --cl-sitename--)) "login"))) (progn (defvar --cl-args--) (let ((--cl-args-- (list (cons "lgname" ...) (cons "lgpassword" ...) (if ... ...) (if ... ...)))) (progn (defvar --cl-result--) (let ((--cl-result-- ...)) (progn (if ... ...) (if ... ...))))))))
(let ((--cl-sitename-- sitename)) (progn (defvar --cl-token--) (let ((--cl-token-- (mediawiki-site-get-token (symbol-value (quote --cl-sitename--)) "login"))) (progn (defvar --cl-args--) (let ((--cl-args-- (list ... ... ... ...))) (progn (defvar --cl-result--) (let (...) (progn ... ...))))))))
(progn (defvar --cl-sitename--) (let ((--cl-sitename-- sitename)) (progn (defvar --cl-token--) (let ((--cl-token-- (mediawiki-site-get-token (symbol-value ...) "login"))) (progn (defvar --cl-args--) (let ((--cl-args-- ...)) (progn (defvar --cl-result--) (let ... ...))))))))
(let ((--cl-dom-- (if (symbol-value (quote --cl-dom-loaded--)) (progn (if (string= "" (symbol-value ...)) (read-string "LDAP Domain: ") (symbol-value (quote --cl-dom-loaded--))))))) (progn (defvar --cl-sitename--) (let ((--cl-sitename-- sitename)) (progn (defvar --cl-token--) (let ((--cl-token-- (mediawiki-site-get-token ... "login"))) (progn (defvar --cl-args--) (let (...) (progn ... ...))))))))
(progn (defvar --cl-dom--) (let ((--cl-dom-- (if (symbol-value (quote --cl-dom-loaded--)) (progn (if (string= "" ...) (read-string "LDAP Domain: ") (symbol-value ...)))))) (progn (defvar --cl-sitename--) (let ((--cl-sitename-- sitename)) (progn (defvar --cl-token--) (let ((--cl-token-- ...)) (progn (defvar --cl-args--) (let ... ...))))))))
(let ((--cl-dom-loaded-- (mediawiki-site-domain sitename))) (progn (defvar --cl-dom--) (let ((--cl-dom-- (if (symbol-value (quote --cl-dom-loaded--)) (progn (if ... ... ...))))) (progn (defvar --cl-sitename--) (let ((--cl-sitename-- sitename)) (progn (defvar --cl-token--) (let (...) (progn ... ...))))))))
(progn (defvar --cl-dom-loaded--) (let ((--cl-dom-loaded-- (mediawiki-site-domain sitename))) (progn (defvar --cl-dom--) (let ((--cl-dom-- (if (symbol-value ...) (progn ...)))) (progn (defvar --cl-sitename--) (let ((--cl-sitename-- sitename)) (progn (defvar --cl-token--) (let ... ...))))))))
(let ((--cl-pass-- (or (mediawiki-site-password sitename) password (read-passwd "Password: ")))) (progn (defvar --cl-dom-loaded--) (let ((--cl-dom-loaded-- (mediawiki-site-domain sitename))) (progn (defvar --cl-dom--) (let ((--cl-dom-- (if ... ...))) (progn (defvar --cl-sitename--) (let (...) (progn ... ...))))))))
(progn (defvar --cl-pass--) (let ((--cl-pass-- (or (mediawiki-site-password sitename) password (read-passwd "Password: ")))) (progn (defvar --cl-dom-loaded--) (let ((--cl-dom-loaded-- (mediawiki-site-domain sitename))) (progn (defvar --cl-dom--) (let ((--cl-dom-- ...)) (progn (defvar --cl-sitename--) (let ... ...))))))))
(let ((--cl-user-- (or (mediawiki-site-username sitename) username (read-string "Username: ")))) (progn (defvar --cl-pass--) (let ((--cl-pass-- (or (mediawiki-site-password sitename) password (read-passwd "Password: ")))) (progn (defvar --cl-dom-loaded--) (let ((--cl-dom-loaded-- (mediawiki-site-domain sitename))) (progn (defvar --cl-dom--) (let (...) (progn ... ...))))))))
(progn (defvar --cl-user--) (let ((--cl-user-- (or (mediawiki-site-username sitename) username (read-string "Username: ")))) (progn (defvar --cl-pass--) (let ((--cl-pass-- (or (mediawiki-site-password sitename) password (read-passwd "Password: ")))) (progn (defvar --cl-dom-loaded--) (let ((--cl-dom-loaded-- ...)) (progn (defvar --cl-dom--) (let ... ...))))))))
mediawiki-do-login("Wikipedia")
(setq mediawiki-site (mediawiki-do-login site))
(progn (setq mediawiki-site (mediawiki-do-login site)))
(if (or (eq nil mediawiki-site) (not (string-equal site mediawiki-site))) (progn (setq mediawiki-site (mediawiki-do-login site))))
mediawiki-site()
call-interactively(mediawiki-site record nil)
command-execute(mediawiki-site record)
execute-extended-command(nil "mediawiki-site")
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)