emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

address@hidden: skeleton.el _ versus @]


From: Richard Stallman
Subject: address@hidden: skeleton.el _ versus @]
Date: Mon, 24 Mar 2003 14:27:28 -0500

Does anyone know enough about skeleton.el to think intelligently
about this issue?

------- Start of forwarded message -------
Date: 23 Mar 2003 23:55:35 -0000
From: Joe Kelsey <address@hidden>
To: address@hidden
cc: address@hidden
Subject: skeleton.el _ versus @
Sender: address@hidden

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


_______________________________________________
Bug-gnu-emacs mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/bug-gnu-emacs
------- End of forwarded message -------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]