From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.bugs Subject: bug#20141: 24.4.91; Helm is broken after last changes in eieio Date: Thu, 19 Mar 2015 16:46:36 +0100 Message-ID: <87r3sl6lcz.fsf@gnu.org> References: <87fv918t1l.fsf@gmail.com> <87h9thpldv.fsf@gmail.com> <871tklmqam.fsf@gnu.org> <87lhitwj2r.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1426780060 27325 80.91.229.3 (19 Mar 2015 15:47:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 19 Mar 2015 15:47:40 +0000 (UTC) Cc: Michael Heerdegen , 20141@debbugs.gnu.org, Thierry Volpiatto To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Mar 19 16:47:28 2015 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 1YYcfL-0007R6-CZ for geb-bug-gnu-emacs@m.gmane.org; Thu, 19 Mar 2015 16:47:23 +0100 Original-Received: from localhost ([::1]:39789 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYcfK-00088E-RD for geb-bug-gnu-emacs@m.gmane.org; Thu, 19 Mar 2015 11:47:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57501) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYcf9-0007uo-Ve for bug-gnu-emacs@gnu.org; Thu, 19 Mar 2015 11:47:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYcf1-0001Kl-Ia for bug-gnu-emacs@gnu.org; Thu, 19 Mar 2015 11:47:11 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:54622) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYcf1-0001Kh-FQ for bug-gnu-emacs@gnu.org; Thu, 19 Mar 2015 11:47:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YYcf1-0008SU-9p for bug-gnu-emacs@gnu.org; Thu, 19 Mar 2015 11:47:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Tassilo Horn Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 19 Mar 2015 15:47:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20141 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20141-submit@debbugs.gnu.org id=B20141.142678000332467 (code B ref 20141); Thu, 19 Mar 2015 15:47:03 +0000 Original-Received: (at 20141) by debbugs.gnu.org; 19 Mar 2015 15:46:43 +0000 Original-Received: from localhost ([127.0.0.1]:53188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYceg-0008RZ-6Q for submit@debbugs.gnu.org; Thu, 19 Mar 2015 11:46:42 -0400 Original-Received: from deliver.uni-koblenz.de ([141.26.64.15]:53843) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YYced-0008RO-D0 for 20141@debbugs.gnu.org; Thu, 19 Mar 2015 11:46:40 -0400 Original-Received: from thinkpad-t440p (dhcp132.uni-koblenz.de [141.26.71.132]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by deliver.uni-koblenz.de (Postfix) with ESMTPSA id 1F41E1A84DD; Thu, 19 Mar 2015 16:46:37 +0100 (CET) In-Reply-To: (Stefan Monnier's message of "Thu, 19 Mar 2015 10:20:26 -0400") User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) 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:100659 Archived-At: Stefan Monnier writes: >> (eieio-class-slots 'helm-source) > [...] >> Until today it returned (name), now, you get >> ([cl-struct-cl-slot-descriptor name nil t nil]) > > eieio-class-slots is new in Emacs-25, so it's OK if it's different > from yesterday. But indeed, it looks I failed to adapt object-slots. > Does the patch below fix the problems people are seeing? Yes, it seems so. However, I still get the error from yasnippet. --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (wrong-type-argument integerp nil) yas--populate-template([cl-struct-yas--template nil nil nil nil nil nil nil nil nil nil nil nil] :table [cl-struct-yas--table "haskell-mode" #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) nil (keymap)] :key "new" :content "newtype ${1:Type} = $1 { un$1 :: ${2:a} } ${3:deriving (${4:Show, Eq})}" :name "newtype" :group nil :condition (= (length "new") (current-column)) :expand-env nil :file "/home/horn/.emacs.d/elpa/haskell-mode-20150317.204/snippets/haskell-mode/newtype" :keybinding nil :uuid "newtype") yas--define-snippets-1(("new" "newtype ${1:Type} = $1 { un$1 :: ${2:a} } ${3:deriving (${4:Show, Eq})}" "newtype" (= (length "new") (current-column)) nil nil "/home/horn/.emacs.d/elpa/haskell-mode-20150317.204/snippets/haskell-mode/newtype" nil nil) [cl-struct-yas--table "haskell-mode" #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) nil (keymap)]) --8<---------------cut here---------------end--------------->8--- But I think the code that throws is probably too fragile anyway: --8<---------------cut here---------------start------------->8--- (defun yas--populate-template (template &rest args) "Helper function to populate TEMPLATE with properties." (while args (aset template (position (intern (substring (symbol-name (car args)) 1)) (mapcar #'car (get 'yas--template 'cl-struct-slots))) (second args)) (setq args (cddr args))) template) ;; the yas--template struct is defined like this (defstruct (yas--template (:constructor yas--make-blank-template)) "A template for a snippet." key content name condition expand-env file keybinding uuid menu-binding-pair group ;; as dictated by the #group: directive or .yas-make-groups perm-group ;; as dictated by `yas-define-menu' table ) --8<---------------cut here---------------end--------------->8--- Bye, Tassilo