From: Joe Kelsey <joe@zircon.seattle.wa.us>
Cc: mmm-mode-discuss@lists.sourceforge.net
Subject: skeleton.el _ versus @
Date: 23 Mar 2003 23:55:35 -0000 [thread overview]
Message-ID: <20030323235535.31292.qmail@zircon.seattle.wa.us> (raw)
In GNU Emacs 21.2.1 (i386--freebsd, X toolkit, Xaw3d scroll bars)
of 2002-11-08 on zircon.zircon.seattle.wa.us
skeleton.el confuses the roles of _ and @.
_ serves two purposes: mark the "interesting" skeleton-point, and mark
region-skip points, depending on whether or not the skeleton is being
inserted in a plain context, or in a "region" context.
@ serves as a "back-up" setting for skeleton-point and also to mark the
skeleton-positions.
My contention is that the use of @ as a backup to _ in setting
skeleton-point is incorrect. When a skeleton contains both @ and _
markers, obviously the _ should be used to set the skeleton-point and
the @ should be used to set skeleton-positions when the skeleton is used
in simple insertion mode.
When the skeleton is used in region-list-context mode, there must be
multiple occurrences of _ to mark where the insertion code is supposed
to skip to the end of the next region. In this case, there probably
aren't any @ markers. The first _ can serve as skeleton-point.
If a simple skeleton is used without any _ markers, then the user hasn't
thought about where they want point to end up and it doesn't really
matter where it ends up.
I propose the following modification to skeleton.el:
--- lisp/skeleton.el.orig Sat Jul 14 04:21:08 2001
+++ lisp/skeleton.el Sun Mar 23 15:28:03 2003
@@ -453,8 +453,7 @@
((eq element '|)
(unless skeleton-modified (pop skeleton)))
((eq element '@)
- (push (point) skeleton-positions)
- (unless skeleton-point (setq skeleton-point (point))))
+ (push (point) skeleton-positions))
((eq 'quote (car-safe element))
(eval (nth 1 element)))
((or (stringp (car-safe element))
Basically, this removes the setting of skeleton-point from the @
actions.
/Joe
next reply other threads:[~2003-03-23 23:55 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-23 23:55 Joe Kelsey [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-03-24 19:27 [joe@zircon.seattle.wa.us: skeleton.el _ versus @] Richard Stallman
2003-03-24 20:05 ` skeleton.el _ versus @ Stefan Monnier
2003-03-25 1:00 ` Joe Kelsey
2003-03-30 18:51 ` Joe Kelsey
2003-03-31 17:40 ` Stefan Monnier
2003-04-01 1:58 ` Joe Kelsey
2003-04-01 7:25 ` Miles Bader
2003-04-01 18:41 ` Stefan Monnier
2003-04-02 0:08 ` Joe Kelsey
2003-04-02 0:20 ` Stefan Monnier
2003-04-02 1:03 ` Joe Kelsey
2003-04-02 1:17 ` Thien-Thi Nguyen
2003-04-02 1:33 ` Stefan Monnier
2003-04-03 0:16 ` Joe Kelsey
2003-04-03 0:28 ` Miles Bader
2003-04-03 6:45 ` Daniel Pfeiffer
2003-04-09 16:26 ` Stefan Monnier
2003-04-10 0:00 ` Joe Kelsey
2003-04-10 22:47 ` Richard Stallman
2003-04-11 0:25 ` Joe Kelsey
2003-04-11 23:45 ` Richard Stallman
2003-04-11 23:59 ` Stefan Monnier
2003-04-12 0:11 ` Joe Kelsey
2003-04-12 8:51 ` Kai Großjohann
2003-04-13 11:23 ` Richard Stallman
2003-04-13 16:41 ` Stefan Monnier
2003-04-13 18:54 ` Kai Großjohann
2003-04-13 19:11 ` Joe Kelsey
2003-04-02 19:26 ` Richard Stallman
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=20030323235535.31292.qmail@zircon.seattle.wa.us \
--to=joe@zircon.seattle.wa.us \
--cc=mmm-mode-discuss@lists.sourceforge.net \
/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.