[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#3943: 23.0.96; CPerl-mode is too electric
From: |
Chong Yidong |
Subject: |
bug#3943: 23.0.96; CPerl-mode is too electric |
Date: |
Sun, 16 Aug 2009 19:24:23 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Ilya Zakharevich <nospam-abuse@ilyaz.org> writes:
>> Could you take a look at the following bug report? Thanks.
>>
>> http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=3943
>
> The home of CPerl is ilyaz.org/software/emacs
>
> Please report results with my version. (The shipped-with-Emacs
> version is hopelessly buggy...)
The problem exists in upstream CPerl as well. The bug arises from line
3763 (cperl-electric-paren):
(if (eq last-command-char ?<)
(progn
(and abbrev-mode ; later it is too late, may be after `for'
(expand-abbrev))
(cperl-after-expr-p nil "{;(,:="))
1))
Because one abbrev expansion already takes place when typing "while ",
this code leads to another, extra expansion. Removing the
(and abbrev-mode...) expression fixes the problem.