From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Newsgroups: gmane.emacs.bugs Subject: bug#20705: Emacs segfaults when typing "(yas-expand" after M-: in yas-minor-mode Date: Sat, 06 Jun 2015 17:35:20 -0700 Message-ID: <557391C8.7070905@live.com> References: <556B72BB.4080508@live.com> <874mmq583h.fsf@gnu.org> <83twuoret9.fsf@gnu.org> <83vbf1m044.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1433637385 4619 80.91.229.3 (7 Jun 2015 00:36:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 7 Jun 2015 00:36:25 +0000 (UTC) Cc: bojohan@gnu.org, 20705@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jun 07 02:36:13 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 1Z1OZP-0003Ql-3Q for geb-bug-gnu-emacs@m.gmane.org; Sun, 07 Jun 2015 02:36:11 +0200 Original-Received: from localhost ([::1]:52998 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z1OZO-0006h6-6L for geb-bug-gnu-emacs@m.gmane.org; Sat, 06 Jun 2015 20:36:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z1OZK-0006gx-RU for bug-gnu-emacs@gnu.org; Sat, 06 Jun 2015 20:36:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z1OZH-0004hZ-6S for bug-gnu-emacs@gnu.org; Sat, 06 Jun 2015 20:36:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33637) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z1OZH-0004hS-2A for bug-gnu-emacs@gnu.org; Sat, 06 Jun 2015 20:36:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Z1OZG-0007Nl-ON for bug-gnu-emacs@gnu.org; Sat, 06 Jun 2015 20:36:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 07 Jun 2015 00:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20705 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20705-submit@debbugs.gnu.org id=B20705.143363733628341 (code B ref 20705); Sun, 07 Jun 2015 00:36:02 +0000 Original-Received: (at 20705) by debbugs.gnu.org; 7 Jun 2015 00:35:36 +0000 Original-Received: from localhost ([127.0.0.1]:43611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z1OYo-0007N1-Uf for submit@debbugs.gnu.org; Sat, 06 Jun 2015 20:35:35 -0400 Original-Received: from mout.kundenserver.de ([212.227.17.10]:60734) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z1OYl-0007Mj-9Q for 20705@debbugs.gnu.org; Sat, 06 Jun 2015 20:35:33 -0400 Original-Received: from [172.20.11.8] ([12.10.78.5]) by mrelayeu.kundenserver.de (mreue102) with ESMTPSA (Nemesis) id 0MHGPz-1YnOCu40x9-00E4Xl; Sun, 07 Jun 2015 02:35:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: <83vbf1m044.fsf@gnu.org> X-Provags-ID: V03:K0:d6h70i22u6KH+wwrOoJa3aax9eOLipaWI4NXA1YK4rbs9RTP09i iRX0L4FlyU+nIFbjfQxis+2QQaO4SXcMLEfE2MsaZtcdaFpOkys58e/lBeeHpVMd7c1tqUk HlhpxtcHYDg+Rbrdau4k7xkfk3WYZSpDs0RtYsCWADfPFMwjJbizXombTsglFfH2Ra1HEs/ bXi1rcUSg9uzmqlCsmy6g== X-UI-Out-Filterresults: notjunk:1;V01:K0:MZCIJ9vxsnI=:vuNRdVA7zGYCDkpIvfcaaU /XHzfoG04CIQzj6/59oyUIuwBrPpXH+Q/YY9Ik6/oh0qi3HDBNUvWexwO2xE/QBwuQo/meeJd l86hfaxu6RZWOdMf/xTJxe1jcE6n1eZ3ZKLgwp7eA08nE6kOyThJRoccjJ41irGnmLO/aQuCj OMkDuDod+Y5gpTSaPu4+9nEQMyy9YEAuxmiCK9H/d2Wo2icLMLk4EO1xQYohC8XvJaj7CMlGk FM6cLM/jc+HQrZDrxgkSZdmfISTImPxIbiIvhFoAXoUJCmgj9B7kx1bikH4KlPdEMsA634hEF Pyo7gy4FKVCPHBoNmJTMfmY1A2sWXMtcweyYaIV9rcw42/jvkHonQ0O5Fhk6FfEQZfO/5MI3k MsVQY8V1Mqlks5ntRx8Z15uUfEIIKui/nsvAvMcLqAaS5aYnoPBKZexdIb3yhmFu3y8CWkz9s x2KTKZjDygX54JMWXW3yrz3tgmzRz3kJOWXMTTeGTLcmX6+MpuMVrZ6e8lcSJrDhVZIGGJ6ol 69cUTMN6uwqJEG3CgO1S92Vvoa66Q77pCdQm+zTI20vXhxveZALKab5Gr7dvzSASCl6bIhQBg xnTOeNovBPDDP51KLmY+jO7/gNikvOsjL/PwFIvHFgPsLyqEkA9W+AZUZDukThA9U1MiKaqf1 RKu7bc3FawYqH6XPrwEp9xjnC6AHjH6z2KLLORxeCZcKiUw== 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:103683 Archived-At: Yes! Brilliant debugging as always :) This patch seems to fix the problem. Thanks Johan and Eli, Clément. On 06/06/2015 06:34 AM, Eli Zaretskii wrote: > Ping! Clément, any word on this? > >> Date: Wed, 03 Jun 2015 18:29:06 +0300 >> From: Eli Zaretskii >> Cc: clement.pitclaudel@live.com, 20705@debbugs.gnu.org >> >>> From: Johan Bockgård >>> Cc: 20705@debbugs.gnu.org, Eli Zaretskii >>> Date: Tue, 02 Jun 2015 19:32:50 +0200 >>> >>> The code looks like this: >>> >>> (defun yas--keybinding-beyond-yasnippet () >>> "Get current keys's binding as if YASsnippet didn't exist." >>> (let* ((yas-minor-mode nil) >>> (yas--direct-keymaps nil) >>> (keys (this-single-command-keys))) >>> (or (key-binding keys t) >>> (key-binding (yas--fallback-translate-input keys) t)))) >>> >>> Apparently this-single-command-keys returns [] (empty vector) when run >>> from a timer. This in turn makes key-binding crash. >> >> Thanks for the analysis. >> >> Clément, can you try the patch below? >> >> diff --git a/src/keymap.c b/src/keymap.c >> index 8f4ac0d..b69b409 100644 >> --- a/src/keymap.c >> +++ b/src/keymap.c >> @@ -1652,10 +1652,14 @@ Returns nil if COMMAND is not remapped (or not a symbol). >> >> if (NILP (position) && VECTORP (key)) >> { >> - Lisp_Object event >> - /* mouse events may have a symbolic prefix indicating the >> - scrollbar or mode line */ >> - = AREF (key, SYMBOLP (AREF (key, 0)) && ASIZE (key) > 1 ? 1 : 0); >> + Lisp_Object event; >> + >> + if (ASIZE (key) == 0) >> + return Qnil; >> + >> + /* mouse events may have a symbolic prefix indicating the >> + scrollbar or mode line */ >> + event = AREF (key, SYMBOLP (AREF (key, 0)) && ASIZE (key) > 1 ? 1 : 0); >> >> /* We are not interested in locations without event data */ >> >> >> >> >> > >