GNU bug report logs - #4356
23.1.50; expand-abbrev changes point erroneously

Previous Next

Package: emacs;

Reported by: Vincent Belaïche <vincent.b.1 <at> hotmail.fr>

Date: Sun, 6 Sep 2009 10:35:04 UTC

Severity: normal

Tags: wontfix

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Vincent Belaïche <vincent.b.1 <at> hotmail.fr>
Subject: bug#4356: closed (Re: bug#4356: 23.1.50; expand-abbrev changes
 point erroneously)
Date: Thu, 06 Oct 2011 03:54:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#4356: 23.1.50; expand-abbrev changes point erroneously

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 4356 <at> debbugs.gnu.org.

-- 
4356: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4356
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Glenn Morris <rgm <at> gnu.org>
To: 4356-done <at> debbugs.gnu.org
Subject: Re: bug#4356: 23.1.50; expand-abbrev changes point erroneously
Date: Wed, 05 Oct 2011 23:52:54 -0400
tags 4356 wontfix
stop

Closing based on this:

> Having looked into it some more, I'm not 100% convinced it's a bug
> any more.  Here's why:
>
> `expand-abbrev' may run arbitrary code, and some abbrevs don't just
> replace text with something else but also prompt and/or move point
> (e.g. skeletons).  So running expand-abbrev from
> visual-basic-newline-and-indent just doesn't sound right since it may
> conflict with user-defined abbreviations.
>
> I.e. the problem you're seeing can also happen in Emacs-22 depending on
> the user's own abbreviations.  So the VBM code either needs
> a save-excursion, or needs to refrain from calling expand-abbrev from
> visual-basic-newline-and-indent.

[Message part 3 (message/rfc822, inline)]
From: Vincent Belaïche <vincent.b.1 <at> hotmail.fr>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.1.50; expand-abbrev changes point erroneously
Date: Sun, 06 Sep 2009 12:30:26 +0200
Here is the bug description. I found this editing some Visual Basic file
 with using http://www.emacswiki.org/emacs/visual-basic-mode.el

If for instance I type <RET> after (--!-- showing point when I type <RET>):

MyVar = MyFun(1,True)--!--


Then in visual basic mode visual-basic-newline-and-indent is called,
which in turn calls (expand-abbrev). After (expand-abbrev) is called,
point will be moved as follows: 

MyVar = MyFun(1,True--!--) 

because `True' is one abbreviation. I have patched visual-basic mode, so
that a save-excursion encloses the call of expand-abbrev, otherwise I
would get:

MyVar = MyFun(1,True
--!--) 

which is not wanted. Stefan Monnier (monnier <at> IRO.UMontreal.CA) confirmed
this is a bug of expand-abbrev, and asked me to repport it.

The wanted behaviour would be that after expanding `True', point would
come back to after the `)' where it originally was.

BR,
   Vincent.


-----------------------------------------------------------------------


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
d:/Programme/GNU/Emacs/etc/DEBUG for instructions.


In GNU Emacs 23.1.50.1 (i386-mingw-nt5.0.2195)
 of 2009-07-25 on COCOTTE
Windowing system distributor `Microsoft Corp.', version 5.0.2195
configured using `configure --with-gcc (3.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: FRA
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  recentf-mode: t
  mail-abbrevs-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<left> <return> C-x 1 <down> <down> C-SPC <end> <left> 
<C-insert> C-x b * s c <tab> ( r e q u i r e SPC ' 
c a l c - e x t ) <return> ( l a t SPC ( <backspace> 
<backspace> <backspace> <backspace> e t SPC ( c a l 
c - c o m m a n d ) <C-left> <C-left> C-h f C-g C-h 
v c a l c - c <tab> o <tab> <backspace> <backspace> 
<backspace> <tab> <backspace> <backspace> <backspace> 
<backspace> <backspace> C-g <end> <return> <tab> ( 
c a l c - r a d i x SPC 1 <backspace> 7 ) <return> 
<tab> ( c a l c - e v a l SPC 1 0 à ) <backspace> <backspace> 
) <left> <left> <left> " " SPC <left> <left> $ <end> 
) M-x e v a l - b u f <tab> <return> C-x C-e <C-left> 
<C-left> <C-left> C-h f <return> C-h i m d <backspace> 
c a l <tab> <return> C-x 1 <C-end> <up> <up> <up> <up> 
<up> <up> <right> <right> <right> <down> <return> C-s 
c a l c <kp-subtract> e v <C-end> <up> <C-home> m e 
v a l <return> C-x b <return> <end> <C-left> <C-left> 
<C-right> <right> <right> <delete> <kp-1> <kp-0> <right> 
<delete> <delete> <delete> <end> C-x C-e <up> <up> 
<up> <down> <up> <return> C-y <up> <home> C-k C-k <down> 
<up> <tab> <down> C-k C-k C-k C-k <tab> <end> <backspace> 
<home> ( m e s s a g z e SPC <backspace> <backspace> 
<backspace> e SPC " 1 0 SPC e n SPC b a s e SPC 7 = 
% s " SPC <end> ) M-x <up> <return> <up> <up> <home> 
C-SPC <C-end> <C-insert> <help-echo> M-x r e p o r 
<tab> b <tab> <tab> e m <tab> <return>

Recent messages:
Composing main Info directory...done
Mark set
Mark saved where search started
Mark set [2 times]
Number radix is 7
"7#13"
Mark set
10 en base 7=7#13
Mark set
Making completion list...

Load-path shadows:
d:/Programme/GNU/emacs-extension/cedet/speedbar/speedbar hides d:/Programme/GNU/Emacs/lisp/speedbar
d:/Programme/GNU/emacs-extension/cedet/speedbar/sb-image hides d:/Programme/GNU/Emacs/lisp/sb-image
d:/Programme/GNU/emacs-extension/cedet/common/ezimage hides d:/Programme/GNU/Emacs/lisp/ezimage
d:/Programme/GNU/emacs-extension/cedet/speedbar/dframe hides d:/Programme/GNU/Emacs/lisp/dframe
c:/Documents and Settings/Vincent/Application Data/.emacs.d/etc/custom hides d:/Programme/GNU/Emacs/lisp/custom




This bug report was last modified 13 years and 291 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.