emacs-devel
[Top][All Lists]
Advanced

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

Re: skeleton.el _ versus @


From: Joe Kelsey
Subject: Re: skeleton.el _ versus @
Date: 01 Apr 2003 17:03:02 -0800

On Tue, 2003-04-01 at 16:20, Stefan Monnier wrote:
> I don't understand why you get so worked up about it.
> Having hacked on skeleton.el and used it, I know how to get it to do
> what I want.  Just because changing the behavior to what you want
> doesn't prevent me from getting the behavior I was looking for,
> doesn't mean that your behavior is preferable.
> 
> Obviously both your suggested behavior and the current one are
> acceptable and have their own pros and cons.
> 
> I have admittedly a slight preference for the current behavior
> since I've taken advantage of it, but my main objection to your
> change is that it will break existing skeletons without providing
> a clearly superior behavior.
> 
> > It makes more sense for you since you are using @ incorrectly.
> 
> I see no evidence that it's incorrect usage.  As a matter
> of fact, it is correct w.r.t the current code.
> 
> > Simply because you have taken advantage of a programming error in the
> > past does not mean you can continue to do so in the future.
> 
> That's interesting: what makes you think it was a programming error ?

It seems clear to me that the "backing-up" of _ with @ was an
ill-conceived back-of-the-hand programming insertion to solve someone's
region-mode problem.  It clearly was ill-thought out because it
completely fails in normal insertion mode when you mix @ and _, as
mmm-mode does.

I believe that there was no reason to add this behavior which mixes two
incompatible concepts.  I believe that the fix for this bad design
implemented by bad programming has to come from outside of the current
design.

As you say, someone has to give in.  I personally have never thought of
a reason to use the region-mode of sekeltons.  mmm-mode makes very good
use of the @'s to mark positions and expects that _ marks
skeleton-point.  It is very surprising when skeleton ignores the naive
use of @ and _.

I can imagine that a solution is to have skeleton-insert examine the use
made of @ and _ ex-post-facto.  I believe that _ should *always* be
preferred over @ because there is no other use for _ in simple
insertions, so in a simple insertion, _ should *always* win.  In
region-insertions, there is a hazy preference for @ winning, but I
cannot imagine any real preference accruing to what I believe is a
mis-use of @ to solve something that the original designer of skeletons
clearly considered an after-thought.

When you look at the design of skeleton-mode, _ is clearly the preferred
way to set skeleton-point.  I really just cannot see how to justify
completely abandoning the meaning of _ in any situation at all.  I can
see no justification for the programming/design error introduced by the
perversion of the clear separation between _ and @.  My question is when
was the _ @ distinction ruined by allowing @ to override the meaning of
_.  Was it introduced by the original skeleton author, or was it
inserted on-the-sly by someone else?  What does the cvs history say, or
is it even recorded in the cvs history?

/Joe






reply via email to

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