From: Fred <fred@fperrin.net>
To: <1948@debbugs.gnu.org>, <emacs-devel@gnu.org>
Subject: bug#1948: confusion and bug in dabbrev.el
Date: Wed, 12 Sep 2012 21:22:25 +0200 [thread overview]
Message-ID: <5aefaa82797fd967d495a5eebc1ec81f@mail.priv.fperrin.net> (raw)
In-Reply-To: <b5accf970901181137g45f24159pa31b6b0b7a8c0fec@mail.gmail.com>
Follow-up to http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1948
I seem to be experiencing a bad version of this bug. In some instances,
dabbrev seems to feel like not only inserting text at point (which is
expected) but also modifying some text in other parts of the buffer.
For
some reason, TCL code seems to trigger the bug quite easily. To see
what
I experienced:
Save the following as blah.tcl:
====== beginning of blah.tcl
proc check { topology } {
set network [ blahblah ]
preconfig $topology $networks
do_check $topology $networks
}
# Apply the default pre-config steps for each device
proc preconfig { topology networks } {
foreach node [ keylkeys topology ] {
set config [ get_config -device $node -type pre ]
apply_config $node $config
}
}
# do the actual check
proc do_check {
====== end of blah.tcl
Start `emacs -Q', and either look at the `view-lossage' output included
below, or in plain English:
- Open blah.tcl
- Put the point after the opening brace of do_check;
- Insert `SPC top' and complete with `dabbrev-expand' (M-/) to get
`topology';
- Insert `SPC' and try to complete (M-/) until you get `topology
network'.
Expected:
After a round or two, dabbrev inserts networks, based on the prototype
of `preconfig'. At worse, it inserts rubbish and I have to give a
longer
hint to dabbrev.
Actual result:
Some text after the last occurence of `topology' is replaced, point has
been moved, and procedure prototype has not been completed.
With Peter Tury's patch to `dabbrev--substitute-expansion', point does
not seem to start jumping around, replacing text in remote places
(though I don't have the correct replacement, but whatever)
In GNU Emacs 24.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.10)
of 2012-09-09 on trouble, modified by Debian
Windowing system distributor `The X.Org Foundation', version
11.0.11203902
Configured using:
`configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
'--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
'--localstatedir=/var/lib' '--infodir=/usr/share/info'
'--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.2/site-lisp:/usr/share/emacs/site-lisp'
'--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
'--with-x-toolkit=gtk' '--with-toolkit-scroll-bars'
'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
'CPPFLAGS=-D_FORTIFY_SOURCE=2''
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: en_GB.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
Major mode: Tcl
Minor modes in effect:
tooltip-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
C-x C-f / t m p / b l a h . t c l <return> C-s d o
_ c C-s C-e SPC t o p M-/ SPC M-/ M-/ C-/ C-/ M-x r
e p o <tab> r t - e m <tab> <return>
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark saved where search started
Undo! [2 times]
Making completion list...
Load-path shadows:
/usr/share/emacs/24.2/site-lisp/flim/hex-util hides
/usr/share/emacs/24.2/lisp/hex-util
/usr/share/emacs/24.2/site-lisp/flim/md4 hides
/usr/share/emacs/24.2/lisp/md4
/usr/share/emacs/24.2/site-lisp/dictionaries-common/flyspell hides
/usr/share/emacs/24.2/lisp/textmodes/flyspell
/usr/share/emacs/24.2/site-lisp/dictionaries-common/ispell hides
/usr/share/emacs/24.2/lisp/textmodes/ispell
/usr/share/emacs/24.2/site-lisp/flim/sasl-ntlm hides
/usr/share/emacs/24.2/lisp/net/sasl-ntlm
/usr/share/emacs/24.2/site-lisp/flim/sasl-digest hides
/usr/share/emacs/24.2/lisp/net/sasl-digest
/usr/share/emacs/24.2/site-lisp/flim/hmac-def hides
/usr/share/emacs/24.2/lisp/net/hmac-def
/usr/share/emacs/24.2/site-lisp/flim/sasl hides
/usr/share/emacs/24.2/lisp/net/sasl
/usr/share/emacs/24.2/site-lisp/flim/hmac-md5 hides
/usr/share/emacs/24.2/lisp/net/hmac-md5
/usr/share/emacs/24.2/site-lisp/flim/ntlm hides
/usr/share/emacs/24.2/lisp/net/ntlm
/usr/share/emacs/24.2/site-lisp/flim/sasl-cram hides
/usr/share/emacs/24.2/lisp/net/sasl-cram
Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822
mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils help-mode view dabbrev misearch multi-isearch tcl
easymenu comint regexp-opt ansi-color ring time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame
cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar
gtk
x-toolkit x multi-tty emacs)
--
Fred -- http://tar-jx.bz
next prev parent reply other threads:[~2012-09-12 19:22 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-18 19:37 bug#1948: confusion and bug in dabbrev.el Peter Tury
2012-09-12 19:22 ` Fred [this message]
2016-01-09 23:36 ` Alan J Third
2016-01-10 13:41 ` Alan J Third
2016-01-30 1:01 ` Alan Third
2016-01-30 1:01 ` Alan Third
2016-01-30 2:00 ` Drew Adams
2016-01-30 11:59 ` Alan Third
2016-01-30 12:25 ` Eli Zaretskii
2016-01-30 17:37 ` Drew Adams
2016-02-29 4:18 ` Lars Ingebrigtsen
2016-03-01 3:16 ` Glenn Morris
2016-03-01 3:27 ` Lars Ingebrigtsen
2016-03-01 3:16 ` Glenn Morris
2016-02-29 4:18 ` Lars Ingebrigtsen
2016-03-01 18:19 ` bug#1948: [PATCH] Always save the actual expansion (bug#1948) Alan Third
2016-03-02 17:25 ` Lars Ingebrigtsen
-- strict thread matches above, loose matches on Subject: below --
2009-01-19 14:54 bug#1948: confusion and bug in dabbrev.el Chong Yidong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5aefaa82797fd967d495a5eebc1ec81f@mail.priv.fperrin.net \
--to=fred@fperrin.net \
--cc=1948@debbugs.gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.