bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#31349: 27.0; Doc of `up-list'


From: Drew Adams
Subject: bug#31349: 27.0; Doc of `up-list'
Date: Thu, 3 May 2018 11:15:05 -0700 (PDT)

> > At any rate, I don't follow the description.  Can you elaborate,
> > perhaps giving an example?  If I understand the behavior then
> > perhaps I can help clarify the doc.  Why were these args added?
> > What use cases do they serve?
> 
> In *scratch*, put cursor inside a string literal, e.g.,
> 
>     "point here->.<--"
> 
> doing C-M-u will bring you ouside the string in Emacs 25+.  In previous
> versions, you get
> 
> up-list: Scan error: "Unbalanced parentheses", 205, 1

Thanks.  (But I guess you meant `C-M-^'.)

But what does moving to the beginning (or end) of a string,
even in the absence of any list, have to do with moving
_up a list_ level?  Why does `up-list' do this now?

OK, from Eli's msg I see that this was discussed.  I guess
I missed that discussion.  Stefan said that this change
was "long overdue", but I don't see why and what this has
to do with moving up list levels.  In the example you gave,
Noam, there's no list involved at all.

(It seems odd, BTW, that Daniel said in that discussion,
about Stefan's suggestion, "Your proposed behavior is a
departure from what we have today."  So is Daniel's
proposal and patch a departure.  And we departed...)

Anyway I was, and still am, really asking about the
_second_ new arg added, NO-SYNTAX-CROSSING.

I can guess that the command now (incompatibly) "moves out
of enclosing strings", based on what is said about new arg
ESCAPE-STRINGS (though it's too bad that we use "escape"
in this sense, since it is usually used to mean escaping
chars etc.).

But what is the doc trying to say about arg NO-SYNTAX-CROSSING?

And why is it that the design gives these two _optional_
args NON-nil values?  That's not very conventional.  (It
can happen, but it's not typical.)

And why this incompatible change, instead of creating a
_new_ command that does what was aimed at (which is, 
apparently, to either move up N list levels or move to
a string/comment beginning/end, plus whatever behavior
is due to NO-SYNTAX-CROSSING?

Even after reading that discussion I don't understand
why was this incompatible change was made.  I don't see
what problem it tries to solve.  And the purpose of
NO-SYNTAX-CROSSING is unclear to me.

And why wasn't this change even called out in NEWS?
(I couldn't find it there, at least.)







reply via email to

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