Package: emacs;
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Thu, 2 Jul 2015 19:36:02 UTC
Severity: normal
Tags: moreinfo
Found in version 25.0.50
Done: Drew Adams <drew.adams <at> oracle.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Drew Adams <drew.adams <at> oracle.com> To: 20966 <at> debbugs.gnu.org Subject: bug#20966: 25.0.50; `button-at': (wrong-type-argument integer-or-marker-p nil), and *Backtrace* broken Date: Thu, 2 Jul 2015 12:35:24 -0700 (PDT)
Double regression, it seems. Perhaps this has been fixed since this build, but I cannot find a Windows binary that is more recent, so I can't get beyond this. 1. Non-nil debug-on-error gives a _completely empty *Backtrace* buffer_, except for the first line, which says "Debugger entered--Lisp error: (args-out-of-range 20324)". I've never seen that before, but I get it consistently with this build. 2. So I tried `M-x debug-on-entry describe-function-1', to see what went wrong. Here's a backtrace, from using `describe-function': Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil) * get-char-property(nil button) * button-at(nil) * help-xref-button(1 help-function-def icicle-highlight-input-noncompletion= "d:/usr/drew/drews-lisp-20/icicles-fn.el") * (save-excursion (re-search-backward "=A1=AE\\([^=A1=AE=A1=AF]+\\)=A1=AF" = nil t) (help-xref-button 1 (quote help-function-def) function file-name)) * (save-current-buffer (set-buffer standard-output) (save-excursion (re-sea= rch-backward "=A1=AE\\([^=A1=AE=A1=AF]+\\)=A1=AF" nil t) (help-xref-button = 1 (quote help-function-def) function file-name))) * (progn (princ " in =A1=AE") (princ (if (eq file-name (quote C-source)) "C= source code" (help-fns-short-filename file-name))) (princ "=A1=AF") (save-= current-buffer (set-buffer standard-output) (save-excursion (re-search-back= ward "=A1=AE\\([^=A1=AE=A1=AF]+\\)=A1=AF" nil t) (help-xref-button 1 (quote= help-function-def) function file-name)))) * (if file-name (progn (princ " in =A1=AE") (princ (if (eq file-name (quote= C-source)) "C source code" (help-fns-short-filename file-name))) (princ "= =A1=AF") (save-current-buffer (set-buffer standard-output) (save-excursion = (re-search-backward "=A1=AE\\([^=A1=AE=A1=AF]+\\)=A1=AF" nil t) (help-xref-= button 1 (quote help-function-def) function file-name))))) * (if (and aliased (not (fboundp real-def))) (princ ",\nwhich is not define= d. Please make a bug report.") (save-current-buffer (set-buffer standard-o= utput) (save-excursion (let ((save-match-data-internal (match-data))) (unwi= nd-protect (progn (if (re-search-backward "alias for =A1=AE\\([^=A1=AE=A1= =AF]+\\)=A1=AF" nil t) (progn ...))) (set-match-data save-match-data-intern= al (quote evaporate)))))) (if file-name (progn (princ " in =A1=AE") (princ = (if (eq file-name (quote C-source)) "C source code" (help-fns-short-filenam= e file-name))) (princ "=A1=AF") (save-current-buffer (set-buffer standard-o= utput) (save-excursion (re-search-backward "=A1=AE\\([^=A1=AE=A1=AF]+\\)=A1= =AF" nil t) (help-xref-button 1 (quote help-function-def) function file-nam= e))))) (princ ".") (save-current-buffer (set-buffer (help-buffer)) (fill-re= gion-as-paragraph (save-excursion (goto-char pt1) (forward-line 0) (point))= (point))) (terpri) (terpri) (let* ((doc-raw (documentation function t)) (d= oc (progn (and (autoloadp real-def) doc-raw help-enable-auto-load (string-m= atch "\\([^\\]=3D\\|[^=3D]\\|\\`\\)\\\\[[{<]" doc-raw) (autoload-do-load re= al-def)) (substitute-command-keys doc-raw)))) (help-fns--key-bindings funct= ion) (save-current-buffer (set-buffer standard-output) (setq doc (help-fns-= -signature function doc sig-key real-function)) (run-hook-with-args (quote = help-fns-describe-function-functions) function) (insert "\n" (or doc "Not d= ocumented."))))) * (let* ((advised (and (symbolp function) (featurep (quote nadvice)) (advic= e--p (advice--symbol-function function)))) (real-function (or (and advised = (advice--cd*r (advice--symbol-function function))) function)) (def (if (sym= bolp real-function) (or (symbol-function real-function) (signal (quote void= -function) (list real-function))) real-function)) (aliased (or (symbolp def= ) (and advised (symbolp real-function)))) (real-def (cond (aliased (let ((f= real-function)) (while (and ... ...) (setq f ...)) f)) ((subrp def) (inter= n (subr-name def))) (t def))) (sig-key (if (subrp def) (indirect-function r= eal-def) real-def)) (file-name (find-lisp-object-file-name function def)) (= pt1 (save-current-buffer (set-buffer (help-buffer)) (point))) (beg (if (and= (or (byte-code-function-p def) (keymapp def) (memq (car-safe def) (quote .= ..))) (stringp file-name) (help-fns--autoloaded-p function file-name)) (if = (commandp def) "an interactive autoloaded " "an autoloaded ") (if (commandp= def) "an interactive " "a ")))) (princ (cond ((or (stringp def) (vectorp d= ef)) "a keyboard macro") ((subrp def) (if (eq (quote unevalled) (cdr (subr-= arity def))) (concat beg "special form") (concat beg "built-in function")))= (aliased (format "an alias for =A1=AE%s=A1=AF" real-def)) ((autoloadp def)= (format "%s autoloaded %s" (if (commandp def) "an interactive" "an") (if (= eq (nth 4 def) (quote keymap)) "keymap" (if (nth 4 def) "Lisp macro" "Lisp = function")))) ((or (eq (car-safe def) (quote macro)) (macrop function)) (co= ncat beg "Lisp macro")) ((byte-code-function-p def) (concat beg "compiled L= isp function")) ((eq (car-safe def) (quote lambda)) (concat beg "Lisp funct= ion")) ((eq (car-safe def) (quote closure)) (concat beg "Lisp closure")) ((= keymapp def) (let ((is-full nil) (elts (cdr-safe def))) (while elts (if (ch= ar-table-p ...) (setq is-full t elts nil)) (setq elts (cdr-safe elts))) (co= ncat beg (if is-full "keymap" "sparse keymap")))) (t ""))) (if (and aliased= (not (fboundp real-def))) (princ ",\nwhich is not defined. Please make a = bug report.") (save-current-buffer (set-buffer standard-output) (save-excur= sion (let ((save-match-data-internal (match-data))) (unwind-protect (progn = (if ... ...)) (set-match-data save-match-data-internal (quote evaporate))))= )) (if file-name (progn (princ " in =A1=AE") (princ (if (eq file-name (quot= e C-source)) "C source code" (help-fns-short-filename file-name))) (princ "= =A1=AF") (save-current-buffer (set-buffer standard-output) (save-excursion = (re-search-backward "=A1=AE\\([^=A1=AE=A1=AF]+\\)=A1=AF" nil t) (help-xref-= button 1 (quote help-function-def) function file-name))))) (princ ".") (sav= e-current-buffer (set-buffer (help-buffer)) (fill-region-as-paragraph (save= -excursion (goto-char pt1) (forward-line 0) (point)) (point))) (terpri) (te= rpri) (let* ((doc-raw (documentation function t)) (doc (progn (and (autoloa= dp real-def) doc-raw help-enable-auto-load (string-match "\\([^\\]=3D\\|[^= =3D]\\|\\`\\)\\\\[[{<]" doc-raw) (autoload-do-load real-def)) (substitute-c= ommand-keys doc-raw)))) (help-fns--key-bindings function) (save-current-buf= fer (set-buffer standard-output) (setq doc (help-fns--signature function do= c sig-key real-function)) (run-hook-with-args (quote help-fns-describe-func= tion-functions) function) (insert "\n" (or doc "Not documented.")))))) * (closure (t) (function) (let* ((advised (and (symbolp function) (featurep= (quote nadvice)) (advice--p (advice--symbol-function function)))) (real-fu= nction (or (and advised (advice--cd*r (advice--symbol-function function))) = function)) (def (if (symbolp real-function) (or (symbol-function real-funct= ion) (signal (quote void-function) (list real-function))) real-function)) (= aliased (or (symbolp def) (and advised (symbolp real-function)))) (real-def= (cond (aliased (let (...) (while ... ...) f)) ((subrp def) (intern (subr-n= ame def))) (t def))) (sig-key (if (subrp def) (indirect-function real-def) = real-def)) (file-name (find-lisp-object-file-name function def)) (pt1 (save= -current-buffer (set-buffer (help-buffer)) (point))) (beg (if (and (or (byt= e-code-function-p def) (keymapp def) (memq ... ...)) (stringp file-name) (h= elp-fns--autoloaded-p function file-name)) (if (commandp def) "an interacti= ve autoloaded " "an autoloaded ") (if (commandp def) "an interactive " "a "= )))) (princ (cond ((or (stringp def) (vectorp def)) "a keyboard macro") ((s= ubrp def) (if (eq (quote unevalled) (cdr ...)) (concat beg "special form") = (concat beg "built-in function"))) (aliased (format "an alias for =A1=AE%s= =A1=AF" real-def)) ((autoloadp def) (format "%s autoloaded %s" (if (command= p def) "an interactive" "an") (if (eq ... ...) "keymap" (if ... "Lisp macro= " "Lisp function")))) ((or (eq (car-safe def) (quote macro)) (macrop functi= on)) (concat beg "Lisp macro")) ((byte-code-function-p def) (concat beg "co= mpiled Lisp function")) ((eq (car-safe def) (quote lambda)) (concat beg "Li= sp function")) ((eq (car-safe def) (quote closure)) (concat beg "Lisp closu= re")) ((keymapp def) (let ((is-full nil) (elts ...)) (while elts (if ... ..= .) (setq elts ...)) (concat beg (if is-full "keymap" "sparse keymap")))) (t= ""))) (if (and aliased (not (fboundp real-def))) (princ ",\nwhich is not d= efined. Please make a bug report.") (save-current-buffer (set-buffer stand= ard-output) (save-excursion (let ((save-match-data-internal ...)) (unwind-p= rotect (progn ...) (set-match-data save-match-data-internal ...))))) (if fi= le-name (progn (princ " in =A1=AE") (princ (if (eq file-name ...) "C source= code" (help-fns-short-filename file-name))) (princ "=A1=AF") (save-current= -buffer (set-buffer standard-output) (save-excursion (re-search-backward "= =A1=AE\\([^=A1=AE=A1=AF]+\\)=A1=AF" nil t) (help-xref-button 1 ... function= file-name))))) (princ ".") (save-current-buffer (set-buffer (help-buffer))= (fill-region-as-paragraph (save-excursion (goto-char pt1) (forward-line 0)= (point)) (point))) (terpri) (terpri) (let* ((doc-raw (documentation functi= on t)) (doc (progn (and ... doc-raw help-enable-auto-load ... ...) (substit= ute-command-keys doc-raw)))) (help-fns--key-bindings function) (save-curren= t-buffer (set-buffer standard-output) (setq doc (help-fns--signature functi= on doc sig-key real-function)) (run-hook-with-args (quote help-fns-describe= -function-functions) function) (insert "\n" (or doc "Not documented."))))))= )(icicle-highlight-input-noncompletion) * apply((closure (t) (function) (let* ((advised (and (symbolp function) (fe= aturep (quote nadvice)) (advice--p (advice--symbol-function function)))) (r= eal-function (or (and advised (advice--cd*r (advice--symbol-function functi= on))) function)) (def (if (symbolp real-function) (or (symbol-function real= -function) (signal (quote void-function) (list real-function))) real-functi= on)) (aliased (or (symbolp def) (and advised (symbolp real-function)))) (re= al-def (cond (aliased (let (...) (while ... ...) f)) ((subrp def) (intern (= subr-name def))) (t def))) (sig-key (if (subrp def) (indirect-function real= -def) real-def)) (file-name (find-lisp-object-file-name function def)) (pt1= (save-current-buffer (set-buffer (help-buffer)) (point))) (beg (if (and (o= r (byte-code-function-p def) (keymapp def) (memq ... ...)) (stringp file-na= me) (help-fns--autoloaded-p function file-name)) (if (commandp def) "an int= eractive autoloaded " "an autoloaded ") (if (commandp def) "an interactive = " "a ")))) (princ (cond ((or (stringp def) (vectorp def)) "a keyboard macro= ") ((subrp def) (if (eq (quote unevalled) (cdr ...)) (concat beg "special f= orm") (concat beg "built-in function"))) (aliased (format "an alias for =A1= =AE%s=A1=AF" real-def)) ((autoloadp def) (format "%s autoloaded %s" (if (co= mmandp def) "an interactive" "an") (if (eq ... ...) "keymap" (if ... "Lisp = macro" "Lisp function")))) ((or (eq (car-safe def) (quote macro)) (macrop f= unction)) (concat beg "Lisp macro")) ((byte-code-function-p def) (concat be= g "compiled Lisp function")) ((eq (car-safe def) (quote lambda)) (concat be= g "Lisp function")) ((eq (car-safe def) (quote closure)) (concat beg "Lisp = closure")) ((keymapp def) (let ((is-full nil) (elts ...)) (while elts (if .= .. ...) (setq elts ...)) (concat beg (if is-full "keymap" "sparse keymap"))= )) (t ""))) (if (and aliased (not (fboundp real-def))) (princ ",\nwhich is = not defined. Please make a bug report.") (save-current-buffer (set-buffer = standard-output) (save-excursion (let ((save-match-data-internal ...)) (unw= ind-protect (progn ...) (set-match-data save-match-data-internal ...))))) (= if file-name (progn (princ " in =A1=AE") (princ (if (eq file-name ...) "C s= ource code" (help-fns-short-filename file-name))) (princ "=A1=AF") (save-cu= rrent-buffer (set-buffer standard-output) (save-excursion (re-search-backwa= rd "=A1=AE\\([^=A1=AE=A1=AF]+\\)=A1=AF" nil t) (help-xref-button 1 ... func= tion file-name))))) (princ ".") (save-current-buffer (set-buffer (help-buff= er)) (fill-region-as-paragraph (save-excursion (goto-char pt1) (forward-lin= e 0) (point)) (point))) (terpri) (terpri) (let* ((doc-raw (documentation fu= nction t)) (doc (progn (and ... doc-raw help-enable-auto-load ... ...) (sub= stitute-command-keys doc-raw)))) (help-fns--key-bindings function) (save-cu= rrent-buffer (set-buffer standard-output) (setq doc (help-fns--signature fu= nction doc sig-key real-function)) (run-hook-with-args (quote help-fns-desc= ribe-function-functions) function) (insert "\n" (or doc "Not documented."))= ))))) icicle-highlight-input-noncompletion) * describe-function-1(icicle-highlight-input-noncompletion) (progn (prin1 function) (princ " is ") (describe-function-1 function) (sa= ve-current-buffer (set-buffer standard-output) (buffer-string))) (progn (progn (prin1 function) (princ " is ") (describe-function-1 functi= on) (save-current-buffer (set-buffer standard-output) (buffer-string)))) (setq value (progn (progn (prin1 function) (princ " is ") (describe-funct= ion-1 function) (save-current-buffer (set-buffer standard-output) (buffer-s= tring))))) (let* ((vbuffer-or-name (help-buffer)) (buffer (temp-buffer-window-setup = vbuffer-or-name)) (standard-output buffer) window value) (setq value (progn= (progn (prin1 function) (princ " is ") (describe-function-1 function) (sav= e-current-buffer (set-buffer standard-output) (buffer-string))))) (save-cur= rent-buffer (set-buffer buffer) (setq window (temp-buffer-window-show buffe= r nil))) (if (functionp (quote help-window-setup)) (help-window-setup windo= w value) value)) (let ((temp-buffer-window-setup-hook (cons (quote help-mode-setup) temp-b= uffer-window-setup-hook)) (temp-buffer-window-show-hook (cons (quote help-m= ode-finish) temp-buffer-window-show-hook))) (setq help-window-old-frame (se= lected-frame)) (let* ((vbuffer-or-name (help-buffer)) (buffer (temp-buffer-= window-setup vbuffer-or-name)) (standard-output buffer) window value) (setq= value (progn (progn (prin1 function) (princ " is ") (describe-function-1 f= unction) (save-current-buffer (set-buffer standard-output) (buffer-string))= ))) (save-current-buffer (set-buffer buffer) (setq window (temp-buffer-wind= ow-show buffer nil))) (if (functionp (quote help-window-setup)) (help-windo= w-setup window value) value))) (progn (set-marker help-window-point-marker nil) (let ((temp-buffer-windo= w-setup-hook (cons (quote help-mode-setup) temp-buffer-window-setup-hook)) = (temp-buffer-window-show-hook (cons (quote help-mode-finish) temp-buffer-wi= ndow-show-hook))) (setq help-window-old-frame (selected-frame)) (let* ((vbu= ffer-or-name (help-buffer)) (buffer (temp-buffer-window-setup vbuffer-or-na= me)) (standard-output buffer) window value) (setq value (progn (progn (prin= 1 function) (princ " is ") (describe-function-1 function) (save-current-buf= fer (set-buffer standard-output) (buffer-string))))) (save-current-buffer (= set-buffer buffer) (setq window (temp-buffer-window-show buffer nil))) (if = (functionp (quote help-window-setup)) (help-window-setup window value) valu= e)))) (save-excursion (progn (set-marker help-window-point-marker nil) (let ((t= emp-buffer-window-setup-hook (cons (quote help-mode-setup) temp-buffer-wind= ow-setup-hook)) (temp-buffer-window-show-hook (cons (quote help-mode-finish= ) temp-buffer-window-show-hook))) (setq help-window-old-frame (selected-fra= me)) (let* ((vbuffer-or-name (help-buffer)) (buffer (temp-buffer-window-set= up vbuffer-or-name)) (standard-output buffer) window value) (setq value (pr= ogn (progn (prin1 function) (princ " is ") (describe-function-1 function) (= save-current-buffer ... ...)))) (save-current-buffer (set-buffer buffer) (s= etq window (temp-buffer-window-show buffer nil))) (if (functionp (quote hel= p-window-setup)) (help-window-setup window value) value))))) describe-function(icicle-highlight-input-noncompletion) In GNU Emacs 25.0.50.1 (i686-pc-mingw32) of 2015-05-29 on LEG570 Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=3D/mingw32 --host=3Di686-pc-mingw32 --enable-checking=3Dyes,glyphs'
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.