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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20966 in the body.
You can then email your comments to 20966 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#20966
; Package emacs
.
(Thu, 02 Jul 2015 19:36:03 GMT) Full text and rfc822 format available.Drew Adams <drew.adams <at> oracle.com>
:bug-gnu-emacs <at> gnu.org
.
(Thu, 02 Jul 2015 19:36:03 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Drew Adams <drew.adams <at> oracle.com> To: bug-gnu-emacs <at> gnu.org Subject: 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'
bug-gnu-emacs <at> gnu.org
:bug#20966
; Package emacs
.
(Thu, 02 Jul 2015 22:14:01 GMT) Full text and rfc822 format available.Message #8 received at 20966 <at> debbugs.gnu.org (full text, mbox):
From: Glenn Morris <rgm <at> gnu.org> To: 20966 <at> debbugs.gnu.org Subject: Re: bug#20966: 25.0.50; `button-at': (wrong-type-argument integer-or-marker-p nil), and *Backtrace* broken Date: Thu, 02 Jul 2015 18:13:35 -0400
Drew Adams wrote: > build, but I cannot find a Windows binary that is more recent, so I > can't get beyond this. Here's a crazy idea: you could try building it yourself, rather than waiting/asking for someone to do it for you.
bug-gnu-emacs <at> gnu.org
:bug#20966
; Package emacs
.
(Sat, 30 Apr 2016 20:06:02 GMT) Full text and rfc822 format available.Message #11 received at 20966 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Drew Adams <drew.adams <at> oracle.com> Cc: 20966 <at> debbugs.gnu.org Subject: Re: bug#20966: 25.0.50; `button-at': (wrong-type-argument integer-or-marker-p nil), and *Backtrace* broken Date: Sat, 30 Apr 2016 22:05:33 +0200
Drew Adams <drew.adams <at> oracle.com> writes: > 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") Do you have a recipe to reproduce this bug? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
bug-gnu-emacs <at> gnu.org
:bug#20966
; Package emacs
.
(Sat, 30 Apr 2016 20:48:02 GMT) Full text and rfc822 format available.Message #14 received at 20966 <at> debbugs.gnu.org (full text, mbox):
From: Drew Adams <drew.adams <at> oracle.com> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 20966 <at> debbugs.gnu.org Subject: RE: bug#20966: 25.0.50; `button-at': (wrong-type-argument integer-or-marker-p nil), and *Backtrace* broken Date: Sat, 30 Apr 2016 12:47:03 -0800 (GMT-08:00)
> > 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") > > Do you have a recipe to reproduce this bug? No, but I don't see this anymore, so I will close the bug.
Drew Adams <drew.adams <at> oracle.com>
to control <at> debbugs.gnu.org
.
(Sat, 30 Apr 2016 20:48:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sun, 29 May 2016 11:24:10 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.