all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Fwd: version 1.84 of cperl-mode.el takes away my control over abbrevs
       [not found] <87mz4okjsz.fsf@offby1.atm01.sea.blarg.net>
@ 2007-01-12 23:35 ` Glenn Morris
  2007-01-14  1:56   ` Richard Stallman
  0 siblings, 1 reply; 4+ messages in thread
From: Glenn Morris @ 2007-01-12 23:35 UTC (permalink / raw)
  Cc: Eric Hanchrow



I think this should go to the list.


Eric Hanchrow wrote (on Fri, 12 Jan 2007 at 13:38 -0800):

> I want something that might well be unusual, but I want it anyway: I
> want to have my own dynamic abbrevs when I'm in cperl-mode, but I do
> _not_ want the built in ones -- for example, "if" expanding into "if
> () {\n\t}". So I tried to get what I want by doing M-x edit-abbrevs
> RET, and deleting from the cperl-mode stuff those entries that I
> don't want, and then doing M-x write-abbrevs. But the next time I
> start emacs and enter cperl-mode, those nasty abbrevs are back.
> Version 1.83 of cperl-mode.el didn't have this problem.

I think all you can do is define the abbrevs you don't want to expand
to themselves, rather than deleting them. A bit ugly.


For the list: is there a better solution for this change in behaviour
caused by the adoption of system abbrevs?

Previously, if abbrevs for a mode were saved to the user abbrev file,
then these were _all_ the abbrevs that would be defined for that mode.
So any unwanted abbrevs could just be deleted.

Now, system abbrevs as defined by the mode get restored every time a
mode is loaded. Only if the user has already defined them to expand to
something else are they not loaded.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Fwd: version 1.84 of cperl-mode.el takes away my control over abbrevs
  2007-01-12 23:35 ` Fwd: version 1.84 of cperl-mode.el takes away my control over abbrevs Glenn Morris
@ 2007-01-14  1:56   ` Richard Stallman
  2007-01-14 19:56     ` Eric Hanchrow
  2007-01-16  0:37     ` Glenn Morris
  0 siblings, 2 replies; 4+ messages in thread
From: Richard Stallman @ 2007-01-14  1:56 UTC (permalink / raw)
  Cc: offby1, emacs-devel

    I think all you can do is define the abbrevs you don't want to expand
    to themselves, rather than deleting them. A bit ugly.

    Previously, if abbrevs for a mode were saved to the user abbrev file,
    then these were _all_ the abbrevs that would be defined for that mode.
    So any unwanted abbrevs could just be deleted.

    Now, system abbrevs as defined by the mode get restored every time a
    mode is loaded. Only if the user has already defined them to expand to
    something else are they not loaded.

This solution seems natural to me, not ugly, so I think we should just
document it.

Would you like to try that?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Fwd: version 1.84 of cperl-mode.el takes away my control over abbrevs
  2007-01-14  1:56   ` Richard Stallman
@ 2007-01-14 19:56     ` Eric Hanchrow
  2007-01-16  0:37     ` Glenn Morris
  1 sibling, 0 replies; 4+ messages in thread
From: Eric Hanchrow @ 2007-01-14 19:56 UTC (permalink / raw)


>>>>> "Richard" == Richard Stallman <rms@gnu.org> writes:

    Glen>     I think all you can do is define the abbrevs you
    Glen>     don't want to expand to themselves, rather than
    Glen>     deleting them.  A bit ugly.

    Richard> This solution seems natural to me, not ugly, so I think
    Richard> we should just document it.

    Richard> Would you like to try that?

--- cperl-mode.el	09 Dec 2006 22:54:46 -0800	1.84
+++ cperl-mode.el	14 Jan 2007 11:54:32 -0800	
@@ -352,7 +352,15 @@
 
 (defcustom cperl-electric-keywords nil
   "*Not-nil (and non-null) means keywords are electric in CPerl.
-Can be overwritten by `cperl-hairy' if nil."
+Can be overwritten by `cperl-hairy' if nil.
+
+Uses abbrev-mode to do the expansion.  If you want to use your
+own abbrevs in cperl-mode, but do not want keywords to be
+electric, you must redefine cperl-mode-abbrev-table: do
+\\[edit-abbrevs], search for cperl-mode-abbrev-table, and, in
+that paragraph, delete the words that appear at the ends of lines, and
+that begin with \"cperl-electric\".
+"
   :type '(choice (const null) boolean)
   :group 'cperl-affected-by-hairy)
 

-- 
A special circle of hell should be reserved for video
executives who place previews at the beginnings of DVDs.
        -- Roger Ebert

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Fwd: version 1.84 of cperl-mode.el takes away my control over abbrevs
  2007-01-14  1:56   ` Richard Stallman
  2007-01-14 19:56     ` Eric Hanchrow
@ 2007-01-16  0:37     ` Glenn Morris
  1 sibling, 0 replies; 4+ messages in thread
From: Glenn Morris @ 2007-01-16  0:37 UTC (permalink / raw)
  Cc: offby1, emacs-devel

Richard Stallman wrote:

> This solution seems natural to me, not ugly, so I think we should just
> document it.

I installed this in abbrevs.texi:

*** 258,263 ****
--- 258,265 ----
    Some abbrevs are marked with @samp{(sys)}.  These ``system'' abbrevs
  (@pxref{Abbrevs,,, elisp, The Emacs Lisp Reference Manual}) are
  pre-defined by various modes, and are not saved to your abbrev file.
+ To disable a ``system'' abbrev, define an abbrev of the same name that
+ expands to itself, and save it to your abbrev file.
  
  @findex edit-abbrevs
  @kindex C-c C-c @r{(Edit Abbrevs)}

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-01-16  0:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <87mz4okjsz.fsf@offby1.atm01.sea.blarg.net>
2007-01-12 23:35 ` Fwd: version 1.84 of cperl-mode.el takes away my control over abbrevs Glenn Morris
2007-01-14  1:56   ` Richard Stallman
2007-01-14 19:56     ` Eric Hanchrow
2007-01-16  0:37     ` Glenn Morris

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.