From unknown Sat Aug 16 18:19:33 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#17490 <17490@debbugs.gnu.org> To: bug#17490 <17490@debbugs.gnu.org> Subject: Status: 24.3.91; describe-function on some eieio class give (wrong-type-argument char-or-string-p nil) Reply-To: bug#17490 <17490@debbugs.gnu.org> Date: Sun, 17 Aug 2025 01:19:33 +0000 retitle 17490 24.3.91; describe-function on some eieio class give (wrong-ty= pe-argument char-or-string-p nil) reassign 17490 emacs submitter 17490 Nicolas Richard severity 17490 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 05:32:14 2014 Received: (at submit) by debbugs.gnu.org; 14 May 2014 09:32:15 +0000 Received: from localhost ([127.0.0.1]:34714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WkVXp-00013Z-Qr for submit@debbugs.gnu.org; Wed, 14 May 2014 05:32:14 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56674) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WkVXm-00013H-HX for submit@debbugs.gnu.org; Wed, 14 May 2014 05:32:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WkVXb-0001xa-0G for submit@debbugs.gnu.org; Wed, 14 May 2014 05:32:05 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:36101) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WkVXa-0001xV-U7 for submit@debbugs.gnu.org; Wed, 14 May 2014 05:31:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58306) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WkVXV-0007GH-2C for bug-gnu-emacs@gnu.org; Wed, 14 May 2014 05:31:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WkVXP-0001uY-3v for bug-gnu-emacs@gnu.org; Wed, 14 May 2014 05:31:53 -0400 Received: from mxin.ulb.ac.be ([164.15.128.112]:10345) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WkVXO-0001u8-UC for bug-gnu-emacs@gnu.org; Wed, 14 May 2014 05:31:47 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArQEAPM2c1OkD4Xx/2dsb2JhbABZg1WsHgYFm0t0g2E0AQSJCAEUnFmPcZ0RAYdChVSBf4cYhCoEjyqLZIUVjEGBd4FBOw Received: from mathsrv4.ulb.ac.be (HELO geodiff-mac3.ulb.ac.be) ([164.15.133.241]) by smtp.ulb.ac.be with ESMTP; 14 May 2014 11:31:43 +0200 From: Nicolas Richard To: bug-gnu-emacs@gnu.org Subject: 24.3.91; describe-function on some eieio class give (wrong-type-argument char-or-string-p nil) Date: Wed, 14 May 2014 11:32:41 +0200 Message-ID: <877g5ok8na.fsf@geodiff-mac3.ulb.ac.be> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi, Eval the following snippet (taken from (info "(eieio) Quick Start"), except that I removed the docstring in the method): (progn (defclass record () ((name :initarg :name :initform "" :type string :custom string :documentation "The name of a person.") (birthday :initarg :birthday :initform "Jan 1, 1970" :custom string :type string :documentation "The person's birthday.") (phone :initarg :phone :initform "" :documentation "Phone number.")) "A single record for tracking people I know.") (defmethod call-record ((rec record) &optional scriptname) (message "Dialing the phone for %s" (oref rec name)) (shell-command (concat (or scriptname "dialphone.sh") " " (oref rec phone))))) Then do C-h f record RET. This makes an error. Here's the backtrace: Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil) eieio-help-class(record) class = record doc = (nil nil ((rec &optional scriptname))) counter = 2 type = [":STATIC" ":BEFORE" ":PRIMARY" ":AFTER"] methods = (call-record) cur = ((rec &optional scriptname)) --dolist-tail-- = (((rec &optional scriptname))) debugger-may-continue = t inhibit-redisplay = nil inhibit-debugger = t eieio-help-constructor(record) ctr = record def = (lambda (newname &rest slots) "Create a new object with name NAME of class type record" (apply (quote constructor) record newname slots)) location = nil run-hook-with-args(eieio-help-constructor record) [no locals] describe-function-1(record) [no locals] describe-function(record) The error comes from this part of the code: (insert " " (aref type counter) " " (prin1-to-string (car cur) (current-buffer)) "\n" (cdr cur)) (cdr cur) is nil and can't be inserted FWIW I did this to fix it : Modified lisp/emacs-lisp/eieio-opt.el diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el index a502901..4e0470d 100644 --- a/lisp/emacs-lisp/eieio-opt.el +++ b/lisp/emacs-lisp/eieio-opt.el @@ -141,7 +141,7 @@ If CLASS is actually an object, then also display current values of that object. (insert " " (aref type counter) " " (prin1-to-string (car cur) (current-buffer)) "\n" - (cdr cur))) + (or (cdr cur) " Undocumented"))) (setq counter (1+ counter)))) (insert "\n\n") (setq methods (cdr methods)))))) In GNU Emacs 24.3.91.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2014-05-12 on geodiff-mac3 Windowing system distributor `The X.Org Foundation', version 11.0.11304000 System Description: Gentoo Base System release 2.2 Configured using: `configure --with-x-toolkit=lucid --enable-checking 'CFLAGS= -O0 -g3'' Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix -- Nico. From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 16:58:50 2014 Received: (at 17490-done) by debbugs.gnu.org; 14 May 2014 20:58:51 +0000 Received: from localhost ([127.0.0.1]:34911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WkgGI-0005hn-FD for submit@debbugs.gnu.org; Wed, 14 May 2014 16:58:50 -0400 Received: from randomsample.de ([5.45.97.173]:54279) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WkgGG-0005he-1S for 17490-done@debbugs.gnu.org; Wed, 14 May 2014 16:58:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=randomsample.de; s=a; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From; bh=XVQiL+phOpNmoSxVICOSwL+JNbGaTBgNmmvIIE43dTk=; b=eABAVVUYo7r5Jg2e4gABVlSyfMFIT6Es9bcR9c1ICLb87Ppb3Da5W0MSBlZPoDzY0G/ZkhKauGw4xOeoiBZ8uVzhcl3IRxtE2chdBkm+mdjT7AS1+/xOr6epIgGeCeNC; Received: from dslc-082-082-162-074.pools.arcor-ip.net ([82.82.162.74] helo=spaten) by randomsample.de with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1WkgGE-0004T9-CR; Wed, 14 May 2014 22:58:46 +0200 From: David Engster To: Nicolas Richard Subject: Re: bug#17490: 24.3.91; describe-function on some eieio class give (wrong-type-argument char-or-string-p nil) In-Reply-To: <877g5ok8na.fsf@geodiff-mac3.ulb.ac.be> (Nicolas Richard's message of "Wed, 14 May 2014 11:32:41 +0200") References: <877g5ok8na.fsf@geodiff-mac3.ulb.ac.be> User-Agent: Gnus/5.13001 (Ma Gnus v0.10) Emacs/24.3.91 (gnu/linux) Date: Wed, 14 May 2014 22:58:40 +0200 Message-ID: <87r43w3wn3.fsf@engster.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.6 (/) X-Debbugs-Envelope-To: 17490-done Cc: 17490-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) Nicolas Richard writes: > Eval the following snippet (taken from (info "(eieio) Quick Start"), > except that I removed the docstring in the method): [...] > FWIW I did this to fix it : > --- a/lisp/emacs-lisp/eieio-opt.el > +++ b/lisp/emacs-lisp/eieio-opt.el [...] > - (cdr cur))) > + (or (cdr cur) " Undocumented"))) Thanks for the report and the fix, which I just pushed to the emacs-24 branch, albeit with a small change: Instead of printing "Undocumented", it simply prints nothing, since the other EIEIO help functions don't explicitly denote a lack of documentation either. That might be a mistake though, since describe-function/variable do that. I guess this should be changed, but that would belong to trunk. -David From unknown Sat Aug 16 18:19:33 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 12 Jun 2014 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator