From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#17564: 24.4.50; REGRESSION: (wrong-type-argument arrayp C-source) Date: Fri, 23 May 2014 11:03:48 -0700 (PDT) Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1400868339 26071 80.91.229.3 (23 May 2014 18:05:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 23 May 2014 18:05:39 +0000 (UTC) To: 17564@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 23 20:05:31 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WntqS-0001Zg-DD for geb-bug-gnu-emacs@m.gmane.org; Fri, 23 May 2014 20:05:28 +0200 Original-Received: from localhost ([::1]:45076 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WntqR-0003w1-HG for geb-bug-gnu-emacs@m.gmane.org; Fri, 23 May 2014 14:05:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WntqD-0003tV-Ed for bug-gnu-emacs@gnu.org; Fri, 23 May 2014 14:05:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wntq3-0006z7-2U for bug-gnu-emacs@gnu.org; Fri, 23 May 2014 14:05:13 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:59265) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wntq2-0006yi-Vn for bug-gnu-emacs@gnu.org; Fri, 23 May 2014 14:05:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Wntq2-0006Ih-J6 for bug-gnu-emacs@gnu.org; Fri, 23 May 2014 14:05:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 May 2014 18:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 17564 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.140086828224175 (code B ref -1); Fri, 23 May 2014 18:05:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 23 May 2014 18:04:42 +0000 Original-Received: from localhost ([127.0.0.1]:58142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wntpd-0006Hl-KA for submit@debbugs.gnu.org; Fri, 23 May 2014 14:04:41 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:39280) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WntpX-0006HO-AK for submit@debbugs.gnu.org; Fri, 23 May 2014 14:04:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WntpH-0006LL-8D for submit@debbugs.gnu.org; Fri, 23 May 2014 14:04:25 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:60480) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WntpH-0006LA-5G for submit@debbugs.gnu.org; Fri, 23 May 2014 14:04:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40889) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wntp7-0003gs-KM for bug-gnu-emacs@gnu.org; Fri, 23 May 2014 14:04:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wntoy-0006GP-2C for bug-gnu-emacs@gnu.org; Fri, 23 May 2014 14:04:05 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:16808) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wntox-0006GI-QG for bug-gnu-emacs@gnu.org; Fri, 23 May 2014 14:03:55 -0400 Original-Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s4NI3qUn030902 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 23 May 2014 18:03:54 GMT Original-Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s4NI3pSl000548 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 23 May 2014 18:03:52 GMT Original-Received: from abhmp0003.oracle.com (abhmp0003.oracle.com [141.146.116.9]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s4NI3odx000496 for ; Fri, 23 May 2014 18:03:50 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:89409 Archived-At: The code of `describe-function-1' seems to have changed to cause this regression. In this sexp of `describe-function-1': (and (or (byte-code-function-p def) (keymapp def) (memq (car-safe def) '(macro lambda closure))) file-name (help-fns--autoloaded-p function file-name)) if the FUNCTION has been redefined, as below, each of the `and' clauses returns non-nil leading up to `help-fns--autoloaded-p', and that function fails because it is given `C-source' as its FILE-NAME arg. emacs -Q Evaluate this: (or (fboundp '1on1-ORIG-top-level) (fset '1on1-ORIG-top-level (symbol-function 'top-level))) (defun top-level () "Exit all recursive editing levels." (interactive) ;; (1on1-color-minibuffer-frame-on-exit) (1on1-ORIG-top-level)) C-h f top-level You get this backtrace: Debugger entered--Lisp error: (wrong-type-argument arrayp C-source) file-truename(C-source) (file-name-sans-extension (file-truename file)) (let* ((file (file-name-sans-extension (file-truename file))) (load-hist = =3D load-history) (target (cons t function)) found) (while (and load-hist (not = =3D found)) (and (caar load-hist) (equal (file-name-sans-extension (caar load-h= =3D ist)) file) (setq found (member target (cdar load-hist)))) (setq load-hist = =3D (cdr load-hist))) found) (closure (t) (function file) "Return non-nil if FUNCTION has previously b= =3D een autoloaded.\nFILE is the file where FUNCTION was probably defined." (le= =3D t* ((file (file-name-sans-extension (file-truename file))) (load-hist load-= =3D history) (target (cons t function)) found) (while (and load-hist (not found= =3D )) (and (caar load-hist) (equal (file-name-sans-extension (caar load-hist))= =3D file) (setq found (member target (cdar load-hist)))) (setq load-hist (cdr = =3D load-hist))) found))(top-level C-source) apply((closure (t) (function file) "Return non-nil if FUNCTION has previo= =3D usly been autoloaded.\nFILE is the file where FUNCTION was probably defined= =3D ." (let* ((file (file-name-sans-extension (file-truename file))) (load-hist= =3D load-history) (target (cons t function)) found) (while (and load-hist (not= =3D found)) (and (caar load-hist) (equal (file-name-sans-extension (caar load-= =3D hist)) file) (setq found (member target (cdar load-hist)))) (setq load-hist= =3D (cdr load-hist))) found)) (top-level C-source)) * help-fns--autoloaded-p(top-level C-source) (and (or (byte-code-function-p def) (keymapp def) (memq (car-safe def) (q= =3D uote (macro lambda closure)))) file-name (help-fns--autoloaded-p function f= =3D ile-name)) (if (and (or (byte-code-function-p def) (keymapp def) (memq (car-safe def= =3D ) (quote (macro lambda closure)))) file-name (help-fns--autoloaded-p functi= =3D on file-name)) (if (commandp def) "an interactive autoloaded " "an autoload= =3D ed ") (if (commandp def) "an interactive " "a ")) (let* ((advised (and (symbolp function) (featurep (quote nadvice)) (advic= =3D e--p (advice--symbol-function function)))) (real-function (or (and advised = =3D (advice--cd*r (advice--symbol-function function))) function)) (def (if (sym= =3D bolp real-function) (symbol-function real-function) real-function)) (aliase= =3D d (or (symbolp def) (and advised (symbolp real-function)))) (real-def (cond= =3D (aliased (let ((f real-function)) (while (and ... ...) (setq f ...)) f)) (= =3D (subrp def) (intern (subr-name def))) (t def))) (file-name (find-lisp-objec= =3D t-file-name function def)) (pt1 (save-current-buffer (set-buffer (help-buff= =3D er)) (point))) (beg (if (and (or (byte-code-function-p def) (keymapp def) (= =3D memq (car-safe def) (quote ...))) file-name (help-fns--autoloaded-p functio= =3D n file-name)) (if (commandp def) "an interactive autoloaded " "an autoloade= =3D d ") (if (commandp def) "an interactive " "a ")))) (princ (cond ((or (strin= =3D gp def) (vectorp def)) "a keyboard macro") ((subrp def) (if (eq (quote unev= =3D alled) (cdr (subr-arity def))) (concat beg "special form") (concat beg "bui= =3D lt-in function"))) (aliased (format "an alias for `%s'" real-def)) ((autolo= =3D adp def) (format "%s autoloaded %s" (if (commandp def) "an interactive" "an= =3D ") (if (eq (nth 4 def) (quote keymap)) "keymap" (if (nth 4 def) "Lisp macro= =3D " "Lisp function")))) ((or (eq (car-safe def) (quote macro)) (macrop functi= =3D on)) (concat beg "Lisp macro")) ((byte-code-function-p def) (concat beg "co= =3D mpiled Lisp function")) ((eq (car-safe def) (quote lambda)) (concat beg "Li= =3D sp function")) ((eq (car-safe def) (quote closure)) (concat beg "Lisp closu= =3D re")) ((keymapp def) (let ((is-full nil) (elts (cdr-safe def))) (while elts= =3D (if (char-table-p ...) (setq is-full t elts nil)) (setq elts (cdr-safe elt= =3D s))) (concat beg (if is-full "keymap" "sparse keymap")))) (t ""))) (if (and= =3D aliased (not (fboundp real-def))) (princ ",\nwhich is not defined. Please= =3D make a bug report.") (save-current-buffer (set-buffer standard-output) (sa= =3D ve-excursion (let ((save-match-data-internal (match-data))) (unwind-protect= =3D (progn (if ... ...)) (set-match-data save-match-data-internal (quote evapo= =3D rate)))))) (if file-name (progn (princ " in `") (princ (if (eq file-name (q= =3D uote C-source)) "C source code" (file-name-nondirectory file-name))) (princ= =3D "'") (save-current-buffer (set-buffer standard-output) (save-excursion (re= =3D -search-backward "`\\([^`']+\\)'" nil t) (help-xref-button 1 (quote help-fu= =3D nction-def) function file-name))))) (princ ".") (save-current-buffer (set-b= =3D uffer (help-buffer)) (fill-region-as-paragraph (save-excursion (goto-char p= =3D t1) (forward-line 0) (point)) (point))) (terpri) (terpri) (let* ((doc-raw (= =3D documentation function t)) (doc (progn (and (autoloadp real-def) doc-raw he= =3D lp-enable-auto-load (string-match "\\([^\\]=3D3D\\|[^=3D3D]\\|\\`\\)\\\\[[{= <]" =3D doc-raw) (load ... t)) (substitute-command-keys doc-raw)))) (help-fns--key-= =3D bindings function) (save-current-buffer (set-buffer standard-output) (setq = =3D doc (help-fns--signature function doc real-def real-function)) (run-hook-wi= =3D th-args (quote help-fns-describe-function-functions) function) (insert "\n"= =3D (or doc "Not documented.")))))) (closure (t) (function) (let* ((advised (and (symbolp function) (featurep= =3D (quote nadvice)) (advice--p (advice--symbol-function function)))) (real-fu= =3D nction (or (and advised (advice--cd*r (advice--symbol-function function))) = =3D function)) (def (if (symbolp real-function) (symbol-function real-function)= =3D real-function)) (aliased (or (symbolp def) (and advised (symbolp real-func= =3D tion)))) (real-def (cond (aliased (let (...) (while ... ...) f)) ((subrp de= =3D f) (intern (subr-name def))) (t def))) (file-name (find-lisp-object-file-na= =3D me function def)) (pt1 (save-current-buffer (set-buffer (help-buffer)) (poi= =3D nt))) (beg (if (and (or (byte-code-function-p def) (keymapp def) (memq ... = =3D ...)) file-name (help-fns--autoloaded-p function file-name)) (if (commandp = =3D def) "an interactive autoloaded " "an autoloaded ") (if (commandp def) "an = =3D interactive " "a ")))) (princ (cond ((or (stringp def) (vectorp def)) "a ke= =3D yboard macro") ((subrp def) (if (eq (quote unevalled) (cdr ...)) (concat be= =3D g "special form") (concat beg "built-in function"))) (aliased (format "an a= =3D lias for `%s'" real-def)) ((autoloadp def) (format "%s autoloaded %s" (if (= =3D commandp def) "an interactive" "an") (if (eq ... ...) "keymap" (if ... "Lis= =3D p macro" "Lisp function")))) ((or (eq (car-safe def) (quote macro)) (macrop= =3D function)) (concat beg "Lisp macro")) ((byte-code-function-p def) (concat = =3D beg "compiled Lisp function")) ((eq (car-safe def) (quote lambda)) (concat = =3D beg "Lisp function")) ((eq (car-safe def) (quote closure)) (concat beg "Lis= =3D p closure")) ((keymapp def) (let ((is-full nil) (elts ...)) (while elts (if= =3D ... ...) (setq elts ...)) (concat beg (if is-full "keymap" "sparse keymap"= =3D )))) (t ""))) (if (and aliased (not (fboundp real-def))) (princ ",\nwhich i= =3D s not defined. Please make a bug report.") (save-current-buffer (set-buffe= =3D r standard-output) (save-excursion (let ((save-match-data-internal ...)) (u= =3D nwind-protect (progn ...) (set-match-data save-match-data-internal ...)))))= =3D (if file-name (progn (princ " in `") (princ (if (eq file-name ...) "C sour= =3D ce code" (file-name-nondirectory file-name))) (princ "'") (save-current-buf= =3D fer (set-buffer standard-output) (save-excursion (re-search-backward "`\\([= =3D ^`']+\\)'" nil t) (help-xref-button 1 ... function file-name))))) (princ ".= =3D ") (save-current-buffer (set-buffer (help-buffer)) (fill-region-as-paragrap= =3D h (save-excursion (goto-char pt1) (forward-line 0) (point)) (point))) (terp= =3D ri) (terpri) (let* ((doc-raw (documentation function t)) (doc (progn (and .= =3D .. doc-raw help-enable-auto-load ... ...) (substitute-command-keys doc-raw)= =3D ))) (help-fns--key-bindings function) (save-current-buffer (set-buffer stan= =3D dard-output) (setq doc (help-fns--signature function doc real-def real-func= =3D tion)) (run-hook-with-args (quote help-fns-describe-function-functions) fun= =3D ction) (insert "\n" (or doc "Not documented.")))))))(top-level) apply((closure (t) (function) (let* ((advised (and (symbolp function) (fe= =3D aturep (quote nadvice)) (advice--p (advice--symbol-function function)))) (r= =3D eal-function (or (and advised (advice--cd*r (advice--symbol-function functi= =3D on))) function)) (def (if (symbolp real-function) (symbol-function real-fun= =3D ction) real-function)) (aliased (or (symbolp def) (and advised (symbolp rea= =3D l-function)))) (real-def (cond (aliased (let (...) (while ... ...) f)) ((su= =3D brp def) (intern (subr-name def))) (t def))) (file-name (find-lisp-object-f= =3D ile-name function def)) (pt1 (save-current-buffer (set-buffer (help-buffer)= =3D ) (point))) (beg (if (and (or (byte-code-function-p def) (keymapp def) (mem= =3D q ... ...)) file-name (help-fns--autoloaded-p function file-name)) (if (com= =3D mandp def) "an interactive autoloaded " "an autoloaded ") (if (commandp def= =3D ) "an interactive " "a ")))) (princ (cond ((or (stringp def) (vectorp def))= =3D "a keyboard macro") ((subrp def) (if (eq (quote unevalled) (cdr ...)) (con= =3D cat beg "special form") (concat beg "built-in function"))) (aliased (format= =3D "an alias for `%s'" real-def)) ((autoloadp def) (format "%s autoloaded %s"= =3D (if (commandp def) "an interactive" "an") (if (eq ... ...) "keymap" (if ..= =3D . "Lisp macro" "Lisp function")))) ((or (eq (car-safe def) (quote macro)) (= =3D macrop function)) (concat beg "Lisp macro")) ((byte-code-function-p def) (c= =3D oncat beg "compiled Lisp function")) ((eq (car-safe def) (quote lambda)) (c= =3D oncat beg "Lisp function")) ((eq (car-safe def) (quote closure)) (concat be= =3D g "Lisp closure")) ((keymapp def) (let ((is-full nil) (elts ...)) (while el= =3D ts (if ... ...) (setq elts ...)) (concat beg (if is-full "keymap" "sparse k= =3D eymap")))) (t ""))) (if (and aliased (not (fboundp real-def))) (princ ",\nw= =3D hich is not defined. Please make a bug report.") (save-current-buffer (set= =3D -buffer standard-output) (save-excursion (let ((save-match-data-internal ..= =3D .)) (unwind-protect (progn ...) (set-match-data save-match-data-internal ..= =3D .))))) (if file-name (progn (princ " in `") (princ (if (eq file-name ...) "= =3D C source code" (file-name-nondirectory file-name))) (princ "'") (save-curre= =3D nt-buffer (set-buffer standard-output) (save-excursion (re-search-backward = =3D "`\\([^`']+\\)'" nil t) (help-xref-button 1 ... function file-name))))) (pr= =3D inc ".") (save-current-buffer (set-buffer (help-buffer)) (fill-region-as-pa= =3D ragraph (save-excursion (goto-char pt1) (forward-line 0) (point)) (point)))= =3D (terpri) (terpri) (let* ((doc-raw (documentation function t)) (doc (progn = =3D (and ... doc-raw help-enable-auto-load ... ...) (substitute-command-keys do= =3D c-raw)))) (help-fns--key-bindings function) (save-current-buffer (set-buffe= =3D r standard-output) (setq doc (help-fns--signature function doc real-def rea= =3D l-function)) (run-hook-with-args (quote help-fns-describe-function-function= =3D s) function) (insert "\n" (or doc "Not documented."))))))) top-level) * describe-function-1(top-level) ... In GNU Emacs 24.4.50.1 (i686-pc-mingw32) of 2014-05-17 on ODIEONE Bzr revision: 117119 eggert@cs.ucla.edu-20140517081131-ugu7ociaoec2xk7y Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=3D3D/c/Devel/emacs/snapshot/trunk --enable-checking=3D3Dyes,glyphs 'CFLAGS=3D3D-O0 -g3' LDFLAGS=3D3D-Lc:/Devel/emacs/lib 'CPPFLAGS=3D3D-DGC_MCHECK=3D3D1 -Ic:/Devel/emacs/include''