-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wrong type argument stringp #27
Comments
I get a similar trace in Emacs 26.1.
Edit: Looking around mediewiki.el, I was unable to find a call to string-match with a parmeter called default. Seems the stack trace is missing part of the stack. |
This happened to me because |
Solution by @ecraven worked for me! Was able to open a site with |
The solution provided by @ecraven helped me reach Wikipedia but not my self-hosted MediaWiki instance. It fails with the following error:
|
Setting MediaWiki expects it to be either a string or a function of no argument that returns a string (in A simple update (as far as I can see) would be for mediawiki to ignore the variable if it’s neither a function nor a string. |
This is fixed. |
Just typed "M-x mediawiki-site Wikipedia"
And I get the following debugger trace
Debugger entered--Lisp error: (wrong-type-argument stringp default)
string-match("[ \n]+\\'" default)
string-trim(default)
(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 (cdr (cdr result)) (let ((action-res (assq (intern action) (cdr (cdr 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"))) (cdr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type)))) (cdr (cdr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type))))) (car (cdr (cdr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type)))))) (cdr (car (cdr (cdr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type))))))) (car (cdr (car (cdr (cdr (mediawiki-api-call sitename "query" (list (cons "meta" "tokens") (cons "type" type)))))))) (car (car (cdr (car (cdr (cdr (mediawiki-api-call sitename "query" (list ... ...)))))))) (cdr (car (car (cdr (car (cdr (cdr (mediawiki-api-call sitename "query" ...))))))))
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-- (car ...))) (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() funcall-interactively(mediawiki-site) call-interactively(mediawiki-site record nil)
command-execute(mediawiki-site record)
execute-extended-command(nil "mediawiki-site" "mediawiki-si") funcall-interactively(execute-extended-command nil "mediawiki-site" "mediawiki-si") call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
The text was updated successfully, but these errors were encountered: