unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Why on earth is abbrev baked into the C code?
@ 2011-02-27  3:06 Daniel Colascione
  2011-02-28  3:18 ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Colascione @ 2011-02-27  3:06 UTC (permalink / raw)
  To: Emacs development discussions

[-- Attachment #1: Type: text/plain, Size: 1193 bytes --]

I was looking into abbrev.el to figure out how to code up a change I
wanted to make (having undo undo the abbrev expansion without undoing
the self-insert-command that triggered the expansion), when I realized
to my surprise that abbrev is actually baked into the Emacs C core. 
This defies common sense: why can't abbrev.el be a standalone module
that uses post-self-insert-hook or post-command-hook?  I realize we're
not supposed to use hooks to communicate between components that are
part of GNU Emacs, but the alternative in this case seems unnecessarily
invasive.

(By the way: the comment in front of self-insert-command is no longer
valid; ISTR that dubious optimization was removed a while ago.)

=== modified file 'src/cmds.c'
--- src/cmds.c    2011-01-26 08:36:39 +0000
+++ src/cmds.c    2011-02-27 03:02:04 +0000
@@ -263,8 +263,6 @@
 
 static int nonundocount;
 
-/* Note that there's code in command_loop_1 which typically avoids
-   calling this.  */
 DEFUN ("self-insert-command", Fself_insert_command,
Sself_insert_command, 1, 1, "p",
        doc: /* Insert the character you type.
 Whichever character you type to run this command is inserted.




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

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

end of thread, other threads:[~2011-03-02 17:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-27  3:06 Why on earth is abbrev baked into the C code? Daniel Colascione
2011-02-28  3:18 ` Stefan Monnier
     [not found]   ` <4D6BF0D7.3080005@gmail.com>
2011-03-01 21:08     ` Daniel Colascione
2011-03-02 17:21       ` Richard Stallman
2011-03-02 17:55       ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).