all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stephen Berman <stephen.berman@gmx.net>
To: Drew Adams <drew.adams@oracle.com>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: emacs-25 f708cb2: Clarify doc string of 'transpose-sexps'
Date: Fri, 04 Nov 2016 16:47:06 +0100	[thread overview]
Message-ID: <87y40zckn9.fsf@gmx.net> (raw)
In-Reply-To: <ba4a000f-c63d-4fde-94b9-d493e895b7c7@default> (Drew Adams's message of "Fri, 4 Nov 2016 07:31:41 -0700 (PDT)")

On Fri, 4 Nov 2016 07:31:41 -0700 (PDT) Drew Adams <drew.adams@oracle.com> wrote:

>> > +Unlike `transpose-words', point must be between the two sexps and not 
>>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> > +in the middle of a sexp to be transposed.
>>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> 
>> The underlined sentence is not accurate, since transpose-sexps does
>> work like transpose-words if point is in the middle of a symbol or
>> number.  Here's a more accurate statement: "If point is in the middle
>> of a list or string, you cannot transpose that sexp with another sexp."
>
> See bug #24860 (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24860).
>
> That bug points out that the doc statement is incorrect/incomplete.
> But your statement is also incorrect/incomplete, IMO.

Perhaps it's incomplete in not explicitly stating that transposing
succeeds when point is in the middle of a symbol or number, but how is
it incorrect?

> The problem is that "in the middle of a sexp" can mean different
> things.  Which sexp?  In (foo "ab|c" 42), with point at |, is point
> in the middle of a string sexp?  Yes.  Is it in the middle of a list
> sexp?  Yes.  Is it between sexps `foo' and `42'?  Yes.
>
> What does it mean to be in the middle of a list, for example?
> A case mentioned in the bug report is this:
>
>>> When point is in the middle of a list it can also be between two
>>> sexps, which themselves could be lists: ((foo)|(bar)), with point at |.
>
> Point here is in the middle of the outer list, but it is between the
> two inner lists.  Any text description needs to be more careful and
> explicit, if it really wants to make the point clear.

I think a reasonable interpretation of "in the middle of a sexp" is that
the relevant sexp is the one whose start and end are closer to point
(counting leftwards and rightwards from point, respectively) than those
of any other sexp.  Is there an Emacs function that doesn't respect this
interpretation?

Steve Berman



  reply	other threads:[~2016-11-04 15:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20161104095223.23249.72530@vcs.savannah.gnu.org>
     [not found] ` <20161104095223.631AB22012D@vcs.savannah.gnu.org>
2016-11-04 14:09   ` emacs-25 f708cb2: Clarify doc string of 'transpose-sexps' Stephen Berman
2016-11-04 14:31     ` Drew Adams
2016-11-04 15:47       ` Stephen Berman [this message]
2016-11-04 16:44         ` Drew Adams
2016-11-04 17:08           ` Stephen Berman
2016-11-04 17:21             ` Drew Adams
2016-11-04 17:50               ` Stephen Berman
2016-11-04 18:00                 ` Drew Adams
2016-11-04 18:33                   ` Eli Zaretskii
2016-11-04 18:30                 ` Eli Zaretskii
2016-11-04 18:26               ` Eli Zaretskii
2016-11-04 18:14       ` Eli Zaretskii
     [not found] <<20161104095223.23249.72530@vcs.savannah.gnu.org>
     [not found] ` <<20161104095223.631AB22012D@vcs.savannah.gnu.org>
     [not found]   ` <<8737j7e3r5.fsf@gmx.net>
     [not found]     ` <<ba4a000f-c63d-4fde-94b9-d493e895b7c7@default>
     [not found]       ` <<87y40zckn9.fsf@gmx.net>
     [not found]         ` <<977b7eaa-1c5f-4d8b-be5d-33ec73f5a962@default>
     [not found]           ` <<87twbncgve.fsf@gmx.net>
     [not found]             ` <<3687e9ab-658b-49b9-b766-8658d5c48374@default>
     [not found]               ` <<87pombceyc.fsf@gmx.net>
     [not found]                 ` <<83cd67b5-cb42-4fea-b6be-21e9ec8075a7@default>
     [not found]                   ` <<83oa1vjdrx.fsf@gnu.org>
2016-11-04 19:36                     ` Drew Adams

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=87y40zckn9.fsf@gmx.net \
    --to=stephen.berman@gmx.net \
    --cc=drew.adams@oracle.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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.