Received: (at 62892) by debbugs.gnu.org; 23 May 2023 14:11:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 23 10:11:50 2023 Received: from localhost ([127.0.0.1]:40062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q1Sjt-0002j5-UI for submit <at> debbugs.gnu.org; Tue, 23 May 2023 10:11:50 -0400 Received: from mail-ot1-f41.google.com ([209.85.210.41]:46228) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1q1Sjr-0002in-4Q for 62892 <at> debbugs.gnu.org; Tue, 23 May 2023 10:11:48 -0400 Received: by mail-ot1-f41.google.com with SMTP id 46e09a7af769-6af70ff2761so1082432a34.0 for <62892 <at> debbugs.gnu.org>; Tue, 23 May 2023 07:11:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684851101; x=1687443101; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=RKvO0UVtOqkz654TLzHtTDM1NnTp2gQTSIfd3tNw6F0=; b=Opsf0zPhXFrC0lPVUTf4CS8vxAGQtuxrTPe17bZL2yKhnWW97ueYGboFMXMxDFqYZA v4IJmDL3hiDw/awDNBexX22D2f+mBqls+uK+rry8lAvSLEwlNRw03HlPYcS2wNWzRQti 4h4qGlE901egzaWoY+27Y4OCHBHxm2hAkbVndIcYFTN6JqpxjYvaZcAyvabTsGfhbGtz 4hfgCwLtfRhlhUSDNT4456pBm8Z7sHYV2TWWoscv4hayZ7NnuHQfpfpV2I1YzwxzaeHp Nw5x9zPeuEsaXkesgsXxrnFpiZOIPUJA6dVgnb7Z40FMRt8JpNWv5q34Jzb6BLl6jY1f Y8ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684851101; x=1687443101; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RKvO0UVtOqkz654TLzHtTDM1NnTp2gQTSIfd3tNw6F0=; b=lwmeV98rODu/orG54Xb/r64EUFcyzi/ZKOE9sod7A2KnxwIGm6RGOeV/IkWxRcDMnU XPzmIFJ2yOBGqs3ueMmT9xVlj11ZFo48zx1JBPGYM2SXUtMra1jiJJrqtBnGkk5Jk4jK TEdXlwut3nXZWcIT5GDmRgseR7yzGOi86fGk3JpG3AHcfyLTFoJkew2n7mGNa3Qv7pWy gUIkJuRY9z5Xatbmde87s2J0oPiHjJUCKWoKBu/BUnjfGL4+nST1YOZM58xX7COO7K7I uHFsQT/BJ47NONRz1XnyEVnm1Mq1zHXAlx672vspXY5CJ7YBCYH5iKL5w8o10TqHftxt 3nNA== X-Gm-Message-State: AC+VfDxJB/twscT74/dw0JsHzMLM8ctXbLX7PX8MVSNz8KJP7ov3ymb7 dUge7PwJUAvAiR2jWXXocOs06oqzPAUcGXBiH1g= X-Google-Smtp-Source: ACHHUZ6ksmMyOpRvaLQjgRD+Z2atq6zGDnHig+RQELHJtKpwXnaOgNr/44tCkEwNZUmv/CmJDBgiyasuIgeCjSbf0do= X-Received: by 2002:aca:2217:0:b0:398:4008:260d with SMTP id b23-20020aca2217000000b003984008260dmr503050oic.39.1684851101298; Tue, 23 May 2023 07:11:41 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <E1q1DbR-00016p-M0@HIDDEN> In-Reply-To: <E1q1DbR-00016p-M0@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Tue, 23 May 2023 10:11:30 -0400 Message-ID: <CAFXT+RNZaqtbP1MiBXYDL7hSCAOScNdkE0WvNUAcEyE0bd921g@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: rms@HIDDEN Content-Type: multipart/alternative; boundary="0000000000006476ab05fc5cf764" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, monnier@HIDDEN, drew.adams@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --0000000000006476ab05fc5cf764 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > Are you envisioning that we would create standard key bindings > for these functions? I was not suggesting that here. However,I think this would be ideal, especially given that mark-sexp is bound to three different keybindings (C-M-@, C-M-SPC, C-M-S-SPC). What is the process for finding out if a new keybinding would be appropriate? Or for determining whether enough people use a keybinding to keep it, vs changing it? > Are you envisioning that users would bind some of these functions > to keys themselves? Yes. This is the main use-case I envisioned. > Are you envisioning that users would call these functions from their > own Lisp code? This was not my main proposal, but users can do so if they want. On Mon, May 22, 2023 at 6:02=E2=80=AFPM Richard Stallman <rms@HIDDEN> wrot= e: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > > Attached is a patch with the following changes: > > > > > > * Uses the helper function to create mark-foo-forward, > mark-foo-backward > > > for word, paragraph, sexp, page, and defun. > > I think these functions would make sense, but I wonder hwo they > would do users any good. > > Are you envisioning that we would create standard key bindings > for these functions? > > Are you envisioning that users would bind some of these functions > to keys themselves? > > Are you envisioning that users would call these functions from their > own Lisp code? > > Any of those would make sense in the abstract, but I doubt that any of > them would be convenient enough to make this change worth installing. > > > > -- > Dr Richard Stallman (https://stallman.org) > Chief GNUisance of the GNU Project (https://gnu.org) > Founder, Free Software Foundation (https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) > > > --0000000000006476ab05fc5cf764 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">>=20 Are you envisioning that we would create standard key bindings<br><div>>= for these functions?</div><div><br></div><div>I was not suggesting that he= re. However,I think this would be ideal, especially given that mark-sexp is= bound to three different keybindings (C-M-@, C-M-SPC, C-M-S-SPC). What is = the process for finding out if a new keybinding would be appropriate? Or fo= r determining whether enough people use a keybinding to keep it, vs changin= g it?<br></div><div><br></div><div>> Are you envisioning that users would bind some of these functions<br>> t= o keys themselves?</div><div><br></div><div>Yes. This is the main use-case = I envisioned.<br></div><div><br></div><div>>=20 Are you envisioning that users would call these functions from their<br>>= ; own Lisp code?</div><div><br></div><div>This was not my main proposal, bu= t users can do so if they want.<br></div></div><br><div class=3D"gmail_quot= e"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, May 22, 2023 at 6:02=E2=80= =AFPM Richard Stallman <<a href=3D"mailto:rms@HIDDEN">rms@HIDDEN</a>&g= t; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p= x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[[[ To= any NSA and FBI agents reading my email: please consider=C2=A0 =C2=A0 ]]]<= br> [[[ whether defending the US Constitution against all enemies,=C2=A0 =C2=A0= =C2=A0]]]<br> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]<= br> <br> =C2=A0 > > Attached is a patch with the following changes:<br> =C2=A0 > ><br> =C2=A0 > > * Uses the helper function to create mark-foo-forward, mar= k-foo-backward<br> =C2=A0 > > for word, paragraph, sexp, page, and defun.<br> <br> I think these functions would make sense, but I wonder hwo they<br> would do users any good.<br> <br> Are you envisioning that we would create standard key bindings<br> for these functions?<br> <br> Are you envisioning that users would bind some of these functions<br> to keys themselves?<br> <br> Are you envisioning that users would call these functions from their<br> own Lisp code?<br> <br> Any of those would make sense in the abstract, but I doubt that any of<br> them would be convenient enough to make this change worth installing.<br> <br> <br> <br> -- <br> Dr Richard Stallman (<a href=3D"https://stallman.org" rel=3D"noreferrer" ta= rget=3D"_blank">https://stallman.org</a>)<br> Chief GNUisance of the GNU Project (<a href=3D"https://gnu.org" rel=3D"nore= ferrer" target=3D"_blank">https://gnu.org</a>)<br> Founder, Free Software Foundation (<a href=3D"https://fsf.org" rel=3D"noref= errer" target=3D"_blank">https://fsf.org</a>)<br> Internet Hall-of-Famer (<a href=3D"https://internethalloffame.org" rel=3D"n= oreferrer" target=3D"_blank">https://internethalloffame.org</a>)<br> <br> <br> </blockquote></div> --0000000000006476ab05fc5cf764--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 22 May 2023 22:02:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 22 18:02:17 2023 Received: from localhost ([127.0.0.1]:37098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q1Dbd-0002km-Ce for submit <at> debbugs.gnu.org; Mon, 22 May 2023 18:02:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44270) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rms@HIDDEN>) id 1q1DbZ-0002kU-7e for 62892 <at> debbugs.gnu.org; Mon, 22 May 2023 18:02:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1q1DbS-0006eG-6R; Mon, 22 May 2023 18:02:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=Uore59qTCo8+vebOTl3GLBYp4yw6Xs+XMZFY6Fvnx0g=; b=oCPZxHRSk/tB /UoqOrChPwRIQtCtrgkeerZx8B4TY/N+5wKTYwA/bLskZFLwAEyqvbCzYfFoGyO2OH2Q0iEdjC2bz OJDdO8uqBUT6ZmpJUwQbCMXvQZQPLRzEhrRXMzpYmCvLbmCsmAGkfO6/bjp4gUr3ICOP53KFUHrUi f3z9XJP1/ONfRCDovJ68fYAQ/kFdkMQENLkqjBGDgMx1WlCkqzAXiqogK5uvxconuVAiH8UsQuewL xkii/oiuRHZAPsZcdrb/pCGsLqQdaMq9nNgDBX3/f5Z1e3R4pP+Ug/BvRbbWDcZFk9blUqHPHuHte qGKXWAs43SvtTq7IeEmAlA==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1q1DbR-00016p-M0; Mon, 22 May 2023 18:02:05 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman <rms@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> In-Reply-To: <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> (message from Zachary Kanfer on Wed, 17 May 2023 23:17:01 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> Message-Id: <E1q1DbR-00016p-M0@HIDDEN> Date: Mon, 22 May 2023 18:02:05 -0400 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, monnier@HIDDEN, drew.adams@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Reply-To: rms@HIDDEN Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Attached is a patch with the following changes: > > > > * Uses the helper function to create mark-foo-forward, mark-foo-backward > > for word, paragraph, sexp, page, and defun. I think these functions would make sense, but I wonder hwo they would do users any good. Are you envisioning that we would create standard key bindings for these functions? Are you envisioning that users would bind some of these functions to keys themselves? Are you envisioning that users would call these functions from their own Lisp code? Any of those would make sense in the abstract, but I doubt that any of them would be convenient enough to make this change worth installing. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 15:41:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 11:41:30 2023 Received: from localhost ([127.0.0.1]:60983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0lBa-0000TT-C3 for submit <at> debbugs.gnu.org; Sun, 21 May 2023 11:41:30 -0400 Received: from mail.eshelyaron.com ([107.175.124.16]:51116 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1q0lBY-0000TM-Sd for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 11:41:29 -0400 From: Eshel Yaron <me@HIDDEN> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1684683688; bh=y2lcxsvn1FNh5q2yJ8Q5TIwAPZVIxjdjCsnU6DHblhk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=jQm2gvJ3VJPD90rhae11xmAlZKaNTfzDz9BxGYDP52IBHHIPI7H2hgqzM1nBjUpQM tSekUGtR4/9Knj1QzTUVJO5Zf5FE+KxMHsnKMMfnHhW5POz1xicF5UfkboWSJw3my5 X6PA7fiq2ExFGfM7BNku+5C1Q9o/Wuhbdf+pupvcEeEuSSZlHGTIuS50eKvwIkibNs ptYkb1ratUwmRc6oeNKQ70vCl1KmWB19yVuDFYqWoi5V5kBT+G0rqkIhmbb98a5W3l Tc6q6Pir7KOdVTTh6oiixV0nZO3eX4FcqUovTxdKHFPkgOb1/KSBrCvJ2OouodSojM 3hGg4HiUrsrGQ== To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <83cz2tra6a.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 21 May 2023 18:11:57 +0300") References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> <831qjarzsk.fsf@HIDDEN> <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> <m1353pzqa1.fsf@HIDDEN> <83cz2tra6a.fsf@HIDDEN> Date: Sun, 21 May 2023 18:41:22 +0300 Message-ID: <m1v8gly9nh.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: zkanfer@HIDDEN, juri@HIDDEN, ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, drew.adams@HIDDEN, monnier@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Eli Zaretskii <eliz@HIDDEN> writes: >> From: Eshel Yaron <me@HIDDEN> >> >> I'm not sure if that's the preferred behavior, but I do think that >> consistently between the different marking commands is a good thing. > > Why do you think there should be consistency here? These are > different commands which target different use-cases. > I see, so `mark-word` and `mark-sexp` differ from `mark-paragraph`, `mark-defun` and `mark-page` by design. That's apparent from the Info manual on second look. Thanks.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 15:11:49 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 11:11:49 2023 Received: from localhost ([127.0.0.1]:60972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0kir-0008Dw-Al for submit <at> debbugs.gnu.org; Sun, 21 May 2023 11:11:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60936) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1q0kio-0008Dh-45 for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 11:11:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0kig-0007dl-V5; Sun, 21 May 2023 11:11:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=AiBFdMjve+Rt9AMTyUWrR0yk6DcA5f6+FK12WqRCeKk=; b=loCZYMWO6S/c nFmSfxlf5KfIUSp1pzAwtvLejXFtwgZQnXiCgrvFKVYUQVXpC8H2xI2L+DQxviGTSPKvMlmRT5ETa ttLd20L/PccIFFxamMmUOh67P47YH9VEPdrLHwXUG3guHrgNOQeAwRksJnUDNt8PXCpNmrikbu2jZ RHeykSE9df95Y8wRlzVYJgcAXnfMvk4SsG02w8TqYhhVZ4aSoYqN01ba+Cb7Dm12N6V+49B5LxS1S PvesrLpjXS5G/VlPUeq3cT6Vj9aUIgPZY05enaq/Z9vXWB3zHIttI7qaNKactaSUNZCEqDMLm3TXM 6O+bBK6Bl/wIc8ovWvrwAA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0kig-0006dc-EI; Sun, 21 May 2023 11:11:38 -0400 Date: Sun, 21 May 2023 18:11:57 +0300 Message-Id: <83cz2tra6a.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Eshel Yaron <me@HIDDEN> In-Reply-To: <m1353pzqa1.fsf@HIDDEN> (message from Eshel Yaron on Sun, 21 May 2023 17:56:54 +0300) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> <831qjarzsk.fsf@HIDDEN> <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> <m1353pzqa1.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: zkanfer@HIDDEN, juri@HIDDEN, ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, drew.adams@HIDDEN, monnier@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Eshel Yaron <me@HIDDEN> > Cc: Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier > <monnier@HIDDEN>, ruijie@HIDDEN, juri@HIDDEN, Zachary > Kanfer <zkanfer@HIDDEN>, 62892 <at> debbugs.gnu.org, drew.adams@HIDDEN > Date: Sun, 21 May 2023 17:56:54 +0300 > > I'm not sure if that's the preferred behavior, but I do think that > consistently between the different marking commands is a good thing. Why do you think there should be consistency here? These are different commands which target different use-cases. Did you read the doc string of C-M-SPC? It does something extra-special when transient-mark-mode is enabled and the region is active.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 14:57:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 10:57:02 2023 Received: from localhost ([127.0.0.1]:60963 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0kUY-0007sQ-D2 for submit <at> debbugs.gnu.org; Sun, 21 May 2023 10:57:02 -0400 Received: from mail.eshelyaron.com ([107.175.124.16]:60104 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1q0kUW-0007rx-R8 for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 10:57:01 -0400 From: Eshel Yaron <me@HIDDEN> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1684681020; bh=bjxJI4G8/O2ZWrWqdjVqnOO3Hmeba49I9gb+08lcUh4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=l+LCU1oHCERaHYNjThN5tL/rjm0ie6GGFFjh1Kyturnb/Kgg4kubX0Fp53k/GRNfX UZSM0HKPObHk0dUac2zJHlspEZ6hRjCtTeOenLMfbeWSKTALjZkWMxECJST+J6ixs0 +QVR8sz2qKIF9eKeAwUwa7Ov2doy/tsP3H2ENKPH6z67MHXYwwElM5dl6udmsWjzya lu2qkxhfQQQfQgq/f6X7StO+dmD2LsNzMznSgv3YZGldMzSfuJZKHFIVQH+zvF06jB neentlizlb0sOe1jQe4aZmuKB/1niv3waZmyJt7ieATS66sVB+2rtMTD1z42OiJxgR qBeyMkzUJxEpA== To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> (Stefan Monnier via's message of "Sun, 21 May 2023 10:31:41 -0400") References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> <831qjarzsk.fsf@HIDDEN> <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> Date: Sun, 21 May 2023 17:56:54 +0300 Message-ID: <m1353pzqa1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: drew.adams@HIDDEN, Zachary Kanfer <zkanfer@HIDDEN>, juri@HIDDEN, ruijie@HIDDEN, Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) One data point that I think is worth taking into consideration: Currently, `mark-sexp` and `mark-defun` are not consistent with each other. This can be seen in the following example: --8<---------------cut here---------------start------------->8--- (foo) (bar) (baz) --8<---------------cut here---------------end--------------->8--- With point before `(bar)`, doing `C-2 C-M-SPC C-- C-M-SPC` leaves only `(bar)` selected. OTOH, doing `C-2 C-M-h C-- C-M-h` leaves all three expressions selected. In contrast, the proposed `mark-sexp-forward` and `mark-defun-forward` are consistent with each other (both behave like `mark-defun` in the above example). I'm not sure if that's the preferred behavior, but I do think that consistently between the different marking commands is a good thing. -- Best, Eshel
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 21 May 2023 14:57:09 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 10:57:09 2023 Received: from localhost ([127.0.0.1]:60966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0kUe-0007sq-OU for submit <at> debbugs.gnu.org; Sun, 21 May 2023 10:57:09 -0400 Received: from lists.gnu.org ([209.51.188.17]:58198) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1q0kUZ-0007sa-Pv for submit <at> debbugs.gnu.org; Sun, 21 May 2023 10:57:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1q0kUZ-0001kA-D9 for bug-gnu-emacs@HIDDEN; Sun, 21 May 2023 10:57:03 -0400 Received: from mail.eshelyaron.com ([107.175.124.16] helo=eshelyaron.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1q0kUX-00055U-Ms; Sun, 21 May 2023 10:57:03 -0400 From: Eshel Yaron <me@HIDDEN> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1684681020; bh=bjxJI4G8/O2ZWrWqdjVqnOO3Hmeba49I9gb+08lcUh4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=l+LCU1oHCERaHYNjThN5tL/rjm0ie6GGFFjh1Kyturnb/Kgg4kubX0Fp53k/GRNfX UZSM0HKPObHk0dUac2zJHlspEZ6hRjCtTeOenLMfbeWSKTALjZkWMxECJST+J6ixs0 +QVR8sz2qKIF9eKeAwUwa7Ov2doy/tsP3H2ENKPH6z67MHXYwwElM5dl6udmsWjzya lu2qkxhfQQQfQgq/f6X7StO+dmD2LsNzMznSgv3YZGldMzSfuJZKHFIVQH+zvF06jB neentlizlb0sOe1jQe4aZmuKB/1niv3waZmyJt7ieATS66sVB+2rtMTD1z42OiJxgR qBeyMkzUJxEpA== To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> (Stefan Monnier via's message of "Sun, 21 May 2023 10:31:41 -0400") References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> <831qjarzsk.fsf@HIDDEN> <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> Date: Sun, 21 May 2023 17:56:54 +0300 Message-ID: <m1353pzqa1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=107.175.124.16; envelope-from=me@HIDDEN; helo=eshelyaron.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: drew.adams@HIDDEN, Zachary Kanfer <zkanfer@HIDDEN>, juri@HIDDEN, ruijie@HIDDEN, Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) One data point that I think is worth taking into consideration: Currently, `mark-sexp` and `mark-defun` are not consistent with each other. This can be seen in the following example: --8<---------------cut here---------------start------------->8--- (foo) (bar) (baz) --8<---------------cut here---------------end--------------->8--- With point before `(bar)`, doing `C-2 C-M-SPC C-- C-M-SPC` leaves only `(bar)` selected. OTOH, doing `C-2 C-M-h C-- C-M-h` leaves all three expressions selected. In contrast, the proposed `mark-sexp-forward` and `mark-defun-forward` are consistent with each other (both behave like `mark-defun` in the above example). I'm not sure if that's the preferred behavior, but I do think that consistently between the different marking commands is a good thing. -- Best, Eshel
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 14:54:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 10:54:11 2023 Received: from localhost ([127.0.0.1]:60959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0kRm-0007iT-SN for submit <at> debbugs.gnu.org; Sun, 21 May 2023 10:54:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:32786) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1q0kRk-0007iG-CI for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 10:54:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0kRd-0004g7-Gl; Sun, 21 May 2023 10:54:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=/176gHcXOA6MrkC4aSFJwaM5FGkMEV/vR+4tA3nnuUE=; b=ND/xBe2FU0G2 mBm+GHkMbgpHH66hiriet4fM18MlhfzJl2SxZkmpk980+VOdnKcDKwG5m3MiIjRmta9PpTBDblKff 1uHEGBA3Aju7L7drgZXuUf2MQHbi/KHO+zsxhN6pgc/sRRedSzAZ3FZngCTsmn61aR7GFJEIWf/A3 T6cb7xMwAICWfLUmLXyUODA7MeI4OxwkxgXJXR6AcZ6cTWv1qn8qSSRX4shJDLJmKdNy33A8TQKXi XZLueAuH9aR7euBabdP9fLCF1WjfZqnUQML/ZYtCQhbw7mlrBnXrcWIhdOXh2LBijTRSjwX23TB54 YwrWQZ4CN1NmEnn4Ccx9Nw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0kRd-0007P0-0g; Sun, 21 May 2023 10:54:01 -0400 Date: Sun, 21 May 2023 17:54:20 +0300 Message-Id: <83ilclrazn.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: zkanfer@HIDDEN In-Reply-To: <83lehhrbnz.fsf@HIDDEN> (message from Eli Zaretskii on Sun, 21 May 2023 17:39:44 +0300) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> <831qjarzsk.fsf@HIDDEN> <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> <83lehhrbnz.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, drew.adams@HIDDEN, monnier@HIDDEN, 62892 <at> debbugs.gnu.org, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: ruijie@HIDDEN, juri@HIDDEN, zkanfer@HIDDEN, 62892 <at> debbugs.gnu.org, > drew.adams@HIDDEN > Date: Sun, 21 May 2023 17:39:44 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > > Maybe the new building block is useful enough (i.e. can be used in > > existing code, thus reducing overall complexity)? > > That'd be preferable, certainly. Enlarging the set of the commands is > not my preference. Btw, these new commands keep the complicated, hard-to-remember MO of mark-sexp: they do different things depending on whether transient-mark-mode is on or off and whether the region is or isn't active. Why is this a Good Thing?
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 14:39:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 10:39:33 2023 Received: from localhost ([127.0.0.1]:60954 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0kDd-0007Ez-BU for submit <at> debbugs.gnu.org; Sun, 21 May 2023 10:39:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1q0kDb-0007En-O8 for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 10:39:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0kDV-0002Ky-8A; Sun, 21 May 2023 10:39:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=WCipRNEEfdfdbmHcFapDR00OZhVvJ0+WMma6Snb36cc=; b=sXYX+UepvjY4 92xWT66yg6U1Dx+QLqBjMP5EdpUHegEa4s6BIHc+fZYVnBVUhsktAGUS/Vysgp6yxaP0dE5F6dztA fqDG/9Bmfhu1uqc0keG0ByMi63zprqGXpae8JstoGI/n/dSh+xOkFgVoMX1kKjX9fAKtDLDmIvZlf 7fRXk5eY8NRWf7X7gHriBTQc7KUsP0Q6yKtIK77+jlEk/Uu6Xb0+u1KM9pTkOGHLRs0TJYxm7FDdP yqiQmL/cu2yVz+E9p+ebWaqnY973UWZwpYKbC1ezycjBHTJBRILKCUkRYu6ibub41AZdF9yfzYJdT x5/jerssa7AJV2SbeubOig==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0kDU-00065G-Nz; Sun, 21 May 2023 10:39:25 -0400 Date: Sun, 21 May 2023 17:39:44 +0300 Message-Id: <83lehhrbnz.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> In-Reply-To: <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> (message from Stefan Monnier on Sun, 21 May 2023 10:31:41 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> <831qjarzsk.fsf@HIDDEN> <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, juri@HIDDEN, zkanfer@HIDDEN, 62892 <at> debbugs.gnu.org, drew.adams@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Stefan Monnier <monnier@HIDDEN> > Cc: Zachary Kanfer <zkanfer@HIDDEN>, ruijie@HIDDEN, > 62892 <at> debbugs.gnu.org, drew.adams@HIDDEN, juri@HIDDEN > Date: Sun, 21 May 2023 10:31:41 -0400 > > Maybe the new building block is useful enough (i.e. can be used in > existing code, thus reducing overall complexity)? That'd be preferable, certainly. Enlarging the set of the commands is not my preference.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 14:31:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 10:31:57 2023 Received: from localhost ([127.0.0.1]:60949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0k6H-00074l-9a for submit <at> debbugs.gnu.org; Sun, 21 May 2023 10:31:57 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:45184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1q0k6F-00074Z-9r for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 10:31:55 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B15ED80AFC; Sun, 21 May 2023 10:31:49 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8C1EF8028B; Sun, 21 May 2023 10:31:48 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1684679508; bh=R464suOicom9kpG+7CpS1GcX8p7o1gMRH+GzG2qWS4c=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=CvSXIe6j0ngNSQTyhRlF6lCZcRVtb81xMG9DjzO4dVH0dLAGn2yhO3p1a+4xnweLn oo7Wg4N3I3uBI0LEDKxRCTOEfTtDxg6cjAdwJwmLISdwM/bkJfh9OkMVxyC9g52fgn TxhBNTIn4GSxwFPfD8VliigsZ7utZoQTTiUTp9zYC2jDkgELBV7/WQoiDHYd46Fnck eYvaXwJAt24ASKC9kx3ByIvI+Mwozt98GTVLol9rkLkLIfF93JSPFMSMa3XpwFTmdE 9sI79fM6kinXsVLuw9vlMVt3ixezFuHVbSXx5covVLqE1AufZNduH4bWPRyD54HZDG k7ECZT5DpMKBQ== Received: from pastel (unknown [45.72.217.176]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 51EB9120403; Sun, 21 May 2023 10:31:48 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <831qjarzsk.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 21 May 2023 08:58:35 +0300") Message-ID: <jwv5y8lsqon.fsf-monnier+emacs@HIDDEN> References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> <831qjarzsk.fsf@HIDDEN> Date: Sun, 21 May 2023 10:31:41 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.086 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, juri@HIDDEN, Zachary Kanfer <zkanfer@HIDDEN>, 62892 <at> debbugs.gnu.org, drew.adams@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Stefan, WDYT about this? There's a tension: on the one hand, there's a large number of alternative UIs with many slightly different commands from the ones we have, so we can't just add every single one of them to Emacs (instead, we aim to provide convenient building blocks for them), but on the other hand, we also want to make it easy for end users who don't want to program to use slightly different UIs. Maybe the new building block is useful enough (i.e. can be used in existing code, thus reducing overall complexity)? I haven't looked closely enough to have a clear opinion, I'm afraid. Stefan
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 05:58:25 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 01:58:25 2023 Received: from localhost ([127.0.0.1]:59889 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0c5I-0006gS-VT for submit <at> debbugs.gnu.org; Sun, 21 May 2023 01:58:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47930) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1q0c5H-0006gE-3v for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 01:58:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0c5A-0005He-TZ; Sun, 21 May 2023 01:58:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=H1dK6A85GhT0DYbl/lYHaabYsf+TmuHN1ZHHfzZvpAU=; b=Ap8kpPfNtWlY F0BckKTAodiNhS06rvI9lNJxuojAQcUT2eYjpffxwQljj8EguiY0yAXVsed2yIMi+PixUli3R88Wg 1gnjEW5Ws5zBWOHkSnU32pEltAC31+UeTonRxYkUDE95y4/0YQwTzFbcfp6piII0vNhUWnLWeEGC6 RjQ0P7ui6ehk4LHE+/Ycj7PG9afPUYXq7oHlU7zOMIZjzosWSmUqEzb84kY/ks/wfsn6PnUzwUxda p6DyUHHuSHYbqj03xQ1Zh+3+UDe0Nnot0IUYAHqbB/sjF6lwsD8HJWrX+tPCjrO+KNIAhlhUUHbTk HNig2vQLRnY2T6FgFx3Agg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1q0c5A-0004UC-Cy; Sun, 21 May 2023 01:58:16 -0400 Date: Sun, 21 May 2023 08:58:35 +0300 Message-Id: <831qjarzsk.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN>, Stefan Monnier <monnier@HIDDEN> In-Reply-To: <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> (message from Zachary Kanfer on Sun, 21 May 2023 01:46:21 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, drew.adams@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Zachary Kanfer <zkanfer@HIDDEN> > Date: Sun, 21 May 2023 01:46:21 -0400 > Cc: drew.adams@HIDDEN, ruijie@HIDDEN, monnier@HIDDEN, > 62892 <at> debbugs.gnu.org, juri@HIDDEN > > I think I've made as good an argument as I'm going to. It basically boils down to: > > * if the keys are bound, it's quicker to call mark-foo-forward and then mark-foo-backward than to call > mark-foo, then exchange-point-and-mark, then mark-foo again. > * This behavior is simpler and more predictable: mark-foo-forward always marks forward. mark-foo > sometimes marks forward and sometimes backwards. The complexity of the various mark-foo > functions can be seen in how many cases the docstring has. The behavior of the mark-foo-forward, > mark-foo-backward functions can be gathered from the name, without reading the docstrings. > > I understand we have different opinions, so if this isn't convincing, I'll bow out here. Thanks. Stefan, WDYT about this?
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 May 2023 05:46:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 01:46:40 2023 Received: from localhost ([127.0.0.1]:59864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1q0btw-0005xu-1n for submit <at> debbugs.gnu.org; Sun, 21 May 2023 01:46:40 -0400 Received: from mail-ot1-f45.google.com ([209.85.210.45]:52380) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1q0btt-0005xh-U9 for 62892 <at> debbugs.gnu.org; Sun, 21 May 2023 01:46:38 -0400 Received: by mail-ot1-f45.google.com with SMTP id 46e09a7af769-6af6fe73f11so311094a34.0 for <62892 <at> debbugs.gnu.org>; Sat, 20 May 2023 22:46:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684647992; x=1687239992; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=x9ogGORWlVoc8rwW3niGqYCfb9jIm4+mzJWH3LCegxA=; b=EF0LvaPlPttwvQjZr7Kc6YYPkT4TdVzc4gTjimBOEK+HnEekMXQVuquJlq6UXQo741 FfHxZghHYnu5631REklxeO15GPWc+SVbd4UqRMc7KeT6bSkicmQnnNBE7UjURwEYUp4A /cydTiKvm9CBKgKWAhGrlyrcAsVQJtObuj8Dm3FRFbtFmuPvQbVPX3YCi8dSUfLFL4BU GmKGSGrmMuNDL7SfBghFIa8KSiaRF1rWP0xZviSUB2vaI9ggxQLUavtgOLK2yhWigjXs 4pQYqf4KDnOmby1xsy5gusTXrfpEoRWCSKRDWp91+VomfZIEAFqU6oHditudm4V58oOk 2pGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684647992; x=1687239992; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=x9ogGORWlVoc8rwW3niGqYCfb9jIm4+mzJWH3LCegxA=; b=a3V4kIcFIuFtKWXwhHtKlVAMpxULJH8xPJVXbCQBHeAd06S65PAjv4ZBn4oCmzSTQs DZeGQr6PG2ji1z5ycwTkp1C2I2f4CXbLZi7NyR8b4MmeNZvC/QyWV/mTQYVRglBY32YF lfLbkpRshPcf8Oz3euJzR/qaX8rvUtihn712u62MWD8ZgRX2mCMyUanXqweiiFBacQlp klJ6C6e7JtQmjwYi8MXiI1ocUryOdHi7ES/c1AAoQ90E0LevSK4Prplsin1mdADEdTpa 7+py6MEqjCPcCzbd2dhOUXb+zkeS++fPEnDetStyPu6CQMwHELej0Kfv3ZZuKeWuTiyt wQcA== X-Gm-Message-State: AC+VfDwL1L0xzn1NMAa9fe33rTeoujGHFgVoal3jFjJ2nSVxL+JtBp/E zN3GtXY1aqoaseQYbv5URwLnOgfhkmH8UYIympA= X-Google-Smtp-Source: ACHHUZ4tkhG32gGi18nsLzCF3FMHM0q15eJ9gMpy52EzyCQ3NxqgBgqLNFxMbCiHakmag0UInagR56ldQa9FKELCFtw= X-Received: by 2002:a05:6808:4da:b0:396:33a9:1e0b with SMTP id a26-20020a05680804da00b0039633a91e0bmr3676484oie.34.1684647991870; Sat, 20 May 2023 22:46:31 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> <83o7miw2qk.fsf@HIDDEN> In-Reply-To: <83o7miw2qk.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Sun, 21 May 2023 01:46:21 -0400 Message-ID: <CAFXT+RPY6zWTn2Ts991admZt6CNxmWTifk=3xRO+q2-dF721sA@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Eli Zaretskii <eliz@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000208c0a05fc2dad10" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, monnier@HIDDEN, drew.adams@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --000000000000208c0a05fc2dad10 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I think I've made as good an argument as I'm going to. It basically boils down to: * if the keys are bound, it's quicker to call mark-foo-forward and then mark-foo-backward than to call mark-foo, then exchange-point-and-mark, then mark-foo again. * This behavior is simpler and more predictable: mark-foo-forward always marks forward. mark-foo sometimes marks forward and sometimes backwards. The complexity of the various mark-foo functions can be seen in how many cases the docstring has. The behavior of the mark-foo-forward, mark-foo-backward functions can be gathered from the name, without reading the docstrings. I understand we have different opinions, so if this isn't convincing, I'll bow out here. Thanks. On Thu, May 18, 2023 at 2:52=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote: > > Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier < > monnier@HIDDEN>, > > "62892 <at> debbugs.gnu.org" <62892 <at> debbugs.gnu.org>, Juri Linkov < > juri@HIDDEN> > > From: Zachary Kanfer <zkanfer@HIDDEN> > > Date: Wed, 17 May 2023 23:17:01 -0400 > > > > Is there anything I can do to make this patch easier to evaluate? As fa= r > as I'm aware, I've addressed > > all comments that have been made in this thread. > > My POV is still as it was before: I'm not sure we should add these new > commands, since the existing commands already provide this > functionality, if you use "C-x C-x" to switch the direction. > > I've seen nothing in the discussion which made me change my mind. Did > I overlook some convincing arguments? > --000000000000208c0a05fc2dad10 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>I think I've made as good an argument as I'm = going to. It basically boils down to:<br></div><div><br></div><div>* if the= keys are bound, it's quicker to call mark-foo-forward and then mark-fo= o-backward than to call mark-foo, then exchange-point-and-mark, then mark-f= oo again.</div><div>* This behavior is simpler and more predictable: mark-f= oo-forward always marks forward. mark-foo sometimes marks forward and somet= imes backwards. The complexity of the various mark-foo functions can be see= n in how many cases the docstring has. The behavior of the mark-foo-forward= , mark-foo-backward functions can be gathered from the name, without readin= g the docstrings.<br></div><div><br></div><div>I understand we have differe= nt opinions, so if this isn't convincing, I'll bow out here. Thanks= .<br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"g= mail_attr">On Thu, May 18, 2023 at 2:52=E2=80=AFAM Eli Zaretskii <<a hre= f=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>> wrote:<br></div><blockquote = class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol= id rgb(204,204,204);padding-left:1ex">> Cc: Ruijie Yu <<a href=3D"mai= lto:ruijie@HIDDEN" target=3D"_blank">ruijie@HIDDEN</a>>, Stefan Mo= nnier <<a href=3D"mailto:monnier@HIDDEN" target=3D"_blank">mon= nier@HIDDEN</a>>,<br> >=C2=A0 "<a href=3D"mailto:62892 <at> debbugs.gnu.org" target=3D"_blank"= >62892 <at> debbugs.gnu.org</a>" <<a href=3D"mailto:62892@HIDDEN= g" target=3D"_blank">62892 <at> debbugs.gnu.org</a>>, Juri Linkov <<a href= =3D"mailto:juri@HIDDEN" target=3D"_blank">juri@HIDDEN</a>><br> > From: Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN" target= =3D"_blank">zkanfer@HIDDEN</a>><br> > Date: Wed, 17 May 2023 23:17:01 -0400<br> > <br> > Is there anything I can do to make this patch easier to evaluate? As f= ar as I'm aware, I've addressed<br> > all comments that have been made in this thread.<br> <br> My POV is still as it was before: I'm not sure we should add these new<= br> commands, since the existing commands already provide this<br> functionality, if you use "C-x C-x" to switch the direction.<br> <br> I've seen nothing in the discussion which made me change my mind.=C2=A0= Did<br> I overlook some convincing arguments?<br> </blockquote></div> --000000000000208c0a05fc2dad10--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 18 May 2023 06:52:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 18 02:52:15 2023 Received: from localhost ([127.0.0.1]:51764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pzXUl-0007nf-C7 for submit <at> debbugs.gnu.org; Thu, 18 May 2023 02:52:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1pzXUj-0007nO-Nh for 62892 <at> debbugs.gnu.org; Thu, 18 May 2023 02:52:14 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1pzXUd-0003g2-S5; Thu, 18 May 2023 02:52:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Rrqxp1ZXBktNxstHzYrQaOCZHDuRkBIs1AZ6cf+VDSk=; b=dipfmQGbYWsk vwrxUTU99HJlvJuyx9aMJL/vEx2RJ6bf8GnH8KIw8W+X39Mm1yzTgSdciVw7UsU4VpXQBJHroLgo2 oNxRQGd8o0U0i6SiZuyWIn1HQVqUYEjM7iDvfJ3QYBp4doDaIwSuTiJKIiZ0Ku01cD4mnGCzfAzog OmE1kxAnDPn0nZ929n5F6NOyeF3IUwqWoSiSx5oNW1S1V8ZoHVWWjFXvQgHi472c/w7/v97AmjRgD 35lJgd3Yfrv0SFYAKGJ4UCaLqyrmPRAn8QOn/mjgrUoIGyxsILzRpahRE7h7JHZGAvVj+jREwEnlc 3KkGUFcFKUfyvTvixMdrrQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1pzXUd-00020P-Fl; Thu, 18 May 2023 02:52:07 -0400 Date: Thu, 18 May 2023 09:52:19 +0300 Message-Id: <83o7miw2qk.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> In-Reply-To: <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> (message from Zachary Kanfer on Wed, 17 May 2023 23:17:01 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, monnier@HIDDEN, drew.adams@HIDDEN, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, > "62892 <at> debbugs.gnu.org" <62892 <at> debbugs.gnu.org>, Juri Linkov <juri@HIDDEN> > From: Zachary Kanfer <zkanfer@HIDDEN> > Date: Wed, 17 May 2023 23:17:01 -0400 > > Is there anything I can do to make this patch easier to evaluate? As far as I'm aware, I've addressed > all comments that have been made in this thread. My POV is still as it was before: I'm not sure we should add these new commands, since the existing commands already provide this functionality, if you use "C-x C-x" to switch the direction. I've seen nothing in the discussion which made me change my mind. Did I overlook some convincing arguments?
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 18 May 2023 03:17:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 17 23:17:21 2023 Received: from localhost ([127.0.0.1]:51594 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pzU8m-0007KW-MJ for submit <at> debbugs.gnu.org; Wed, 17 May 2023 23:17:21 -0400 Received: from mail-oi1-f180.google.com ([209.85.167.180]:60575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1pzU8k-0007KF-9A for 62892 <at> debbugs.gnu.org; Wed, 17 May 2023 23:17:19 -0400 Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-394690088acso1195223b6e.0 for <62892 <at> debbugs.gnu.org>; Wed, 17 May 2023 20:17:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684379832; x=1686971832; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1Tq8CTguT9sqhZgSDTUFqIrA/YdK4kyax/vqGzQB1E8=; b=TrDg+EWN1O1fNYLuZ3e29zfTG1ildc0TGAD0Un+/2xE2cNDpfET4uMRECZFdYjTSLD ytwH6O0rza84BsdRPqMUIeqD8/i4cg8rSkAX4DoNdcysZgcGUmx9G4Z+zxh9sLkhSmXd f6GbJLR2AgNem8rdcWemmsC0uyyXGK0qkIC8jRoSnx8tmTL7jnXw5YkfpW0gYirve58E 74/JKJbo9Z2puTlrMC5d7XMcA84yzWvZZdUIsVS9ZXfkLn9MfQfpa9QLxwWLFK14coWF Ak4BZuGu5TW8uI2Q6A6muMmF984xENDgnoXx6YiOUMZtTjP/yZae4fiEZG8kIULpbDwJ l3Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684379832; x=1686971832; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1Tq8CTguT9sqhZgSDTUFqIrA/YdK4kyax/vqGzQB1E8=; b=FB2AlxmjnKsD6/EUywWzDaXkrx3Xjtv2cRseB1ch4JAY8n3DVQIDa6zluF500AYpEY LSGD5xtL9K7vkMz/ZJ8xLF0quGgWBIljX36Sk3LRaKjVoV6+f62w9eerskii6QK9ERJF Hwch3gndveB2S7Y7Hqd3qA8VVz2P8NmFf2TJz111+aVUDh0C3DocZxMeyGR/1DXyAAqf ORtx/HQxLa5Idib0NYITrH6b9fhyJoNk+gat0IubHVpY5CWLB4707Sf1NkdSf9oa4/ge R1neEgn93A5gAKYBaajXDTM04p0HOGB46b2zPkR/tdhURnDobpFM0IczQ1ExPruOS0mz 4JwQ== X-Gm-Message-State: AC+VfDy1bCXJCiIvy53ulvMJHfHgxkxjIZrB5r82H3qdKiqV/1bCinEQ sd/gHcmAk5Cg8DnoRKP7f53/YF/D2+BZlhTk/a8= X-Google-Smtp-Source: ACHHUZ7DKxqETNDx90q+CkVaVZWXsgQfnTvTTRyYyuAuJrFBvcUV2W5IvFrKJrz4KWXFfuM2WSVKOwFrVevEld3KctE= X-Received: by 2002:a05:6808:5d4:b0:38b:fa17:5c99 with SMTP id d20-20020a05680805d400b0038bfa175c99mr444195oij.17.1684379832300; Wed, 17 May 2023 20:17:12 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> In-Reply-To: <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Wed, 17 May 2023 23:17:01 -0400 Message-ID: <CAFXT+RNR_K6LTNr_Ss97eCLULrfcK9kfeN77UqLxZNiDq1DzpQ@HIDDEN> Subject: Re: [External] : bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Drew Adams <drew.adams@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000924a7a05fbef3dac" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, "62892 <at> debbugs.gnu.org" <62892 <at> debbugs.gnu.org>, Juri Linkov <juri@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --000000000000924a7a05fbef3dac Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Is there anything I can do to make this patch easier to evaluate? As far as I'm aware, I've addressed all comments that have been made in this thread. On Mon, May 8, 2023 at 8:28=E2=80=AFAM Zachary Kanfer <zkanfer@HIDDEN> w= rote: > Attached is a patch with the following changes: > > * Uses the helper function to create mark-foo-forward, mark-foo-backward > for word, paragraph, sexp, page, and defun. > * Adds tests for all of these. > * Adds these new functions to etc/NEWS and various .texi files in > doc/emacs/. > > On Thu, May 4, 2023 at 12:48=E2=80=AFAM Zachary Kanfer <zkanfer@HIDDEN= > wrote: > >> > Is it an "internal" function? Then its name should >> > maybe use `--'. (But why should it be internal?) >> >> Hrm, I figured it would be an internal function because it's intended to >> be wrapped by other code. But this describes a whole lot of functions. S= o >> it can't be that. >> >> I suppose that if there are other types of things that are created that >> one might want to mark, then a user could use this method to mark them. = So >> perhaps it shouldn't be internal -- it really could be used by other cod= e. >> >> > Is it a helper function? Then its name should maybe >> > use a suffix that indicates that, such as `-helper' >> > or `-1' (old-school Lisp, I suppose). >> >> It's certainly a helper function -- it's intended to be called by a bunc= h >> of different functions we write. >> >> > `mark-thing' should be reserved for a function that >> > takes a THING name as arg: `sexp', `page', etc., >> > instead of a movement function such as `forward-sexp'. >> >> This makes a lot of sense to me. >> >> On Fri, Apr 28, 2023 at 3:28=E2=80=AFPM Drew Adams <drew.adams@HIDDEN= m> wrote: >> >>> > > +(defun mark--helper (move-fn number-of-things) >>> > >>> > A nicer name would be 'mark-thing' as a reference to thingatpt.el. >>> >>> FWIW, I have a different take on this. >>> >>> Is it an "internal" function? Then its name should >>> maybe use `--'. (But why should it be internal?) >>> >>> Is it a helper function? Then its name should maybe >>> use a suffix that indicates that, such as `-helper' >>> or `-1' (old-school Lisp, I suppose). >>> >>> `mark-thing' should be reserved for a function that >>> takes a THING name as arg: `sexp', `page', etc., >>> instead of a movement function such as `forward-sexp'. >>> ___ >>> >>> FWIW, I think MOVE-FN is a fine name for the argument. >>> My own preference, and what I use in my code, is the >>> name FORWARD-THING-FUNCTION. >>> ___ >>> >>> FWIW, in my library isearch+.el), I use the arg name >>> THING for a thing name, not a movement or other >>> function. >>> >>> E.g.: Function `isearchp-in-thing-p' is a helper >>> function for defining specific THING-type predicates, >>> such as `isearch(-not)-in-email-address-p'. >>> ___ >>> >>> FWIW, my library `thing-cmds.el' has a command named >>> `mark-things', which prompts for a THING type as arg: >>> >>> mark-things is an alias for 'select-things' in 'thing-cmds.el'. >>> >>> (mark-things THING &optional ARG ALLOW-EXTEND) >>> >>> Set point at one end of THING and set mark ARG THINGs from point. >>> THING is a symbol that names a type of thing. Interactively, you are >>> prompted for it. Completion is available (lax). >>> >>> (If THING doesn't have an associated `forward-'THING operation then >>> do nothing.) >>> >>> Put mark at the same place command `forward-'THING would move point >>> with the same prefix argument. >>> >>> Put point at the beginning of THING, unless the prefix argument (ARG) >>> is negative, in which case put it at the end of THING. >>> >>> If `select-things' is repeated or if the mark is active (in Transient >>> Mark mode), then it marks the next ARG THINGs, after the ones already >>> marked. In this case the type of THING used is whatever was used the >>> last time `select-things' was called - you are not prompted for it. >>> >>> This region extension reusing the last type of THING happens even if >>> the active region is empty. This means that you can, for instance, >>> just use `C-SPC' to activate an empty region and then use >>> `select-things' to select more THINGS of the last kind selected. >>> >>> If there is no THING at point, and `thgcmd-use-nearest-thing-flag' is >>> non-nil, then select a THING near point. >>> >>> --000000000000924a7a05fbef3dac Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Is there anything I can do to make this patch easier to ev= aluate? As far as I'm aware, I've addressed all comments that have = been made in this thread.<br></div><br><div class=3D"gmail_quote"><div dir= =3D"ltr" class=3D"gmail_attr">On Mon, May 8, 2023 at 8:28=E2=80=AFAM Zachar= y Kanfer <<a href=3D"mailto:zkanfer@HIDDEN">zkanfer@HIDDEN</a>>= wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px = 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir= =3D"ltr"><div>Attached is a patch with the following changes:</div><div><br= ></div><div>* Uses the helper function to create mark-foo-forward, mark-foo= -backward for word, paragraph, sexp, page, and defun.</div><div>* Adds test= s for all of these.</div><div>* Adds these new functions to etc/NEWS and va= rious .texi files in doc/emacs/.<br></div></div><br><div class=3D"gmail_quo= te"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, May 4, 2023 at 12:48=E2= =80=AFAM Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN" target=3D"= _blank">zkanfer@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmai= l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20= 4,204);padding-left:1ex"><div dir=3D"ltr"><span>>=20 Is it an "internal" function?=C2=A0 Then its name should<br><div> > maybe use `--'.=C2=A0 (But why should it be internal?)<br> </div><div><br></div></span><div>Hrm, I figured it would be an internal=20 function because it's intended to be wrapped by other code. But this=20 describes a whole lot of functions. So it can't be that.</div><div><br>= </div><div>I suppose that if there are other types of things that are created that=20 one might want to mark, then a user could use this method to mark them.=20 So perhaps it shouldn't be internal -- it really could be used by other= =20 code.<br></div><span><div><br></div><div>> Is it a helper function?=C2= =A0 Then its name should maybe<br> > use a suffix that indicates that, such as `-helper'<br> > or `-1' (old-school Lisp, I suppose).</div><div><br></div></span><= div>It's certainly a helper function -- it's intended to be called = by a bunch of different functions we write.</div><span><div><br></div><div>= > `mark-thing' should be reserved for a function that<br>> takes = a THING name as arg: `sexp', `page', etc.,<br>> instead of a mov= ement function such as `forward-sexp'.</div><div><br></div></span><div>= This makes a lot of sense to me.</div></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Fri, Apr 28, 2023 at 3:28=E2=80=AF= PM Drew Adams <<a href=3D"mailto:drew.adams@HIDDEN" target=3D"_blank= ">drew.adams@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_= quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,= 204);padding-left:1ex">> > +(defun mark--helper (move-fn number-of-th= ings)<br> > <br> > A nicer name would be 'mark-thing' as a reference to thingatpt= .el.<br> <br> FWIW, I have a different take on this.<br> <br> Is it an "internal" function?=C2=A0 Then its name should<br> maybe use `--'.=C2=A0 (But why should it be internal?)<br> <br> Is it a helper function?=C2=A0 Then its name should maybe<br> use a suffix that indicates that, such as `-helper'<br> or `-1' (old-school Lisp, I suppose).<br> <br> `mark-thing' should be reserved for a function that<br> takes a THING name as arg: `sexp', `page', etc.,<br> instead of a movement function such as `forward-sexp'.<br> ___<br> <br> FWIW, I think MOVE-FN is a fine name for the argument.<br> My own preference, and what I use in my code, is the<br> name FORWARD-THING-FUNCTION.<br> ___<br> <br> FWIW, in my library isearch+.el), I use the arg name<br> THING for a thing name, not a movement or other<br> function.<br> <br> E.g.: Function `isearchp-in-thing-p' is a helper<br> function for defining specific THING-type predicates,<br> such as `isearch(-not)-in-email-address-p'.<br> ___<br> <br> FWIW, my library `thing-cmds.el' has a command named<br> `mark-things', which prompts for a THING type as arg:<br> <br> =C2=A0mark-things is an alias for 'select-things' in 'thing-cmd= s.el'.<br> <br> =C2=A0(mark-things THING &optional ARG ALLOW-EXTEND)<br> <br> =C2=A0Set point at one end of THING and set mark ARG THINGs from point.<br> =C2=A0THING is a symbol that names a type of thing.=C2=A0 Interactively, yo= u are<br> =C2=A0prompted for it.=C2=A0 Completion is available (lax).<br> <br> =C2=A0(If THING doesn't have an associated `forward-'THING operatio= n then<br> =C2=A0do nothing.)<br> <br> =C2=A0Put mark at the same place command `forward-'THING would move poi= nt<br> =C2=A0with the same prefix argument.<br> <br> =C2=A0Put point at the beginning of THING, unless the prefix argument (ARG)= <br> =C2=A0is negative, in which case put it at the end of THING.<br> <br> =C2=A0If `select-things' is repeated or if the mark is active (in Trans= ient<br> =C2=A0Mark mode), then it marks the next ARG THINGs, after the ones already= <br> =C2=A0marked.=C2=A0 In this case the type of THING used is whatever was use= d the<br> =C2=A0last time `select-things' was called - you are not prompted for i= t.<br> <br> =C2=A0This region extension reusing the last type of THING happens even if<= br> =C2=A0the active region is empty.=C2=A0 This means that you can, for instan= ce,<br> =C2=A0just use `C-SPC' to activate an empty region and then use<br> =C2=A0`select-things' to select more THINGS of the last kind selected.<= br> <br> =C2=A0If there is no THING at point, and `thgcmd-use-nearest-thing-flag'= ; is<br> =C2=A0non-nil, then select a THING near point.<br> <br> </blockquote></div> </blockquote></div> </blockquote></div> --000000000000924a7a05fbef3dac--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 8 May 2023 12:28:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 08 08:28:47 2023 Received: from localhost ([127.0.0.1]:39541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pvzyv-0003CL-I2 for submit <at> debbugs.gnu.org; Mon, 08 May 2023 08:28:47 -0400 Received: from mail-oo1-f54.google.com ([209.85.161.54]:59792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1pvzyr-0003C5-2O for 62892 <at> debbugs.gnu.org; Mon, 08 May 2023 08:28:43 -0400 Received: by mail-oo1-f54.google.com with SMTP id 006d021491bc7-54cb8d72c0bso2361696eaf.3 for <62892 <at> debbugs.gnu.org>; Mon, 08 May 2023 05:28:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683548915; x=1686140915; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ErxfZmXKt100Fvvl6tWGKQHdoLWD+I29zhjlQVdC+5o=; b=F1c1AbyEBciL5RQMnMlJ3nMv6fHhaHgh02qS8PEGaYu+dBL7e2bxgDrKE3IMwYhj+g TuBOGqF/+/InwylMTepnCwFZ4lIn7dlzqs9EdwE+Sc0jun8Cn8LK5cnaYQa2TSbtq677 G44DvEtgJ5wNNEvbojC8FyvrZchuIbgWDj3HASRMzl6X6MvnbmhG3XL5s6oDK4UBsVf9 X9VJ5RdH+jOJAMk6vEmGq6posbvIMl4hWNyeFg1FTwpxVNNkhAzuOiVhyssp77F6E/II TxSiJ0qwoqZraPjZwcXvrmLQ+JXEAxVR2T0I/Dpx/jTkA1nmx8Yjgi/k+aWgrqN7sLU6 QDew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683548915; x=1686140915; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ErxfZmXKt100Fvvl6tWGKQHdoLWD+I29zhjlQVdC+5o=; b=Ybrz3xNcpp0EDQTkVD32qCyx15w7bjzm5U9A/HpS9L7HBAI4wlOCapFAMXr6JO/Ccc eg+QHmox98spwkwkjO6bAV0Yqac6qugQ//owWA4ZwP1TOO1Ig5Z0GMRDge5p18eHTAK0 dcB9sU/HcW7gRBpxN/1aIk6XMhvNOhSZiVPKWyuuuRaEu2C3OH0ODfVFYKAg6QW6xkqH SouDkXeNtyDT1SQ3tu+l0APHlYCWzOM9upZxlrMMKIB0tqKLAdbGHBPSYFqyM/Nuscvo JD4kRgoSb4P7Z9THc021Mezb4T22HzYD8LDSQ4mYTGj/LhtE8vRkFrn5HhJ2ynvcYLdP pNHA== X-Gm-Message-State: AC+VfDxGLpoaGyddTQDv3iG7DqPPzg3vIFAA9xpXRpNPC/iSCd3qf74H TP2wBgGO7RFp0z3+KklRvJ7YTKtL1kufVI4Yj4I= X-Google-Smtp-Source: ACHHUZ5cF9KFkkdvMcpr4Ezs8n4ukJ7n14PXRcTO1F7Vv+42irPNBdIB6miFr2uJaEV/VkEsSOwreb5LRgVxZcueKnQ= X-Received: by 2002:a4a:9c17:0:b0:545:2420:2a77 with SMTP id y23-20020a4a9c17000000b0054524202a77mr4196533ooj.6.1683548915324; Mon, 08 May 2023 05:28:35 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> In-Reply-To: <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Mon, 8 May 2023 08:28:24 -0400 Message-ID: <CAFXT+ROH9HADi2Di5FsbykD02yFN6f=c0-B0SHav_LB1OmB=oQ@HIDDEN> Subject: Re: [External] : bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Drew Adams <drew.adams@HIDDEN> Content-Type: multipart/mixed; boundary="0000000000000f699705fb2dc7ed" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, "62892 <at> debbugs.gnu.org" <62892 <at> debbugs.gnu.org>, Juri Linkov <juri@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --0000000000000f699705fb2dc7ed Content-Type: multipart/alternative; boundary="0000000000000f699605fb2dc7eb" --0000000000000f699605fb2dc7eb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Attached is a patch with the following changes: * Uses the helper function to create mark-foo-forward, mark-foo-backward for word, paragraph, sexp, page, and defun. * Adds tests for all of these. * Adds these new functions to etc/NEWS and various .texi files in doc/emacs/. On Thu, May 4, 2023 at 12:48=E2=80=AFAM Zachary Kanfer <zkanfer@HIDDEN> = wrote: > > Is it an "internal" function? Then its name should > > maybe use `--'. (But why should it be internal?) > > Hrm, I figured it would be an internal function because it's intended to > be wrapped by other code. But this describes a whole lot of functions. So > it can't be that. > > I suppose that if there are other types of things that are created that > one might want to mark, then a user could use this method to mark them. S= o > perhaps it shouldn't be internal -- it really could be used by other code= . > > > Is it a helper function? Then its name should maybe > > use a suffix that indicates that, such as `-helper' > > or `-1' (old-school Lisp, I suppose). > > It's certainly a helper function -- it's intended to be called by a bunch > of different functions we write. > > > `mark-thing' should be reserved for a function that > > takes a THING name as arg: `sexp', `page', etc., > > instead of a movement function such as `forward-sexp'. > > This makes a lot of sense to me. > > On Fri, Apr 28, 2023 at 3:28=E2=80=AFPM Drew Adams <drew.adams@HIDDEN= > wrote: > >> > > +(defun mark--helper (move-fn number-of-things) >> > >> > A nicer name would be 'mark-thing' as a reference to thingatpt.el. >> >> FWIW, I have a different take on this. >> >> Is it an "internal" function? Then its name should >> maybe use `--'. (But why should it be internal?) >> >> Is it a helper function? Then its name should maybe >> use a suffix that indicates that, such as `-helper' >> or `-1' (old-school Lisp, I suppose). >> >> `mark-thing' should be reserved for a function that >> takes a THING name as arg: `sexp', `page', etc., >> instead of a movement function such as `forward-sexp'. >> ___ >> >> FWIW, I think MOVE-FN is a fine name for the argument. >> My own preference, and what I use in my code, is the >> name FORWARD-THING-FUNCTION. >> ___ >> >> FWIW, in my library isearch+.el), I use the arg name >> THING for a thing name, not a movement or other >> function. >> >> E.g.: Function `isearchp-in-thing-p' is a helper >> function for defining specific THING-type predicates, >> such as `isearch(-not)-in-email-address-p'. >> ___ >> >> FWIW, my library `thing-cmds.el' has a command named >> `mark-things', which prompts for a THING type as arg: >> >> mark-things is an alias for 'select-things' in 'thing-cmds.el'. >> >> (mark-things THING &optional ARG ALLOW-EXTEND) >> >> Set point at one end of THING and set mark ARG THINGs from point. >> THING is a symbol that names a type of thing. Interactively, you are >> prompted for it. Completion is available (lax). >> >> (If THING doesn't have an associated `forward-'THING operation then >> do nothing.) >> >> Put mark at the same place command `forward-'THING would move point >> with the same prefix argument. >> >> Put point at the beginning of THING, unless the prefix argument (ARG) >> is negative, in which case put it at the end of THING. >> >> If `select-things' is repeated or if the mark is active (in Transient >> Mark mode), then it marks the next ARG THINGs, after the ones already >> marked. In this case the type of THING used is whatever was used the >> last time `select-things' was called - you are not prompted for it. >> >> This region extension reusing the last type of THING happens even if >> the active region is empty. This means that you can, for instance, >> just use `C-SPC' to activate an empty region and then use >> `select-things' to select more THINGS of the last kind selected. >> >> If there is no THING at point, and `thgcmd-use-nearest-thing-flag' is >> non-nil, then select a THING near point. >> >> --0000000000000f699605fb2dc7eb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Attached is a patch with the following changes:</div>= <div><br></div><div>* Uses the helper function to create mark-foo-forward, = mark-foo-backward for word, paragraph, sexp, page, and defun.</div><div>* A= dds tests for all of these.</div><div>* Adds these new functions to etc/NEW= S and various .texi files in doc/emacs/.<br></div></div><br><div class=3D"g= mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, May 4, 2023 at 12= :48=E2=80=AFAM Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN">zkan= fer@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_quote" sty= le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi= ng-left:1ex"><div dir=3D"ltr"><span>>=20 Is it an "internal" function?=C2=A0 Then its name should<br><div> > maybe use `--'.=C2=A0 (But why should it be internal?)<br> </div><div><br></div></span><div>Hrm, I figured it would be an internal=20 function because it's intended to be wrapped by other code. But this=20 describes a whole lot of functions. So it can't be that.</div><div><br>= </div><div>I suppose that if there are other types of things that are created that=20 one might want to mark, then a user could use this method to mark them.=20 So perhaps it shouldn't be internal -- it really could be used by other= =20 code.<br></div><span><div><br></div><div>> Is it a helper function?=C2= =A0 Then its name should maybe<br> > use a suffix that indicates that, such as `-helper'<br> > or `-1' (old-school Lisp, I suppose).</div><div><br></div></span><= div>It's certainly a helper function -- it's intended to be called = by a bunch of different functions we write.</div><span><div><br></div><div>= > `mark-thing' should be reserved for a function that<br>> takes = a THING name as arg: `sexp', `page', etc.,<br>> instead of a mov= ement function such as `forward-sexp'.</div><div><br></div></span><div>= This makes a lot of sense to me.</div></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Fri, Apr 28, 2023 at 3:28=E2=80=AF= PM Drew Adams <<a href=3D"mailto:drew.adams@HIDDEN" target=3D"_blank= ">drew.adams@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_= quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,= 204);padding-left:1ex">> > +(defun mark--helper (move-fn number-of-th= ings)<br> > <br> > A nicer name would be 'mark-thing' as a reference to thingatpt= .el.<br> <br> FWIW, I have a different take on this.<br> <br> Is it an "internal" function?=C2=A0 Then its name should<br> maybe use `--'.=C2=A0 (But why should it be internal?)<br> <br> Is it a helper function?=C2=A0 Then its name should maybe<br> use a suffix that indicates that, such as `-helper'<br> or `-1' (old-school Lisp, I suppose).<br> <br> `mark-thing' should be reserved for a function that<br> takes a THING name as arg: `sexp', `page', etc.,<br> instead of a movement function such as `forward-sexp'.<br> ___<br> <br> FWIW, I think MOVE-FN is a fine name for the argument.<br> My own preference, and what I use in my code, is the<br> name FORWARD-THING-FUNCTION.<br> ___<br> <br> FWIW, in my library isearch+.el), I use the arg name<br> THING for a thing name, not a movement or other<br> function.<br> <br> E.g.: Function `isearchp-in-thing-p' is a helper<br> function for defining specific THING-type predicates,<br> such as `isearch(-not)-in-email-address-p'.<br> ___<br> <br> FWIW, my library `thing-cmds.el' has a command named<br> `mark-things', which prompts for a THING type as arg:<br> <br> =C2=A0mark-things is an alias for 'select-things' in 'thing-cmd= s.el'.<br> <br> =C2=A0(mark-things THING &optional ARG ALLOW-EXTEND)<br> <br> =C2=A0Set point at one end of THING and set mark ARG THINGs from point.<br> =C2=A0THING is a symbol that names a type of thing.=C2=A0 Interactively, yo= u are<br> =C2=A0prompted for it.=C2=A0 Completion is available (lax).<br> <br> =C2=A0(If THING doesn't have an associated `forward-'THING operatio= n then<br> =C2=A0do nothing.)<br> <br> =C2=A0Put mark at the same place command `forward-'THING would move poi= nt<br> =C2=A0with the same prefix argument.<br> <br> =C2=A0Put point at the beginning of THING, unless the prefix argument (ARG)= <br> =C2=A0is negative, in which case put it at the end of THING.<br> <br> =C2=A0If `select-things' is repeated or if the mark is active (in Trans= ient<br> =C2=A0Mark mode), then it marks the next ARG THINGs, after the ones already= <br> =C2=A0marked.=C2=A0 In this case the type of THING used is whatever was use= d the<br> =C2=A0last time `select-things' was called - you are not prompted for i= t.<br> <br> =C2=A0This region extension reusing the last type of THING happens even if<= br> =C2=A0the active region is empty.=C2=A0 This means that you can, for instan= ce,<br> =C2=A0just use `C-SPC' to activate an empty region and then use<br> =C2=A0`select-things' to select more THINGS of the last kind selected.<= br> <br> =C2=A0If there is no THING at point, and `thgcmd-use-nearest-thing-flag'= ; is<br> =C2=A0non-nil, then select a THING near point.<br> <br> </blockquote></div> </blockquote></div> --0000000000000f699605fb2dc7eb-- --0000000000000f699705fb2dc7ed Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-foo-mark-forward-foo-mark-backward-for-various-f.patch" Content-Disposition: attachment; filename="0001-Add-foo-mark-forward-foo-mark-backward-for-various-f.patch" Content-Transfer-Encoding: base64 Content-ID: <f_lhetjnpe0> X-Attachment-Id: f_lhetjnpe0 RnJvbSAxNzM4NmJlNTcxMjE1OWFhMzhmODk0Yzk4M2ZjNDhiMjFhMjM0YWUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYWNoYXJ5IEthbmZlciA8emthbmZlckBnbWFpbC5jb20+CkRh dGU6IFN1biwgMTYgQXByIDIwMjMgMjI6MTY6MzkgLTA0MDAKU3ViamVjdDogW1BBVENIXSBBZGQg Zm9vLW1hcmstZm9yd2FyZCwgZm9vLW1hcmstYmFja3dhcmQsIGZvciB2YXJpb3VzIGZvby4KClRo aXMgYWRkcyBtZXRob2RzIHRvIG1hcmsgZm9yd2FyZCBhbmQgYmFja3dhcmQgZm9yIHRoZSBnaXZl biBvYmplY3RzOgoKKiB3b3JkCiogc2V4cAoqIGRlZnVuCiogcGFyYWdyYXBoCiogcGFnZQotLS0K IGRvYy9lbWFjcy9tYXJrLnRleGkgICAgICAgICAgICAgICAgICAgICB8ICAxNyArKwogZG9jL2Vt YWNzL3Byb2dyYW1zLnRleGkgICAgICAgICAgICAgICAgIHwgICA4ICsKIGRvYy9lbWFjcy90ZXh0 LnRleGkgICAgICAgICAgICAgICAgICAgICB8ICAxOCArKwogZXRjL05FV1MgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIwICsrCiBsaXNwL2VtYWNzLWxpc3AvbGlzcC5lbCAgICAg ICAgICAgICAgICAgfCAgNjAgKysrKysrCiBsaXNwL3NpbXBsZS5lbCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNDYgKysrKysKIGxpc3AvdGV4dG1vZGVzL3BhZ2UuZWwgICAgICAgICAgICAg ICAgICB8ICAxNCArKwogbGlzcC90ZXh0bW9kZXMvcGFyYWdyYXBocy5lbCAgICAgICAgICAgIHwg IDE0ICsrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9saXNwLXRlc3RzLmVsICAgICAgfCAyNjIgKysr KysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3Avc2ltcGxlLXRlc3RzLmVsICAgICAgICAg ICAgICAgfCAgMTQgKysKIHRlc3QvbGlzcC90ZXh0bW9kZXMvcGFnZS10ZXN0cy5lbCAgICAgICB8 ICAxMSArCiB0ZXN0L2xpc3AvdGV4dG1vZGVzL3BhcmFncmFwaHMtdGVzdHMuZWwgfCAgMzQgKysr CiAxMiBmaWxlcyBjaGFuZ2VkLCA1MTggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9l bWFjcy9tYXJrLnRleGkgYi9kb2MvZW1hY3MvbWFyay50ZXhpCmluZGV4IDNmMWM3NmMxNTkxLi42 YWExMmI3ODE4MSAxMDA2NDQKLS0tIGEvZG9jL2VtYWNzL21hcmsudGV4aQorKysgYi9kb2MvZW1h Y3MvbWFyay50ZXhpCkBAIC0yMTYsNiArMjE2LDE1IEBAIE1hcmtpbmcgT2JqZWN0cwogdG8gYWR2 YW5jZSB0aGUgbWFyayBieSBAdmFye259IHdvcmRzLiAgQSBuZWdhdGl2ZSBhcmd1bWVudAogQG1p bnVze31AdmFye259IG1vdmVzIHRoZSBtYXJrIGJhY2sgYnkgQHZhcntufSB3b3Jkcy4KIAorQGZp bmRleCBtYXJrLXdvcmQtZm9yd2FyZAorICBAY29kZXttYXJrLXdvcmQtZm9yd2FyZH0gaXMgc2lt aWxhciB0byBAY29kZXttYXJrLXdvcmR9LCBidXQgb25seQorICBtb3ZlcyBmb3J3YXJkLgorCitA ZmluZGV4IG1hcmstd29yZC1iYWNrd2FyZAorICBAY29kZXttYXJrLXdvcmQtYmFja3dhcmR9IGlz IHNpbWlsYXIgdG8gQGNvZGV7bWFyay13b3JkfSwgYnV0IG9ubHkKKyAgbW92ZXMgYmFja3dhcmQu CisKKwogQGtpbmRleCBDLU0tQEAKIEBmaW5kZXggbWFyay1zZXhwCiAgIFNpbWlsYXJseSwgQGti ZHtDLU0tQEB9IChAY29kZXttYXJrLXNleHB9KSBwdXRzIHRoZSBtYXJrIGF0IHRoZSBlbmQKQEAg LTIyNCw2ICsyMzMsMTQgQEAgTWFya2luZyBPYmplY3RzCiBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBu dW1lcmljIGFyZ3VtZW50cyBtb3ZlIHRoZSBtYXJrIGZvcndhcmQgb3IKIGJhY2t3YXJkIGJ5IHRo ZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGV4cHJlc3Npb25zLgogCitAZmluZGV4IG1hcmstc2V4cC1m b3J3YXJkCisgIEBjb2Rle21hcmstc2V4cC1mb3J3YXJkfSBpcyBzaW1pbGFyIHRvIEBjb2Rle21h cmstc2V4cH0sIGJ1dCBvbmx5CisgIG1vdmVzIGZvcndhcmQuCisKK0BmaW5kZXggbWFyay1zZXhw LWJhY2t3YXJkCisgIEBjb2Rle21hcmstc2V4cC1iYWNrd2FyZH0gaXMgc2ltaWxhciB0byBAY29k ZXttYXJrLXNleHB9LCBidXQgb25seQorICBtb3ZlcyBiYWNrd2FyZC4KKwogICAgVGhlIG90aGVy IGNvbW1hbmRzIGluIHRoZSBhYm92ZSBsaXN0IHNldCBib3RoIHBvaW50IGFuZCBtYXJrLCBzbyBh cwogdG8gZGVsaW1pdCBhbiBvYmplY3QgaW4gdGhlIGJ1ZmZlci4gIEBrYmR7TS1ofSAoQGNvZGV7 bWFyay1wYXJhZ3JhcGh9KQogbWFya3MgcGFyYWdyYXBocyAoQHB4cmVme1BhcmFncmFwaHN9KSwg QGtiZHtDLU0taH0gKEBjb2Rle21hcmstZGVmdW59KQpkaWZmIC0tZ2l0IGEvZG9jL2VtYWNzL3By b2dyYW1zLnRleGkgYi9kb2MvZW1hY3MvcHJvZ3JhbXMudGV4aQppbmRleCA2MmRmODhhNzMxZS4u NGNkMjAwN2UyMjUgMTAwNjQ0Ci0tLSBhL2RvYy9lbWFjcy9wcm9ncmFtcy50ZXhpCisrKyBiL2Rv Yy9lbWFjcy9wcm9ncmFtcy50ZXhpCkBAIC0yMzAsNiArMjMwLDE0IEBAIE1vdmluZyBieSBEZWZ1 bnMKIG5lZ2F0aXZlIGFyZ3VtZW50IG1vdmVzIGJhY2sgdG8gYW4gZW5kIG9mIGEgZGVmdW4sIHdo aWNoIGlzIG5vdCBxdWl0ZQogdGhlIHNhbWUgYXMgQGtiZHtDLU0tYX0gd2l0aCBhIHBvc2l0aXZl IGFyZ3VtZW50LgogCitAZmluZGV4IG1hcmstZGVmdW4tZm9yd2FyZAorICBAY29kZXttYXJrLWRl ZnVuLWZvcndhcmR9IGlzIHNpbWlsYXIgdG8gQGNvZGV7bWFyay1kZWZ1bn0sIGJ1dCBvbmx5Cisg IG1vdmVzIGZvcndhcmQuCisKK0BmaW5kZXggbWFyay1kZWZ1bi1iYWNrd2FyZAorICBAY29kZXtt YXJrLWRlZnVuLWJhY2t3YXJkfSBpcyBzaW1pbGFyIHRvIEBjb2Rle21hcmstZGVmdW59LCBidXQg b25seQorICBtb3ZlcyBiYWNrd2FyZC4KKwogQGtpbmRleCBDLU0taCBAcnsoQyBtb2RlKX0KIEBm aW5kZXggYy1tYXJrLWZ1bmN0aW9uCiAgIFRvIG9wZXJhdGUgb24gdGhlIGN1cnJlbnQgZGVmdW4s IHVzZSBAa2Jke0MtTS1ofQpkaWZmIC0tZ2l0IGEvZG9jL2VtYWNzL3RleHQudGV4aSBiL2RvYy9l bWFjcy90ZXh0LnRleGkKaW5kZXggM2QzZjI1NjI2MTcuLmRjZGNmMThhZDkyIDEwMDY0NAotLS0g YS9kb2MvZW1hY3MvdGV4dC50ZXhpCisrKyBiL2RvYy9lbWFjcy90ZXh0LnRleGkKQEAgLTMxNCw2 ICszMTQsMTUgQEAgUGFyYWdyYXBocwogICBJZiB5b3Ugc2V0IGEgZmlsbCBwcmVmaXgsIHRoZW4g cGFyYWdyYXBocyBhcmUgZGVsaW1pdGVkIGJ5IGFsbCBsaW5lcwogd2hpY2ggZG9uJ3Qgc3RhcnQg d2l0aCB0aGUgZmlsbCBwcmVmaXguICBAeHJlZntGaWxsaW5nfS4KIAorQGZpbmRleCBtYXJrLXBh cmFncmFwaC1mb3J3YXJkCisgIEBjb2Rle21hcmstcGFyYWdyYXBoLWZvcndhcmR9IGlzIHNpbWls YXIgdG8gQGNvZGV7bWFyay1wYXJhZ3JhcGh9LAorICBidXQgb25seSBtb3ZlcyBmb3J3YXJkLgor CitAZmluZGV4IG1hcmstcGFyYWdyYXBoLWJhY2t3YXJkCisgIEBjb2Rle21hcmstcGFyYWdyYXBo LWJhY2t3YXJkfSBpcyBzaW1pbGFyIHRvIEBjb2Rle21hcmstcGFyYWdyYXBofSwKKyAgYnV0IG9u bHkgbW92ZXMgYmFja3dhcmQuCisKKwogQHZpbmRleCBwYXJhZ3JhcGgtc3RhcnQKIEB2aW5kZXgg cGFyYWdyYXBoLXNlcGFyYXRlCiAgIFRoZSBwcmVjaXNlIGRlZmluaXRpb24gb2YgYSBwYXJhZ3Jh cGggYm91bmRhcnkgaXMgY29udHJvbGxlZCBieSB0aGUKQEAgLTM5NCw2ICs0MDMsMTUgQEAgUGFn ZXMKIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IG9uZS4gIFplcm8gbWVhbnMgdGhlIGN1cnJlbnQg cGFnZSwgb25lIG1lYW5zCiB0aGUgbmV4dCBwYWdlLCBhbmQgQG1pbnVze30xIG1lYW5zIHRoZSBw cmV2aW91cyBvbmUuCiAKK0BmaW5kZXggbWFyay1wYWdlLWZvcndhcmQKKyAgQGNvZGV7bWFyay1w YWdlLWZvcndhcmR9IGlzIHNpbWlsYXIgdG8gQGNvZGV7bWFyay1wYWdlfSwgYnV0IG9ubHkKKyAg bW92ZXMgZm9yd2FyZC4KKworQGZpbmRleCBtYXJrLXBhZ2UtYmFja3dhcmQKKyAgQGNvZGV7bWFy ay1wYWdlLWJhY2t3YXJkfSBpcyBzaW1pbGFyIHRvIEBjb2Rle21hcmstcGFnZX0sIGJ1dCBvbmx5 CisgIG1vdmVzIGJhY2t3YXJkLgorCisKIEBraW5kZXggQy14IGwKIEBmaW5kZXggY291bnQtbGlu ZXMtcGFnZQogICBUaGUgQGtiZHtDLXggbH0gY29tbWFuZCAoQGNvZGV7Y291bnQtbGluZXMtcGFn ZX0pIGlzIGdvb2QgZm9yIGRlY2lkaW5nCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdT CmluZGV4IGM2MWE5ZWMzYzVmLi43NGI0ZjA1NjA5NSAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysr IGIvZXRjL05FV1MKQEAgLTgxLDYgKzgxLDI2IEBAIG1pc3Rha2VuIGNvbXBvc2l0aW9ucywgdGhp cyB3aWxsIG5vdyB3b3JrIGFzIHdlbGwuCiBUaGlzIHdvcmtzIGxpa2UgJ2tpbGwtbWF0Y2hpbmct YnVmZmVycycsIGJ1dCB3aXRob3V0IGFza2luZyBmb3IKIGNvbmZpcm1hdGlvbi4KIAorLS0tCisq KiBOZXcgY29tbWFuZHMgJ21hcmstc2V4cC1mb3J3YXJkJywgJ21hcmstc2V4cC1iYWNrd2FyZCcu CitUaGVzZSB3b3JrIGxpa2UgbWFyay1zZXhwLCBidXQgZXhwbGljaXRseSBhbGxvdyBzZXhwcyB0 byBiZSBtYXJrZWQgZm9yd2FyZCBhbmQgYmFja3dhcmQuCisKKy0tLQorKiogTmV3IGNvbW1hbmRz ICdtYXJrLXdvcmQtZm9yd2FyZCcsICdtYXJrLXdvcmQtYmFja3dhcmQnLgorVGhlc2Ugd29yayBs aWtlIG1hcmstd29yZCwgYnV0IGV4cGxpY2l0bHkgYWxsb3cgd29yZHMgdG8gYmUgbWFya2VkIGZv cndhcmQgYW5kIGJhY2t3YXJkLgorCistLS0KKyoqIE5ldyBjb21tYW5kcyAnbWFyay1kZWZ1bi1m b3J3YXJkJywgJ21hcmstZGVmdW4tYmFja3dhcmQnLgorVGhlc2Ugd29yayBsaWtlIG1hcmstZGVm dW4sIGJ1dCBleHBsaWNpdGx5IGFsbG93IGRlZnVucyB0byBiZSBtYXJrZWQgZm9yd2FyZCBhbmQg YmFja3dhcmQuCisKKy0tLQorKiogTmV3IGNvbW1hbmRzICdtYXJrLXBhcmFncmFwaC1mb3J3YXJk JywgJ21hcmstcGFyYWdyYXBoLWJhY2t3YXJkJy4KK1RoZXNlIHdvcmsgbGlrZSBtYXJrLXBhcmFn cmFwaCwgYnV0IGV4cGxpY2l0bHkgYWxsb3cgcGFyYWdyYXBocyB0byBiZSBtYXJrZWQgZm9yd2Fy ZCBhbmQgYmFja3dhcmQuCisKKy0tLQorKiogTmV3IGNvbW1hbmRzICdtYXJrLXBhZ2UtZm9yd2Fy ZCcsICdtYXJrLXBhZ2UtYmFja3dhcmQnLgorVGhlc2Ugd29yayBsaWtlIG1hcmstcGFnZSwgYnV0 IGV4cGxpY2l0bHkgYWxsb3cgcGFnZXMgdG8gYmUgbWFya2VkIGZvcndhcmQgYW5kIGJhY2t3YXJk LgorCiAMCiAqIENoYW5nZXMgaW4gU3BlY2lhbGl6ZWQgTW9kZXMgYW5kIFBhY2thZ2VzIGluIEVt YWNzIDMwLjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2xpc3AuZWwgYi9saXNwL2Vt YWNzLWxpc3AvbGlzcC5lbAppbmRleCA0MTdjMjE4YzZkNy4uMzliZmU1ZDNlMDYgMTAwNjQ0Ci0t LSBhL2xpc3AvZW1hY3MtbGlzcC9saXNwLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9saXNwLmVs CkBAIC0xMjksNiArMTI5LDUyIEBAIG1hcmstc2V4cAogCSAgICAocG9pbnQpKQogCSAgbmlsIHQp KSkpCiAKKyhkZWZ1biBtYXJrLS1oZWxwZXIgKG1vdmUtZm4gbnVtYmVyLW9mLXRoaW5ncykKKyAg IlVzZSBNT1ZFLUZOIHRvIG1vdmUgTlVNQkVSLU9GLVRISU5HUyB0aGluZ3MsIGV4dGVuZGluZyBy ZWdpb24gb3ZlciB0aGVtLgorCitUaGUgTU9WRS1GTiBzaG91bGQgdGFrZSBhIG51bWVyaWMgYXJn dW1lbnQsIGFuZCBtb3ZlIHRoYXQgbWFueQoraXRlbXMgZm9yd2FyZCAobmVnYXRpdmUgbWVhbnMg YmFja3dhcmQpLgorCitOVU1CRVItT0YtVEhJTkdTIGlzIHRoZSBudW1iZXIgb2YgYWRkaXRpb25h bCB0aGluZ3MgdG8gbW92ZS4iCisgIChpZiAodXNlLXJlZ2lvbi1wKQorICAgICAgKGxldCogKChm b3J3YXJkICg+PSBudW1iZXItb2YtdGhpbmdzIDApKQorICAgICAgICAgICAgIChiZWdpbm5pbmct b2YtcmVnaW9uIChyZWdpb24tYmVnaW5uaW5nKSkKKyAgICAgICAgICAgICAoZW5kLW9mLXJlZ2lv biAocmVnaW9uLWVuZCkpCisgICAgICAgICAgICAgKGF0LWVuZC1vZi1yZWdpb24gKD0gZW5kLW9m LXJlZ2lvbiAocG9pbnQpKSkKKyAgICAgICAgICAgICAobmV3LWJvcmRlci1wb2ludAorICAgICAg ICAgICAgICAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgICAgICAgICAoZ290by1jaGFyIChpZiBm b3J3YXJkIChyZWdpb24tZW5kKSAocmVnaW9uLWJlZ2lubmluZykpKQorICAgICAgICAgICAgICAg IChjb25kaXRpb24tY2FzZSBuaWwKKyAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgbW92ZS1m biBudW1iZXItb2YtdGhpbmdzKQorICAgICAgICAgICAgICAgICAgKHNjYW4tZXJyb3IgKHVzZXIt ZXJyb3IgIk5vIG1vcmUgaW4gdGhpcyBkaXJlY3Rpb24hIikpKQorICAgICAgICAgICAgICAgIChw b2ludCkpKQorICAgICAgICAgICAgIChuZXctYmVnaW5uaW5nLW9mLXJlZ2lvbiAobWluIGJlZ2lu bmluZy1vZi1yZWdpb24gbmV3LWJvcmRlci1wb2ludCkpCisgICAgICAgICAgICAgKG5ldy1lbmQt b2YtcmVnaW9uIChtYXggZW5kLW9mLXJlZ2lvbiBuZXctYm9yZGVyLXBvaW50KSkpCisgICAgICAg IChnb3RvLWNoYXIgKGlmIGF0LWVuZC1vZi1yZWdpb24KKyAgICAgICAgICAgICAgICAgICAgICAg bmV3LWVuZC1vZi1yZWdpb24KKyAgICAgICAgICAgICAgICAgICAgIG5ldy1iZWdpbm5pbmctb2Yt cmVnaW9uKSkKKyAgICAgICAgKHNldC1tYXJrIChpZiBhdC1lbmQtb2YtcmVnaW9uCisgICAgICAg ICAgICAgICAgICAgICAgbmV3LWJlZ2lubmluZy1vZi1yZWdpb24KKyAgICAgICAgICAgICAgICAg ICAgbmV3LWVuZC1vZi1yZWdpb24pKSkKKyAgICAocHJvZ24gKHB1c2gtbWFyayAoc2F2ZS1leGN1 cnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIG1vdmUtZm4gbnVtYmVyLW9m LXRoaW5ncykKKyAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludCkpKQorICAgICAgICAgICAo YWN0aXZhdGUtbWFyaykpKSkKKworKGRlZnVuIG1hcmstc2V4cC1mb3J3YXJkICgmb3B0aW9uYWwg bnVtYmVyLW9mLWV4cHJlc3Npb25zKQorICAiTWFyayBOVU1CRVItT0YtRVhQUkVTU0lPTlMgcy1l eHByZXNzaW9ucyBmb3J3YXJkLgorCisgUmVwZWF0ZWQgY2FsbHMgdG8gdGhpcyBtYXJrIG1vcmUg cy1leHByZXNzaW9ucy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisgIChtYXJrLS1oZWxwZXIgIydm b3J3YXJkLXNleHAgKG9yIG51bWJlci1vZi1leHByZXNzaW9ucyAxKSkpCisKKyhkZWZ1biBtYXJr LXNleHAtYmFja3dhcmQgKCZvcHRpb25hbCBudW1iZXItb2YtZXhwcmVzc2lvbnMpCisgICJNYXJr IE5VTUJFUi1PRi1FWFBSRVNTSU9OUyBzLWV4cHJlc3Npb25zIGJhY2t3YXJkLgorCisgUmVwZWF0 ZWQgY2FsbHMgdG8gdGhpcyBtYXJrIG1vcmUgcy1leHByZXNzaW9ucy4iCisgIChpbnRlcmFjdGl2 ZSAicCIpCisgIChtYXJrLS1oZWxwZXIgIydmb3J3YXJkLXNleHAgKC0gKG9yIG51bWJlci1vZi1l eHByZXNzaW9ucyAxKSkpKQorCiAoZGVmdW4gZm9yd2FyZC1saXN0ICgmb3B0aW9uYWwgYXJnIGlu dGVyYWN0aXZlKQogICAiTW92ZSBmb3J3YXJkIGFjcm9zcyBvbmUgYmFsYW5jZWQgZ3JvdXAgb2Yg cGFyZW50aGVzZXMuCiBUaGlzIGNvbW1hbmQgd2lsbCBhbHNvIHdvcmsgb24gb3RoZXIgcGFyZW50 aGVzZXMtbGlrZSBleHByZXNzaW9ucwpAQCAtNjA0LDYgKzY1MCwyMCBAQCBlbmQtb2YtZGVmdW4K ICAgICAgICAgICAoZnVuY2FsbCBlbmQtb2YtZGVmdW4tZnVuY3Rpb24pCiAJICAoZnVuY2FsbCBz a2lwKSkpKSkpCiAKKyhkZWZ1biBtYXJrLWRlZnVuLWZvcndhcmQgKCZvcHRpb25hbCBudW1iZXIt b2YtZGVmdW5zKQorICAiTWFyayBOVU1CRVItT0YtREVGVU5TIGRlZnVucyBmb3J3YXJkLgorCisg UmVwZWF0ZWQgY2FsbHMgdG8gdGhpcyBtYXJrIG1vcmUgZGVmdW5zLiIKKyAgKGludGVyYWN0aXZl ICJwIikKKyAgKG1hcmstLWhlbHBlciAjJ2VuZC1vZi1kZWZ1biAob3IgbnVtYmVyLW9mLWRlZnVu cyAxKSkpCisKKyhkZWZ1biBtYXJrLWRlZnVuLWJhY2t3YXJkICgmb3B0aW9uYWwgbnVtYmVyLW9m LWRlZnVucykKKyAgIk1hcmsgTlVNQkVSLU9GLURFRlVOUyBkZWZ1bnMgYmFja3dhcmQuCisKKyBS ZXBlYXRlZCBjYWxscyB0byB0aGlzIG1hcmsgbW9yZSBkZWZ1bnMuIgorICAoaW50ZXJhY3RpdmUg InAiKQorICAobWFyay0taGVscGVyICMnZW5kLW9mLWRlZnVuICgtIChvciBudW1iZXItb2YtZGVm dW5zIDEpKSkpCisKIChkZWZ1biBtYXJrLWRlZnVuICgmb3B0aW9uYWwgYXJnIGludGVyYWN0aXZl KQogICAiUHV0IG1hcmsgYXQgZW5kIG9mIHRoaXMgZGVmdW4sIHBvaW50IGF0IGJlZ2lubmluZy4K IFRoZSBkZWZ1biBtYXJrZWQgaXMgdGhlIG9uZSB0aGF0IGNvbnRhaW5zIHBvaW50IG9yIGZvbGxv d3MgcG9pbnQuCmRpZmYgLS1naXQgYS9saXNwL3NpbXBsZS5lbCBiL2xpc3Avc2ltcGxlLmVsCmlu ZGV4IGI2MjFlMTYwM2JkLi40NmZmNzU1OWEyYyAxMDA2NDQKLS0tIGEvbGlzcC9zaW1wbGUuZWwK KysrIGIvbGlzcC9zaW1wbGUuZWwKQEAgLTg3MDEsNiArODcwMSw1MiBAQCBiYWNrd2FyZC13b3Jk CiAgIChpbnRlcmFjdGl2ZSAiXnAiKQogICAoZm9yd2FyZC13b3JkICgtIChvciBhcmcgMSkpKSkK IAorKGRlZnVuIG1hcmstLWhlbHBlciAobW92ZS1mbiBudW1iZXItb2YtdGhpbmdzKQorICAiVXNl IE1PVkUtRk4gdG8gbW92ZSBOVU1CRVItT0YtVEhJTkdTIHRoaW5ncywgZXh0ZW5kaW5nIHJlZ2lv biBvdmVyIHRoZW0uCisKK1RoZSBNT1ZFLUZOIHNob3VsZCB0YWtlIGEgbnVtZXJpYyBhcmd1bWVu dCwgYW5kIG1vdmUgdGhhdCBtYW55CitpdGVtcyBmb3J3YXJkIChuZWdhdGl2ZSBtZWFucyBiYWNr d2FyZCkuCisKK05VTUJFUi1PRi1USElOR1MgaXMgdGhlIG51bWJlciBvZiBhZGRpdGlvbmFsIHRo aW5ncyB0byBtb3ZlLiIKKyAgKGlmICh1c2UtcmVnaW9uLXApCisgICAgICAobGV0KiAoKGZvcndh cmQgKD49IG51bWJlci1vZi10aGluZ3MgMCkpCisgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1y ZWdpb24gKHJlZ2lvbi1iZWdpbm5pbmcpKQorICAgICAgICAgICAgIChlbmQtb2YtcmVnaW9uIChy ZWdpb24tZW5kKSkKKyAgICAgICAgICAgICAoYXQtZW5kLW9mLXJlZ2lvbiAoPSBlbmQtb2YtcmVn aW9uIChwb2ludCkpKQorICAgICAgICAgICAgIChuZXctYm9yZGVyLXBvaW50CisgICAgICAgICAg ICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKGlmIGZvcndh cmQgKHJlZ2lvbi1lbmQpIChyZWdpb24tYmVnaW5uaW5nKSkpCisgICAgICAgICAgICAgICAgKGNv bmRpdGlvbi1jYXNlIG5pbAorICAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCBtb3ZlLWZuIG51 bWJlci1vZi10aGluZ3MpCisgICAgICAgICAgICAgICAgICAoc2Nhbi1lcnJvciAodXNlci1lcnJv ciAiTm8gbW9yZSBpbiB0aGlzIGRpcmVjdGlvbiEiKSkpCisgICAgICAgICAgICAgICAgKHBvaW50 KSkpCisgICAgICAgICAgICAgKG5ldy1iZWdpbm5pbmctb2YtcmVnaW9uIChtaW4gYmVnaW5uaW5n LW9mLXJlZ2lvbiBuZXctYm9yZGVyLXBvaW50KSkKKyAgICAgICAgICAgICAobmV3LWVuZC1vZi1y ZWdpb24gKG1heCBlbmQtb2YtcmVnaW9uIG5ldy1ib3JkZXItcG9pbnQpKSkKKyAgICAgICAgKGdv dG8tY2hhciAoaWYgYXQtZW5kLW9mLXJlZ2lvbgorICAgICAgICAgICAgICAgICAgICAgICBuZXct ZW5kLW9mLXJlZ2lvbgorICAgICAgICAgICAgICAgICAgICAgbmV3LWJlZ2lubmluZy1vZi1yZWdp b24pKQorICAgICAgICAoc2V0LW1hcmsgKGlmIGF0LWVuZC1vZi1yZWdpb24KKyAgICAgICAgICAg ICAgICAgICAgICBuZXctYmVnaW5uaW5nLW9mLXJlZ2lvbgorICAgICAgICAgICAgICAgICAgICBu ZXctZW5kLW9mLXJlZ2lvbikpKQorICAgIChwcm9nbiAocHVzaC1tYXJrIChzYXZlLWV4Y3Vyc2lv bgorICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgbW92ZS1mbiBudW1iZXItb2YtdGhp bmdzKQorICAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50KSkpCisgICAgICAgICAgIChhY3Rp dmF0ZS1tYXJrKSkpKQorCisoZGVmdW4gbWFyay13b3JkLWZvcndhcmQgKCZvcHRpb25hbCBudW1i ZXItb2Ytd29yZHMpCisgICJNYXJrIE5VTUJFUi1PRi1XT1JEUyB3b3JkcyBmb3J3YXJkLgorCisg UmVwZWF0ZWQgY2FsbHMgdG8gdGhpcyBtYXJrIG1vcmUgd29yZHMuIgorICAoaW50ZXJhY3RpdmUg InAiKQorICAobWFyay0taGVscGVyICMnZm9yd2FyZC13b3JkIChvciBudW1iZXItb2Ytd29yZHMg MSkpKQorCisoZGVmdW4gbWFyay13b3JkLWJhY2t3YXJkICgmb3B0aW9uYWwgbnVtYmVyLW9mLXdv cmRzKQorICAiTWFyayBOVU1CRVItT0YtV09SRFMgd29yZHMgYmFja3dhcmQuCisKKyBSZXBlYXRl ZCBjYWxscyB0byB0aGlzIG1hcmsgbW9yZSB3b3Jkcy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisg IChtYXJrLS1oZWxwZXIgIydmb3J3YXJkLXdvcmQgKC0gKG9yIG51bWJlci1vZi13b3JkcyAxKSkp KQorCiAoZGVmdW4gbWFyay13b3JkICgmb3B0aW9uYWwgYXJnIGFsbG93LWV4dGVuZCkKICAgIlNl dCBtYXJrIEFSRyB3b3JkcyBhd2F5IGZyb20gcG9pbnQuCiBUaGUgcGxhY2UgbWFyayBnb2VzIGlz IHRoZSBzYW1lIHBsYWNlIFxcW2ZvcndhcmQtd29yZF0gd291bGQKZGlmZiAtLWdpdCBhL2xpc3Av dGV4dG1vZGVzL3BhZ2UuZWwgYi9saXNwL3RleHRtb2Rlcy9wYWdlLmVsCmluZGV4IDg2YTI3NjJi MGVlLi5hZmViZDhmZGIyNSAxMDA2NDQKLS0tIGEvbGlzcC90ZXh0bW9kZXMvcGFnZS5lbAorKysg Yi9saXNwL3RleHRtb2Rlcy9wYWdlLmVsCkBAIC03MSw2ICs3MSwyMCBAQCBiYWNrd2FyZC1wYWdl CiAgIChvciBjb3VudCAoc2V0cSBjb3VudCAxKSkKICAgKGZvcndhcmQtcGFnZSAoLSBjb3VudCkp KQogCisoZGVmdW4gbWFyay1wYWdlLWZvcndhcmQgKCZvcHRpb25hbCBudW1iZXItb2YtcGFnZXMp CisgICJNYXJrIE5VTUJFUi1PRi1QQUdFUyBwYWdlcyBmb3J3YXJkLgorCisgUmVwZWF0ZWQgY2Fs bHMgdG8gdGhpcyBtYXJrIG1vcmUgcGFnZXMuIgorICAoaW50ZXJhY3RpdmUgInAiKQorICAobWFy ay0taGVscGVyICMnZm9yd2FyZC1wYWdlIChvciBudW1iZXItb2YtcGFnZXMgMSkpKQorCisoZGVm dW4gbWFyay1wYWdlLWJhY2t3YXJkICgmb3B0aW9uYWwgbnVtYmVyLW9mLXBhZ2VzKQorICAiTWFy ayBOVU1CRVItT0YtUEFHRVMgcGFnZXMgYmFja3dhcmQuCisKKyBSZXBlYXRlZCBjYWxscyB0byB0 aGlzIG1hcmsgbW9yZSBwYWdlcy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisgIChtYXJrLS1oZWxw ZXIgIydmb3J3YXJkLXBhZ2UgKC0gKG9yIG51bWJlci1vZi1wYWdlcyAxKSkpKQorCiAoZGVmdW4g bWFyay1wYWdlICgmb3B0aW9uYWwgYXJnKQogICAiUHV0IG1hcmsgYXQgZW5kIG9mIHBhZ2UsIHBv aW50IGF0IGJlZ2lubmluZy4KIEEgbnVtZXJpYyBhcmcgc3BlY2lmaWVzIHRvIG1vdmUgZm9yd2Fy ZCBvciBiYWNrd2FyZCBieSB0aGF0IG1hbnkgcGFnZXMsCmRpZmYgLS1naXQgYS9saXNwL3RleHRt b2Rlcy9wYXJhZ3JhcGhzLmVsIGIvbGlzcC90ZXh0bW9kZXMvcGFyYWdyYXBocy5lbAppbmRleCA2 YzMzMzgwYjZiZC4uYTI3OGQ0ODU2ODEgMTAwNjQ0Ci0tLSBhL2xpc3AvdGV4dG1vZGVzL3BhcmFn cmFwaHMuZWwKKysrIGIvbGlzcC90ZXh0bW9kZXMvcGFyYWdyYXBocy5lbApAQCAtMzYwLDYgKzM2 MCwyMCBAQCBiYWNrd2FyZC1wYXJhZ3JhcGgKICAgKG9yIGFyZyAoc2V0cSBhcmcgMSkpCiAgIChm b3J3YXJkLXBhcmFncmFwaCAoLSBhcmcpKSkKIAorKGRlZnVuIG1hcmstcGFyYWdyYXBoLWZvcndh cmQgKCZvcHRpb25hbCBudW1iZXItb2YtcGFyYWdyYXBocykKKyAgIk1hcmsgTlVNQkVSLU9GLVBB UkFHUkFQSFMgcGFyYWdyYXBocyBmb3J3YXJkLgorCisgUmVwZWF0ZWQgY2FsbHMgdG8gdGhpcyBt YXJrIG1vcmUgcGFyYWdyYXBocy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisgIChtYXJrLS1oZWxw ZXIgIydmb3J3YXJkLXBhcmFncmFwaCAob3IgbnVtYmVyLW9mLXBhcmFncmFwaHMgMSkpKQorCiso ZGVmdW4gbWFyay1wYXJhZ3JhcGgtYmFja3dhcmQgKCZvcHRpb25hbCBudW1iZXItb2YtcGFyYWdy YXBocykKKyAgIk1hcmsgTlVNQkVSLU9GLVBBUkFHUkFQSFMgcGFyYWdyYXBocyBiYWNrd2FyZC4K KworIFJlcGVhdGVkIGNhbGxzIHRvIHRoaXMgbWFyayBtb3JlIHBhcmFncmFwaHMuIgorICAoaW50 ZXJhY3RpdmUgInAiKQorICAobWFyay0taGVscGVyICMnZm9yd2FyZC1wYXJhZ3JhcGggKC0gKG9y IG51bWJlci1vZi1wYXJhZ3JhcGhzIDEpKSkpCisKIChkZWZ1biBtYXJrLXBhcmFncmFwaCAoJm9w dGlvbmFsIGFyZyBhbGxvdy1leHRlbmQpCiAgICJQdXQgcG9pbnQgYXQgYmVnaW5uaW5nIG9mIHRo aXMgcGFyYWdyYXBoLCBtYXJrIGF0IGVuZC4KIFRoZSBwYXJhZ3JhcGggbWFya2VkIGlzIHRoZSBv bmUgdGhhdCBjb250YWlucyBwb2ludCBvciBmb2xsb3dzIHBvaW50LgpkaWZmIC0tZ2l0IGEvdGVz dC9saXNwL2VtYWNzLWxpc3AvbGlzcC10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2xp c3AtdGVzdHMuZWwKaW5kZXggMmU1ZTJhNzQwYjEuLjNlMjhmNzIzMmU1IDEwMDY0NAotLS0gYS90 ZXN0L2xpc3AvZW1hY3MtbGlzcC9saXNwLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1s aXNwL2xpc3AtdGVzdHMuZWwKQEAgLTExNiw2ICsxMTYsMjA3IEBAIGxpc3AtYmFja3dhcmQtc2V4 cC0yLWJvYnAtYW5kLXN1YnNlcXVlbnQKICAgICAoc2hvdWxkIChudWxsIDs7IChzaG91bGQtZXJy b3IgOzsgTm8sIHBlciAjMTM5OTQKICAgICAgKGZvcndhcmQtc2V4cCAtMSkpKSkpCiAKKyhlcnQt ZGVmdGVzdCBtYXJrLXNleHAtZm9yd2FyZC1vbmUtZm9yd2FyZC1jaGVjay1wb2ludCAoKQorICAo c2hvdWxkIChlcXVhbCAxNAorICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5z ZXJ0ICIoMSAyKQorKDMgNCA1KQorKDYpCisoNyA4KSIpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChmb3J3YXJkLWxpbmUpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChlbmQtb2YtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG1hcmstc2V4cC1mb3J3YXJkKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAocG9pbnQpKSkpKQorCisoZXJ0LWRlZnRlc3QgbWFyay1zZXhwLWZv cndhcmQtb25lLWZvcndhcmQtcGFzcy12YWx1ZS1jaGVjay1wb2ludCAoKQorICAoc2hvdWxkIChl cXVhbCAxNAorICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0ICIoMSAy KQorKDMgNCA1KQorKDYpCisoNyA4KSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmb3J3YXJkLWxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChlbmQtb2YtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKG1hcmstc2V4cC1mb3J3YXJkIDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChwb2ludCkpKSkpCisKKyhlcnQtZGVmdGVzdCBtYXJrLXNleHAtZm9yd2FyZC1v bmUtZm9yd2FyZC1jaGVjay1yZWdpb24gKCkKKyAgKHNob3VsZCAoZXF1YWwgIig2KSIKKyAgICAg ICAgICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCAiKDEgMikKKygzIDQgNSkKKyg2 KQorKDcgOCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFy IChwb2ludC1taW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yd2Fy ZC1saW5lIDIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAt Zm9yd2FyZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ1ZmZlci1zdWJz dHJpbmctbm8tcHJvcGVydGllcyAocmVnaW9uLWJlZ2lubmluZykKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnaW9u LWVuZCkpKSkpKQorCisoZXJ0LWRlZnRlc3QgbWFyay1zZXhwLWZvcndhcmQtb25lLWZvcndhcmQt cGFzcy12YWx1ZS1jaGVjay1yZWdpb24gKCkKKyAgKHNob3VsZCAoZXF1YWwgIig2KSIKKyAgICAg ICAgICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCAiKDEgMikKKygzIDQgNSkKKyg2 KQorKDcgOCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFy IChwb2ludC1taW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yd2Fy ZC1saW5lIDIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAt Zm9yd2FyZCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLXN1 YnN0cmluZy1uby1wcm9wZXJ0aWVzIChyZWdpb24tYmVnaW5uaW5nKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWdp b24tZW5kKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBtYXJrLXNleHAtYmFja3dhcmQtb25lLWJhY2t3 YXJkLWNoZWNrLXBvaW50ICgpCisgIChzaG91bGQgKGVxdWFsIDE0CisgICAgICAgICAgICAgICAg ICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgIigxIDIpCisoMyA0IDUpCisoNikKKyg3IDgpIikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWlu KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcndhcmQtbGluZSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZC1vZi1saW5lKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobWFyay1zZXhwLWJhY2t3YXJkKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocG9pbnQpKSkpKQorCisoZXJ0LWRlZnRlc3QgbWFy ay1zZXhwLWJhY2t3YXJkLW9uZS1iYWNrd2FyZC1jaGVjay1yZWdpb24gKCkKKyAgKHNob3VsZCAo ZXF1YWwgIigzIDQgNSkiCisgICAgICAgICAgICAgICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNl cnQgIigxIDIpCisoMyA0IDUpCisoNikKKyg3IDgpIikKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZvcndhcmQtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGVuZC1vZi1saW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobWFyay1zZXhwLWJhY2t3YXJkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChyZWdpb24tYmVnaW5uaW5nKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZWdpb24tZW5kKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBtYXJrLXNleHAtb25lLWZv cndhcmQtdGhlbi1vbmUtYmFja3dhcmQtY2hlY2stcG9pbnQgKCkKKyAgKHNob3VsZCAoZXF1YWwg NworICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0ICIoMSAyKQorKDMg NCA1KQorKDYpCisoNyA4KSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChn b3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChmb3J3YXJkLWxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbmQt b2YtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcmstc2V4cC1m b3J3YXJkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFyay1zZXhwLWJh Y2t3YXJkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9pbnQpKSkpKQor CisoZXJ0LWRlZnRlc3QgbWFyay1zZXhwLW9uZS1mb3J3YXJkLXRoZW4tb25lLWJhY2t3YXJkLWNo ZWNrLXJlZ2lvbiAoKQorICAoc2hvdWxkIChlcXVhbCAiKDMgNCA1KQorKDYpIgorICAgICAgICAg ICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0ICIoMSAyKQorKDMgNCA1KQorKDYpCiso NyA4KSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBv aW50LW1pbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3J3YXJkLWxp bmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbmQtb2YtbGluZSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcmstc2V4cC1mb3J3YXJkKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFyay1zZXhwLWJhY2t3YXJkKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9w ZXJ0aWVzIChyZWdpb24tYmVnaW5uaW5nKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWdpb24tZW5kKSkpKSkpCisK KyhlcnQtZGVmdGVzdCBtYXJrLXNleHAtb25lLWZvcndhcmQtdGhlbi1vbmUtYmFja3dhcmQtdGhl bi1vbmUtZm9yd2FyZC1jaGVjay1wb2ludCAoKQorICAoc2hvdWxkIChlcXVhbCA3CisgICAgICAg ICAgICAgICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgIigxIDIpCisoMyA0IDUpCisoNikK Kyg3IDgpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAo cG9pbnQtbWluKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcndhcmQt bGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZC1vZi1saW5lKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFyay1zZXhwLWZvcndhcmQpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAtYmFja3dhcmQpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAtZm9yd2FyZCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50KSkpKSkKKworKGVydC1kZWZ0 ZXN0IG1hcmstc2V4cC1vbmUtZm9yd2FyZC10aGVuLW9uZS1iYWNrd2FyZC10aGVuLW9uZS1mb3J3 YXJkLWNoZWNrLXJlZ2lvbiAoKQorICAoc2hvdWxkIChlcXVhbCA3CisgICAgICAgICAgICAgICAg ICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgIigxIDIpCisoMyA0IDUpCisoNikKKyg3IDgpIikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWlu KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcndhcmQtbGluZSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZC1vZi1saW5lKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobWFyay1zZXhwLWZvcndhcmQpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAtYmFja3dhcmQpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAtZm9yd2FyZCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50KSkpKSkKKworCisKKyhlcnQtZGVmdGVzdCBt YXJrLXNleHAtZm9yd2FyZC1vbmUtZm9yd2FyZC1vbmUtYmFjay1vbmUtZm9yd2FyZC1jaGVjay1y ZWdpb24gKCkKKyAgKHNob3VsZCAoZXF1YWwgIigzIDQgNSkKKyg2KQorKDcgOCkiCisgICAgICAg ICAgICAgICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgIigxIDIpCisoMyA0IDUpCisoNikK Kyg3IDgpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAo cG9pbnQtbWluKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcndhcmQt bGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZC1vZi1saW5lKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFyay1zZXhwLWZvcndhcmQpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAtYmFja3dhcmQpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXJrLXNleHAtZm9yd2FyZCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJv cGVydGllcyAocmVnaW9uLWJlZ2lubmluZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnaW9uLWVuZCkpKSkpKQor CisoZXJ0LWRlZnRlc3QgbWFyay1zZXhwLWZvcndhcmQtdHdvLWZvcndhcmQtY2hlY2stcG9pbnQg KCkKKyAgKHNob3VsZCAoZXF1YWwgMTQKKyAgICAgICAgICAgICAgICAgKHdpdGgtdGVtcC1idWZm ZXIgKGluc2VydCAiKDEgMikKKygzIDQgNSkKKyg2KQorKDcgOCkiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoZm9yd2FyZC1saW5lKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoZW5kLW9mLWxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChtYXJrLXNleHAtZm9yd2FyZCAyKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAocG9pbnQpKSkpKQorCisoZXJ0LWRlZnRlc3QgbWFyay1zZXhwLWZvcndhcmQt dHdvLWZvcndhcmQtY2hlY2stcmVnaW9uICgpCisgIChzaG91bGQgKGVxdWFsICIKKyg2KQorKDcg OCkiCisgICAgICAgICAgICAgICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgIigxIDIpCiso MyA0IDUpCisoNikKKyg3IDgpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZvcndhcmQtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVu ZC1vZi1saW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFyay1zZXhw LWZvcndhcmQgMikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ1ZmZlci1z dWJzdHJpbmctbm8tcHJvcGVydGllcyAocmVnaW9uLWJlZ2lubmluZykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVn aW9uLWVuZCkpKSkpKQorCisoZXJ0LWRlZnRlc3QgbWFyay1zZXhwLWJhY2t3YXJkLXR3by1iYWNr d2FyZC1jaGVjay1wb2ludCAoKQorICAoc2hvdWxkIChlcXVhbCAxNAorICAgICAgICAgICAgICAg ICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0ICIoMSAyKQorKDMgNCA1KQorKDYpCisoNyA4KSIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1p bikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3J3YXJkLWxpbmUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbmQtb2YtbGluZSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcmstc2V4cC1iYWNrd2FyZCAyKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9pbnQpKSkpKQorCisoZXJ0LWRlZnRlc3Qg bWFyay1zZXhwLWJhY2t3YXJkLXR3by1iYWNrd2FyZC1jaGVjay1yZWdpb24gKCkKKyAgKHNob3Vs ZCAoZXF1YWwgIigxIDIpCisoMyA0IDUpIgorICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1 ZmZlciAoaW5zZXJ0ICIoMSAyKQorKDMgNCA1KQorKDYpCisoNyA4KSIpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmb3J3YXJkLWxpbmUpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChlbmQtb2YtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG1hcmstc2V4cC1iYWNrd2FyZCAyKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChyZWdpb24tYmVn aW5uaW5nKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChyZWdpb24tZW5kKSkpKSkpCisKIChlcnQtZGVmdGVzdCBsaXNw LWRlbGV0ZS1wYWlyLXBhcmVucyAoKQogICAiVGVzdCBcXFtkZWxldGUtcGFpcl0gd2l0aCBwYXJl bnMuIgogICAod2l0aC10ZW1wLWJ1ZmZlcgpAQCAtMzY5LDYgKzU3MCw2NyBAQCBlbGlzcC10ZXN0 cy13aXRoLXRlbXAtYnVmZmVyCiAiCiAgICAgIlRlc3QgYnVmZmVyIGZvciBgbWFyay1kZWZ1bicu IikpCiAKKyhlcnQtZGVmdGVzdCBtYXJrLWRlZnVuLWZvcndhcmQtb25lLWZvcndhcmQtY2hlY2st cG9pbnQgKCkKKyAgKHNob3VsZCAoZXF1YWwgMTgKKyAgICAgICAgICAgICAgICAgKHdpdGgtdGVt cC1idWZmZXIgKGluc2VydCAiKGRlZnVuIGZvbyAoKSAyKQorCisoZGVmdW4gYmFyICgpIDMpIikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQt bWluKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcndhcmQtbGlu ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcmstZGVmdW4tZm9y d2FyZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50KSkpKSkK KworKGVydC1kZWZ0ZXN0IG1hcmstZGVmdW4tZm9yd2FyZC1vbmUtZm9yd2FyZC1jaGVjay1yZWdp b24gKCkKKyAgKHNob3VsZCAoZXF1YWwgIgorKGRlZnVuIGJhciAoKSAzKSIKKyAgICAgICAgICAg ICAgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCAiKGRlZnVuIGZvbyAoKSAyKQorCisoZGVm dW4gYmFyICgpIDMpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdv dG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZvcndhcmQtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG1hcmstZGVmdW4tZm9yd2FyZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyAocmVnaW9uLWJlZ2lubmluZykKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAocmVnaW9uLWVuZCkpKSkpKQorCisoZXJ0LWRlZnRlc3QgbWFyay1kZWZ1bi1i YWNrd2FyZC1vbmUtYmFja3dhcmQtY2hlY2stcG9pbnQgKCkKKyAgKHNob3VsZCAoZXF1YWwgMTgK KyAgICAgICAgICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCAiKGRlZnVuIGZvbyAo KSAyKQorCisoZGVmdW4gYmFyICgpIDMpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZvcndhcmQtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG1hcmstZGVmdW4tYmFja3dhcmQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChwb2ludCkpKSkpCisKKyhlcnQtZGVmdGVzdCBtYXJrLWRlZnVuLWJh Y2t3YXJkLW9uZS1iYWNrd2FyZC1jaGVjay1yZWdpb24gKCkKKyAgKHNob3VsZCAoZXF1YWwgIihk ZWZ1biBmb28gKCkgMikKKyIKKyAgICAgICAgICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIgKGlu c2VydCAiKGRlZnVuIGZvbyAoKSAyKQorCisoZGVmdW4gYmFyICgpIDIpIikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcndhcmQtbGluZSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcmstZGVmdW4tYmFja3dhcmQpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXItc3Vic3RyaW5nLW5vLXBy b3BlcnRpZXMgKHJlZ2lvbi1iZWdpbm5pbmcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZ2lvbi1lbmQpKSkp KSkKKworCisoZXJ0LWRlZnRlc3QgbWFyay1kZWZ1bi1iYWNrd2FyZC10d28tYmFja3dhcmQtY2hl Y2stcmVnaW9uICgpCisgIChzaG91bGQgKGVxdWFsICIoZGVmdW4gZm9vICgpIDIpCisoZGVmdW4g YmFyICgpIDMpIgorICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0ICIo ZGVmdW4gZm9vICgpIDIpCisoZGVmdW4gYmFyICgpIDMpCisoZGVmdW4gYmF6ICgpIDUpCisoZGVm dW4gYmlmZiAoKSA3KSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChn b3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChmb3J3YXJkLWxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChlbmQtb2YtbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1h cmstZGVmdW4tYmFja3dhcmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChtYXJrLWRlZnVuLWJhY2t3YXJkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChyZWdpb24tYmVnaW5uaW5nKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChyZWdpb24tZW5kKSkpKSkpCisKKwogOzs7IGVuZC1vZi1kZWZ1bgogCiAo ZXJ0LWRlZnRlc3QgZW5kLW9mLWRlZnVuLXR3aWNlICgpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3Av c2ltcGxlLXRlc3RzLmVsIGIvdGVzdC9saXNwL3NpbXBsZS10ZXN0cy5lbAppbmRleCAyOGQ4MTIw ZjE0My4uYmE0NjBkM2NjMDEgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9zaW1wbGUtdGVzdHMuZWwK KysrIGIvdGVzdC9saXNwL3NpbXBsZS10ZXN0cy5lbApAQCAtMTE1LDYgKzExNSwyMCBAQCBzaW1w bGUtdHJhbnNwb3NlLXN1YnIKICAgKHNob3VsZCAoZXF1YWwgKHNpbXBsZS10ZXN0LS10cmFuc3Bv c2l0aW9ucyAodHJhbnNwb3NlLXNleHBzIC0yKSkKICAgICAgICAgICAgICAgICAgJygiKHMxKSAo czQpIiAuICIgKHMyKSAoczMpIChzNSkiKSkpKQogCisMCis7OzsgYG1hcmstd29yZC1mb3J3YXJk JywgYG1hcmstd29yZC1iYWNrd2FyZCcKKyhlcnQtZGVmdGVzdCBtYXJrLXdvcmQtZm9yd2FyZC10 d28tYmFja3dhcmRzLWNoZWNrLXJlZ2lvbiAoKQorICAoc2hvdWxkIChlcXVhbCAiZGVmZyBoaSBq IgorICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAgICAgICAgICAg IChpbnNlcnQgImFiYyBkZWZnIGhpIGoga2xtbm8iKQorICAgICAgICAgICAgICAgICAgIChnb3Rv LWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgICAgICAgKGZvcndhcmQtY2hhciAxMSk7 O2FmdGVyICJoaSIKKyAgICAgICAgICAgICAgICAgICAobWFyay13b3JkLWZvcndhcmQpCisgICAg ICAgICAgICAgICAgICAgKG1hcmstd29yZC1iYWNrd2FyZCkKKyAgICAgICAgICAgICAgICAgICAo bWFyay13b3JkLWJhY2t3YXJkKQorICAgICAgICAgICAgICAgICAgIChidWZmZXItc3Vic3RyaW5n LW5vLXByb3BlcnRpZXMgKHJlZ2lvbi1iZWdpbm5pbmcpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnaW9uLWVuZCkpKSkpKQorCiAMCiA7Ozsg YG5ld2xpbmUnCiAoZXJ0LWRlZnRlc3QgbmV3bGluZSAoKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNw L3RleHRtb2Rlcy9wYWdlLXRlc3RzLmVsIGIvdGVzdC9saXNwL3RleHRtb2Rlcy9wYWdlLXRlc3Rz LmVsCmluZGV4IDRiZmE4ZDk5NDFjLi4wZjE0MmVlNTA1YiAxMDA2NDQKLS0tIGEvdGVzdC9saXNw L3RleHRtb2Rlcy9wYWdlLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC90ZXh0bW9kZXMvcGFnZS10 ZXN0cy5lbApAQCAtNTcsNiArNTcsMTcgQEAgcGFnZS10ZXN0cy1iYWNrd2FyZC1wYWdlCiAgICAg KGJhY2t3YXJkLXBhZ2UgLTIpCiAgICAgKHNob3VsZCAoPSAocG9pbnQpIChwb2ludC1tYXgpKSkp KQogCisoZXJ0LWRlZnRlc3QgbWFyay1wYWdlLWZvcndhcmQtdHdpY2UtYmFja3dhcmQtb25jZWNo ZWNrLXJlZ2lvbiAoKQorICAoc2hvdWxkIChlcXVhbCAiXG5iYXJcbgxcbmJhelxuDFxuYmlmZlxu DCIKKyAgICAgICAgICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCAiZm9vXG4MXG5i YXJcbgxcbmJhelxuDFxuYmlmZlxuDFxuYmFuZyIpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmb3J3YXJkLWxpbmUgMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKG1hcmstcGFnZS1mb3J3YXJkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobWFyay1wYWdlLWZvcndhcmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChtYXJrLXBhZ2UtYmFja3dhcmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgKHJlZ2lvbi1iZWdpbm5pbmcp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHJlZ2lvbi1lbmQpKSkpKSkKKwogKGRlZnVuIHBhZ2UtdGVzdHMtLXJlZ2lv bi1zdHJpbmcgKCkKICAgIlJldHVybiB0aGUgY29udGVudHMgb2YgdGhlIHJlZ2lvbiBhcyBhIHN0 cmluZy4iCiAgIChidWZmZXItc3Vic3RyaW5nIChyZWdpb24tYmVnaW5uaW5nKSAocmVnaW9uLWVu ZCkpKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL3RleHRtb2Rlcy9wYXJhZ3JhcGhzLXRlc3RzLmVs IGIvdGVzdC9saXNwL3RleHRtb2Rlcy9wYXJhZ3JhcGhzLXRlc3RzLmVsCmluZGV4IDgxZTg4MTEz YzJhLi43NWEwOTgxMWM3ZCAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL3RleHRtb2Rlcy9wYXJhZ3Jh cGhzLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC90ZXh0bW9kZXMvcGFyYWdyYXBocy10ZXN0cy5l bApAQCAtNTQsNiArNTQsNDAgQEAgcGFyYWdyYXBocy10ZXN0cy1tYXJrLXBhcmFncmFwaAogICAg IChzaG91bGQgKGVxdWFsIChtYXJrKSA3KSkpKQogOzs7ICAoc2hvdWxkLWVycm9yIChtYXJrLXBh cmFncmFwaCAwKSkpCiAKKyhlcnQtZGVmdGVzdCBwYXJhZ3JhcGhzLXRlc3RzLW1hcmstcGFyYWdy YXBoLWZvcndhcmQtdHdvLWJhY2t3YXJkLWNoZWNrLXJlZ2lvbiAoKQorICAoc2hvdWxkIChlcXVh bCAiCitBIHNlY29uZCBiZWdpbnMgaGVyZSwgYnV0IGlzCit3YXkgd2F5IGxvbmdlciwgYnV0IG9u IG11bHRpcGxlCitsaW5lcyBiZWNhdXNlIHRoZSBwYXJhZ3JhcGgKK2lzIGZpbGxlZC4uCisKK0Fu ZCBhIHRoaXJkIHBhcmFncmFwaC4gSXQncyBraW5kCitvZiBzaG9ydC4KKworUGFyYWdyYXBoIGZv dXIhIEl0J3Mgc2hvcnRlci4KKyIKKyAgICAgICAgICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIK KyAgICAgICAgICAgICAgICAgICAoaW5zZXJ0ICJGaXJzdCBwYXJhZ3JhcGggaGVyZS4KKworQSBz ZWNvbmQgYmVnaW5zIGhlcmUsIGJ1dCBpcword2F5IHdheSBsb25nZXIsIGJ1dCBvbiBtdWx0aXBs ZQorbGluZXMgYmVjYXVzZSB0aGUgcGFyYWdyYXBoCitpcyBmaWxsZWQuLgorCitBbmQgYSB0aGly ZCBwYXJhZ3JhcGguIEl0J3Mga2luZAorb2Ygc2hvcnQuCisKK1BhcmFncmFwaCBmb3VyISBJdCdz IHNob3J0ZXIuCisKK1RoZSBzaG9ydGVzdCB5ZXQuIikKKyAgICAgICAgICAgICAgICAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICAgICAgICAgICAgIChmb3J3YXJkLWxpbmUgOSkK KyAgICAgICAgICAgICAgICAgICAobWFyay1wYXJhZ3JhcGgtZm9yd2FyZCkKKyAgICAgICAgICAg ICAgICAgICAobWFyay1wYXJhZ3JhcGgtYmFja3dhcmQpCisgICAgICAgICAgICAgICAgICAgKG1h cmstcGFyYWdyYXBoLWJhY2t3YXJkKQorICAgICAgICAgICAgICAgICAgIChidWZmZXItc3Vic3Ry aW5nLW5vLXByb3BlcnRpZXMgKHJlZ2lvbi1iZWdpbm5pbmcpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnaW9uLWVuZCkpKSkpKQorCiAoZXJ0 LWRlZnRlc3QgcGFyYWdyYXBocy10ZXN0cy1raWxsLXBhcmFncmFwaCAoKQogICAod2l0aC10ZW1w LWJ1ZmZlcgogICAgIChpbnNlcnQgIkFBXG5BQVxuXG5CQlxuQkJcbiIpCi0tIAoyLjM4LjQKCg== --0000000000000f699705fb2dc7ed--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 6 May 2023 08:48:34 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 06 04:48:34 2023 Received: from localhost ([127.0.0.1]:59385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pvDak-0006Cf-2Z for submit <at> debbugs.gnu.org; Sat, 06 May 2023 04:48:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1pvDaf-0006Bw-Vy for 62892 <at> debbugs.gnu.org; Sat, 06 May 2023 04:48:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1pvDaZ-0006O8-Ap; Sat, 06 May 2023 04:48:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=6uRCaGXdpeRLU3JQI7EyAgfAv6Nl3PNxgwJ+oHulcrY=; b=rnobevrhkhTA 4zgcTtYiaKFI3LE0cyv+9kgBg4yTHphEP8IM5JbAYyzoOF4huvATkJZKWorbsJlTA1etuCaXqQfVf l6J62o5I3cCa5MEv8IVcp3G466fn5MTyN35v0shDmXcVC8j2DZUmLigzd3eMIZfuMwSVoQW7gsC0Q Pw5gwS/8eKLE4sb7bRJtRpA7Oeewl7Tkn89jagdsOp7DbdW2GEKxobknLKLYWJKRVHCSsxUERGkhE mDafEoxvFe2vw95RLA3U/p8hMDxp03ZXv5qJKARGZg/nysfsird8yIHcTork7WHmy76CiLD8juW7W lrH1mqxZEJfpyS34s7OYqA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1pvDaY-0007w2-RC; Sat, 06 May 2023 04:48:23 -0400 Date: Sat, 06 May 2023 11:49:17 +0300 Message-Id: <83ednthmk2.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Juri Linkov <juri@HIDDEN> In-Reply-To: <86ttx19ot4.fsf@HIDDEN> (message from Juri Linkov on Thu, 27 Apr 2023 21:12:55 +0300) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <m1354nr42v.fsf@HIDDEN> <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> <835y9jupgg.fsf@HIDDEN> <CAFXT+ROk5-ydr22qh0QD0B0F5pyG=vByHcLH1nUyQ32wQGORxQ@HIDDEN> <83r0s5se94.fsf@HIDDEN> <86ttx19ot4.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, zkanfer@HIDDEN, monnier@HIDDEN, mardani29@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Juri Linkov <juri@HIDDEN> > Cc: Zachary Kanfer <zkanfer@HIDDEN>, mardani29@HIDDEN, > ruijie@HIDDEN, monnier@HIDDEN, 62892 <at> debbugs.gnu.org > Date: Thu, 27 Apr 2023 21:12:55 +0300 > > > I tried to describe the behavior in the doc string as follows: > > > > (defun mark-sexp (&optional arg allow-extend) > > "Set mark ARG sexps from point or move mark one sexp. > > When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is > > set ARG sexps from point; ARG defaults to 1. > > With ALLOW-EXTEND non-nil (interactively, with prefix argument), > > the place mark goes is the same place \\[forward-sexp] would move > > with the same value of ARG; if the mark is active, it moves ARG > > sexps from its current position, otherwise it is set ARG sexps > > from point; ARG defaults to 1. > > When invoked interactively without a prefix argument and no active > > region, mark moves one sexp forward. > > When invoked interactively without a prefix argument, and region > > is active, mark moves one sexp away of point (i.e., forward > > if mark is at or after point, back if mark is before point), thus > > extending the region by one sexp. Since the direction of region > > extension depends on the relative position of mark and point, you > > can change the direction by \\[exchange-point-and-mark]. > > This command assumes point is not in a string or comment." > > > > It is still somewhat complicated and confusing, but at least it's > > accurate, I think. > > mark-sexp has a counterpart mark-word that has almost the same > implementation and docstring. So this could be fixed in both places. Done on the emacs-29 branch.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 4 May 2023 04:49:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 04 00:49:07 2023 Received: from localhost ([127.0.0.1]:48207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1puQtv-0002mD-3z for submit <at> debbugs.gnu.org; Thu, 04 May 2023 00:49:07 -0400 Received: from mail-oa1-f53.google.com ([209.85.160.53]:46191) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1puQtq-0002lh-VS for 62892 <at> debbugs.gnu.org; Thu, 04 May 2023 00:49:04 -0400 Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-1924fa9620aso32202fac.0 for <62892 <at> debbugs.gnu.org>; Wed, 03 May 2023 21:49:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683175737; x=1685767737; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=slf9XGHeIDaKEd962s0HdevNUkY9VbmHxTpCnMRHsjc=; b=S7wUX97OCWCkViyuGE1RkKshfwnyDb4yegwvN1ovjl4raBDFShXeenZnAYWe5umWOY tVdYxsrwNANqENY6MJ1fzc4ZQsVwYq25UEmEK38drQxW1T968asG2p/R+XiZiPB744AE RqsMM4awiU+1ayrJgsM9Ekuoo3Uig/i6euJGHU6Hy/8u6lLj15UaReSI6d6d5mOPSMmp YJyTn9j0eY+msK2RId029N644JOMdoAKUcGUhkmX8BFxeitp+02NUsVxOPawdHdEvjU/ HymNyatkTyxJ2ce6ywfhdVyXsRL1tCAbcscSPPXEcWQpLHb2Q/g6kBi54w59QC4JxVt6 xsxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683175737; x=1685767737; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=slf9XGHeIDaKEd962s0HdevNUkY9VbmHxTpCnMRHsjc=; b=eFPYEVaK9LVWtxABDjsE4X5ajFAhY/YemJ7RZfLduGKbGrkuPfRjJqfNG1ZZ+G2Z3V Ad5FI2o/a1drDdE70NPZzJVXUp+X35mDgq5LGNoE7HVpVpvuYaz9h3TsYHGc3RfY0Y0s OAsiCEkJnwnKPA8O/z3Ognp/MbAeTHAvx9s8kFYJ3B8L0egTnkEhYivu1rt9ECgQKQNB zrIpo7AvQxkZwIMSm0mdN9R5fWGJzIpB5gJsCXVnQ7fG6y0Scu0HZ+bBPyHHcuQ9Uy0b TZNPxKxm3EnGdrb78T6iz/Xan8v3A+DM3h0cf1IOk+MTYZhsAlQPWYqSl5r0xcrArGa5 bA8w== X-Gm-Message-State: AC+VfDwqisSGleRe9Mcb5o8aaW7GoSQq2LED5LPr7+EI5plURA3GwDgQ YW+IrGOCU3yYXo6ECwsmgSvyzfRWQoNWSsfdGnc= X-Google-Smtp-Source: ACHHUZ4ghj5EVl0CcXgvrb/VCVL9TWqBN0xRpl2qD0dOrsHFUBdUXsAlvsB3tEIn/+x7Yj20tbkXAbfmsBtNXyVAXJU= X-Received: by 2002:a05:6870:d502:b0:192:4f29:7cae with SMTP id b2-20020a056870d50200b001924f297caemr409448oan.13.1683175737141; Wed, 03 May 2023 21:48:57 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> In-Reply-To: <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Thu, 4 May 2023 00:48:44 -0400 Message-ID: <CAFXT+RPcXbpJt+xpvQ0eXLhRiBajY+O0hLFtAM4MEmsMXT5Z3A@HIDDEN> Subject: Re: [External] : bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Drew Adams <drew.adams@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000e8309b05fad6e3c7" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, "62892 <at> debbugs.gnu.org" <62892 <at> debbugs.gnu.org>, Juri Linkov <juri@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --000000000000e8309b05fad6e3c7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > Is it an "internal" function? Then its name should > maybe use `--'. (But why should it be internal?) Hrm, I figured it would be an internal function because it's intended to be wrapped by other code. But this describes a whole lot of functions. So it can't be that. I suppose that if there are other types of things that are created that one might want to mark, then a user could use this method to mark them. So perhaps it shouldn't be internal -- it really could be used by other code. > Is it a helper function? Then its name should maybe > use a suffix that indicates that, such as `-helper' > or `-1' (old-school Lisp, I suppose). It's certainly a helper function -- it's intended to be called by a bunch of different functions we write. > `mark-thing' should be reserved for a function that > takes a THING name as arg: `sexp', `page', etc., > instead of a movement function such as `forward-sexp'. This makes a lot of sense to me. On Fri, Apr 28, 2023 at 3:28=E2=80=AFPM Drew Adams <drew.adams@HIDDEN> = wrote: > > > +(defun mark--helper (move-fn number-of-things) > > > > A nicer name would be 'mark-thing' as a reference to thingatpt.el. > > FWIW, I have a different take on this. > > Is it an "internal" function? Then its name should > maybe use `--'. (But why should it be internal?) > > Is it a helper function? Then its name should maybe > use a suffix that indicates that, such as `-helper' > or `-1' (old-school Lisp, I suppose). > > `mark-thing' should be reserved for a function that > takes a THING name as arg: `sexp', `page', etc., > instead of a movement function such as `forward-sexp'. > ___ > > FWIW, I think MOVE-FN is a fine name for the argument. > My own preference, and what I use in my code, is the > name FORWARD-THING-FUNCTION. > ___ > > FWIW, in my library isearch+.el), I use the arg name > THING for a thing name, not a movement or other > function. > > E.g.: Function `isearchp-in-thing-p' is a helper > function for defining specific THING-type predicates, > such as `isearch(-not)-in-email-address-p'. > ___ > > FWIW, my library `thing-cmds.el' has a command named > `mark-things', which prompts for a THING type as arg: > > mark-things is an alias for 'select-things' in 'thing-cmds.el'. > > (mark-things THING &optional ARG ALLOW-EXTEND) > > Set point at one end of THING and set mark ARG THINGs from point. > THING is a symbol that names a type of thing. Interactively, you are > prompted for it. Completion is available (lax). > > (If THING doesn't have an associated `forward-'THING operation then > do nothing.) > > Put mark at the same place command `forward-'THING would move point > with the same prefix argument. > > Put point at the beginning of THING, unless the prefix argument (ARG) > is negative, in which case put it at the end of THING. > > If `select-things' is repeated or if the mark is active (in Transient > Mark mode), then it marks the next ARG THINGs, after the ones already > marked. In this case the type of THING used is whatever was used the > last time `select-things' was called - you are not prompted for it. > > This region extension reusing the last type of THING happens even if > the active region is empty. This means that you can, for instance, > just use `C-SPC' to activate an empty region and then use > `select-things' to select more THINGS of the last kind selected. > > If there is no THING at point, and `thgcmd-use-nearest-thing-flag' is > non-nil, then select a THING near point. > > --000000000000e8309b05fad6e3c7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><span class=3D"gmail-im">>=20 Is it an "internal" function?=C2=A0 Then its name should<br><div> > maybe use `--'.=C2=A0 (But why should it be internal?)<br> </div><div><br></div></span><div>Hrm, I figured it would be an internal=20 function because it's intended to be wrapped by other code. But this=20 describes a whole lot of functions. So it can't be that.</div><div><br>= </div><div>I suppose that if there are other types of things that are created that=20 one might want to mark, then a user could use this method to mark them.=20 So perhaps it shouldn't be internal -- it really could be used by other= =20 code.<br></div><span class=3D"gmail-im"><div><br></div><div>> Is it a he= lper function?=C2=A0 Then its name should maybe<br> > use a suffix that indicates that, such as `-helper'<br> > or `-1' (old-school Lisp, I suppose).</div><div><br></div></span><= div>It's certainly a helper function -- it's intended to be called = by a bunch of different functions we write.</div><span class=3D"gmail-im"><= div><br></div><div>> `mark-thing' should be reserved for a function = that<br>> takes a THING name as arg: `sexp', `page', etc.,<br>&g= t; instead of a movement function such as `forward-sexp'.</div><div><br= ></div></span><div>This makes a lot of sense to me.</div></div><br><div cla= ss=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Apr 28, 20= 23 at 3:28=E2=80=AFPM Drew Adams <<a href=3D"mailto:drew.adams@HIDDEN= m">drew.adams@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail= _quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204= ,204);padding-left:1ex">> > +(defun mark--helper (move-fn number-of-t= hings)<br> > <br> > A nicer name would be 'mark-thing' as a reference to thingatpt= .el.<br> <br> FWIW, I have a different take on this.<br> <br> Is it an "internal" function?=C2=A0 Then its name should<br> maybe use `--'.=C2=A0 (But why should it be internal?)<br> <br> Is it a helper function?=C2=A0 Then its name should maybe<br> use a suffix that indicates that, such as `-helper'<br> or `-1' (old-school Lisp, I suppose).<br> <br> `mark-thing' should be reserved for a function that<br> takes a THING name as arg: `sexp', `page', etc.,<br> instead of a movement function such as `forward-sexp'.<br> ___<br> <br> FWIW, I think MOVE-FN is a fine name for the argument.<br> My own preference, and what I use in my code, is the<br> name FORWARD-THING-FUNCTION.<br> ___<br> <br> FWIW, in my library isearch+.el), I use the arg name<br> THING for a thing name, not a movement or other<br> function.<br> <br> E.g.: Function `isearchp-in-thing-p' is a helper<br> function for defining specific THING-type predicates,<br> such as `isearch(-not)-in-email-address-p'.<br> ___<br> <br> FWIW, my library `thing-cmds.el' has a command named<br> `mark-things', which prompts for a THING type as arg:<br> <br> =C2=A0mark-things is an alias for 'select-things' in 'thing-cmd= s.el'.<br> <br> =C2=A0(mark-things THING &optional ARG ALLOW-EXTEND)<br> <br> =C2=A0Set point at one end of THING and set mark ARG THINGs from point.<br> =C2=A0THING is a symbol that names a type of thing.=C2=A0 Interactively, yo= u are<br> =C2=A0prompted for it.=C2=A0 Completion is available (lax).<br> <br> =C2=A0(If THING doesn't have an associated `forward-'THING operatio= n then<br> =C2=A0do nothing.)<br> <br> =C2=A0Put mark at the same place command `forward-'THING would move poi= nt<br> =C2=A0with the same prefix argument.<br> <br> =C2=A0Put point at the beginning of THING, unless the prefix argument (ARG)= <br> =C2=A0is negative, in which case put it at the end of THING.<br> <br> =C2=A0If `select-things' is repeated or if the mark is active (in Trans= ient<br> =C2=A0Mark mode), then it marks the next ARG THINGs, after the ones already= <br> =C2=A0marked.=C2=A0 In this case the type of THING used is whatever was use= d the<br> =C2=A0last time `select-things' was called - you are not prompted for i= t.<br> <br> =C2=A0This region extension reusing the last type of THING happens even if<= br> =C2=A0the active region is empty.=C2=A0 This means that you can, for instan= ce,<br> =C2=A0just use `C-SPC' to activate an empty region and then use<br> =C2=A0`select-things' to select more THINGS of the last kind selected.<= br> <br> =C2=A0If there is no THING at point, and `thgcmd-use-nearest-thing-flag'= ; is<br> =C2=A0non-nil, then select a THING near point.<br> <br> </blockquote></div> --000000000000e8309b05fad6e3c7--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 3 May 2023 17:34:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 03 13:34:23 2023 Received: from localhost ([127.0.0.1]:47675 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1puGMx-0005bA-G8 for submit <at> debbugs.gnu.org; Wed, 03 May 2023 13:34:23 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:45701) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1puGMv-0005ap-Lw for 62892 <at> debbugs.gnu.org; Wed, 03 May 2023 13:34:22 -0400 Received: (Authenticated sender: juri@HIDDEN) by mail.gandi.net (Postfix) with ESMTPSA id F050FE0002; Wed, 3 May 2023 17:34:12 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <CAFXT+RN2f1JySEjDZTGswT69pGME=Cn63_Yy8mhPGAZX5cDNFQ@HIDDEN> (Zachary Kanfer's message of "Wed, 3 May 2023 02:10:01 -0400") Organization: LINKOV.NET References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> <CAFXT+RN2f1JySEjDZTGswT69pGME=Cn63_Yy8mhPGAZX5cDNFQ@HIDDEN> Date: Wed, 03 May 2023 20:29:45 +0300 Message-ID: <864jotwcfq.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> Thanks for the patch. It would be nice to have such commands >> even not bound to default keys, so the users are free to bind >> them to any keys. > > That's my hope, unless sufficiently good default keys can be found. I like > C-M-space and C-M-S-space, which are both currently bound to mark-sexp, but > changing the default keys is not trivially done. Please also note that the reason why the current single binding is sufficient is because it's needed only to extend the region at the opposite side of the selected region where the mark is located, i.e. it only moves the mark. Whereas to move the region boundary under point is easy with sexp navigation commands (that keep the region active). However, your two commands are duplicating the task of moving point. But maybe this is easier to use for some users. >> Another variant is to use a single argument JUMPFORM like >> in 'isearch-yank-internal' that allows not to leak the >> prefix argument to the helper function: > > This is tempting. The downside I'm seeing to this -- which I'll think more > about to see if I can get around it -- is that we don't know if we need to > call JUMPFORM from point or mark. Indeed, because you need to handle motion in two directions.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 3 May 2023 06:10:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 03 02:10:21 2023 Received: from localhost ([127.0.0.1]:45478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pu5gy-0004sE-KT for submit <at> debbugs.gnu.org; Wed, 03 May 2023 02:10:21 -0400 Received: from mail-oo1-f49.google.com ([209.85.161.49]:51303) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1pu5gw-0004ry-GY for 62892 <at> debbugs.gnu.org; Wed, 03 May 2023 02:10:19 -0400 Received: by mail-oo1-f49.google.com with SMTP id 006d021491bc7-54c905139deso1196922eaf.2 for <62892 <at> debbugs.gnu.org>; Tue, 02 May 2023 23:10:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683094212; x=1685686212; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bwCAsRIH0WeqT9phLuUdfotGLQ27xk7rrbpWRM1J8iM=; b=ZinAuL3qriFSEVKnur0UefM0umTevNoWIApJGzdJfY/e3FN2BJWOy1NAfrZBBA0XkT 3LPBqWLlcziDug9RfzG9iCytASlvUiO8w+XJxh1Whqrz0UnxufshaZZcQJw2L8u504Lz wvkh8GwoGAdrEsIsCMZa2MsfJcb5U7Dj67sG6uKJhogK9vs3piyVvrLXrsATsq4wOeWu Y7xcc4g56NrpjMc4bQ6/+ux9Y+pnFlHXFSNC47qRPCrpubQ/Lh3sKv3r7lutdUUX0pKG PUmR+eh7cug+5LP/+Pg4zLUjI+7zqd1So5A6vh+tpvTU7Zzs5qhZVq6hs6pZd+lMm8yX +bAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683094212; x=1685686212; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=bwCAsRIH0WeqT9phLuUdfotGLQ27xk7rrbpWRM1J8iM=; b=hRXRsRe//5kPuoXgYDoPdOBbCHErAJsVCT/KzC60sEp0wPfwkZZQjsf0qYNemRqsjT yfQOpzvfzb4fUSLGfYR9pusdafx4qPB/3CgQt78qYa+3Rq/TivKwlTasQ85lE0S3XD7x aW2C5qzxwu/nwKW/yAJFNtaRDDdlfsO5bvMrjau64oWlfbAMCosaZFoLXC/4fUidR9Sq H5gMSolvkkSaoWiHW7IW3aK52YjPFBr7dKi1oTueGamVgaZu+wk50/8rqexpYesQZhJ+ aoZH/EwEIYv30b7FdUPDHN1vT7IksozZqxKX1Xs9Ln/3xCNkcx8VoB+VIjtG62pn+u2T OpFg== X-Gm-Message-State: AC+VfDwk4w/TawUkGs9eS8YcJo1FOmS574z4vN7Yc4LKPNK7w1W0Lpvz Zky53OLnAU55qFJ0IkvsVDPq/e2cqsuI32wOn0Q= X-Google-Smtp-Source: ACHHUZ7RMp4ZkuV4nbrPlmLyqS43y5lSV8lvCuVjweqbAFdP2qqRpEZD016GJB/kF/dHrrFxolSeoXWx7RrHeubfY6s= X-Received: by 2002:a54:4590:0:b0:38e:c8a8:f233 with SMTP id z16-20020a544590000000b0038ec8a8f233mr9021650oib.25.1683094212546; Tue, 02 May 2023 23:10:12 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> In-Reply-To: <86jzxwuedr.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Wed, 3 May 2023 02:10:01 -0400 Message-ID: <CAFXT+RN2f1JySEjDZTGswT69pGME=Cn63_Yy8mhPGAZX5cDNFQ@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Juri Linkov <juri@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000a995c505fac3e876" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --000000000000a995c505fac3e876 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > Thanks for the patch. It would be nice to have such commands > even not bound to default keys, so the users are free to bind > them to any keys. That's my hope, unless sufficiently good default keys can be found. I like C-M-space and C-M-S-space, which are both currently bound to mark-sexp, but changing the default keys is not trivially done. > So looks like the best place to define the helper is simple.el, > before mark-word. Sure! I'll get a patch out for this. > Another variant is to use a single argument JUMPFORM like > in 'isearch-yank-internal' that allows not to leak the > prefix argument to the helper function: This is tempting. The downside I'm seeing to this -- which I'll think more about to see if I can get around it -- is that we don't know if we need to call JUMPFORM from point or mark. We can do it from both, something like: (defun mark--helper (fn-to-find-new-mark) "Extend region by calling FN-TO-FIND-NEW-MARK. The MOVE-FN should take a numeric argument, and move that many items forward (negative means backward). NUMBER-OF-THINGS is the number of additional things to move." (if (use-region-p) (let* ((beginning-of-region (region-beginning)) (end-of-region (region-end)) (at-end-of-region (=3D end-of-region (point))) (move-from-front (save-excursion (goto-char beginning-of-region) (funcall fn-to-find-new-mark) (point))) (move-from-end (save-excursion (goto-char end-of-region) (funcall fn-to-find-new-mark) (point))) (new-beginning-of-region (min beginning-of-region move-from-front)) (new-end-of-region (max end-of-region move-from-end))) (goto-char (if at-end-of-region new-end-of-region new-beginning-of-region)) (set-mark (if at-end-of-region new-beginning-of-region new-end-of-region))) (progn (push-mark (save-excursion (funcall fn-to-find-new-mark) (point))) (activate-mark)))) Downsides include: 1. We have to call the function twice each time. This doesn't seem like such a big deal unless it's expensive or has side effects -- neither of which should be the case. 2. The current implementation errors when there are no more objects to mark. This doesn't. I think we probably could error if we don't change the region. 3. I'm not 100% convinced this will always do the right thing. I would like to be. 4. I'm not sure going to one argument is worth it. The two arguments seem pretty simple; changing to one argument might add more complexity than it removes. On Fri, Apr 28, 2023 at 1:07=E2=80=AFPM Juri Linkov <juri@HIDDEN> wrote= : > > Attached is a patch with a few updates: > > Thanks for the patch. It would be nice to have such commands > even not bound to default keys, so the users are free to bind > them to any keys. > > > I'm not exactly sure of the best place to put the helper function, nor > > exactly how the different lisp files in Emacs work together. There's no > > provide statement; are all the files in lisp/emacs-lisp loaded at the > same > > time? If so, I'll make the other relevant functions (for marking word, > > defun, page, paragraph, line, and char). > > Let's see: > - mark-sexp and mark-defun are defined in emacs-lisp/lisp.el > - mark-page in textmodes/page.el > - mark-paragraph in textmodes/paragraphs.el > - mark-word in simple.el > > So looks like the best place to define the helper is simple.el, > before mark-word. > > > +(defun mark--helper (move-fn number-of-things) > > A nicer name would be 'mark-thing' as a reference to thingatpt.el. > > > + "Use MOVE-FN to move NUMBER-OF-THINGS things, extending region over > them. > > + > > +The MOVE-FN should take a numeric argument, and move that many > > +items forward (negative means backward). > > + > > +NUMBER-OF-THINGS is the number of additional things to move." > > Another variant is to use a single argument JUMPFORM like > in 'isearch-yank-internal' that allows not to leak the > prefix argument to the helper function: > > (defun isearch-yank-char (&optional arg) > (isearch-yank-internal (lambda () (forward-char arg) (point)))) > --000000000000a995c505fac3e876 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">> <span class=3D"gmail-im"></span>Thanks for the patch.= =C2=A0 It would be nice to have such commands<br>>=20 even not bound to default keys, so the users are free to bind<br><div>> = them to any keys.<span class=3D"gmail-im"><br></span></div><div><span class= =3D"gmail-im"><br></span></div><div><span class=3D"gmail-im">That's my = hope, unless sufficiently good default keys can be found. I like C-M-space = and C-M-S-space, which are both currently bound to mark-sexp, but changing = the default keys is not trivially done.</span></div><div><span class=3D"gma= il-im"><br></span></div><div><span class=3D"gmail-im">> </span>So looks = like the best place to define the helper is simple.el,<br>> before mark-= word.</div><div><br></div><div>Sure! I'll get a patch out for this.</di= v><div><br></div><div>> Another variant is to use a single argument JUMP= FORM like<br>> in 'isearch-yank-internal' that allows not to lea= k the<br>> prefix argument to the helper function:</div><div><br></div><= div>This is tempting. The downside I'm seeing to this -- which I'll= think more about to see if I can get around it -- is that we don't kno= w if we need to call JUMPFORM from point or mark.</div><div><br></div><div>= We can do it from both, something like:</div><div><br></div><div>(defun mar= k--helper (fn-to-find-new-mark)<br>=C2=A0 "Extend region by calling FN= -TO-FIND-NEW-MARK.<br><br>The MOVE-FN should take a numeric argument, and m= ove that many<br>items forward (negative means backward).<br><br>NUMBER-OF-= THINGS is the number of additional things to move."<br>=C2=A0 (if (use= -region-p)<br>=C2=A0 =C2=A0 =C2=A0 (let* ((beginning-of-region (region-begi= nning))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(end-of-region (= region-end))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(at-end-of-= region (=3D end-of-region (point)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0(move-from-front (save-excursion (goto-char beginning-of-regio= n)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 (funcall fn-to-find-new-mark)<br>=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (point)))<br= >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(move-from-end (save-excur= sion (goto-char end-of-region)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (funcall fn-to-find-new-mark)<br>=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 (point)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(new-begin= ning-of-region (min beginning-of-region move-from-front))<br>=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(new-end-of-region (max end-of-region mov= e-from-end)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (goto-char (if at-end-of-regio= n<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0new-end-of-region<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0new-beginning-of-region))<br>=C2=A0 =C2= =A0 =C2=A0 =C2=A0 (set-mark (if at-end-of-region<br>=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 new-beginning-of-re= gion<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 new-end-of-region)))<br>=C2=A0 =C2=A0 (progn (push-mark (save-excursion= <br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 (funcall fn-to-find-new-mark)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (point)))<br>=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(activate-mark))))</div><div><br></div><= div>Downsides include:</div><div><br></div><div>1. We have to call the func= tion twice each time. This doesn't seem like such a big deal unless it&= #39;s expensive or has side effects -- neither of which should be the case.= </div><div>2. The current implementation errors when there are no more obje= cts to mark. This doesn't. I think we probably could error if we don= 9;t change the region.</div><div>3. I'm not 100% convinced this will al= ways do the right thing. I would like to be.</div><div>4. I'm not sure = going to one argument is worth it. The two arguments seem pretty simple; ch= anging to one argument might add more complexity than it removes.<br></div>= <div><span class=3D"gmail-im"></span></div></div><br><div class=3D"gmail_qu= ote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Apr 28, 2023 at 1:07=E2= =80=AFPM Juri Linkov <<a href=3D"mailto:juri@HIDDEN">juri@HIDDEN= </a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:= 0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">= > Attached is a patch with a few updates:<br> <br> Thanks for the patch.=C2=A0 It would be nice to have such commands<br> even not bound to default keys, so the users are free to bind<br> them to any keys.<br> <br> > I'm not exactly sure of the best place to put the helper function,= nor<br> > exactly how the different lisp files in Emacs work together. There'= ;s no<br> > provide statement; are all the files in lisp/emacs-lisp loaded at the = same<br> > time? If so, I'll make the other relevant functions (for marking w= ord,<br> > defun, page, paragraph, line, and char).<br> <br> Let's see:<br> - mark-sexp and mark-defun are defined in emacs-lisp/lisp.el<br> - mark-page in textmodes/page.el<br> - mark-paragraph in textmodes/paragraphs.el<br> - mark-word in simple.el<br> <br> So looks like the best place to define the helper is simple.el,<br> before mark-word.<br> <br> > +(defun mark--helper (move-fn number-of-things)<br> <br> A nicer name would be 'mark-thing' as a reference to thingatpt.el.<= br> <br> > +=C2=A0 "Use MOVE-FN to move NUMBER-OF-THINGS things, extending r= egion over them.<br> > +<br> > +The MOVE-FN should take a numeric argument, and move that many<br> > +items forward (negative means backward).<br> > +<br> > +NUMBER-OF-THINGS is the number of additional things to move."<br= > <br> Another variant is to use a single argument JUMPFORM like<br> in 'isearch-yank-internal' that allows not to leak the<br> prefix argument to the helper function:<br> <br> =C2=A0 (defun isearch-yank-char (&optional arg)<br> =C2=A0 =C2=A0 (isearch-yank-internal (lambda () (forward-char arg) (point))= ))<br> </blockquote></div> --000000000000a995c505fac3e876--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 28 Apr 2023 19:29:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 28 15:29:01 2023 Received: from localhost ([127.0.0.1]:34561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1psTm8-0006Kq-O1 for submit <at> debbugs.gnu.org; Fri, 28 Apr 2023 15:29:01 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:29860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>) id 1psTm3-0006Ka-P0 for 62892 <at> debbugs.gnu.org; Fri, 28 Apr 2023 15:28:57 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33SHnDRf006141; Fri, 28 Apr 2023 19:28:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=11FA3o584q7Lj6N2GbRnxFq0yesP8JZylRz567cvdng=; b=Y+M1g/SW7K+7lZ+A8a2fLyjfQ/KOvWonXuHHdvCx0jK3Z8LEazN7XFIgeyRh1Gyj6YqL vqOda27RdqZ4L4DnJsyWy7Tr/4EnEudoDp/HsKWJ1wHniIy+jiNhNTSzxfzhyUXnAnIB U/JIPG1bRm8S93ytwktAT8pNu60WVrW65Z1ZnuFkT0RHwSr95zCURYpdFCo+6QFSicst TIPKtmX/oFJ1oVgPnlvNMOeJav3zH1wA/kidsmVxuLBNtRHZTaLNJ38Ioa5M5KoRGdt1 UtY3tKanewmYkA+VP2xueF1NKJZEhZac63j4AI2osXP2Lp3jm6UyeAqgsB84JhczleWI YA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q476u70nq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 28 Apr 2023 19:28:54 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33SJB3k5029856; Fri, 28 Apr 2023 19:28:45 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2171.outbound.protection.outlook.com [104.47.55.171]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q461b6rd5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 28 Apr 2023 19:28:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RWeKXPT/Aq+tmvd/H8kHkgC/lyQz+i+/1tBEo4PGS9vb7rctnEDT1AMiMH8nGHsfnDHV0xtGvSIr/zGF2nY3YMRvduGrPYgIYtEls7UQZYUhtyRwkE7VmzlCvODNEAUfjMLa1wBc2+Bg9jbHYtLE95VTGRXo3/yQMM+CHyuQAX3jIS1eI3CRhqWXEMJMSR61AAfDRwUfSo46c1njKRSLWMpWN3/t19dG3K8vSdWl67pKzT8jTgXmDL0tcWBI3MuMx8O3hMKC0NvTT6lKM5PlFkc0f77t7AlIqobc08ZWgV3CsGuofmpwtEmVIP6h5s4AdnJr4bC2ANMq2rUKeDtQ0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=11FA3o584q7Lj6N2GbRnxFq0yesP8JZylRz567cvdng=; b=Uy0tjlQefqvFK8MYkm3vxol1Wq40yepNIA/wYs64a1kPVkXSdolWSFZQ0Vi0QJLgDI4kMmvgg3Bhmnjth5YXfyIQbIjrZamIGTGp0zP8pIE6p6QpciSPjtGXNULEicr52kb25CQmk+5G6HWOfyGxa3n2OUMzDp7nlCbVBo/xQzjNgrDa1Wj5r9Ns3I6uU6wZERPd3hKfzD5RcHyb6GMAr8+hf6W1AharvDaYw4iSUKYTrl4uBlh7v/UMv1WS1pfPgTbe+bSVC0pmhQftQk1w5FDQB/B87yXSALZXMFxkH4mVJFCthYfHoaQYjmPdNPmY4sx1Evlbos1tAQbbuFCwuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=11FA3o584q7Lj6N2GbRnxFq0yesP8JZylRz567cvdng=; b=lv+XkZ0GWI2tdtlZoFlHnLjlhgZtHV/DKz5xwpuHwU56HGJQou/kCFw54omkGoi5tl/ZcicVguOPpnOMBh2qaAxr3QX3HxN/7ldN014T3PddZX95LlCgJ9uq91jTxO04bRlq8edHRXXm6TVt8e3hvE7xjMSxwDzDieV2i/FZMyU= Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by DS7PR10MB5103.namprd10.prod.outlook.com (2603:10b6:5:3a8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.24; Fri, 28 Apr 2023 19:28:43 +0000 Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::a995:2ae5:2745:24ff]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::a995:2ae5:2745:24ff%5]) with mapi id 15.20.6340.024; Fri, 28 Apr 2023 19:28:43 +0000 From: Drew Adams <drew.adams@HIDDEN> To: Juri Linkov <juri@HIDDEN>, Zachary Kanfer <zkanfer@HIDDEN> Subject: RE: [External] : bug#62892: proposal to extend mark-sexp to go forward and backward on command Thread-Topic: [External] : bug#62892: proposal to extend mark-sexp to go forward and backward on command Thread-Index: AQHZefQgxJgPgbUcZkGnUbMLr4apHa9BFKCA Date: Fri, 28 Apr 2023 19:28:43 +0000 Message-ID: <SJ0PR10MB5488430E2A9639688D8E5C55F36B9@HIDDEN> References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <86jzxwuedr.fsf@HIDDEN> In-Reply-To: <86jzxwuedr.fsf@HIDDEN> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|DS7PR10MB5103:EE_ x-ms-office365-filtering-correlation-id: 0276858b-82e3-44fc-129b-08db481ec77c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8XoTZ/hBhlKDWrd6N5oZsOc6Fj8UDXPRbZgdDGYhN9UE2GuyE/vgVIvys9cNSfk+LWQYqkqBzrAf1T9tPn19hbBysLXcoPgEK9VGGRpmySLK3hR1/MzwrjDa9fbchz4RSu6TbELVqC7y37vsazCB10ZBPlS5oG0dCsJHEFEwF8MlzSX10ZIPSCODaj0OA1DuuN+N8Yt59Vhbb2VTqcKwgV2DRbIYGgKwRlJovlaZeRgl32tC6xzudimVbReyxr4CNUz88SUt8zgd0ROg6zXW+QXkIqKUluKdCXyYWbtfG7oLP0uDO7EReK2bRaADMqRR/rbJPcWV4gIs+FytZQHtT6E/IU+Rx8oNufXqLm8SsgqrcapCthEufjxt4CWXPyIHdVdADKj0Xd2bjOzDdiAx0R3jQjO6ZYl+q0SpzJuN9jmlWrk8s9ddCT4Dpo5r/Q23zIrBM8P9qCW/GNM1+uEeangGVPUjBAlkySSDkAqafxAa8jfQZKFE3y1PsZTR0cvf57sGhmCCwel2I95pKSv/8Mxy3MLbp9o5Oxzc2uKqLdw+MxBj9mMGrNkxwm/racs/WoBwbDklpSyT5KRM3n/p2KeKESMYn0v2MlqUUgBNyYJSAxurH7CQwTts3PwGkGDg x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(136003)(376002)(346002)(39860400002)(366004)(451199021)(86362001)(33656002)(38070700005)(2906002)(55016003)(7696005)(71200400001)(186003)(83380400001)(6506007)(26005)(9686003)(44832011)(4326008)(64756008)(66476007)(66446008)(76116006)(66946007)(478600001)(110136005)(66556008)(316002)(52536014)(5660300002)(38100700002)(41300700001)(122000001)(8676002)(54906003)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?taBQwCPczzhzt0TdjC5eWHct3niCHI1C4HMthr2WNTtJaugL+ptcOdsNqaUQ?= =?us-ascii?Q?iEVtbSpzOkVU0TQMMAe3+FrCznVsAzyuuzhQnkXaiCSY6sfjKdKvW2U94+TH?= =?us-ascii?Q?EIStbPM5T7dVbQUsQncgdiPm8cV5fYbhjcaHB+5TUBf1IG8c5z8np3uec8Vi?= =?us-ascii?Q?r7ZhXS3QW+YGGrTF1my4ujP2tpK5qMKL6bC6D14tfDJnbnYrbUjw0ml68Vo3?= =?us-ascii?Q?nRvS3W6rQBYw/JUO008cLrltTojj0QZb+UzCNS98VmWUeHv1Mh9GVmTYwozM?= =?us-ascii?Q?nZ7wsAmhKJ/em3YoDiDZar+suXKp6h2ky24vfLW0fnvOWJqnGzhIQwNMFlNi?= =?us-ascii?Q?8YCtvm9m57eL2Ik4WplA+U6mWlKQCRclDBmeKJPpR91wP/H7ZxlIN0I/r53E?= =?us-ascii?Q?RHweI4NVyFNQd7Dim9JsCxGoesRiLg3q63fKAwFmPpv0gpehevCg/x2SKQy7?= =?us-ascii?Q?/W3NtfClkKxDVVR1G907xJGPPIcoeQGTVp5Lh8KfPbR7h24/iVNTy6yqitUr?= =?us-ascii?Q?mnRzdZkoZtdF0HdaLqrLzFHnWbRgCtVzMlFyZsUiOOCQ23qNzED73XvauW18?= =?us-ascii?Q?Jc9eEkoMoHRO3USeyNAAnbnyiGZVkoR//T8Y93FhQOzNcLGyiwbJZOhOC9UQ?= =?us-ascii?Q?JL8XSGHvVrBcPfCWdlGOqPmJJVU3TyGaXOY0QDJIWWOLVGeBvkSg3M6LjgcP?= =?us-ascii?Q?ml9PhVnaQBNbhH0PuuCEyJBfncUHwDBuHaJM4B8NFYIkM8PDLMA4WZkcaRIa?= =?us-ascii?Q?qViAQUETvpoG9yY6Zz1xyPreAuXrJHjZnT4tdxOB4MWNdJAUBzfSsb4ZzBNw?= =?us-ascii?Q?tIDnlxLLIFrHndIfctiovbBsB9R+7Wj2XHi495bKXVrpTpYt/JonO03ur+iP?= =?us-ascii?Q?uhsepk2lOZZfE7ruYOk/WTs1Hx7A6K9OoEppYX8gNd8dVXITAxezybE5036j?= =?us-ascii?Q?mgKeUVScvvFGFAR2/6zBb3IUJJmRUEaq/2MuUaqSeZYXcz7ZgDsw9Xan9EGG?= =?us-ascii?Q?vO6IAcbAAuKeobTCaSRJKrSJRnF3HwafiUkHyxq20BAwN22xKS0NR6qPvVj4?= =?us-ascii?Q?e7Z8P7+RV7BW+s0Lya3e2PTz2RkUBYPL9qTq3BBdzL5zf3vWswPZRw7jOPYl?= =?us-ascii?Q?pGhjkILzD5TqNWeOWcT3iTDslTbVpREABZ1K3dTyXPWt+sNJ9f9GQ5QByq58?= =?us-ascii?Q?oX6O+92IyJW2fdpSMbZBNrSGXPDSLD/4gnO1D1I07fJK208fr1F5AyqdbOW4?= =?us-ascii?Q?BXGjRzo3Yla0MjWnsRyEUDkTSVq9XnC8VGNKrD1xxowlrfMOFTEStkbLhxav?= =?us-ascii?Q?6Vhg1nXLdWkYryf4aLwFG8B/Rkh24n1XvfC6zbVEJfnAb4Mu4wRfQ3jUwMx1?= =?us-ascii?Q?yX8t2lhWkixGi5n3zXW2cvEYe+CrGVw4/JvJrygZUlI5e83W/ZHx7PHQOZqM?= =?us-ascii?Q?o5dpyglLUlZQyXoJTwxkpwWgNNBoToYHN/Tw1t+nZkjg/lq6wuOAPiMUtpZC?= =?us-ascii?Q?6KpNNdqjAVAJSYp4uK87u4S3wwTRJYd+ba9r2qvE6qPeRLc+2PECSSWostTW?= =?us-ascii?Q?64nI63S05MyENySN+IwuqYkb3JT+KD72vdrMLiLy?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UKJwn5igpLgnPs4eB8YYzbrfMfX9YMZT5QS3frYF+6YYz2SP5gn30CgUr4IweZyXCEo+yo+6v7w30VyOPY+6lp7QksKVlNj/SUv4NlN82+JXDXuIlhC5rrIItFAgIZ2f79bf3mNg1MTvSrtpkTDFxt/tc5vWWbwORM5XYE2OitpVzpRDw929+HaDEbepXCbM75spF9jPWp9CkPUxPJ85iQfvhmkp6gWJXe+OrOM4w22lIH4EJLF1kaEzBJZpX9OzcwJPwKY/VMkSAjix3z5HoejfxOLnfW4wFB7OQDY1AjaJAHgkPg8jmFVChfFQcohr7oJHfoVnN3W2ADC4nEJBOTYbUsFKNYagHyA7ziD8cL3TFBjQ9sYXWnjV7P39bAs+kRSQCPfrsUO9388VT0+4ACDfAiJSfYd/sMjpPdHOmw8YOK15X2K7jtp0XNmK8pPolQu75vUiqeGBABJRsxsx6S0Q0jkvAE4NIkSJ68m5+M4mn/vu+ec8j7Tc4kp/JTufhh/bhKo0GBD5ovE8y8KlvxuHvAgHweNQSK+M/VUWCRCFWWiPv8VkG42034WGiacrdagOZ7bcnManK8vFg58qMXS8oGEP4aNMOSV0SOgd8zH1dbD1WxMwt+sniW6DSvrwD4PhLIzK+UQv+A5dtj27J95wfzpG1vv21XZ1hGspJSX08hZO6WhTxMETrOzAqjda0Z29nPH0XH91m/6UL9KG5t/lLEpT2F2TKFEBfmozEUOYIoJraqLFKzi9IfFN3x0uOO46R8mReTRQJ2OQJm8fVcfV1Zgis7bYFxVpGmHRpFYejkt/42q5FWO85m74geags9ypSlQsvwvwjZmmnQWCWjr++bdUoSKR76cSSWltp+aYSYl+IQ0RsVatRxfckf0756yNsrr5O+t+N1cijL7GTw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0276858b-82e3-44fc-129b-08db481ec77c X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2023 19:28:43.5635 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6BY5QkOZaLQUVyzKUFPBNXT8vdYPNv7D/9gMjYOQPQEpoZ+4+MTn1pYbluKrS4/ZOOdyTFNHT6c6zT7IG8Ejgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5103 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-28_06,2023-04-27_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=807 adultscore=0 malwarescore=0 mlxscore=0 spamscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304280159 X-Proofpoint-GUID: YiSmG3toUeKcjxTmsF49LcqLs7zvdtJ5 X-Proofpoint-ORIG-GUID: YiSmG3toUeKcjxTmsF49LcqLs7zvdtJ5 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, "62892 <at> debbugs.gnu.org" <62892 <at> debbugs.gnu.org> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > > +(defun mark--helper (move-fn number-of-things) >=20 > A nicer name would be 'mark-thing' as a reference to thingatpt.el. FWIW, I have a different take on this. Is it an "internal" function? Then its name should maybe use `--'. (But why should it be internal?) Is it a helper function? Then its name should maybe use a suffix that indicates that, such as `-helper' or `-1' (old-school Lisp, I suppose). `mark-thing' should be reserved for a function that takes a THING name as arg: `sexp', `page', etc., instead of a movement function such as `forward-sexp'. ___ FWIW, I think MOVE-FN is a fine name for the argument. My own preference, and what I use in my code, is the name FORWARD-THING-FUNCTION. ___ FWIW, in my library isearch+.el), I use the arg name THING for a thing name, not a movement or other function. E.g.: Function `isearchp-in-thing-p' is a helper function for defining specific THING-type predicates, such as `isearch(-not)-in-email-address-p'. ___ FWIW, my library `thing-cmds.el' has a command named `mark-things', which prompts for a THING type as arg: mark-things is an alias for 'select-things' in 'thing-cmds.el'. (mark-things THING &optional ARG ALLOW-EXTEND) Set point at one end of THING and set mark ARG THINGs from point. THING is a symbol that names a type of thing. Interactively, you are prompted for it. Completion is available (lax). (If THING doesn't have an associated `forward-'THING operation then do nothing.) Put mark at the same place command `forward-'THING would move point with the same prefix argument. Put point at the beginning of THING, unless the prefix argument (ARG) is negative, in which case put it at the end of THING. If `select-things' is repeated or if the mark is active (in Transient Mark mode), then it marks the next ARG THINGs, after the ones already marked. In this case the type of THING used is whatever was used the last time `select-things' was called - you are not prompted for it. This region extension reusing the last type of THING happens even if the active region is empty. This means that you can, for instance, just use `C-SPC' to activate an empty region and then use `select-things' to select more THINGS of the last kind selected. If there is no THING at point, and `thgcmd-use-nearest-thing-flag' is non-nil, then select a THING near point.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 28 Apr 2023 17:07:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 28 13:07:30 2023 Received: from localhost ([127.0.0.1]:34379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1psRZC-00027v-2V for submit <at> debbugs.gnu.org; Fri, 28 Apr 2023 13:07:30 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:51875) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1psRZA-00027i-1J for 62892 <at> debbugs.gnu.org; Fri, 28 Apr 2023 13:07:29 -0400 Received: (Authenticated sender: juri@HIDDEN) by mail.gandi.net (Postfix) with ESMTPSA id 9D9A4C0004; Fri, 28 Apr 2023 17:07:19 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> (Zachary Kanfer's message of "Sun, 23 Apr 2023 01:33:44 -0400") Organization: LINKOV.NET References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> Date: Fri, 28 Apr 2023 20:04:48 +0300 Message-ID: <86jzxwuedr.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > Attached is a patch with a few updates: Thanks for the patch. It would be nice to have such commands even not bound to default keys, so the users are free to bind them to any keys. > I'm not exactly sure of the best place to put the helper function, nor > exactly how the different lisp files in Emacs work together. There's no > provide statement; are all the files in lisp/emacs-lisp loaded at the same > time? If so, I'll make the other relevant functions (for marking word, > defun, page, paragraph, line, and char). Let's see: - mark-sexp and mark-defun are defined in emacs-lisp/lisp.el - mark-page in textmodes/page.el - mark-paragraph in textmodes/paragraphs.el - mark-word in simple.el So looks like the best place to define the helper is simple.el, before mark-word. > +(defun mark--helper (move-fn number-of-things) A nicer name would be 'mark-thing' as a reference to thingatpt.el. > + "Use MOVE-FN to move NUMBER-OF-THINGS things, extending region over them. > + > +The MOVE-FN should take a numeric argument, and move that many > +items forward (negative means backward). > + > +NUMBER-OF-THINGS is the number of additional things to move." Another variant is to use a single argument JUMPFORM like in 'isearch-yank-internal' that allows not to leak the prefix argument to the helper function: (defun isearch-yank-char (&optional arg) (isearch-yank-internal (lambda () (forward-char arg) (point))))
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 28 Apr 2023 05:28:29 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 28 01:28:29 2023 Received: from localhost ([127.0.0.1]:60231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1psGei-0005mF-6p for submit <at> debbugs.gnu.org; Fri, 28 Apr 2023 01:28:28 -0400 Received: from mail-oa1-f52.google.com ([209.85.160.52]:62670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1psGeg-0005lz-B3 for 62892 <at> debbugs.gnu.org; Fri, 28 Apr 2023 01:28:27 -0400 Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-18f16a2c329so9127256fac.0 for <62892 <at> debbugs.gnu.org>; Thu, 27 Apr 2023 22:28:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682659700; x=1685251700; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=E9321AaRBPVfujaGuzl9DtfpOz5Xl9N0z67JrbbBZP0=; b=ObkholXh2FrDFkMC6g1IPOpNH8VTKs+fUiz+QalpvMJvkXgDGF2hU7AutQoyvrJXKD 3CshtCY5swS/3jbZvNGz4qORbUzv6F1tvdpAQzQ7wCD5YRGUf/i+LPp+LHFz+qh2mibm HsvpHTTCPK94xT4ol5NqMvYKoJcq/I2GnqXPWNx7/fqFtNY0SdtdnNvq/XQv5IiKqECA se6ionpJCyh3nyKmXFjSSYTcfta2J8FQu7n6FeESVNUX9Gnk+4Msmgjus2XYejHbMAY3 NUHeV2sBGcLEnqAcg0Al9Pw2Rw+9EUO7drGHYsNf9stMyDbl7yU0lyZgJlkuVPO74pq0 jSfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682659700; x=1685251700; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=E9321AaRBPVfujaGuzl9DtfpOz5Xl9N0z67JrbbBZP0=; b=Ebd+s5o+XJBTmG4BV3XjWoUPXECpilc+3ECif/6lNIgFQMGBxef29YIW7HAYzXEZNZ cbL+CowMahQxt5JECsBQbUWZDUyMXKhXT612WV/fLmzihD5hmX42ISaD/Rny3AWgqdEe p25zRsS5zsz5ujfLwVxfCQMz/r4YKpwxI/EmQ1qWlLZNxC/DLdhP4i6KdiYNS+V4HocC kcEkp1JYwyqAmJlb/Q3JUA9uE7VxGGU8qns6PD16qW6H85Yxpg4wp2d35R9g5DAw7WNi wnMC3VsyJCPzAsA9dNpSGO/68e3r6mrIu4Wfi80ODFG3PiYnxY8AbzynynHLvRtD9xdz ifrg== X-Gm-Message-State: AC+VfDyqRvokiplEi/xMt7L8htjX49RsQqDGtnrBZ22S+EMIPbUSSzD1 Tav8adC5k3GBk1awTfx4U4hWsVU/xVjYH7UdLZI= X-Google-Smtp-Source: ACHHUZ7tsE+X21LuRgip0ar0RVDPcgSm/TmIoU8r45K8y9N+lGYPv49OSVD1t5YcN/okklW9luk7BBZ6btdHvzNLzTM= X-Received: by 2002:a05:6808:8ce:b0:383:e7ad:efaf with SMTP id k14-20020a05680808ce00b00383e7adefafmr1999385oij.8.1682659700303; Thu, 27 Apr 2023 22:28:20 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <m1354nr42v.fsf@HIDDEN> <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> <835y9jupgg.fsf@HIDDEN> <CAFXT+ROk5-ydr22qh0QD0B0F5pyG=vByHcLH1nUyQ32wQGORxQ@HIDDEN> <83r0s5se94.fsf@HIDDEN> <86ttx19ot4.fsf@HIDDEN> In-Reply-To: <86ttx19ot4.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Fri, 28 Apr 2023 01:28:09 -0400 Message-ID: <CAFXT+ROcOy8GR1a7mjPFBvhpiJbVqwTo-xMAn8c=jEw2XVB8Ww@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Juri Linkov <juri@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000b6eb1905fa5ebdb2" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, Eli Zaretskii <eliz@HIDDEN>, monnier@HIDDEN, 62892 <at> debbugs.gnu.org, mardani29@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --000000000000b6eb1905fa5ebdb2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I made some minor changes below. Alongside my suggestions are explanations as to why. This is a hard command to describe! > (defun mark-sexp (&optional arg allow-extend) > "Set mark ARG sexps from point or move mark ARG sexps. Mark can be moved ARG steps. Press C-M-@ C-M-@ C-u 3 C-M-@. There will be five total sexps marked. I'm hoping this explains that case as well, and giving an intuition for what this command does ("move mark ARG steps"). > When invoked interactively without a prefix argument and no active > region, mark moves one sexp forward. I moved this first, both because I suspect it's the most common use case, but also because it's the the simplest to understand. > When invoked interactively without a prefix argument, and region > is active, mark moves one sexp away from point (i.e., forward > if mark is at or after point, back if mark is before point), thus > extending the region by one sexp. > With ALLOW-EXTEND non-nil (interactively, with prefix argument), > the place mark goes is the same place \\[forward-sexp] would move > with the same value of ARG; if the mark is active, it moves ARG > sexps from its current position, otherwise it is set ARG sexps > from point. Moved this earlier to keep the entire interactive block together. > When the region is active, the direction the region is extended > depends on the relative position of mark and point. This means the > direction can be changed by pressing \\[exchange-point-and-mark] > before this command.. I moved this to a separate section to simplify the earlier parts, and to call out that this is possible whenever the region is active. > When called from Lisp with ALLOW-EXTEND omitted or nil, mark is > set ARG (defaulting to 1) sexps from point. Removed extra m from "omitted". > This command assumes point is not in a string or comment." Altogether, the docstring with my suggestions looks like: > (defun mark-sexp (&optional arg allow-extend) > "Set mark ARG sexps from point or move mark ARG sexps. > When invoked interactively without a prefix argument and no active > region, mark moves one sexp forward. > When invoked interactively without a prefix argument, and region > is active, mark moves one sexp away from point (i.e., forward > if mark is at or after point, back if mark is before point), thus > extending the region by one sexp. > With ALLOW-EXTEND non-nil (interactively, with prefix argument), > the place mark goes is the same place \\[forward-sexp] would move > with the same value of ARG; if the mark is active, it moves ARG > sexps from its current position, otherwise it is set ARG sexps > from point. > When the region is active, the direction the region is extended > depends on the relative position of mark and point. This means the > direction can be changed by pressing \\[exchange-point-and-mark] > before this command. > When called from Lisp with ALLOW-EXTEND omitted or nil, mark is > set ARG (defaulting to 1) sexps from point. > This command assumes point is not in a string or comment." This is a complicated command, for sure -- which is partially why I want simple functions to mark sexps forward and backward: to not have to think about different cases. Can we fork off a discussion about those functions? Having simple functions allows the user to do what they want without having to learn complex nuance. On Thu, Apr 27, 2023 at 2:14=E2=80=AFPM Juri Linkov <juri@HIDDEN> wrote= : > > I tried to describe the behavior in the doc string as follows: > > > > (defun mark-sexp (&optional arg allow-extend) > > "Set mark ARG sexps from point or move mark one sexp. > > When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is > > set ARG sexps from point; ARG defaults to 1. > > With ALLOW-EXTEND non-nil (interactively, with prefix argument), > > the place mark goes is the same place \\[forward-sexp] would move > > with the same value of ARG; if the mark is active, it moves ARG > > sexps from its current position, otherwise it is set ARG sexps > > from point; ARG defaults to 1. > > When invoked interactively without a prefix argument and no active > > region, mark moves one sexp forward. > > When invoked interactively without a prefix argument, and region > > is active, mark moves one sexp away of point (i.e., forward > > if mark is at or after point, back if mark is before point), thus > > extending the region by one sexp. Since the direction of region > > extension depends on the relative position of mark and point, you > > can change the direction by \\[exchange-point-and-mark]. > > This command assumes point is not in a string or comment." > > > > It is still somewhat complicated and confusing, but at least it's > > accurate, I think. > > mark-sexp has a counterpart mark-word that has almost the same > implementation and docstring. So this could be fixed in both places. > --000000000000b6eb1905fa5ebdb2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">I made some minor changes below. Alongside my suggestions = are explanations as to why. This is a hard command to describe!<br><br>>= (defun mark-sexp (&optional arg allow-extend)<br>> =C2=A0"Set = mark ARG sexps from point or move mark ARG sexps.<br><br>Mark can be moved = ARG steps. Press C-M-@ C-M-@ C-u 3 C-M-@. There will be five total sexps ma= rked. I'm hoping this explains that case as well, and giving an intuiti= on for what this command does ("move mark ARG steps").<br><br>>= ; When invoked interactively without a prefix argument and no active<br>>= ; region, mark moves one sexp forward.<br><br>I moved this first, both beca= use I suspect it's the most common use case, but also because it's = the the simplest to understand.<br><br>> When invoked interactively with= out a prefix argument, and region<br>> is active, mark moves one sexp aw= ay from point (i.e., forward<br>> if mark is at or after point, back if = mark is before point), thus<br>> extending the region by one sexp.<br>&g= t; With ALLOW-EXTEND non-nil (interactively, with prefix argument),<br>>= the place mark goes is the same place \\[forward-sexp] would move<br>> = with the same value of ARG; if the mark is active, it moves ARG<br>> sex= ps from its current position, otherwise it is set ARG sexps<br>> from po= int.<br><br>Moved this earlier to keep the entire interactive block togethe= r.<br><br>> When the region is active, the direction the region is exten= ded<br>> depends on the relative position of mark and point. This means = the<br>> direction can be changed by pressing \\[exchange-point-and-mark= ]<br>> before this command..<br><br>I moved this to a separate section t= o simplify the earlier parts, and to call out that this is possible wheneve= r the region is active.<br><br>> When called from Lisp with ALLOW-EXTEND= omitted or nil, mark is<br>> set ARG (defaulting to 1) sexps from point= .<br><br>Removed extra m from "omitted".<br><br>> This command= assumes point is not in a string or comment."<br><br>Altogether, the = docstring with my suggestions looks like:<br><br>> (defun mark-sexp (&am= p;optional arg allow-extend)<br>> =C2=A0"Set mark ARG sexps from po= int or move mark ARG sexps.<br>> When invoked interactively without a pr= efix argument and no active<br>> region, mark moves one sexp forward.<br= >> When invoked interactively without a prefix argument, and region<br>&= gt; is active, mark moves one sexp away from point (i.e., forward<br>> i= f mark is at or after point, back if mark is before point), thus<br>> ex= tending the region by one sexp.<br>> With ALLOW-EXTEND non-nil (interact= ively, with prefix argument),<br>> the place mark goes is the same place= \\[forward-sexp] would move<br>> with the same value of ARG; if the mar= k is active, it moves ARG<br>> sexps from its current position, otherwis= e it is set ARG sexps<br>> from point.<br>> When the region is active= , the direction the region is extended<br>> depends on the relative posi= tion of mark and point. This means the<br>> direction can be changed by = pressing \\[exchange-point-and-mark]<br>> before this command.<br>> W= hen called from Lisp with ALLOW-EXTEND omitted or nil, mark is<br>> set = ARG (defaulting to 1) sexps from point.<br>> This command assumes point = is not in a string or comment."<br><br>This is a complicated command, = for sure -- which is partially why I want simple functions to mark sexps fo= rward and backward: to not have to think about different cases. Can we fork= off a discussion about those functions? Having simple functions allows the= user to do what they want without having to learn complex nuance.</div><br= ><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, A= pr 27, 2023 at 2:14=E2=80=AFPM Juri Linkov <<a href=3D"mailto:juri@linko= v.net">juri@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_q= uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2= 04);padding-left:1ex">> I tried to describe the behavior in the doc stri= ng as follows:<br> ><br> >=C2=A0 =C2=A0(defun mark-sexp (&optional arg allow-extend)<br> >=C2=A0 =C2=A0 =C2=A0"Set mark ARG sexps from point or move mark on= e sexp.<br> >=C2=A0 =C2=A0When called from Lisp with ALLOW-EXTEND ommitted or nil, m= ark is<br> >=C2=A0 =C2=A0set ARG sexps from point; ARG defaults to 1.<br> >=C2=A0 =C2=A0With ALLOW-EXTEND non-nil (interactively, with prefix argu= ment),<br> >=C2=A0 =C2=A0the place mark goes is the same place \\[forward-sexp] wou= ld move<br> >=C2=A0 =C2=A0with the same value of ARG; if the mark is active, it move= s ARG<br> >=C2=A0 =C2=A0sexps from its current position, otherwise it is set ARG s= exps<br> >=C2=A0 =C2=A0from point; ARG defaults to 1.<br> >=C2=A0 =C2=A0When invoked interactively without a prefix argument and n= o active<br> >=C2=A0 =C2=A0region, mark moves one sexp forward.<br> >=C2=A0 =C2=A0When invoked interactively without a prefix argument, and = region<br> >=C2=A0 =C2=A0is active, mark moves one sexp away of point (i.e., forwar= d<br> >=C2=A0 =C2=A0if mark is at or after point, back if mark is before point= ), thus<br> >=C2=A0 =C2=A0extending the region by one sexp.=C2=A0 Since the directio= n of region<br> >=C2=A0 =C2=A0extension depends on the relative position of mark and poi= nt, you<br> >=C2=A0 =C2=A0can change the direction by \\[exchange-point-and-mark].<b= r> >=C2=A0 =C2=A0This command assumes point is not in a string or comment.&= quot;<br> ><br> > It is still somewhat complicated and confusing, but at least it's<= br> > accurate, I think.<br> <br> mark-sexp has a counterpart mark-word that has almost the same<br> implementation and docstring.=C2=A0 So this could be fixed in both places.<= br> </blockquote></div> --000000000000b6eb1905fa5ebdb2--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 27 Apr 2023 18:14:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 27 14:14:23 2023 Received: from localhost ([127.0.0.1]:59779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ps68N-00062H-4A for submit <at> debbugs.gnu.org; Thu, 27 Apr 2023 14:14:23 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:44161) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1ps68K-000621-9d for 62892 <at> debbugs.gnu.org; Thu, 27 Apr 2023 14:14:21 -0400 Received: (Authenticated sender: juri@HIDDEN) by mail.gandi.net (Postfix) with ESMTPSA id B61E91C0008; Thu, 27 Apr 2023 18:14:11 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <83r0s5se94.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 27 Apr 2023 15:25:59 +0300") Organization: LINKOV.NET References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <m1354nr42v.fsf@HIDDEN> <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> <835y9jupgg.fsf@HIDDEN> <CAFXT+ROk5-ydr22qh0QD0B0F5pyG=vByHcLH1nUyQ32wQGORxQ@HIDDEN> <83r0s5se94.fsf@HIDDEN> Date: Thu, 27 Apr 2023 21:12:55 +0300 Message-ID: <86ttx19ot4.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, Zachary Kanfer <zkanfer@HIDDEN>, monnier@HIDDEN, mardani29@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > I tried to describe the behavior in the doc string as follows: > > (defun mark-sexp (&optional arg allow-extend) > "Set mark ARG sexps from point or move mark one sexp. > When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is > set ARG sexps from point; ARG defaults to 1. > With ALLOW-EXTEND non-nil (interactively, with prefix argument), > the place mark goes is the same place \\[forward-sexp] would move > with the same value of ARG; if the mark is active, it moves ARG > sexps from its current position, otherwise it is set ARG sexps > from point; ARG defaults to 1. > When invoked interactively without a prefix argument and no active > region, mark moves one sexp forward. > When invoked interactively without a prefix argument, and region > is active, mark moves one sexp away of point (i.e., forward > if mark is at or after point, back if mark is before point), thus > extending the region by one sexp. Since the direction of region > extension depends on the relative position of mark and point, you > can change the direction by \\[exchange-point-and-mark]. > This command assumes point is not in a string or comment." > > It is still somewhat complicated and confusing, but at least it's > accurate, I think. mark-sexp has a counterpart mark-word that has almost the same implementation and docstring. So this could be fixed in both places.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 27 Apr 2023 12:25:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 27 08:25:39 2023 Received: from localhost ([127.0.0.1]:57699 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ps0gs-0007D5-Gk for submit <at> debbugs.gnu.org; Thu, 27 Apr 2023 08:25:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1ps0go-0007Cn-SX for 62892 <at> debbugs.gnu.org; Thu, 27 Apr 2023 08:25:37 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1ps0gi-0006Om-EJ; Thu, 27 Apr 2023 08:25:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=nnkKydKFLjOqxm4EHYoIOZYRs3P3c8kUg9kRJSqCqoc=; b=Tv81g1KzbKe8 CvkXEbMyrWEreab4atgDSs9Oz4UBcKnyBg+CLO2u8o8Hn7dNrn1tNpjC5l8OPoWLOuJZXDI/MjskZ oolkZzWt9mxr+KMiC6tdlM4Rj3Mxprkv2hMiFWSnMM2sqxMojXkyCULP+0/K0p0msqQoGxegUJih3 83ceN9GkvmIhzOuUQ/QCr3zMvqwq+pQJljdfLCW/wvGRDdeAh/c1TJHVA7y4uKxxef3mQfNkG0A4j CvQV98WBm4x3EC74l8MNWO59ksGsc1YMmE9OEA/HMF1DM4C3mBCvh4eDd+rJIwSfO5izX3QuC3f/q nAjXMBMHpk30XZN3ugf4XQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1ps0gh-0001ew-Ue; Thu, 27 Apr 2023 08:25:28 -0400 Date: Thu, 27 Apr 2023 15:25:59 +0300 Message-Id: <83r0s5se94.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN>, Juri Linkov <juri@HIDDEN> In-Reply-To: <CAFXT+ROk5-ydr22qh0QD0B0F5pyG=vByHcLH1nUyQ32wQGORxQ@HIDDEN> (message from Zachary Kanfer on Wed, 26 Apr 2023 22:37:58 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <m1354nr42v.fsf@HIDDEN> <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> <835y9jupgg.fsf@HIDDEN> <CAFXT+ROk5-ydr22qh0QD0B0F5pyG=vByHcLH1nUyQ32wQGORxQ@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, monnier@HIDDEN, 62892 <at> debbugs.gnu.org, mardani29@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Zachary Kanfer <zkanfer@HIDDEN> > Date: Wed, 26 Apr 2023 22:37:58 -0400 > Cc: mardani29@HIDDEN, ruijie@HIDDEN, monnier@HIDDEN, > 62892 <at> debbugs.gnu.org > > > > Worse still is the next part: > > > > > > > Interactively, if this command is repeated > > > > or (in Transient Mark mode) if the mark is active, > > > > it marks the next ARG sexps after the ones already marked. > > > > > > This says it marks sexps *after* the ones already marked. This is incorrect; if point is *after* mark, > and > > > mark is active, this function marks sexps *before* the ones already marked. > > > > I cannot reproduce this behavior, if I understand your description > > correctly. Please show a recipe, starting from "emacs -Q", to > > reproduce. > > Open Emacs with: > > emacs -Q --eval '(progn (insert "foo bar baz") (goto-char 8) (set-mark 5))' > > It will insert "foo bar baz", put point after "bar", and mark before "bar". Region contains "bar". > > Then when we run mark-sexp, we expect to mark some sexps "after the ones already marked". That's > what the docstring says. > > After running the command above to open emacs, press C-M-@ to run mark-sexp. We should see > sexps marked "after the ones already marked"; that is, we should see "bar baz" marked. But we don't. > Instead, we see that "foo bar" is highlighted. That is, we have marked sexps *before* the ones already > marked. > > > > The documentation for mark-sexp says: > > > > > > > Set mark ARG sexps from point. > > > > The place mark goes is the same place C-M-<right> would > > > > move to with the same argument. > > > > > > This is correct but misleading. > > > > Please elaborate: how could it mislead? > > "The same argument" is the misleading part. If I call mark-sexp with no argument, sometimes that code > passes -1 to forward-sexp. So while I think I'm effectively passing a "1" to mark-sexp, instead -1 is > passed to forward-sexp. This is somewhat explained by the next part of the docstring, but not entirely. > Read with the rest of the docstring, it reinforces the belief that the command only marks sexps *after* > point. Thanks. Yes, we have a small mess on our hands here. Over the years, as features were added to this command, the doc string became more and more inaccurate. Moreover, the behavior itself is somewhat inconsistent: AFAIK this is the only command that accepts a numeric argument and yet behaves differently when invoked without an argument vs with "C-u 1". I tried to describe the behavior in the doc string as follows: (defun mark-sexp (&optional arg allow-extend) "Set mark ARG sexps from point or move mark one sexp. When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is set ARG sexps from point; ARG defaults to 1. With ALLOW-EXTEND non-nil (interactively, with prefix argument), the place mark goes is the same place \\[forward-sexp] would move with the same value of ARG; if the mark is active, it moves ARG sexps from its current position, otherwise it is set ARG sexps from point; ARG defaults to 1. When invoked interactively without a prefix argument and no active region, mark moves one sexp forward. When invoked interactively without a prefix argument, and region is active, mark moves one sexp away of point (i.e., forward if mark is at or after point, back if mark is before point), thus extending the region by one sexp. Since the direction of region extension depends on the relative position of mark and point, you can change the direction by \\[exchange-point-and-mark]. This command assumes point is not in a string or comment." It is still somewhat complicated and confusing, but at least it's accurate, I think.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 27 Apr 2023 02:38:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 26 22:38:18 2023 Received: from localhost ([127.0.0.1]:57269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1prrWT-0001pH-Qc for submit <at> debbugs.gnu.org; Wed, 26 Apr 2023 22:38:18 -0400 Received: from mail-oo1-f50.google.com ([209.85.161.50]:58853) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1prrWR-0001oz-E8 for 62892 <at> debbugs.gnu.org; Wed, 26 Apr 2023 22:38:16 -0400 Received: by mail-oo1-f50.google.com with SMTP id 006d021491bc7-541b60e0a7fso4276653eaf.1 for <62892 <at> debbugs.gnu.org>; Wed, 26 Apr 2023 19:38:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682563089; x=1685155089; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0h4t93m+/fBHggnpMpiaqRZBMgxg/sAtoezYGvn7RXk=; b=GenSydip0nV07YI2AVoXAxgHPrSbnpp1AILcHg2VyeJRDHnkJLBbZYVqLa3rC1rAQ8 4Xez968tQ6zd1fKT4zKTfc7/gZGLFAIM9eSVvUuvsFBEjTLnlKnDDY7VsqObYJxBcfZ6 htqXus5LWMQrp5YtGH22wCvQB945cRs8FoMapw+b75fQee6KxIs3BNTsvpWtWsfbUVpf iMpz4f3fBeqVn3rxl+3CBF06wGHsVVzLI+3kIlpePNecuDIivZPLsn8XzVdcEzhNAoB3 ck2ndratGqcuNr+DrnMsgCNMI+dvuDb7/ipBOoaxNGnhU//xELi/DP1ySdcfE4RL0RcK zZ9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682563089; x=1685155089; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0h4t93m+/fBHggnpMpiaqRZBMgxg/sAtoezYGvn7RXk=; b=csx7jkvIpILtvLkmaGxYHmr1CJeZCpFpdicxrTQhlOh97PEAcoP/m2pgwAfdSRdWBj Mvun6JvCPTZ8MN8/GUeCdpppTqar5Z8UidLGA379jOoyR9QzNDUuWJaKz2XA/Qrp//fJ je4p1fJ9IBsayarQwb4dHf+Nzt8T7Od2I8r71Q37TMEN46jcduxo7UWNEZf1K0RTtpNO Em8I5uwjm4QFfjwcMyUNc++UuREbIvhKhpFGDeAArr/DTglJlQWSg2hmGARQfZytNpVO VI9z7sRMtyyWd5Jfgfafxwvg/DzIQYgAPkPr/YS+HiszfD3bdds6y2ibTLESJgk6dHuH R1OA== X-Gm-Message-State: AC+VfDwqttO9bvZUF30kdSDyhWnSQauYFdniK4+q6d3vYZw/w62CAAHr xfCm8HpY9UqwbVqGTB3j1l1lTLfE4lZIKcTbaLA= X-Google-Smtp-Source: ACHHUZ7UQKiRb1/1mszLK1okYZcMpgiRDja9RscLNWqP2QoHOs4pklqP2uqViTJR53s2ykGVsv5o3SpU6Aj6xhNymuQ= X-Received: by 2002:a4a:c289:0:b0:546:ecb3:f42 with SMTP id b9-20020a4ac289000000b00546ecb30f42mr191090ooq.8.1682563089454; Wed, 26 Apr 2023 19:38:09 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <m1354nr42v.fsf@HIDDEN> <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> <835y9jupgg.fsf@HIDDEN> In-Reply-To: <835y9jupgg.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Wed, 26 Apr 2023 22:37:58 -0400 Message-ID: <CAFXT+ROk5-ydr22qh0QD0B0F5pyG=vByHcLH1nUyQ32wQGORxQ@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Eli Zaretskii <eliz@HIDDEN> Content-Type: multipart/alternative; boundary="00000000000042592a05fa483ffb" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, monnier@HIDDEN, 62892 <at> debbugs.gnu.org, mardani29@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --00000000000042592a05fa483ffb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > > Worse still is the next part: > > > > > Interactively, if this command is repeated > > > or (in Transient Mark mode) if the mark is active, > > > it marks the next ARG sexps after the ones already marked. > > > > This says it marks sexps *after* the ones already marked. This is incorrect; if point is *after* mark, and > > mark is active, this function marks sexps *before* the ones already marked. > > I cannot reproduce this behavior, if I understand your description > correctly. Please show a recipe, starting from "emacs -Q", to > reproduce. Open Emacs with: emacs -Q --eval '(progn (insert "foo bar baz") (goto-char 8) (set-mark 5))' It will insert "foo bar baz", put point after "bar", and mark before "bar". Region contains "bar". Then when we run mark-sexp, we expect to mark some sexps "after the ones already marked". That's what the docstring says. After running the command above to open emacs, press C-M-@ to run mark-sexp. We should see sexps marked "after the ones already marked"; that is, we should see "bar baz" marked. But we don't. Instead, we see that "foo bar" is highlighted. That is, we have marked sexps *before* the ones already marked. > > The documentation for mark-sexp says: > > > > > Set mark ARG sexps from point. > > > The place mark goes is the same place C-M-<right> would > > > move to with the same argument. > > > > This is correct but misleading. > > Please elaborate: how could it mislead? "The same argument" is the misleading part. If I call mark-sexp with no argument, sometimes that code passes -1 to forward-sexp. So while I think I'm effectively passing a "1" to mark-sexp, instead -1 is passed to forward-sexp. This is somewhat explained by the next part of the docstring, but not entirely. Read with the rest of the docstring, it reinforces the belief that the command only marks sexps *after* point. > > > In my opinion, the description of that feature should not be part of the > > > mark-sexp command documentation, because the feature is actually > > > provided by C-x C-x (exchange-point-and-mark). > > > > One way for this situation to occur is by using C-x C-x, yes, but it's not the only way. You can set point, > > move forward sexps, and then calling mark-sexp will mark sexps backwards. > > > > There is specific code in mark-sexp to check which direction to move; it should be documented as > > such. > > Please also demonstrate this behavior and point to that code, so we > will know what you are alluding to. Here is the line of code: https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/lisp.el#n1= 07. When the region is active, and no prefix arg is given to mark-sexp, the function resets `arg` as follows: (setq arg (if arg (prefix-numeric-value arg) (if (< (mark) (point)) -1 1))) When no prefix arg is given, when the region is active, it sets arg to either 1 or -1, depending on the relative positions of point and mark. The behavior can be seen in the instructions above, but here's a simpler way to see it: 1. `emacs -Q --eval '(progn (insert "foo bar baz") (goto-char 5))` 2. C-space. (Set mark) 3. M-f. (forward word). We have now set up the situation I was referring to -- point is set after mark, and mark is active. 4. C-M-@. Here, we see mark-sexp extend region backwards without ever using C-x C-x (exchange-point-and-mark). The feature of extending the region backwards cannot be provided by exchange-point-and-mark. On Wed, Apr 26, 2023 at 2:28=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote: > > Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier < > monnier@HIDDEN>, > > 62892 <at> debbugs.gnu.org > > From: Zachary Kanfer <zkanfer@HIDDEN> > > Date: Wed, 26 Apr 2023 00:41:45 -0400 > > > > The documentation for mark-sexp says: > > > > > Set mark ARG sexps from point. > > > The place mark goes is the same place C-M-<right> would > > > move to with the same argument. > > > > This is correct but misleading. > > Please elaborate: how could it mislead? > > > Worse still is the next part: > > > > > Interactively, if this command is repeated > > > or (in Transient Mark mode) if the mark is active, > > > it marks the next ARG sexps after the ones already marked. > > > > This says it marks sexps *after* the ones already marked. This is > incorrect; if point is *after* mark, and > > mark is active, this function marks sexps *before* the ones already > marked. > > I cannot reproduce this behavior, if I understand your description > correctly. Please show a recipe, starting from "emacs -Q", to > reproduce. > > > > In my opinion, the description of that feature should not be part of > the > > > mark-sexp command documentation, because the feature is actually > > > provided by C-x C-x (exchange-point-and-mark). > > > > One way for this situation to occur is by using C-x C-x, yes, but it's > not the only way. You can set point, > > move forward sexps, and then calling mark-sexp will mark sexps backward= s. > > > > There is specific code in mark-sexp to check which direction to move; i= t > should be documented as > > such. > > Please also demonstrate this behavior and point to that code, so we > will know what you are alluding to. > > Thanks. > --00000000000042592a05fa483ffb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">> > Worse still is the next part:<br>> ><br>&g= t; > > Interactively, if this command is repeated<br>> > > o= r (in Transient Mark mode) if the mark is active,<br>> > > it mark= s the next ARG sexps after the ones already marked.<br>> ><br>> &g= t; This says it marks sexps *after* the ones already marked. This is incorr= ect; if point is *after* mark, and<br>> > mark is active, this functi= on marks sexps *before* the ones already marked.<br>><br>> I cannot r= eproduce this behavior, if I understand your description<br>> correctly.= =C2=A0 Please show a recipe, starting from "emacs -Q", to<br>>= reproduce.<br><br>Open Emacs with:<br><br>emacs -Q --eval '(progn (ins= ert "foo bar baz") (goto-char 8) (set-mark 5))'<br><br>It wil= l insert "foo bar baz", put point after "bar", and mark= before "bar". Region contains "bar".<br><br>Then when = we run mark-sexp, we expect to mark some sexps "after the ones already= marked". That's what the docstring says.<br><br><div>After runnin= g the command above to open emacs, press C-M-@ to run mark-sexp. We should = see sexps marked "after the ones already marked"; that is, we sho= uld see "bar baz" marked. But we don't. Instead, we see that = "foo bar" is highlighted. That is, we have marked sexps *before* = the ones already marked.</div><div><br></div><br>> > The documentatio= n for mark-sexp says:<br>> ><br>> > > Set mark ARG sexps fro= m point.<br>> > > The place mark goes is the same place C-M-<ri= ght> would<br>> > > move to with the same argument.<br>> >= ;<br>> > This is correct but misleading.<br>><br>> Please elabo= rate: how could it mislead?<br><br><div>"The same argument" is th= e misleading part. If I call mark-sexp with no argument, sometimes that cod= e passes -1 to forward-sexp. So while I think I'm effectively passing a= "1" to mark-sexp, instead -1 is passed to forward-sexp. This is = somewhat explained by the next part of the docstring, but not entirely. Rea= d with the rest of the docstring, it reinforces the belief that the command= only marks sexps *after* point.</div><br>> > > In my opinion, the= description of that feature should not be part of the<br>> > > ma= rk-sexp command documentation, because the feature is actually<br>> >= > provided by C-x C-x (exchange-point-and-mark).<br>> ><br>> &= gt; One way for this situation to occur is by using C-x C-x, yes, but it= 9;s not the only way. You can set point,<br>> > move forward sexps, a= nd then calling mark-sexp will mark sexps backwards.<br>> ><br>> &= gt; There is specific code in mark-sexp to check which direction to move; i= t should be documented as<br>> > such.<br>><br>> Please also de= monstrate this behavior and point to that code, so we<br>> will know wha= t you are alluding to.<br><br>Here is the line of code: <a href=3D"https://= git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/lisp.el#n107">http= s://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/lisp.el#n107</= a>. When the region is active, and no prefix arg is given to mark-sexp, the= function resets `arg` as follows:<br><br>(setq arg (if arg (prefix-numeric= -value arg)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (< (= mark) (point)) -1 1)))<br><br>When no prefix arg is given, when the region = is active, it sets arg to either 1 or -1, depending on the relative positio= ns of point and mark.<br><br>The behavior can be seen in the instructions a= bove, but here's a simpler way to see it:<br><br>1. `emacs -Q --eval &#= 39;(progn (insert "foo bar baz") (goto-char 5))`<br>2. C-space. (= Set mark)<br>3. M-f. (forward word). We have now set up the situation I was= referring to -- point is set after mark, and mark is active.<br>4. C-M-@. = Here, we see mark-sexp extend region backwards without ever using C-x C-x (= exchange-point-and-mark). The feature of extending the region backwards can= not be provided by exchange-point-and-mark.</div><br><div class=3D"gmail_qu= ote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Apr 26, 2023 at 2:28=E2= =80=AFAM Eli Zaretskii <<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>= > wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px = 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>= Cc: Ruijie Yu <<a href=3D"mailto:ruijie@HIDDEN" target=3D"_blank">ru= ijie@HIDDEN</a>>, Stefan Monnier <<a href=3D"mailto:monnier@HIDDEN= ontreal.ca" target=3D"_blank">monnier@HIDDEN</a>>,<br> >=C2=A0 <a href=3D"mailto:62892 <at> debbugs.gnu.org" target=3D"_blank">62892= @debbugs.gnu.org</a><br> > From: Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN" target= =3D"_blank">zkanfer@HIDDEN</a>><br> > Date: Wed, 26 Apr 2023 00:41:45 -0400<br> > <br> > The documentation for mark-sexp says:<br> > <br> > > Set mark ARG sexps from point.<br> > > The place mark goes is the same place C-M-<right> would<br> > > move to with the same argument.<br> > <br> > This is correct but misleading.<br> <br> Please elaborate: how could it mislead?<br> <br> > Worse still is the next part:<br> > <br> > > Interactively, if this command is repeated<br> > > or (in Transient Mark mode) if the mark is active,<br> > > it marks the next ARG sexps after the ones already marked.<br> > <br> > This says it marks sexps *after* the ones already marked. This is inco= rrect; if point is *after* mark, and<br> > mark is active, this function marks sexps *before* the ones already ma= rked.<br> <br> I cannot reproduce this behavior, if I understand your description<br> correctly.=C2=A0 Please show a recipe, starting from "emacs -Q", = to<br> reproduce.<br> <br> > > In my opinion, the description of that feature should not be part= of the<br> > > mark-sexp command documentation, because the feature is actually<= br> > > provided by C-x C-x (exchange-point-and-mark).<br> > <br> > One way for this situation to occur is by using C-x C-x, yes, but it&#= 39;s not the only way. You can set point,<br> > move forward sexps, and then calling mark-sexp will mark sexps backwar= ds.<br> > <br> > There is specific code in mark-sexp to check which direction to move; = it should be documented as<br> > such.<br> <br> Please also demonstrate this behavior and point to that code, so we<br> will know what you are alluding to.<br> <br> Thanks.<br> </blockquote></div> --00000000000042592a05fa483ffb--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 26 Apr 2023 06:28:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 26 02:28:30 2023 Received: from localhost ([127.0.0.1]:54112 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1prYdh-0002lP-Ns for submit <at> debbugs.gnu.org; Wed, 26 Apr 2023 02:28:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35894) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1prYdf-0002lB-65 for 62892 <at> debbugs.gnu.org; Wed, 26 Apr 2023 02:28:28 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1prYdY-0008HW-Ao; Wed, 26 Apr 2023 02:28:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=zmQdIitmQEffY/upxyT4SszD5/qKf+B2dPEgrLAd2nA=; b=YEZlPMgjrxxH 9irf2Ig4xjgtK2F95h3Fv2xP0hVegYtCOAAwWtvDJgIXxicxXBPg2PDiy6SEPLHU/NQDBbqiO6QEa b4+sIvM3M8P+F0BvmLvwMB4WrXFxPtq/UBqbSvYW4PmpqDvqo0A8On74BjTlE4Qa8X11CxCxME4Yt OwhCp1NjYKiLMbcj2zCAyzsQMHaOYvA1v+pw4J5twSP16UWcFtdrpQq79SGk+I6xxGOaLuqm1dFz7 CmzUN8lkxi0BOm+dWz45jxiqx14KTKzYfuQ48rTuhPPqTmC6E2rctFJcP6je0pqOKoxOXciTxZO5R veA8SUyHYxX21dsF10zGxg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1prYdW-00027V-Lr; Wed, 26 Apr 2023 02:28:19 -0400 Date: Wed, 26 Apr 2023 09:28:47 +0300 Message-Id: <835y9jupgg.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> In-Reply-To: <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> (message from Zachary Kanfer on Wed, 26 Apr 2023 00:41:45 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <m1354nr42v.fsf@HIDDEN> <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, monnier@HIDDEN, 62892 <at> debbugs.gnu.org, mardani29@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, > 62892 <at> debbugs.gnu.org > From: Zachary Kanfer <zkanfer@HIDDEN> > Date: Wed, 26 Apr 2023 00:41:45 -0400 > > The documentation for mark-sexp says: > > > Set mark ARG sexps from point. > > The place mark goes is the same place C-M-<right> would > > move to with the same argument. > > This is correct but misleading. Please elaborate: how could it mislead? > Worse still is the next part: > > > Interactively, if this command is repeated > > or (in Transient Mark mode) if the mark is active, > > it marks the next ARG sexps after the ones already marked. > > This says it marks sexps *after* the ones already marked. This is incorrect; if point is *after* mark, and > mark is active, this function marks sexps *before* the ones already marked. I cannot reproduce this behavior, if I understand your description correctly. Please show a recipe, starting from "emacs -Q", to reproduce. > > In my opinion, the description of that feature should not be part of the > > mark-sexp command documentation, because the feature is actually > > provided by C-x C-x (exchange-point-and-mark). > > One way for this situation to occur is by using C-x C-x, yes, but it's not the only way. You can set point, > move forward sexps, and then calling mark-sexp will mark sexps backwards. > > There is specific code in mark-sexp to check which direction to move; it should be documented as > such. Please also demonstrate this behavior and point to that code, so we will know what you are alluding to. Thanks.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 26 Apr 2023 04:42:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 26 00:42:06 2023 Received: from localhost ([127.0.0.1]:53962 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1prWyk-0007oe-5z for submit <at> debbugs.gnu.org; Wed, 26 Apr 2023 00:42:06 -0400 Received: from mail-oa1-f51.google.com ([209.85.160.51]:53452) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1prWyh-0007nc-QW for 62892 <at> debbugs.gnu.org; Wed, 26 Apr 2023 00:42:04 -0400 Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-18665c1776dso4902867fac.2 for <62892 <at> debbugs.gnu.org>; Tue, 25 Apr 2023 21:42:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682484118; x=1685076118; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+Tt1QsRbDDMU4icx/MW7YfQok3AxL0D7fRx2nCR6K9Q=; b=Ktj6wCvUv+6Nz179pmaMMYS113ldmJv6kiijFo5v4Vy+kFE+II6NuM+ThXJQpcNz9G EGj37qI95gUrfcV0kY4lSQUvWphgobDcBBz1UtxMuwJtugP2vWbJJo+NhOeqI80jpCk+ 0GoSFHOou7MenYXWIUlinI2mefnK3ka/ECw93QJTErcYI+kcxGBxXglJ5Gor920cAFh5 nZKX1cHwaJktLDjYsmbEnDZMVUslxsYnHvBQfGJ5Keuu/px/xO9czJ4TmKqhpLfXCikr h4xM6BaLh35sGpFqgNC/+69xB3pUVd3madp+l3mA/QVYYwdILKKSXtHWUIlubGXE201+ ytOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682484118; x=1685076118; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+Tt1QsRbDDMU4icx/MW7YfQok3AxL0D7fRx2nCR6K9Q=; b=EnxezdebqK+FKr2vR0s6gZRP2sBNMaRkCLMdiGrcBLQggk+g85E7qXoqPnhTMTAzTv UROhP9ftNXH/iClgbvAetFOd3tglKOjgKMPkwwjACt3gkV1pspq5tWooBEv7eXQDerTP Vffbo1FVxlrRcrghM/Ryzgq8dnJpCFDRmLikwEphIgbxg96FV6g35ywMNSMLy9ptOEYd cPDRrqF37T9M0HZgcwIdLsGLm/yrxjfGwDYpmH22Tw5IHXpuOstzn8ka7NFsYUaGniFV BtSFp0bYVLZTnaePUmRhIg/QZ52drEvhga7XVt1gRD2md/OxnwPkrmDhlgV6B0m1RBQ7 s/nw== X-Gm-Message-State: AAQBX9egjJ5kqF41jMMGAp5MRoZPMR6Ap6vIRvAO+d89l7AYwzkUhYaE A+WVdCBalLjtIKwoX4IB4HrO/RwIh0XfOzwr80Q= X-Google-Smtp-Source: AKy350ZcHZOXMr8CQTny1oVYR1ADNHDB9tBzRMfdNvYHAPcT0NwkyAWF+DP7+X6yT0drtE+7H+hrZdC7cIgSBpLl4VY= X-Received: by 2002:a05:6870:ea92:b0:187:dbb8:f5fc with SMTP id s18-20020a056870ea9200b00187dbb8f5fcmr12412082oap.35.1682484118051; Tue, 25 Apr 2023 21:41:58 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> <m1354nr42v.fsf@HIDDEN> In-Reply-To: <m1354nr42v.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Wed, 26 Apr 2023 00:41:45 -0400 Message-ID: <CAFXT+RO8MLOq=PoCEWCg2Wvvhay=U9bgq41Ev4ew34PO9-0Zng@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: =?UTF-8?Q?Daniel_Mart=C3=ADn?= <mardani29@HIDDEN> Content-Type: multipart/alternative; boundary="00000000000032604505fa35dce0" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --00000000000032604505fa35dce0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The documentation for mark-sexp says: > Set mark ARG sexps from point. > The place mark goes is the same place C-M-<right> would > move to with the same argument. This is correct but misleading. Worse still is the next part: > Interactively, if this command is repeated > or (in Transient Mark mode) if the mark is active, > it marks the next ARG sexps after the ones already marked. This says it marks sexps *after* the ones already marked. This is incorrect; if point is *after* mark, and mark is active, this function marks sexps *before* the ones already marked. > In my opinion, the description of that feature should not be part of the > mark-sexp command documentation, because the feature is actually > provided by C-x C-x (exchange-point-and-mark). One way for this situation to occur is by using C-x C-x, yes, but it's not the only way. You can set point, move forward sexps, and then calling mark-sexp will mark sexps backwards. There is specific code in mark-sexp to check which direction to move; it should be documented as such. On Tue, Apr 25, 2023 at 6:26=E2=80=AFPM Daniel Mart=C3=ADn <mardani29@yahoo= .es> wrote: > Zachary Kanfer <zkanfer@HIDDEN> writes: > > > > > Also, whatever the outcome of this patch, I think it would be advisable > to > > explain somewhere how mark-sexp extends region by the end of region > > opposite point; this is not in the docstring or any other documentation > > I've seen. > > > > In my opinion, the description of that feature should not be part of the > mark-sexp command documentation, because the feature is actually > provided by C-x C-x (exchange-point-and-mark). The Emacs manual in > section 12.1 Setting the Mark describes this use case well, I think: > > =E2=80=98C-x C-x=E2=80=99 is useful when you are > satisfied with the position of point but want to move the other end of > the region (where the mark is). > --00000000000032604505fa35dce0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>The documentation for mark-sexp says:</div><div><br><= /div><div>> Set mark ARG sexps from point.</div><div>> The place mark= goes is the same place C-M-<right> would<br>> move to with the sa= me argument.</div><div><br></div><div>This is correct but misleading. Worse= still is the next part:<br></div><div><br></div><div>> Interactively, i= f this command is repeated<br>> or (in Transient Mark mode) if the mark = is active,<br>> it marks the next ARG sexps after the ones already marke= d.</div><div><br></div><div>This says it marks sexps *after* the ones alrea= dy marked. This is incorrect; if point is *after* mark, and mark is active,= this function marks sexps *before* the ones already marked.</div><div><br>= </div><div>> In my opinion, the description of that feature should not b= e part of the<br>> mark-sexp command documentation, because the feature = is actually<br>> provided by C-x C-x (exchange-point-and-mark).</div><di= v><br></div><div>One way for this situation to occur is by using C-x C-x, y= es, but it's not the only way. You can set point, move forward sexps, a= nd then calling mark-sexp will mark sexps backwards.</div><div><br></div><d= iv>There is specific code in mark-sexp to check which direction to move; it= should be documented as such.<br></div></div><br><div class=3D"gmail_quote= "><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Apr 25, 2023 at 6:26=E2=80= =AFPM Daniel Mart=C3=ADn <<a href=3D"mailto:mardani29@HIDDEN">mardani2= 9@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style= =3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding= -left:1ex">Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN" target= =3D"_blank">zkanfer@HIDDEN</a>> writes:<br> <br> ><br> > Also, whatever the outcome of this patch, I think it would be advisabl= e to<br> > explain somewhere how mark-sexp extends region by the end of region<br= > > opposite point; this is not in the docstring or any other documentatio= n<br> > I've seen.<br> ><br> <br> In my opinion, the description of that feature should not be part of the<br= > mark-sexp command documentation, because the feature is actually<br> provided by C-x C-x (exchange-point-and-mark).=C2=A0 The Emacs manual in<br= > section 12.1 Setting the Mark describes this use case well, I think:<br> <br> =E2=80=98C-x C-x=E2=80=99 is useful when you are<br> satisfied with the position of point but want to move the other end of<br> the region (where the mark is).<br> </blockquote></div> --00000000000032604505fa35dce0--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 25 Apr 2023 22:26:44 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 25 18:26:44 2023 Received: from localhost ([127.0.0.1]:53741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1prR7U-0005U3-4N for submit <at> debbugs.gnu.org; Tue, 25 Apr 2023 18:26:44 -0400 Received: from sonic309-25.consmr.mail.ir2.yahoo.com ([77.238.179.83]:42034) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mardani29@HIDDEN>) id 1prR7R-0005To-NA for 62892 <at> debbugs.gnu.org; Tue, 25 Apr 2023 18:26:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1682461594; bh=Z2boYWKY5tyiUoWrFNlNVyvqSiNkTGBiV8hI4JiNCbM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=YysixJ6DYhGA4QhbDxMqCtW7uXjlrmvZqfaLuc1n1ezN0WPliDP2nzrlhdETvc9XbxHHeV5uE3pK/O8zHVsU2li0DQzbLxsVgzcFQz1yArJ5cf72iVFY5lJ4Jf1dYhueazmp/Zz+Znoe9d8WB97p+g9Qur07ib2JOZEb0LS/bbWi/59qYQ4ALL7wdmrZt173WKebB0DZKYEGPJ9gP0hLWLeulWW6Rb979cYZXylJrH9kHAUEBdkOuOqrOs9Ikay4pyGcAj4LLyy4rqO//Er20MSnoR4j1EH3LSw2HON4KWClffmhS8Px2s0UVoIxru+8sFFAEk8xGCSQU25yRex2gw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1682461594; bh=nV2rUp7tySf33JpHqY6FRc3ZVtH46ukxGKP3U5DCgnj=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=IWAobZurkIFM6beONnw4fXDCzV12jbgoY3H67oFSX/19xYrkOzPb8lyJuDL3Gt6tMjypnc5ugbFCB6tOguc4YtvoN51l0u3muBsyoWoTqRV5+zMWRR9LgJjC6KLV7kislUDubV4TXzC5119Tle1vnO16rGetInjYea4nV2cdayAxm2Uj1c0/IWI7DR5nMzdfBv3nZFf9qDUfGbkskMM+JupPjRRFggrp+hGWMFR9oEZumgkjvB3jgaOyooxgEncZJy1QhRPByVk2DgwQipapSI8hYZjM6q+xHWo8ljFuLRBKAcDQfOupTdzSDi7UF9eNTbkOvGs+WJZ/9j/+uVW7lg== X-YMail-OSG: Dw1neI8VM1nQzOGoLa2FMJXZo4xHEfBUa.GVH5YDRUjgfLAZ4PW.t8P3Z1DJXWq fI7c6QxalU3OmsaeTWojBLdvIWEyBMtMfIk0DsCQveEpl_l8SDaxRvClsQM8S.Z98PUGAeAtK5i5 DWPHkZEX1qT3LB9OJKnPiG.xzW1PPLR3dqyHdzxoOXTBQZ.aF2E0wrghv87Qvj5v0Vu31ikV4OhO ZqvrFvdeelLaEhEHhxkRtheI9LjxrI2TRdM0GDko8Lvpy3cNMIQsLoXngu02peNnA9SSK2BErcI. SC3A.hYmKIsa8yPSjBIuTlnVH0h25reyDPO89l0fEAjJm8eKCgHIeK7.RMKmxfTlT4wnbSCxdqU3 VFh3a0I2DxT4F7dyEKB2I0J8aNYPcIBki50P1P37k6WayO.oZ.saTfn47jQDm6XF16NmmsOaVh9Y KkPJ.XH17Va_02TULG7Mfu8pdvjps76xnZm_YvD3qX2Z1Dp62u1t62RjpHCbjMyP_rJ6mOLs3mwB vBlgaVhaZVbmHOSESUBEz6ZNv_Wj9dsekCbdLasVaR_f6Hwecam3t2kDJ0wripSPjDIdZHvFQh7Z 6vmFq0ZtKWktrBnyX0Yfe7bSbMRlDTAU6T1syTifle3jZanfIA2J1SbeiHvdqYwnTg7T4Vd3n1Xx itYVTENqzQAttGp9hhX3QgzRuuYRvpp5sQBpl_Il8S_b3MrQrAcbeKvuOe6obLe1mSgL0qtAkHpD D3uCICxySsk5JFopRURqO6b1qYzRj2AVVBIuK1l8xkva1T42jAOxQRSjwD9.J9BfyWVoVqySWt0s Fei4jQXw4DFvdVGd5rO.q0yZexCfk4TsqlQZVM02cbuquXsn4TQOCKAWLRwJMSjfLREGuq.Q5pjo tT44OkgHOUUW7gy2qRrJUKiNQXvE_ZG5PaNUGQm3uYT7y8IdfM2pjf0U04nEqxvWJ65T8QF5ZHDv 8cfagM0jttoCkEFlyYi3v5gPOK_fxTtLvrlSTvGTYjcm6HdG__XxMu0aZlMowwKQuBESTHImdRr4 mBNTaVGrgvLrPqvABYk7daRKEZUOIMsdQX.NDxaHFAIvBthQMV36vOojmOgFWNx790R6kB7nXSta CKqavnJSxhMJBUK3nyxma7Yir5mj9zrwu3oMXsIcctNNkhSsLUld_YirKkWaQ8jGNLYo9fGFOUwk TbgRSJyddZ9d_vlSVOvvNwW2NTA1JIPhLTSUEtQOSYIGO37z.VQUUvLejZB_xSwqB87MGG9pd7Wz cmzfyEau7ipSFcSdSWKiXRA.s6jG7b0B.Y1mUsUau0QM2CDd4u6kPsb0ncVbG9KEwf0jIqZ0kB8O KNOtkN.iYVlJV2GW.ianHdPfo_V6VzJlQmRcyq4RGO8iaZQJdh4.WzJ09fsFYH8kS9PzY2EnHgyl acMIM63eOcbQbeXtgzfm7BCdmiaHLtzXamciUuItkzvNeMNmjaI7K1PzojwOYaL9kSUXiACIQZCm yIsMOHaE4p4osjY8ALorw4VYW27AWRFq_dma5PcccRpd.H04CKXD7wxJumB6hxzSIV1bVIAlDj3x apQHI1yqitq3jumx6BIk1svbAhH37oz5w3us.WcM0FPTJfBgrzlpavrkAByFRFquFLxoIMQCrwJ2 v5vSf.ZKsW9j87ZLEWdqTRb9opNy4y7cZGQvQdUjZhWbTS4VZxY9Us3A2AORKQ6.5nL7pB4JQpJF zv3BiKU6QqgGR0IF43xttjo8ZUCDpNam2ZwlkxM1_xiGUaOMGOMBgLnb2eYqIHdjBII9w_gmGV5w 5FgZ1cAKemnx8l3M0CZvJqt8I2xtE__5vUEqCVBcJ5SXjX13xJ5TXPxk44VwHvlDjAEZOMcXgVG4 BhF02gmbycN9a4YLRcs4ThncX8kotexXQEbhlAMerdmW6mp5bp9szgP.ErB6PjUxCD9lpH8v1TL8 LXFRsX.zZVsosOW1fPup2ioQUL3o3uQiGGbcNzyPiJ.fEdM0XzfEbETe41QDZz8xzyK5Wp7RJSzW uaIdYWKXWOaQ.OWcgOkqO8DalSK5_pVRBHl3ZPosDDLaW9U6k14iqPLiKUaamKliGZRA61JbbJqb YJwBNPHy.ycSd.F.YPkHGdA2fuySqiVb2pSciwUaUI4L5cNuC6LFp28TVhTzZh7p7DUaO7.yv7_G J3RKiU77eGzgLhv9zm.7tjShIC0EtkO4_.nHPV1ZJ77VLt0ea7zHUULC9Hp7Z6_0iZb8TTd4OosQ FOrBFGkg7KMqXfF47l.U3aVDX9VvVfuCpf8FwPhtCgp8- X-Sonic-MF: <mardani29@HIDDEN> X-Sonic-ID: f1ab5c24-36fe-4dd5-a71e-c4d9f97f9fc9 Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.ir2.yahoo.com with HTTP; Tue, 25 Apr 2023 22:26:34 +0000 Received: by hermes--production-ir2-74cd8fc864-tk7pl (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID a10122bd7be8f93bfd58723525dcf8d3; Tue, 25 Apr 2023 22:26:33 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= <mardani29@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> Date: Wed, 26 Apr 2023 00:26:32 +0200 In-Reply-To: <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> (Zachary Kanfer's message of "Sun, 23 Apr 2023 01:33:44 -0400") Message-ID: <m1354nr42v.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21417 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 711 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Zachary Kanfer <zkanfer@HIDDEN> writes: > > Also, whatever the outcome of this patch, I think it would be advisable to > explain somewhere how mark-sexp extends region by the end of region > opposite point; this is not in the docstring or any other documentation > I've seen. > In my opinion, the description of that feature should not be part of the mark-sexp command documentation, because the feature is actually provided by C-x C-x (exchange-point-and-mark). The Emacs manual in section 12.1 Setting the Mark describes this use case well, I think: =E2=80=98C-x C-x=E2=80=99 is useful when you are satisfied with the position of point but want to move the other end of the region (where the mark is).
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 23 Apr 2023 05:34:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 23 01:34:07 2023 Received: from localhost ([127.0.0.1]:44452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pqSMQ-0008SY-HX for submit <at> debbugs.gnu.org; Sun, 23 Apr 2023 01:34:07 -0400 Received: from mail-oa1-f46.google.com ([209.85.160.46]:62531) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1pqSML-0008Rz-Fj for 62892 <at> debbugs.gnu.org; Sun, 23 Apr 2023 01:34:04 -0400 Received: by mail-oa1-f46.google.com with SMTP id 586e51a60fabf-187b70ab997so18726592fac.0 for <62892 <at> debbugs.gnu.org>; Sat, 22 Apr 2023 22:34:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682228036; x=1684820036; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qr9gUO7R87LUYbzDvNjx0UE3E7/RTUNw8OQ8v82kiD8=; b=ebh2JCGgJgFPZkbeAd3wKb4s0LhWSx/5rltzUnKPIJW7vhG/vFlUxTSZ/Ms8xeaSMb 0WvIjwlfn/7cQqQwX5BX0KH2mXVKykSH+apwGxuneabSg/Qh17rx7oPbmJ2PAwQm10/2 hedBJE2Onf1Q33T468hm4RmbgxkUgq1CGBmz96oYFH92YIJcUjioekzYQmhAl4yWIJoo gQfkW6iCwIljvADU1/SBW4Td1/BSNvDYXy6e9bIRUe8h+oROA6NMmb27gaGu96D4YEFe hW1dyxybu+rB98yPK8o7dnNoazbJ/3ZIYJ7OxOW3Tite7NRFawZo/U9KK1miOlPLD8tn qQKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682228036; x=1684820036; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=qr9gUO7R87LUYbzDvNjx0UE3E7/RTUNw8OQ8v82kiD8=; b=SDct5ts4OKL0S/S6CV3TsZlOTATzD+iCEklAdu3WDV6ixeIbW2XgsvhddJe3mpx0/h cwSTWD6eS/LbEFaKjBxqLYDBn6LysAc+kclAxVCY2hV8BV0QGTnDVS7tQT9UgDQCfaX3 j97/nk9VCRdUmS0I29UKsUcbSqdYZ8KaAJ8h7ajgAYpOgL+hexmIg2FwVmDLrAIAZmy9 NfJ0p5d9NAW6UYB0J1yHZgueXfrEv8yH01n0JAdlol5SkAwQPIybz5vW6c7LZbRUfLfm jw/R2UBcMCTQ4vtzkF5HOzg9nt8l6dO7+zlefxWO+aT+Mzv9iR7EtJpVtwaq1iSRGn91 5TNA== X-Gm-Message-State: AAQBX9e2EHfHhFGJGv8mWCld7SJ3iTfDWWJ5xb9n3Fc/pKRVgFtciH7F gnJWlo+JWNFQpROcuJdhKP+8u4lRZjy08wIXLoQ9wYwf3eQ= X-Google-Smtp-Source: AKy350Y9h9gVJh5hN+vU4wAMopT7iFYY4S2lcz1NKVn95oWz5YVLTVpvNxJHXa1KsVY/R/aJoHN1+ncO76JN5Ua+hKE= X-Received: by 2002:a05:6808:3082:b0:38e:6a4c:86e2 with SMTP id bl2-20020a056808308200b0038e6a4c86e2mr6292375oib.7.1682228035645; Sat, 22 Apr 2023 22:33:55 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> In-Reply-To: <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Sun, 23 Apr 2023 01:33:44 -0400 Message-ID: <CAFXT+RPyNwtS_+o6cRPQgV4UgECHQoHV7wqOiMGxBaDmLqkJFw@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Stefan Monnier <monnier@HIDDEN> Content-Type: multipart/mixed; boundary="0000000000007f2c8e05f9fa3c28" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Ruijie Yu <ruijie@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --0000000000007f2c8e05f9fa3c28 Content-Type: multipart/alternative; boundary="0000000000007f2c8c05f9fa3c26" --0000000000007f2c8c05f9fa3c26 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Attached is a patch with a few updates: 1. Added documentation in doc/emacs/mark.texi, under the mark-sexp section. I'm unfamiliar with standards for how the manuals are written, but am happy to update further as needed. 2. Extracted a new helper function mark--helper. This takes two arguments -- a move function, and a number of how many things to move. The helper function is able to be used for all mark-*-forward and mark-*-backward functions; I think this should handle at least some of your concerns about the composability of the design -- different mark functions can be made by passing a different move function. For example, mark-word-forward and mark-word-backward would be defined this way: (defun mark-word-forward (&optional number-of-words) "Mark NUMBER-OF-WORDS words forward. Repeated calls to this mark more words." (interactive "p") (mark--helper #'forward-word (or number-of-words 1))) (defun mark-word-backward (&optional number-of-words) "Mark NUMBER-OF-WORDS words backward. Repeated calls to this mark more words." (interactive "p") (mark--helper #'forward-word (- (or number-of-words 1)))) I'm not exactly sure of the best place to put the helper function, nor exactly how the different lisp files in Emacs work together. There's no provide statement; are all the files in lisp/emacs-lisp loaded at the same time? If so, I'll make the other relevant functions (for marking word, defun, page, paragraph, line, and char). Also, whatever the outcome of this patch, I think it would be advisable to explain somewhere how mark-sexp extends region by the end of region opposite point; this is not in the docstring or any other documentation I've seen. On Fri, Apr 21, 2023 at 9:10=E2=80=AFAM Stefan Monnier <monnier@HIDDEN= al.ca> wrote: > > If this is to be accepted, why not extend it to all like mark functions= , > > listed below? Implementing them should be pretty similar, and you migh= t > > even be able to reuse the same helper for all these variants. Also, th= e > > helper function might need to contain a double-dash in its name because > > this is inherently a private function. > > > > - `mark-defun' > > - `mark-page' > > - `mark-paragraph' > > - `mark-word' > > Agreed: we should move towards a more orthogonal/composable design, > where the granularity of the operation (char, word, line, sexp, > paragraph, page, defun, ...) and the operation itself (move, mark) and > the direction and all independent such that we can use any combination > of them. > > Both at the ELisp level and at the key-binding level. > > > Stefan > > --0000000000007f2c8c05f9fa3c26 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Attached is a patch with a few updates:<br><div><br></div>= <div>1. Added documentation in doc/emacs/mark.texi, under the mark-sexp sec= tion. I'm unfamiliar with standards for how the manuals are written, bu= t am happy to update further as needed.</div><div>2. Extracted a new helper= function mark--helper. This takes two arguments -- a move function, and a = number of how many things to move.</div><div><br></div><div>The helper func= tion is able to be used for all mark-*-forward and mark-*-backward function= s; I think this should handle at least some of your concerns about the comp= osability of the design -- different mark functions can be made by passing = a different move function. For example, mark-word-forward and mark-word-bac= kward would be defined this way:</div><div><br></div><div>(defun mark-word-= forward (&optional number-of-words)<br>=C2=A0 "Mark NUMBER-OF-WORD= S words forward.<br><br>=C2=A0Repeated calls to this mark more words."= <br>=C2=A0 (interactive "p")<br>=C2=A0 (mark--helper #'forwar= d-word (or number-of-words 1)))<br><br>(defun mark-word-backward (&opti= onal number-of-words)<br>=C2=A0 "Mark NUMBER-OF-WORDS words backward.<= br><br>=C2=A0Repeated calls to this mark more words."<br>=C2=A0 (inter= active "p")<br>=C2=A0 (mark--helper #'forward-word (- (or num= ber-of-words 1))))</div><div><br></div><div>I'm not exactly sure of the= best place to put the helper function, nor exactly how the different lisp = files in Emacs work together. There's no provide statement; are all the= files in lisp/emacs-lisp loaded at the same time? If so, I'll make the= other relevant functions (for marking word, defun, page, paragraph, line, = and char).</div><div><br></div><div>Also, whatever the outcome of this patc= h, I think it would be advisable to explain somewhere how mark-sexp extends= region by the end of region opposite point; this is not in the docstring o= r any other documentation I've seen.<br></div></div><br><div class=3D"g= mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Apr 21, 2023 at 9= :10=E2=80=AFAM Stefan Monnier <<a href=3D"mailto:monnier@HIDDEN= a">monnier@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gm= ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,= 204,204);padding-left:1ex">> If this is to be accepted, why not extend i= t to all like mark functions,<br> > listed below?=C2=A0 Implementing them should be pretty similar, and yo= u might<br> > even be able to reuse the same helper for all these variants.=C2=A0 Al= so, the<br> > helper function might need to contain a double-dash in its name becaus= e<br> > this is inherently a private function.<br> ><br> > - `mark-defun'<br> > - `mark-page'<br> > - `mark-paragraph'<br> > - `mark-word'<br> <br> Agreed: we should move towards a more orthogonal/composable design,<br> where the granularity of the operation (char, word, line, sexp,<br> paragraph, page, defun, ...) and the operation itself (move, mark) and<br> the direction and all independent such that we can use any combination<br> of them.<br> <br> Both at the ELisp level and at the key-binding level.<br> <br> <br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 Stefan<br> <br> </blockquote></div> --0000000000007f2c8c05f9fa3c26-- --0000000000007f2c8e05f9fa3c28 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Disposition: attachment; filename="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Transfer-Encoding: base64 Content-ID: <f_lgsz4oys0> X-Attachment-Id: f_lgsz4oys0 RnJvbSBlYzVmYjBiMDlkYzA1ZDU3MjY4NzRjMzE2ZGUwMDI4YTlhNGM0NmIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYWNoYXJ5IEthbmZlciA8emthbmZlckBnbWFpbC5jb20+CkRh dGU6IFN1biwgMTYgQXByIDIwMjMgMjI6MTY6MzkgLTA0MDAKU3ViamVjdDogW1BBVENIXSBBZGQg bWFyay1zZXhwLWZvcndhcmQsIG1hcmstc2V4cC1iYWNrd2FyZAoKLS0tCiBkb2MvZW1hY3MvbWFy ay50ZXhpICAgICB8ICA4ICsrKysrKysKIGV0Yy9ORVdTICAgICAgICAgICAgICAgIHwgIDQgKysr KwogbGlzcC9lbWFjcy1saXNwL2xpc3AuZWwgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZG9jL2VtYWNzL21hcmsudGV4aSBiL2RvYy9lbWFjcy9tYXJrLnRleGkKaW5kZXgg M2YxYzc2YzE1OTEuLjljMjMwYTcyMjUyIDEwMDY0NAotLS0gYS9kb2MvZW1hY3MvbWFyay50ZXhp CisrKyBiL2RvYy9lbWFjcy9tYXJrLnRleGkKQEAgLTIyNCw2ICsyMjQsMTQgQEAgTWFya2luZyBP YmplY3RzCiBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1lcmljIGFyZ3VtZW50cyBtb3ZlIHRoZSBt YXJrIGZvcndhcmQgb3IKIGJhY2t3YXJkIGJ5IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGV4cHJl c3Npb25zLgogCitAZmluZGV4IG1hcmstc2V4cC1mb3J3YXJkCisgIEBjb2Rle21hcmstc2V4cC1m b3J3YXJkfSBpcyBzaW1pbGFyIHRvIEBjb2Rle21hcmstc2V4cH0sIGJ1dCBvbmx5CisgIG1vdmVz IGZvcndhcmQuCisKK0BmaW5kZXggbWFyay1zZXhwLWJhY2t3YXJkCisgIEBjb2Rle21hcmstc2V4 cC1iYWNrd2FyZH0gaXMgc2ltaWxhciB0byBAY29kZXttYXJrLXNleHB9LCBidXQgb25seQorICBt b3ZlcyBiYWNrd2FyZC4KKwogICAgVGhlIG90aGVyIGNvbW1hbmRzIGluIHRoZSBhYm92ZSBsaXN0 IHNldCBib3RoIHBvaW50IGFuZCBtYXJrLCBzbyBhcwogdG8gZGVsaW1pdCBhbiBvYmplY3QgaW4g dGhlIGJ1ZmZlci4gIEBrYmR7TS1ofSAoQGNvZGV7bWFyay1wYXJhZ3JhcGh9KQogbWFya3MgcGFy YWdyYXBocyAoQHB4cmVme1BhcmFncmFwaHN9KSwgQGtiZHtDLU0taH0gKEBjb2Rle21hcmstZGVm dW59KQpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCBjNjFhOWVjM2M1Zi4u OWYyYjdkMjFmOWIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC04MSw2 ICs4MSwxMCBAQCBtaXN0YWtlbiBjb21wb3NpdGlvbnMsIHRoaXMgd2lsbCBub3cgd29yayBhcyB3 ZWxsLgogVGhpcyB3b3JrcyBsaWtlICdraWxsLW1hdGNoaW5nLWJ1ZmZlcnMnLCBidXQgd2l0aG91 dCBhc2tpbmcgZm9yCiBjb25maXJtYXRpb24uCiAKKy0tLQorKiogTmV3IGNvbW1hbmRzICdtYXJr LXNleHAtZm9yd2FyZCcgYW5kICdtYXJrLXNleHAtYmFja3dhcmQnLgorVGhlc2Ugd29yayBsaWtl IG1hcmstc2V4cCwgYnV0IGV4cGxpY2l0bHkgYWxsb3cgc2V4cHMgdG8gYmUgbWFya2VkIGZvcndh cmQgYW5kIGJhY2t3YXJkLgorCiAMCiAqIENoYW5nZXMgaW4gU3BlY2lhbGl6ZWQgTW9kZXMgYW5k IFBhY2thZ2VzIGluIEVtYWNzIDMwLjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2xp c3AuZWwgYi9saXNwL2VtYWNzLWxpc3AvbGlzcC5lbAppbmRleCA0MTdjMjE4YzZkNy4uMzAxOTQz NTRmMTkgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9saXNwLmVsCisrKyBiL2xpc3AvZW1h Y3MtbGlzcC9saXNwLmVsCkBAIC0xMjksNiArMTI5LDUyIEBAIG1hcmstc2V4cAogCSAgICAocG9p bnQpKQogCSAgbmlsIHQpKSkpCiAKKyhkZWZ1biBtYXJrLS1oZWxwZXIgKG1vdmUtZm4gbnVtYmVy LW9mLXRoaW5ncykKKyAgIlVzZSBNT1ZFLUZOIHRvIG1vdmUgTlVNQkVSLU9GLVRISU5HUyB0aGlu Z3MsIGV4dGVuZGluZyByZWdpb24gb3ZlciB0aGVtLgorCitUaGUgTU9WRS1GTiBzaG91bGQgdGFr ZSBhIG51bWVyaWMgYXJndW1lbnQsIGFuZCBtb3ZlIHRoYXQgbWFueQoraXRlbXMgZm9yd2FyZCAo bmVnYXRpdmUgbWVhbnMgYmFja3dhcmQpLgorCitOVU1CRVItT0YtVEhJTkdTIGlzIHRoZSBudW1i ZXIgb2YgYWRkaXRpb25hbCB0aGluZ3MgdG8gbW92ZS4iCisgIChpZiAodXNlLXJlZ2lvbi1wKQor ICAgICAgKGxldCogKChmb3J3YXJkICg+PSBudW1iZXItb2YtdGhpbmdzIDApKQorICAgICAgICAg ICAgIChiZWdpbm5pbmctb2YtcmVnaW9uIChyZWdpb24tYmVnaW5uaW5nKSkKKyAgICAgICAgICAg ICAoZW5kLW9mLXJlZ2lvbiAocmVnaW9uLWVuZCkpCisgICAgICAgICAgICAgKGF0LWVuZC1vZi1y ZWdpb24gKD0gZW5kLW9mLXJlZ2lvbiAocG9pbnQpKSkKKyAgICAgICAgICAgICAobmV3LWJvcmRl ci1wb2ludAorICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgICAgICAgICAo Z290by1jaGFyIChpZiBmb3J3YXJkIChyZWdpb24tZW5kKSAocmVnaW9uLWJlZ2lubmluZykpKQor ICAgICAgICAgICAgICAgIChjb25kaXRpb24tY2FzZSBuaWwKKyAgICAgICAgICAgICAgICAgICAg KGZ1bmNhbGwgbW92ZS1mbiBudW1iZXItb2YtdGhpbmdzKQorICAgICAgICAgICAgICAgICAgKHNj YW4tZXJyb3IgKHVzZXItZXJyb3IgIk5vIG1vcmUgaW4gdGhpcyBkaXJlY3Rpb24hIikpKQorICAg ICAgICAgICAgICAgIChwb2ludCkpKQorICAgICAgICAgICAgIChuZXctYmVnaW5uaW5nLW9mLXJl Z2lvbiAobWluIGJlZ2lubmluZy1vZi1yZWdpb24gbmV3LWJvcmRlci1wb2ludCkpCisgICAgICAg ICAgICAgKG5ldy1lbmQtb2YtcmVnaW9uIChtYXggZW5kLW9mLXJlZ2lvbiBuZXctYm9yZGVyLXBv aW50KSkpCisgICAgICAgIChnb3RvLWNoYXIgKGlmIGF0LWVuZC1vZi1yZWdpb24KKyAgICAgICAg ICAgICAgICAgICAgICAgbmV3LWVuZC1vZi1yZWdpb24KKyAgICAgICAgICAgICAgICAgICAgIG5l dy1iZWdpbm5pbmctb2YtcmVnaW9uKSkKKyAgICAgICAgKHNldC1tYXJrIChpZiBhdC1lbmQtb2Yt cmVnaW9uCisgICAgICAgICAgICAgICAgICAgICAgbmV3LWJlZ2lubmluZy1vZi1yZWdpb24KKyAg ICAgICAgICAgICAgICAgICAgbmV3LWVuZC1vZi1yZWdpb24pKSkKKyAgICAocHJvZ24gKHB1c2gt bWFyayAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIG1v dmUtZm4gbnVtYmVyLW9mLXRoaW5ncykKKyAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludCkp KQorICAgICAgICAgICAoYWN0aXZhdGUtbWFyaykpKSkKKworKGRlZnVuIG1hcmstc2V4cC1mb3J3 YXJkICgmb3B0aW9uYWwgbnVtYmVyLW9mLWV4cHJlc3Npb25zKQorICAiTWFyayBOVU1CRVItT0Yt RVhQUkVTU0lPTlMgcy1leHByZXNzaW9ucyBmb3J3YXJkLgorCisgUmVwZWF0ZWQgY2FsbHMgdG8g dGhpcyBtYXJrIG1vcmUgcy1leHByZXNzaW9ucy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisgICht YXJrLS1oZWxwZXIgIydmb3J3YXJkLXNleHAgKG9yIG51bWJlci1vZi1leHByZXNzaW9ucyAxKSkp CisKKyhkZWZ1biBtYXJrLXNleHAtYmFja3dhcmQgKCZvcHRpb25hbCBudW1iZXItb2YtZXhwcmVz c2lvbnMpCisgICJNYXJrIE5VTUJFUi1PRi1FWFBSRVNTSU9OUyBzLWV4cHJlc3Npb25zIGJhY2t3 YXJkLgorCisgUmVwZWF0ZWQgY2FsbHMgdG8gdGhpcyBtYXJrIG1vcmUgcy1leHByZXNzaW9ucy4i CisgIChpbnRlcmFjdGl2ZSAicCIpCisgIChtYXJrLS1oZWxwZXIgIydmb3J3YXJkLXNleHAgKC0g KG9yIG51bWJlci1vZi1leHByZXNzaW9ucyAxKSkpKQorCiAoZGVmdW4gZm9yd2FyZC1saXN0ICgm b3B0aW9uYWwgYXJnIGludGVyYWN0aXZlKQogICAiTW92ZSBmb3J3YXJkIGFjcm9zcyBvbmUgYmFs YW5jZWQgZ3JvdXAgb2YgcGFyZW50aGVzZXMuCiBUaGlzIGNvbW1hbmQgd2lsbCBhbHNvIHdvcmsg b24gb3RoZXIgcGFyZW50aGVzZXMtbGlrZSBleHByZXNzaW9ucwotLSAKMi4zOC40Cgo= --0000000000007f2c8e05f9fa3c28--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 Apr 2023 13:10:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 21 09:10:54 2023 Received: from localhost ([127.0.0.1]:39602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppqXO-0005aZ-4L for submit <at> debbugs.gnu.org; Fri, 21 Apr 2023 09:10:54 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32728) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1ppqXM-0005aM-Ux for 62892 <at> debbugs.gnu.org; Fri, 21 Apr 2023 09:10:53 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 6A44C1000DD; Fri, 21 Apr 2023 09:10:47 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id DEB16100054; Fri, 21 Apr 2023 09:10:45 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1682082645; bh=xiZccsT+Emum4EtIlJrtIMCfziV0xk6Kw86Z7JDNQ5w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=UkwvAAWoSweHMOMUuvcaYoXCxLbYx/GqNH4tSZLbuit5zg0WaZZrZ4j/S8SzZ2i0N 50bGKnXxPfInsl6NJgQEsYcssioJK+sWzwEHYBBs+9Qj4GcJhwVHbyEcbvVI66+Cka wK+T58+M6Of+6mthTsfDu9GiogYK016KDEUHEYmnNiAr6YffvggwGwWBss1teXfSmd 4nVCTSVqiuWfNMSM3S/flWEVjzSk8g+yMXgBNephOCzcRRHnvQfuMjNUTLvZS6DJEX vM3lelnpVsp7SR+fTZSvNsqJ6j8oz9rOKrse4dxB8dewmGIZTdMCEkEwwpgg6OtRUT EMC0k7vMsh1Ow== Received: from pastel (unknown [45.72.217.176]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 35B0F1201A7; Fri, 21 Apr 2023 09:10:45 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Ruijie Yu <ruijie@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <sdvcz43w63q.fsf@HIDDEN> (Ruijie Yu's message of "Mon, 17 Apr 2023 11:06:03 +0800") Message-ID: <jwv7cu575a2.fsf-monnier+emacs@HIDDEN> References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> Date: Fri, 21 Apr 2023 09:10:43 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.218 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: Zachary Kanfer <zkanfer@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > If this is to be accepted, why not extend it to all like mark functions, > listed below? Implementing them should be pretty similar, and you might > even be able to reuse the same helper for all these variants. Also, the > helper function might need to contain a double-dash in its name because > this is inherently a private function. > > - `mark-defun' > - `mark-page' > - `mark-paragraph' > - `mark-word' Agreed: we should move towards a more orthogonal/composable design, where the granularity of the operation (char, word, line, sexp, paragraph, page, defun, ...) and the operation itself (move, mark) and the direction and all independent such that we can use any combination of them. Both at the ELisp level and at the key-binding level. Stefan
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 Apr 2023 09:52:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 21 05:52:19 2023 Received: from localhost ([127.0.0.1]:39391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppnRD-0003QQ-0y for submit <at> debbugs.gnu.org; Fri, 21 Apr 2023 05:52:19 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:53433) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>) id 1ppnR2-0003Pw-Nj for 62892 <at> debbugs.gnu.org; Fri, 21 Apr 2023 05:52:18 -0400 Received: by mail-pl1-f193.google.com with SMTP id d9443c01a7336-1a69f686345so17541685ad.2 for <62892 <at> debbugs.gnu.org>; Fri, 21 Apr 2023 02:52:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682070722; x=1684662722; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=as40eSpEC9JK4d2oa6aGF+PB8v5vCnNaud2OKoK0Peg=; b=fTSPEfomz28hFK9S5YG5+9hEjZK6LPu/I0225VluczRO41DcVrmwhv98GkTch21eIv VL2x6LiZ0CFTEGzxYsegZQagpIXd81bwgj/L4+cqtbw+Hduz/17KZyMMilT39VsvFR+q RTHeyuyCuIGhrUvND+RaN8J2bOpoCR/ko44kJAyMmzB2nUg0v7PYzg0y6kXw/PGAdNg4 Eo2NL4MOeK7q1ZT5BhmL59yDWxJo0yQmWvC9F2+bu/oBlUq0N1eWD9zgFvbAgiyO+CDv gkUEg5/n0WNjRuEe7vrCUyhVfWXXaqkxDwFcy9MycW+vTuBsaUNDIZwaOh2inTAsqGAA 4pPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682070722; x=1684662722; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=as40eSpEC9JK4d2oa6aGF+PB8v5vCnNaud2OKoK0Peg=; b=GVz8+vIRJuJysKPHKN1xt5qQu1PnjOiHxWIu+Qcyuv8QX6KTBdVYMv0lluiO9tBQDY drQMMT9vLLPxycva2EhGPKwiGIsunOXJMtTKYeo3au872w9umMi4A7vQzz6dWnlOwBrw xWyW/xZvWLRg65lWqHdFZiWb/WcFRMgdi7XNaOMfRVpSFDZhiaJmWpzYKCXTI+1+Y38A 4GttTVHZnwLb917hpoimM90YnKNg4RGLb1Uud+NB5eHIuhy77XynuSs5aJnrt+Z9DSKz AMAaAm2+7WOKBIC7t7ofGBpNy22U2hu3rpo9VYAL21i62NGybjJ1iF6Cnl7+oo0E+jlQ mrVA== X-Gm-Message-State: AAQBX9elPCdPcnZZpRgb/Kphzdy7Nf83VoIzeJwrNCi0CwDsmdcQd9gi 6aEuGUA1foOrnbPdA8X+zyg= X-Google-Smtp-Source: AKy350adcvl9p0mDEA4UkRAjRpg9krc4/RH2kdc/un/iAe9JSjHTh6tpPVYfyj4m6sSQGHIUJ8N+Yg== X-Received: by 2002:a17:902:c949:b0:1a6:6fe3:df9e with SMTP id i9-20020a170902c94900b001a66fe3df9emr5782252pla.47.1682070722563; Fri, 21 Apr 2023 02:52:02 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with ESMTPSA id s1-20020a170902988100b001a1fe40a8dasm2396814plp.262.2023.04.21.02.52.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 02:52:02 -0700 (PDT) From: Visuwesh <visuweshm@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <83mt314vlk.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 21 Apr 2023 09:07:03 +0300") References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> <83a5z36n1t.fsf@HIDDEN> <CAFXT+RP6=wpj8nQG63-zxDkGiW-4a=LJ3Qf_q0cU-TqGSs-dmw@HIDDEN> <83mt314vlk.fsf@HIDDEN> Date: Fri, 21 Apr 2023 15:21:59 +0530 Message-ID: <87wn2536m8.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Zachary Kanfer <zkanfer@HIDDEN>, juri@HIDDEN, ruijie@HIDDEN, Stefan Monnier <monnier@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) [=E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=BF =E0=AE=8F=E0=AE=AA= =E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 21, 2023] Eli Zaretskii wrote: >> From: Zachary Kanfer <zkanfer@HIDDEN> >> Date: Fri, 21 Apr 2023 01:04:30 -0400 >> Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN= t> >>=20 >> It's able to be worked around, yes -- but I think it's easier to have se= parate methods for forward and >> backward, the way we do for so many other commands. For one, having sepa= rate functions makes it >> easier to start moving backward, (rather than giving a -1 prefix argumen= t. > > Adding functions and commands is not free, it does come with a price: > they need to be documented in our two manuals (something your patch > neglected to do, btw), users need to learn them, etc. > > So I wonder whether on balance it is justified to add this. Lars, > Stefan: any comments or opinions? > > Does anyone else have an opinion? In situations like these, I extend the region simply by motion commands after marking the current sexp. If I want to go in the opposite direction, I type C-x C-x. I don't see myself ever using these commands. This mechanism works for every object that has a mark command, not just sexp which I consider a plus.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 Apr 2023 07:24:27 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 21 03:24:27 2023 Received: from localhost ([127.0.0.1]:39154 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppl87-0007Gj-2K for submit <at> debbugs.gnu.org; Fri, 21 Apr 2023 03:24:27 -0400 Received: from mail.eshelyaron.com ([107.175.124.16]:40414 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1ppl85-0007Gb-0k for 62892 <at> debbugs.gnu.org; Fri, 21 Apr 2023 03:24:25 -0400 From: Eshel Yaron <me@HIDDEN> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1682061864; bh=CGNwtgwn488LcHIGQRDRyWvKePgRfViUfYbRZzYDYqM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=eeCFjXIo2bwv+dGzhjb5TWidu8MnWc/5C5rMeQcv+DFr35qgGI3SGmyDe0YmDdXVI rWMQatrNu3LrqyhtcGpH6/hDH/jr/o7jZRTDK2kn5X1Y2lvBZiWF2P5Uq0IXj2lM20 y/oEH+Psu+zMbHW91fe73UauTwGTWXnRVffJhkzj7FfuI/vNrnxMo1/aEfQZts9lAM mWOZMMsNAa0NTwKwiPqEy4Owp06fcTq8w87xLJRktKJKLxa02EXpqE1xLk4TCYkzou AKHzeWhD4noDYZnM6O01gjnCP7k28LOjXZFRmAcnJKCUNa96eiuONze0ZqDrNwrqzR Vbt/A6YGlB/+A== To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <83mt314vlk.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 21 Apr 2023 09:07:03 +0300") References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> <83a5z36n1t.fsf@HIDDEN> <CAFXT+RP6=wpj8nQG63-zxDkGiW-4a=LJ3Qf_q0cU-TqGSs-dmw@HIDDEN> <83mt314vlk.fsf@HIDDEN> Date: Fri, 21 Apr 2023 10:24:16 +0300 Message-ID: <m1o7nhelzz.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: Zachary Kanfer <zkanfer@HIDDEN>, juri@HIDDEN, ruijie@HIDDEN, Stefan Monnier <monnier@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Eli Zaretskii <eliz@HIDDEN> writes: >> From: Zachary Kanfer <zkanfer@HIDDEN> >> Date: Fri, 21 Apr 2023 01:04:30 -0400 >> Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN> >> >> It's able to be worked around, yes -- but I think it's easier to have separate methods for forward and >> backward, the way we do for so many other commands. For one, having separate functions makes it >> easier to start moving backward, (rather than giving a -1 prefix argument. > > Adding functions and commands is not free, it does come with a price: > they need to be documented in our two manuals (something your patch > neglected to do, btw), users need to learn them, etc. > > So I wonder whether on balance it is justified to add this. Lars, > Stefan: any comments or opinions? > > Does anyone else have an opinion? Not really a strong opinion, but just a couple of thoughts: - The ability to extend the selection forward and backward is a nice and desirable feature. - C-x C-x is a general mechanism that's useful in many situations and users are hopefully already familiar with it (although not necessarily aware of this specific use case, I wasn't!), so if it fits the bill it makes sense to reuse it rather than introducing new specialized commands. - Whatever decision is made with regards to mark-sexp, I think it should be consistent with similar marking commands. Notably, mark-word currently behaves like mark-sexp, and I think that adding e.g. mark-sexp-backward without also adding mark-word-backward would somewhat hinder consistency. Regards, Eshel
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 Apr 2023 06:07:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 21 02:07:00 2023 Received: from localhost ([127.0.0.1]:39120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppjvA-00055F-06 for submit <at> debbugs.gnu.org; Fri, 21 Apr 2023 02:07:00 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60228) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1ppjv8-00054z-Ck for 62892 <at> debbugs.gnu.org; Fri, 21 Apr 2023 02:06:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1ppjv1-0000aB-MO; Fri, 21 Apr 2023 02:06:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=PFkRzgwy6Xz/QIhZbByTGPYN5bJ20R/FWkOQF0LXqI8=; b=jbjeFAbAauD6 s8zKDnOcYoPLcy+KUyCgZkthi9ToV9WomAWT0DIsPQOZid5y9NEvnCYTaeWixcJNRso1BpvLVjETt G+JuZEeUj5YeMzyPb7SR+8KADxF4JArpJdDtz8BUi+25JePxrUjBCP5B804oJ2pIKG/K503se6BXj ex2TSwsaenX37cRjnt2YupPhf9lIq6fU3cXZxc7l3zbmJpXlgPcdxLnK5FfNUgszWYANUauJ0gvSJ ufCUYxdhd1DPdYyQxd3Dkm8/aFkwCeBkbbacmivMp52uQfkIKprwd9PWkIXWj+EXDxo+q+xJlqiPp FU9EFyJLPoyhabPGKjG9Vw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1ppjuy-0000en-AE; Fri, 21 Apr 2023 02:06:51 -0400 Date: Fri, 21 Apr 2023 09:07:03 +0300 Message-Id: <83mt314vlk.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN> In-Reply-To: <CAFXT+RP6=wpj8nQG63-zxDkGiW-4a=LJ3Qf_q0cU-TqGSs-dmw@HIDDEN> (message from Zachary Kanfer on Fri, 21 Apr 2023 01:04:30 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> <83a5z36n1t.fsf@HIDDEN> <CAFXT+RP6=wpj8nQG63-zxDkGiW-4a=LJ3Qf_q0cU-TqGSs-dmw@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, juri@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Zachary Kanfer <zkanfer@HIDDEN> > Date: Fri, 21 Apr 2023 01:04:30 -0400 > Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN> > > It's able to be worked around, yes -- but I think it's easier to have separate methods for forward and > backward, the way we do for so many other commands. For one, having separate functions makes it > easier to start moving backward, (rather than giving a -1 prefix argument. Adding functions and commands is not free, it does come with a price: they need to be documented in our two manuals (something your patch neglected to do, btw), users need to learn them, etc. So I wonder whether on balance it is justified to add this. Lars, Stefan: any comments or opinions? Does anyone else have an opinion?
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 21 Apr 2023 05:04:49 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 21 01:04:49 2023 Received: from localhost ([127.0.0.1]:39075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppiwy-000329-T9 for submit <at> debbugs.gnu.org; Fri, 21 Apr 2023 01:04:49 -0400 Received: from mail-ot1-f48.google.com ([209.85.210.48]:59772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1ppiwx-00031x-35 for 62892 <at> debbugs.gnu.org; Fri, 21 Apr 2023 01:04:47 -0400 Received: by mail-ot1-f48.google.com with SMTP id 46e09a7af769-6a5ebf9f432so1383266a34.3 for <62892 <at> debbugs.gnu.org>; Thu, 20 Apr 2023 22:04:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682053481; x=1684645481; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=TaCmExa3kha+YRrFsImuxgiOr2LwRjBVtxn1XDodXPg=; b=GzZAz0rTZSx9PJ7YdqJG6C8nitS8gyGMGkJhdjdTbGYSE+EpxVOsV9Zw2NlMmCPM1W QLEEHfUWB114YQ8bUnuNxYXeJ9txCGgvChE8sw5+/d04Q1cdpiQPIzc1iEvHtjZOA5Gp V3iUmPVRtCsTclkHLucaa3H0nAMt6HASRAOepXswDjXfv0TUpqmnJL0HM2oL0pzwnztZ Xa6d3U26cjsx6VvIIA5zAyRroGaXMuzr9XkXjAvRdeBcSwvxAIme/E7C6y6znN/sgpy2 EJryqmkDpfRfgk8GB8AzU2bC1LLGhYho4QOOcloNIta2MxeNNYLvlkuzRfaFBBXgpomM M0TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682053481; x=1684645481; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=TaCmExa3kha+YRrFsImuxgiOr2LwRjBVtxn1XDodXPg=; b=N4aAQyPRwYwc+hNUu8oZFHqmRvns2GYyitDFNu/5ShD6O5Cb4Oxfw50WeDRxLOea4+ OdNowzcyfdtLWSXvQ7cl5fDbXIcrO1GFpQb2u4JxNUcd/i+XhOzBQkWNXiIgHZ/Bz4UC KzL6bHSAzZ/mr74xKDn56rdjGnL/1pTb2eCMYiW2UJM5S+SP2noUmqitKY7Ywy4nSksA 1ccTcjms7ApOYREYzsCXahrCAs3ulAIvhwJ77kUcr1DY4yDN8SxMJO7FGeOZZk70dN8E r3tYAObvsoExD8IRiimRVO9p6RaPi2mTlYxdrVo36kYnmYd0ij/kaR9gtI0FbSSNZjU4 HeTw== X-Gm-Message-State: AAQBX9dGaw78NEDM1xdqO2vWysqfCAHdGCtl9ctuRMfSHkJw3QRCx2GQ Lm+5urhYVcL0O4xvk8a2PXCQKsC9QHPHDvlN11c= X-Google-Smtp-Source: AKy350ZgmBC3rSip3XBrCbeu+UEXA/58GxMASpO0Vc8gJDpbORu0oZiuJ0IPW8eUiElg0lB3NTkhrVCyZx2AyVgJMfY= X-Received: by 2002:a05:6808:10d5:b0:38c:581f:6c90 with SMTP id s21-20020a05680810d500b0038c581f6c90mr2511508ois.57.1682053481011; Thu, 20 Apr 2023 22:04:41 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> <83a5z36n1t.fsf@HIDDEN> In-Reply-To: <83a5z36n1t.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Fri, 21 Apr 2023 01:04:30 -0400 Message-ID: <CAFXT+RP6=wpj8nQG63-zxDkGiW-4a=LJ3Qf_q0cU-TqGSs-dmw@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Eli Zaretskii <eliz@HIDDEN> Content-Type: multipart/alternative; boundary="0000000000003a9e0805f9d19822" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --0000000000003a9e0805f9d19822 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable It's able to be worked around, yes -- but I think it's easier to have separate methods for forward and backward, the way we do for so many other commands. For one, having separate functions makes it easier to start moving backward, (rather than giving a -1 prefix argument. It's especially useful, I think, because on default Emacs, both C-M-SPC and C-M-S-SPC are bound to mark-sexp; it's quite nice to have C-M-SPC bound to mark-sexp-forward and C-M-S-SPC bound to mark-sexp-backward. So there are seemingly obvious keybindings to use for it (even if not in stock Emacs). On Thu, Apr 20, 2023 at 3:16=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote: > > Cc: 62892 <at> debbugs.gnu.org > > From: Zachary Kanfer <zkanfer@HIDDEN> > > Date: Thu, 20 Apr 2023 01:25:29 -0400 > > > > > If this is to be accepted, why not extend it to all like mark > functions, > > > listed below? Implementing them should be pretty similar, and you > might > > > even be able to reuse the same helper for all these variants. Also, > the > > > helper function might need to contain a double-dash in its name becau= se > > > this is inherently a private function. > > > > This makes sense to me, although I have not found the same need for > these to be marked. I'm happy > > to extend them as such; I'll add that in a later patch. > > > > > Please use `quote' to quote things in Emacs docstrings. Also, both > here > > > and in other docstrings, the newline immediately after the first line= , > > > while seems necessary, is usually redundant in Emacs docstrings. And > > > there is a typo: "amrk" -> "mark". > > > > > > I also think you shouldn't use wildcard-like elements in quotes (in > your > > > case, you reuse part of the name in the quote), but I'm not sure. > > > > Done. Updated patch attached. > > Thanks. > > Did you see the comment by Juri, viz.: > > > Did you know that it's possible to switch directions by typing 'C-x C-x= '. > > After that 'C-M-@' extends the region backwards. > > AFAIU, this means we already have an easy method to have C-M-@ switch > directions, and the changes you propose might therefore be > unnecessary. WDYT? > --0000000000003a9e0805f9d19822 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>It's able to be worked around, yes -- but I think= it's easier to have separate methods for forward and backward, the way= we do for so many other commands. For one, having separate functions makes= it easier to start moving backward, (rather than giving a -1 prefix argume= nt.<br></div><div><br></div><div>It's especially useful, I think, becau= se on default Emacs, both C-M-SPC and C-M-S-SPC are bound to mark-sexp; it&= #39;s quite nice to have C-M-SPC bound to mark-sexp-forward and C-M-S-SPC b= ound to mark-sexp-backward. So there are seemingly obvious keybindings to u= se for it (even if not in stock Emacs).<br></div></div><br><div class=3D"gm= ail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Apr 20, 2023 at 3:= 16=E2=80=AFAM Eli Zaretskii <<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN= g</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin= :0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"= >> Cc: <a href=3D"mailto:62892 <at> debbugs.gnu.org" target=3D"_blank">62892@= debbugs.gnu.org</a><br> > From: Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN" target= =3D"_blank">zkanfer@HIDDEN</a>><br> > Date: Thu, 20 Apr 2023 01:25:29 -0400<br> > <br> > > If this is to be accepted, why not extend it to all like mark fun= ctions,<br> > > listed below?=C2=A0 Implementing them should be pretty similar, a= nd you might<br> > > even be able to reuse the same helper for all these variants.=C2= =A0 Also, the<br> > > helper function might need to contain a double-dash in its name b= ecause<br> > > this is inherently a private function.<br> > <br> > This makes sense to me, although I have not found the same need for th= ese to be marked. I'm happy<br> > to extend them as such; I'll add that in a later patch.<br> > <br> > > Please use `quote' to quote things in Emacs docstrings.=C2=A0= Also, both here<br> > > and in other docstrings, the newline immediately after the first = line,<br> > > while seems necessary, is usually redundant in Emacs docstrings.= =C2=A0 And<br> > > there is a typo: "amrk" -> "mark".<br> > > <br> > > I also think you shouldn't use wildcard-like elements in quot= es (in your<br> > > case, you reuse part of the name in the quote), but I'm not s= ure.<br> > <br> > Done. Updated patch attached.<br> <br> Thanks.<br> <br> Did you see the comment by Juri, viz.:<br> <br> > Did you know that it's possible to switch directions by typing = 9;C-x C-x'.<br> > After that 'C-M-@' extends the region backwards.<br> <br> AFAIU, this means we already have an easy method to have C-M-@ switch<br> directions, and the changes you propose might therefore be<br> unnecessary.=C2=A0 WDYT?<br> </blockquote></div> --0000000000003a9e0805f9d19822--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 20 Apr 2023 07:16:28 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 20 03:16:28 2023 Received: from localhost ([127.0.0.1]:36439 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppOWp-00089w-Qh for submit <at> debbugs.gnu.org; Thu, 20 Apr 2023 03:16:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1ppOWn-00089h-Eu for 62892 <at> debbugs.gnu.org; Thu, 20 Apr 2023 03:16:26 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1ppOWg-00023K-F2; Thu, 20 Apr 2023 03:16:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=+eTyGeaKAKSVQwnmW8X/sVflTHryL+1BqyXBxQdiO7s=; b=S5g6qc1SrS7U /PyFcfIgTDdPRtdq/WYYqqblEJ87ki8CfgCkLgNR5Zhiym4tlCJ1JMhVy69/NR/kTkh2rzHjZk4dg ff2SXE1Sdy38REIm4j7Jae7q6mjHk0utlD2M3V3wwmtUBQu+c0fPn1KgenF4HRGKUIj3l9O9mEWgo eccwlShhSPChVxyPntPfQLdfKVndXjGjtzcXO+z8lYnqwGln8XSwz4affI9/jxwRpQOt4w7WErWss XmUqDQaNfa4H0I02OQHDf5IKHVUVTgC1VdrvXCPbG1V7BMqUcY0Yn7+ARcAwcsJiHKKjzxyG9CmbL 7KC+rHG4a4DAxFj3LTuRvQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1ppOWf-0003GI-Ry; Thu, 20 Apr 2023 03:16:18 -0400 Date: Thu, 20 Apr 2023 10:16:30 +0300 Message-Id: <83a5z36n1t.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> In-Reply-To: <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> (message from Zachary Kanfer on Thu, 20 Apr 2023 01:25:29 -0400) Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62892 Cc: ruijie@HIDDEN, 62892 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: 62892 <at> debbugs.gnu.org > From: Zachary Kanfer <zkanfer@HIDDEN> > Date: Thu, 20 Apr 2023 01:25:29 -0400 > > > If this is to be accepted, why not extend it to all like mark functions, > > listed below? Implementing them should be pretty similar, and you might > > even be able to reuse the same helper for all these variants. Also, the > > helper function might need to contain a double-dash in its name because > > this is inherently a private function. > > This makes sense to me, although I have not found the same need for these to be marked. I'm happy > to extend them as such; I'll add that in a later patch. > > > Please use `quote' to quote things in Emacs docstrings. Also, both here > > and in other docstrings, the newline immediately after the first line, > > while seems necessary, is usually redundant in Emacs docstrings. And > > there is a typo: "amrk" -> "mark". > > > > I also think you shouldn't use wildcard-like elements in quotes (in your > > case, you reuse part of the name in the quote), but I'm not sure. > > Done. Updated patch attached. Thanks. Did you see the comment by Juri, viz.: > Did you know that it's possible to switch directions by typing 'C-x C-x'. > After that 'C-M-@' extends the region backwards. AFAIU, this means we already have an easy method to have C-M-@ switch directions, and the changes you propose might therefore be unnecessary. WDYT?
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 20 Apr 2023 05:25:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 20 01:25:55 2023 Received: from localhost ([127.0.0.1]:36269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppMnp-0004wm-1D for submit <at> debbugs.gnu.org; Thu, 20 Apr 2023 01:25:54 -0400 Received: from mail-ot1-f48.google.com ([209.85.210.48]:54484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1ppMni-0004wV-Iq for 62892 <at> debbugs.gnu.org; Thu, 20 Apr 2023 01:25:50 -0400 Received: by mail-ot1-f48.google.com with SMTP id 46e09a7af769-6a5f6349ec3so254707a34.0 for <62892 <at> debbugs.gnu.org>; Wed, 19 Apr 2023 22:25:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681968341; x=1684560341; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kQ48P72wOqD5RYXryo17ORUYFe49mfWi3tVd6uh65I8=; b=A1KMYxUEYGsBj93hoQ9dL9VAoEUEqeZ9BBmdITgSenkOGZ/O299OROQ8+ljoiQP54I xtbAoloOnf/TdynHHBlYMJ+G7WTzX2bAjFaJDPFeBs5HiZUXYliLd2yyAp4zAwKJ3kA3 1UgpH6mBKszlKRVOPIe1RYgGdXSTuWd1FUeKhP9b8nol2TkjfbFHLt6nsdNzZE4YrlGM UwKe28IJjcM+YSBTtRkcm9pLaTxox6YtC0LJ2gLxUS99TlrPpABT8VqY+FBiSnOguR2L BnL6Pf5f7TmBy/QNZ/zKdx/x5Pp+UEI6hGiva3KmPlReLP4g2Jyukn/5Tyi2dvZOE1Ay L+1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681968341; x=1684560341; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kQ48P72wOqD5RYXryo17ORUYFe49mfWi3tVd6uh65I8=; b=Lu6o+4z2ntGV6FWYpMYjaJqlJTSQKYEKwsQuP0LSbHPA3JF5/JTAnBXHCDTWW+8V/R FcU9SD3tQLVBfiRpipz0xubNnKnytUMJ4Dmn4jdJtLREGz33txJVh6SuavGcoTV0pdUK s96Cc6sKPe8Eoot2u/uVEP6aDyCXfMBp/kSJHL4Hdk64PDUcFMLpY2nqNVoQc+93tHx/ I0hyxsxgkLNXyTn+X5BgZzd9CI0N39naf1OzHpCxhVi71XQMVu/oWh7KbwQAfK2QY1dt ZiieozUqiK5Jwr2wXE1Icm42HoLMa7/YBb1Qf0zHBxmDHE+543Bxy1Fyk5us0h6+/jfS a2cA== X-Gm-Message-State: AAQBX9f2ZcUdn6K9VmcuYuBs50l1BKcxV/UK5JTORtZxscUgC2XSvMCd smNoxhXyOxfZwF9ZfbgzUyKVsZE7ZtWR+yYKEUs= X-Google-Smtp-Source: AKy350YSl+Z6Ja1QB1gd0IJ2363EgAw0pF7N4dfK9Alg4TRmZKhgHlyD+Z3ZnVHUKQUJZAQyXqMTHqsCCDzwCsqqPDk= X-Received: by 2002:a05:6870:968f:b0:187:8008:eb09 with SMTP id o15-20020a056870968f00b001878008eb09mr266557oaq.58.1681968340893; Wed, 19 Apr 2023 22:25:40 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> In-Reply-To: <sdvcz43w63q.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Thu, 20 Apr 2023 01:25:29 -0400 Message-ID: <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Ruijie Yu <ruijie@HIDDEN> Content-Type: multipart/mixed; boundary="0000000000007b9fcf05f9bdc53d" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: bug-gnu-emacs@HIDDEN, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --0000000000007b9fcf05f9bdc53d Content-Type: multipart/alternative; boundary="0000000000007b9fce05f9bdc53b" --0000000000007b9fce05f9bdc53b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > If this is to be accepted, why not extend it to all like mark functions, > listed below? Implementing them should be pretty similar, and you might > even be able to reuse the same helper for all these variants. Also, the > helper function might need to contain a double-dash in its name because > this is inherently a private function. This makes sense to me, although I have not found the same need for these to be marked. I'm happy to extend them as such; I'll add that in a later patch. > Please use `quote' to quote things in Emacs docstrings. Also, both here > and in other docstrings, the newline immediately after the first line, > while seems necessary, is usually redundant in Emacs docstrings. And > there is a typo: "amrk" -> "mark". > > I also think you shouldn't use wildcard-like elements in quotes (in your > case, you reuse part of the name in the quote), but I'm not sure. Done. Updated patch attached. On Sun, Apr 16, 2023 at 11:17=E2=80=AFPM Ruijie Yu <ruijie@HIDDEN> wrote= : > > Zachary Kanfer <zkanfer@HIDDEN> writes: > > > Attached is a patch to add #'mark-sexp-forwards and > #'mark-sexp-backwards. These functions extend the region by sexps forward > and > > backward. They are mutually incremental: you can call mark-sexp-fowards= , > then mark-sexp-backwards twice, then mark-sexp-forwards. After > > this, the region will consist of the two sexps before point and the two > sexps after point. > > If this is to be accepted, why not extend it to all like mark functions, > listed below? Implementing them should be pretty similar, and you might > even be able to reuse the same helper for all these variants. Also, the > helper function might need to contain a double-dash in its name because > this is inherently a private function. > > - `mark-defun' > - `mark-page' > - `mark-paragraph' > - `mark-word' > > > +(defun mark-sexp-helper (number-of-expressions) > > + "A helper function for 'mark-sexp-[forward, backward]'. > > + > > +If NUMBER-OF-EXPRESSIONS is positive, mark that many sexps forward; > > +otherwise, amrk backward." > > Please use `quote' to quote things in Emacs docstrings. Also, both here > and in other docstrings, the newline immediately after the first line, > while seems necessary, is usually redundant in Emacs docstrings. And > there is a typo: "amrk" -> "mark". > > I also think you shouldn't use wildcard-like elements in quotes (in your > case, you reuse part of the name in the quote), but I'm not sure. > > -- > Best, > > > RY > --0000000000007b9fce05f9bdc53b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><span class=3D"gmail-im">> If this is to be accepted, w= hy not extend it to all like mark functions,<br> > listed below?=C2=A0 Implementing them should be pretty similar, and yo= u might<br>> even be able to reuse the same helper for all these variant= s.=C2=A0 Also, the<br> > helper function might need to contain a double-dash in its name becaus= e<br><div> > this is inherently a private function.</div><div><br></div></span><div= >This makes sense to me, although I have not found the same need for these = to be marked. I'm happy to extend them as such; I'll add that in a = later patch.<br></div><span class=3D"gmail-im"><div><br></div><div>> Ple= ase use `quote' to quote things in Emacs docstrings.=C2=A0 Also, both h= ere<br>> and in other docstrings, the newline immediately after the firs= t line,<br>> while seems necessary, is usually redundant in Emacs docstr= ings.=C2=A0 And<br>> there is a typo: "amrk" -> "mark&= quot;.<br>> <br>> I also think you shouldn't use wildcard-like el= ements in quotes (in your<br>> case, you reuse part of the name in the q= uote), but I'm not sure.</div><div><br></div></span><div>Done. Updated = patch attached.</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" = class=3D"gmail_attr">On Sun, Apr 16, 2023 at 11:17=E2=80=AFPM Ruijie Yu <= ;<a href=3D"mailto:ruijie@HIDDEN">ruijie@HIDDEN</a>> wrote:<br></d= iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord= er-left:1px solid rgb(204,204,204);padding-left:1ex"><br> Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN" target=3D"_blank">z= kanfer@HIDDEN</a>> writes:<br> <br> > Attached is a patch to add #'mark-sexp-forwards and #'mark-sex= p-backwards. These functions extend the region by sexps forward and<br> > backward. They are mutually incremental: you can call mark-sexp-foward= s, then mark-sexp-backwards twice, then mark-sexp-forwards. After<br> > this, the region will consist of the two sexps before point and the tw= o sexps after point.<br> <br> If this is to be accepted, why not extend it to all like mark functions,<br= > listed below?=C2=A0 Implementing them should be pretty similar, and you mig= ht<br> even be able to reuse the same helper for all these variants.=C2=A0 Also, t= he<br> helper function might need to contain a double-dash in its name because<br> this is inherently a private function.<br> <br> - `mark-defun'<br> - `mark-page'<br> - `mark-paragraph'<br> - `mark-word'<br> <br> > +(defun mark-sexp-helper (number-of-expressions)<br> > +=C2=A0 "A helper function for 'mark-sexp-[forward, backward]= '.<br> > +<br> > +If NUMBER-OF-EXPRESSIONS is positive, mark that many sexps forward;<b= r> > +otherwise, amrk backward."<br> <br> Please use `quote' to quote things in Emacs docstrings.=C2=A0 Also, bot= h here<br> and in other docstrings, the newline immediately after the first line,<br> while seems necessary, is usually redundant in Emacs docstrings.=C2=A0 And<= br> there is a typo: "amrk" -> "mark".<br> <br> I also think you shouldn't use wildcard-like elements in quotes (in you= r<br> case, you reuse part of the name in the quote), but I'm not sure.<br> <br> -- <br> Best,<br> <br> <br> RY<br> </blockquote></div> --0000000000007b9fce05f9bdc53b-- --0000000000007b9fcf05f9bdc53d Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Disposition: attachment; filename="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Transfer-Encoding: base64 Content-ID: <f_lgoohlqz0> X-Attachment-Id: f_lgoohlqz0 RnJvbSA1YjMzNTIwYTczYThmMTE2ZmI4OWJhMjUzZjY2MzZjOTU3M2M5ZDJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYWNoYXJ5IEthbmZlciA8emthbmZlckBnbWFpbC5jb20+CkRh dGU6IFN1biwgMTYgQXByIDIwMjMgMjI6MTY6MzkgLTA0MDAKU3ViamVjdDogW1BBVENIXSBBZGQg bWFyay1zZXhwLWZvcndhcmQsIG1hcmstc2V4cC1iYWNrd2FyZAoKLS0tCiBldGMvTkVXUyAgICAg ICAgICAgICAgICB8ICA0ICsrKysKIGxpc3AvZW1hY3MtbGlzcC9saXNwLmVsIHwgNDEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDUg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggYzYx YTllYzNjNWYuLjlmMmI3ZDIxZjliIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVX UwpAQCAtODEsNiArODEsMTAgQEAgbWlzdGFrZW4gY29tcG9zaXRpb25zLCB0aGlzIHdpbGwgbm93 IHdvcmsgYXMgd2VsbC4KIFRoaXMgd29ya3MgbGlrZSAna2lsbC1tYXRjaGluZy1idWZmZXJzJywg YnV0IHdpdGhvdXQgYXNraW5nIGZvcgogY29uZmlybWF0aW9uLgogCistLS0KKyoqIE5ldyBjb21t YW5kcyAnbWFyay1zZXhwLWZvcndhcmQnIGFuZCAnbWFyay1zZXhwLWJhY2t3YXJkJy4KK1RoZXNl IHdvcmsgbGlrZSBtYXJrLXNleHAsIGJ1dCBleHBsaWNpdGx5IGFsbG93IHNleHBzIHRvIGJlIG1h cmtlZCBmb3J3YXJkIGFuZCBiYWNrd2FyZC4KKwogDAogKiBDaGFuZ2VzIGluIFNwZWNpYWxpemVk IE1vZGVzIGFuZCBQYWNrYWdlcyBpbiBFbWFjcyAzMC4xCiAKZGlmZiAtLWdpdCBhL2xpc3AvZW1h Y3MtbGlzcC9saXNwLmVsIGIvbGlzcC9lbWFjcy1saXNwL2xpc3AuZWwKaW5kZXggNDE3YzIxOGM2 ZDcuLmNkZDk0NTljNDM2IDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvbGlzcC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvbGlzcC5lbApAQCAtMTI5LDYgKzEyOSw0NyBAQCBtYXJrLXNleHAK IAkgICAgKHBvaW50KSkKIAkgIG5pbCB0KSkpKQogCisoZGVmdW4gbWFyay1zZXhwLS1oZWxwZXIg KG51bWJlci1vZi1leHByZXNzaW9ucykKKyAgIkEgaGVscGVyIGZ1bmN0aW9uIGZvciBgbWFyay1z ZXhwLWZvcndhcmQnLCBgbWFyay1zZXhwLWJhY2t3YXJkJy4KKworSWYgTlVNQkVSLU9GLUVYUFJF U1NJT05TIGlzIHBvc2l0aXZlLCBtYXJrIHRoYXQgbWFueSBzZXhwcyBmb3J3YXJkOworb3RoZXJ3 aXNlLCBtYXJrIGJhY2t3YXJkLiIKKyAgKGlmICh1c2UtcmVnaW9uLXApCisgICAgICAobGV0KiAo KGZvcndhcmQgKD49IG51bWJlci1vZi1leHByZXNzaW9ucyAwKSkKKyAgICAgICAgICAgICAoYmVn aW5uaW5nLW9mLXJlZ2lvbiAocmVnaW9uLWJlZ2lubmluZykpCisgICAgICAgICAgICAgKGVuZC1v Zi1yZWdpb24gKHJlZ2lvbi1lbmQpKQorICAgICAgICAgICAgIChhdC1lbmQtb2YtcmVnaW9uICg9 IGVuZC1vZi1yZWdpb24gKHBvaW50KSkpCisgICAgICAgICAgICAgKG5ldy1ib3JkZXItcG9pbnQK KyAgICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGdvdG8tY2hh ciAoaWYgZm9yd2FyZCAocmVnaW9uLWVuZCkgKHJlZ2lvbi1iZWdpbm5pbmcpKSkKKyAgICAgICAg ICAgICAgICAoY29uZGl0aW9uLWNhc2UgbmlsCisgICAgICAgICAgICAgICAgICAgIChmb3J3YXJk LXNleHAgbnVtYmVyLW9mLWV4cHJlc3Npb25zKQorICAgICAgICAgICAgICAgICAgKHNjYW4tZXJy b3IgKHVzZXItZXJyb3IgIk5vIG1vcmUgcy1leHByZXNzaW9ucyB0aGVyZSEiKSkpCisgICAgICAg ICAgICAgICAgKHBvaW50KSkpCisgICAgICAgICAgICAgKG5ldy1iZWdpbm5pbmctb2YtcmVnaW9u IChtaW4gYmVnaW5uaW5nLW9mLXJlZ2lvbiBuZXctYm9yZGVyLXBvaW50KSkKKyAgICAgICAgICAg ICAobmV3LWVuZC1vZi1yZWdpb24gKG1heCBlbmQtb2YtcmVnaW9uIG5ldy1ib3JkZXItcG9pbnQp KSkKKyAgICAgICAgKGdvdG8tY2hhciAoaWYgYXQtZW5kLW9mLXJlZ2lvbgorICAgICAgICAgICAg ICAgICAgICAgICBuZXctZW5kLW9mLXJlZ2lvbgorICAgICAgICAgICAgICAgICAgICAgbmV3LWJl Z2lubmluZy1vZi1yZWdpb24pKQorICAgICAgICAoc2V0LW1hcmsgKGlmIGF0LWVuZC1vZi1yZWdp b24KKyAgICAgICAgICAgICAgICAgICAgICBuZXctYmVnaW5uaW5nLW9mLXJlZ2lvbgorICAgICAg ICAgICAgICAgICAgICBuZXctZW5kLW9mLXJlZ2lvbikpKQorICAgIChtYXJrLXNleHAgbnVtYmVy LW9mLWV4cHJlc3Npb25zKSkpCisKKyhkZWZ1biBtYXJrLXNleHAtZm9yd2FyZCAoJm9wdGlvbmFs IG51bWJlci1vZi1leHByZXNzaW9ucykKKyAgIk1hcmsgTlVNQkVSLU9GLUVYUFJFU1NJT05TIHMt ZXhwcmVzc2lvbnMgZm9yd2FyZC4KKworIFJlcGVhdGVkIGNhbGxzIHRvIHRoaXMgbWFyayBtb3Jl IHMtZXhwcmVzc2lvbnMuIgorICAoaW50ZXJhY3RpdmUgInAiKQorICAobWFyay1zZXhwLS1oZWxw ZXIgKG9yIG51bWJlci1vZi1leHByZXNzaW9ucyAxKSkpCisKKyhkZWZ1biBtYXJrLXNleHAtYmFj a3dhcmQgKCZvcHRpb25hbCBudW1iZXItb2YtZXhwcmVzc2lvbnMpCisgICJNYXJrIE5VTUJFUi1P Ri1FWFBSRVNTSU9OUyBzLWV4cHJlc3Npb25zIGJhY2t3YXJkLgorCisgUmVwZWF0ZWQgY2FsbHMg dG8gdGhpcyBtYXJrIG1vcmUgcy1leHByZXNzaW9ucy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisg IChtYXJrLXNleHAtLWhlbHBlciAoLSAob3IgbnVtYmVyLW9mLWV4cHJlc3Npb25zIDEpKSkpCisK IChkZWZ1biBmb3J3YXJkLWxpc3QgKCZvcHRpb25hbCBhcmcgaW50ZXJhY3RpdmUpCiAgICJNb3Zl IGZvcndhcmQgYWNyb3NzIG9uZSBiYWxhbmNlZCBncm91cCBvZiBwYXJlbnRoZXNlcy4KIFRoaXMg Y29tbWFuZCB3aWxsIGFsc28gd29yayBvbiBvdGhlciBwYXJlbnRoZXNlcy1saWtlIGV4cHJlc3Np b25zCi0tIAoyLjM4LjQKCg== --0000000000007b9fcf05f9bdc53d--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 20 Apr 2023 05:25:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 20 01:25:59 2023 Received: from localhost ([127.0.0.1]:36272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ppMnv-0004x4-0O for submit <at> debbugs.gnu.org; Thu, 20 Apr 2023 01:25:59 -0400 Received: from lists.gnu.org ([209.51.188.17]:46732) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1ppMnq-0004wo-Ua for submit <at> debbugs.gnu.org; Thu, 20 Apr 2023 01:25:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <zkanfer@HIDDEN>) id 1ppMno-0001X7-9S for bug-gnu-emacs@HIDDEN; Thu, 20 Apr 2023 01:25:53 -0400 Received: from mail-oa1-x32.google.com ([2001:4860:4864:20::32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <zkanfer@HIDDEN>) id 1ppMnh-00016X-Qw for bug-gnu-emacs@HIDDEN; Thu, 20 Apr 2023 01:25:48 -0400 Received: by mail-oa1-x32.google.com with SMTP id 586e51a60fabf-18807659eddso210581fac.1 for <bug-gnu-emacs@HIDDEN>; Wed, 19 Apr 2023 22:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681968341; x=1684560341; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kQ48P72wOqD5RYXryo17ORUYFe49mfWi3tVd6uh65I8=; b=A1KMYxUEYGsBj93hoQ9dL9VAoEUEqeZ9BBmdITgSenkOGZ/O299OROQ8+ljoiQP54I xtbAoloOnf/TdynHHBlYMJ+G7WTzX2bAjFaJDPFeBs5HiZUXYliLd2yyAp4zAwKJ3kA3 1UgpH6mBKszlKRVOPIe1RYgGdXSTuWd1FUeKhP9b8nol2TkjfbFHLt6nsdNzZE4YrlGM UwKe28IJjcM+YSBTtRkcm9pLaTxox6YtC0LJ2gLxUS99TlrPpABT8VqY+FBiSnOguR2L BnL6Pf5f7TmBy/QNZ/zKdx/x5Pp+UEI6hGiva3KmPlReLP4g2Jyukn/5Tyi2dvZOE1Ay L+1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681968341; x=1684560341; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kQ48P72wOqD5RYXryo17ORUYFe49mfWi3tVd6uh65I8=; b=EGFCk2dlczw/2Y88NodCW6m4jTujbeJzzYmdgieX0TAsjEmZJtxEC3T0MFD5frGGMb pA31dk+zdFbGuJn5JUx07u3P4FX2b/gs4dlLa10jzGmy8o1S9HwYEa1d+de00l9LTHdf yC/YW4SlLTzt4Bljx+3Wx3BGE+gJV9BFmNT98SbV+9OvUuFNyZEBKfRZiW71au4nzxvi jc0U0LZSrjIclATmJL3yK2mr9FeNgFTy4XeII9ViEzf33qauX3p8OOB1ld+45XIzFlyj eDoDPr1tKSoBxier30YtviFGaU5z11yL3wZofHny0U/bwf9XEOnPDzUE49DSwpuRYMlM 56GQ== X-Gm-Message-State: AAQBX9eoqpo62qB62C2nviDSpv+kgjxU9MW9cfjhUIEK9aGM76a3FWC2 /nIN4PltxGZXQzO0dJqSGHqfCA/hqrjKOui8xZqKxfxMhiA= X-Google-Smtp-Source: AKy350YSl+Z6Ja1QB1gd0IJ2363EgAw0pF7N4dfK9Alg4TRmZKhgHlyD+Z3ZnVHUKQUJZAQyXqMTHqsCCDzwCsqqPDk= X-Received: by 2002:a05:6870:968f:b0:187:8008:eb09 with SMTP id o15-20020a056870968f00b001878008eb09mr266557oaq.58.1681968340893; Wed, 19 Apr 2023 22:25:40 -0700 (PDT) MIME-Version: 1.0 References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> <sdvcz43w63q.fsf@HIDDEN> In-Reply-To: <sdvcz43w63q.fsf@HIDDEN> From: Zachary Kanfer <zkanfer@HIDDEN> Date: Thu, 20 Apr 2023 01:25:29 -0400 Message-ID: <CAFXT+RPwL_cFJUmOMhocsGR4xnAd_RCE2kaZD3nQifY9pk7vYQ@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command To: Ruijie Yu <ruijie@HIDDEN> Content-Type: multipart/mixed; boundary="0000000000007b9fcf05f9bdc53d" Received-SPF: pass client-ip=2001:4860:4864:20::32; envelope-from=zkanfer@HIDDEN; helo=mail-oa1-x32.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --0000000000007b9fcf05f9bdc53d Content-Type: multipart/alternative; boundary="0000000000007b9fce05f9bdc53b" --0000000000007b9fce05f9bdc53b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > If this is to be accepted, why not extend it to all like mark functions, > listed below? Implementing them should be pretty similar, and you might > even be able to reuse the same helper for all these variants. Also, the > helper function might need to contain a double-dash in its name because > this is inherently a private function. This makes sense to me, although I have not found the same need for these to be marked. I'm happy to extend them as such; I'll add that in a later patch. > Please use `quote' to quote things in Emacs docstrings. Also, both here > and in other docstrings, the newline immediately after the first line, > while seems necessary, is usually redundant in Emacs docstrings. And > there is a typo: "amrk" -> "mark". > > I also think you shouldn't use wildcard-like elements in quotes (in your > case, you reuse part of the name in the quote), but I'm not sure. Done. Updated patch attached. On Sun, Apr 16, 2023 at 11:17=E2=80=AFPM Ruijie Yu <ruijie@HIDDEN> wrote= : > > Zachary Kanfer <zkanfer@HIDDEN> writes: > > > Attached is a patch to add #'mark-sexp-forwards and > #'mark-sexp-backwards. These functions extend the region by sexps forward > and > > backward. They are mutually incremental: you can call mark-sexp-fowards= , > then mark-sexp-backwards twice, then mark-sexp-forwards. After > > this, the region will consist of the two sexps before point and the two > sexps after point. > > If this is to be accepted, why not extend it to all like mark functions, > listed below? Implementing them should be pretty similar, and you might > even be able to reuse the same helper for all these variants. Also, the > helper function might need to contain a double-dash in its name because > this is inherently a private function. > > - `mark-defun' > - `mark-page' > - `mark-paragraph' > - `mark-word' > > > +(defun mark-sexp-helper (number-of-expressions) > > + "A helper function for 'mark-sexp-[forward, backward]'. > > + > > +If NUMBER-OF-EXPRESSIONS is positive, mark that many sexps forward; > > +otherwise, amrk backward." > > Please use `quote' to quote things in Emacs docstrings. Also, both here > and in other docstrings, the newline immediately after the first line, > while seems necessary, is usually redundant in Emacs docstrings. And > there is a typo: "amrk" -> "mark". > > I also think you shouldn't use wildcard-like elements in quotes (in your > case, you reuse part of the name in the quote), but I'm not sure. > > -- > Best, > > > RY > --0000000000007b9fce05f9bdc53b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><span class=3D"gmail-im">> If this is to be accepted, w= hy not extend it to all like mark functions,<br> > listed below?=C2=A0 Implementing them should be pretty similar, and yo= u might<br>> even be able to reuse the same helper for all these variant= s.=C2=A0 Also, the<br> > helper function might need to contain a double-dash in its name becaus= e<br><div> > this is inherently a private function.</div><div><br></div></span><div= >This makes sense to me, although I have not found the same need for these = to be marked. I'm happy to extend them as such; I'll add that in a = later patch.<br></div><span class=3D"gmail-im"><div><br></div><div>> Ple= ase use `quote' to quote things in Emacs docstrings.=C2=A0 Also, both h= ere<br>> and in other docstrings, the newline immediately after the firs= t line,<br>> while seems necessary, is usually redundant in Emacs docstr= ings.=C2=A0 And<br>> there is a typo: "amrk" -> "mark&= quot;.<br>> <br>> I also think you shouldn't use wildcard-like el= ements in quotes (in your<br>> case, you reuse part of the name in the q= uote), but I'm not sure.</div><div><br></div></span><div>Done. Updated = patch attached.</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" = class=3D"gmail_attr">On Sun, Apr 16, 2023 at 11:17=E2=80=AFPM Ruijie Yu <= ;<a href=3D"mailto:ruijie@HIDDEN">ruijie@HIDDEN</a>> wrote:<br></d= iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord= er-left:1px solid rgb(204,204,204);padding-left:1ex"><br> Zachary Kanfer <<a href=3D"mailto:zkanfer@HIDDEN" target=3D"_blank">z= kanfer@HIDDEN</a>> writes:<br> <br> > Attached is a patch to add #'mark-sexp-forwards and #'mark-sex= p-backwards. These functions extend the region by sexps forward and<br> > backward. They are mutually incremental: you can call mark-sexp-foward= s, then mark-sexp-backwards twice, then mark-sexp-forwards. After<br> > this, the region will consist of the two sexps before point and the tw= o sexps after point.<br> <br> If this is to be accepted, why not extend it to all like mark functions,<br= > listed below?=C2=A0 Implementing them should be pretty similar, and you mig= ht<br> even be able to reuse the same helper for all these variants.=C2=A0 Also, t= he<br> helper function might need to contain a double-dash in its name because<br> this is inherently a private function.<br> <br> - `mark-defun'<br> - `mark-page'<br> - `mark-paragraph'<br> - `mark-word'<br> <br> > +(defun mark-sexp-helper (number-of-expressions)<br> > +=C2=A0 "A helper function for 'mark-sexp-[forward, backward]= '.<br> > +<br> > +If NUMBER-OF-EXPRESSIONS is positive, mark that many sexps forward;<b= r> > +otherwise, amrk backward."<br> <br> Please use `quote' to quote things in Emacs docstrings.=C2=A0 Also, bot= h here<br> and in other docstrings, the newline immediately after the first line,<br> while seems necessary, is usually redundant in Emacs docstrings.=C2=A0 And<= br> there is a typo: "amrk" -> "mark".<br> <br> I also think you shouldn't use wildcard-like elements in quotes (in you= r<br> case, you reuse part of the name in the quote), but I'm not sure.<br> <br> -- <br> Best,<br> <br> <br> RY<br> </blockquote></div> --0000000000007b9fce05f9bdc53b-- --0000000000007b9fcf05f9bdc53d Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Disposition: attachment; filename="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Transfer-Encoding: base64 Content-ID: <f_lgoohlqz0> X-Attachment-Id: f_lgoohlqz0 RnJvbSA1YjMzNTIwYTczYThmMTE2ZmI4OWJhMjUzZjY2MzZjOTU3M2M5ZDJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYWNoYXJ5IEthbmZlciA8emthbmZlckBnbWFpbC5jb20+CkRh dGU6IFN1biwgMTYgQXByIDIwMjMgMjI6MTY6MzkgLTA0MDAKU3ViamVjdDogW1BBVENIXSBBZGQg bWFyay1zZXhwLWZvcndhcmQsIG1hcmstc2V4cC1iYWNrd2FyZAoKLS0tCiBldGMvTkVXUyAgICAg ICAgICAgICAgICB8ICA0ICsrKysKIGxpc3AvZW1hY3MtbGlzcC9saXNwLmVsIHwgNDEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDUg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggYzYx YTllYzNjNWYuLjlmMmI3ZDIxZjliIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVX UwpAQCAtODEsNiArODEsMTAgQEAgbWlzdGFrZW4gY29tcG9zaXRpb25zLCB0aGlzIHdpbGwgbm93 IHdvcmsgYXMgd2VsbC4KIFRoaXMgd29ya3MgbGlrZSAna2lsbC1tYXRjaGluZy1idWZmZXJzJywg YnV0IHdpdGhvdXQgYXNraW5nIGZvcgogY29uZmlybWF0aW9uLgogCistLS0KKyoqIE5ldyBjb21t YW5kcyAnbWFyay1zZXhwLWZvcndhcmQnIGFuZCAnbWFyay1zZXhwLWJhY2t3YXJkJy4KK1RoZXNl IHdvcmsgbGlrZSBtYXJrLXNleHAsIGJ1dCBleHBsaWNpdGx5IGFsbG93IHNleHBzIHRvIGJlIG1h cmtlZCBmb3J3YXJkIGFuZCBiYWNrd2FyZC4KKwogDAogKiBDaGFuZ2VzIGluIFNwZWNpYWxpemVk IE1vZGVzIGFuZCBQYWNrYWdlcyBpbiBFbWFjcyAzMC4xCiAKZGlmZiAtLWdpdCBhL2xpc3AvZW1h Y3MtbGlzcC9saXNwLmVsIGIvbGlzcC9lbWFjcy1saXNwL2xpc3AuZWwKaW5kZXggNDE3YzIxOGM2 ZDcuLmNkZDk0NTljNDM2IDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvbGlzcC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvbGlzcC5lbApAQCAtMTI5LDYgKzEyOSw0NyBAQCBtYXJrLXNleHAK IAkgICAgKHBvaW50KSkKIAkgIG5pbCB0KSkpKQogCisoZGVmdW4gbWFyay1zZXhwLS1oZWxwZXIg KG51bWJlci1vZi1leHByZXNzaW9ucykKKyAgIkEgaGVscGVyIGZ1bmN0aW9uIGZvciBgbWFyay1z ZXhwLWZvcndhcmQnLCBgbWFyay1zZXhwLWJhY2t3YXJkJy4KKworSWYgTlVNQkVSLU9GLUVYUFJF U1NJT05TIGlzIHBvc2l0aXZlLCBtYXJrIHRoYXQgbWFueSBzZXhwcyBmb3J3YXJkOworb3RoZXJ3 aXNlLCBtYXJrIGJhY2t3YXJkLiIKKyAgKGlmICh1c2UtcmVnaW9uLXApCisgICAgICAobGV0KiAo KGZvcndhcmQgKD49IG51bWJlci1vZi1leHByZXNzaW9ucyAwKSkKKyAgICAgICAgICAgICAoYmVn aW5uaW5nLW9mLXJlZ2lvbiAocmVnaW9uLWJlZ2lubmluZykpCisgICAgICAgICAgICAgKGVuZC1v Zi1yZWdpb24gKHJlZ2lvbi1lbmQpKQorICAgICAgICAgICAgIChhdC1lbmQtb2YtcmVnaW9uICg9 IGVuZC1vZi1yZWdpb24gKHBvaW50KSkpCisgICAgICAgICAgICAgKG5ldy1ib3JkZXItcG9pbnQK KyAgICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGdvdG8tY2hh ciAoaWYgZm9yd2FyZCAocmVnaW9uLWVuZCkgKHJlZ2lvbi1iZWdpbm5pbmcpKSkKKyAgICAgICAg ICAgICAgICAoY29uZGl0aW9uLWNhc2UgbmlsCisgICAgICAgICAgICAgICAgICAgIChmb3J3YXJk LXNleHAgbnVtYmVyLW9mLWV4cHJlc3Npb25zKQorICAgICAgICAgICAgICAgICAgKHNjYW4tZXJy b3IgKHVzZXItZXJyb3IgIk5vIG1vcmUgcy1leHByZXNzaW9ucyB0aGVyZSEiKSkpCisgICAgICAg ICAgICAgICAgKHBvaW50KSkpCisgICAgICAgICAgICAgKG5ldy1iZWdpbm5pbmctb2YtcmVnaW9u IChtaW4gYmVnaW5uaW5nLW9mLXJlZ2lvbiBuZXctYm9yZGVyLXBvaW50KSkKKyAgICAgICAgICAg ICAobmV3LWVuZC1vZi1yZWdpb24gKG1heCBlbmQtb2YtcmVnaW9uIG5ldy1ib3JkZXItcG9pbnQp KSkKKyAgICAgICAgKGdvdG8tY2hhciAoaWYgYXQtZW5kLW9mLXJlZ2lvbgorICAgICAgICAgICAg ICAgICAgICAgICBuZXctZW5kLW9mLXJlZ2lvbgorICAgICAgICAgICAgICAgICAgICAgbmV3LWJl Z2lubmluZy1vZi1yZWdpb24pKQorICAgICAgICAoc2V0LW1hcmsgKGlmIGF0LWVuZC1vZi1yZWdp b24KKyAgICAgICAgICAgICAgICAgICAgICBuZXctYmVnaW5uaW5nLW9mLXJlZ2lvbgorICAgICAg ICAgICAgICAgICAgICBuZXctZW5kLW9mLXJlZ2lvbikpKQorICAgIChtYXJrLXNleHAgbnVtYmVy LW9mLWV4cHJlc3Npb25zKSkpCisKKyhkZWZ1biBtYXJrLXNleHAtZm9yd2FyZCAoJm9wdGlvbmFs IG51bWJlci1vZi1leHByZXNzaW9ucykKKyAgIk1hcmsgTlVNQkVSLU9GLUVYUFJFU1NJT05TIHMt ZXhwcmVzc2lvbnMgZm9yd2FyZC4KKworIFJlcGVhdGVkIGNhbGxzIHRvIHRoaXMgbWFyayBtb3Jl IHMtZXhwcmVzc2lvbnMuIgorICAoaW50ZXJhY3RpdmUgInAiKQorICAobWFyay1zZXhwLS1oZWxw ZXIgKG9yIG51bWJlci1vZi1leHByZXNzaW9ucyAxKSkpCisKKyhkZWZ1biBtYXJrLXNleHAtYmFj a3dhcmQgKCZvcHRpb25hbCBudW1iZXItb2YtZXhwcmVzc2lvbnMpCisgICJNYXJrIE5VTUJFUi1P Ri1FWFBSRVNTSU9OUyBzLWV4cHJlc3Npb25zIGJhY2t3YXJkLgorCisgUmVwZWF0ZWQgY2FsbHMg dG8gdGhpcyBtYXJrIG1vcmUgcy1leHByZXNzaW9ucy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisg IChtYXJrLXNleHAtLWhlbHBlciAoLSAob3IgbnVtYmVyLW9mLWV4cHJlc3Npb25zIDEpKSkpCisK IChkZWZ1biBmb3J3YXJkLWxpc3QgKCZvcHRpb25hbCBhcmcgaW50ZXJhY3RpdmUpCiAgICJNb3Zl IGZvcndhcmQgYWNyb3NzIG9uZSBiYWxhbmNlZCBncm91cCBvZiBwYXJlbnRoZXNlcy4KIFRoaXMg Y29tbWFuZCB3aWxsIGFsc28gd29yayBvbiBvdGhlciBwYXJlbnRoZXNlcy1saWtlIGV4cHJlc3Np b25zCi0tIAoyLjM4LjQKCg== --0000000000007b9fcf05f9bdc53d--
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 17 Apr 2023 07:13:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 17 03:13:13 2023 Received: from localhost ([127.0.0.1]:52992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1poJ32-0004aP-Qy for submit <at> debbugs.gnu.org; Mon, 17 Apr 2023 03:13:12 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:44711) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1poJ30-0004a9-D6 for 62892 <at> debbugs.gnu.org; Mon, 17 Apr 2023 03:13:11 -0400 Received: (Authenticated sender: juri@HIDDEN) by mail.gandi.net (Postfix) with ESMTPSA id 15A5F40009; Mon, 17 Apr 2023 07:13:02 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command In-Reply-To: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> (Zachary Kanfer's message of "Sun, 16 Apr 2023 22:25:28 -0400") Organization: LINKOV.NET References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> Date: Mon, 17 Apr 2023 10:11:35 +0300 Message-ID: <86y1mrq8yg.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62892 Cc: 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > C-M-@ is bound to `#'mark-sexp`. This command works incrementally -- that > is, calling this once marks the sexp after point; calling it again marks > one more sexp (in total, the two sexps after point). > > It would be convenient to easily be able to mark sexps backwards as well. Did you know that it's possible to switch directions by typing 'C-x C-x'. After that 'C-M-@' extends the region backwards.
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at 62892) by debbugs.gnu.org; 17 Apr 2023 03:17:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 16 23:17:12 2023 Received: from localhost ([127.0.0.1]:52805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1poFMe-00060A-6g for submit <at> debbugs.gnu.org; Sun, 16 Apr 2023 23:17:12 -0400 Received: from netyu.xyz ([152.44.41.246]:60942 helo=mail.netyu.xyz) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ruijie@HIDDEN>) id 1poFMb-000601-VV for 62892 <at> debbugs.gnu.org; Sun, 16 Apr 2023 23:17:10 -0400 Received: from fw.net.yu.netyu.xyz (<unknown> [222.248.4.98]) by netyu.xyz (OpenSMTPD) with ESMTPSA id 5498538b (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 17 Apr 2023 03:17:08 +0000 (UTC) References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> User-agent: mu4e 1.9.22; emacs 30.0.50 From: Ruijie Yu <ruijie@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command Date: Mon, 17 Apr 2023 11:06:03 +0800 In-reply-to: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> Message-ID: <sdvcz43w63q.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62892 Cc: bug-gnu-emacs@HIDDEN, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.0 (/) Zachary Kanfer <zkanfer@HIDDEN> writes: > Attached is a patch to add #'mark-sexp-forwards and #'mark-sexp-backwards. These functions extend the region by sexps forward and > backward. They are mutually incremental: you can call mark-sexp-fowards, then mark-sexp-backwards twice, then mark-sexp-forwards. After > this, the region will consist of the two sexps before point and the two sexps after point. If this is to be accepted, why not extend it to all like mark functions, listed below? Implementing them should be pretty similar, and you might even be able to reuse the same helper for all these variants. Also, the helper function might need to contain a double-dash in its name because this is inherently a private function. - `mark-defun' - `mark-page' - `mark-paragraph' - `mark-word' > +(defun mark-sexp-helper (number-of-expressions) > + "A helper function for 'mark-sexp-[forward, backward]'. > + > +If NUMBER-OF-EXPRESSIONS is positive, mark that many sexps forward; > +otherwise, amrk backward." Please use `quote' to quote things in Emacs docstrings. Also, both here and in other docstrings, the newline immediately after the first line, while seems necessary, is usually redundant in Emacs docstrings. And there is a typo: "amrk" -> "mark". I also think you shouldn't use wildcard-like elements in quotes (in your case, you reuse part of the name in the quote), but I'm not sure. -- Best, RY
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 17 Apr 2023 03:17:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 16 23:17:19 2023 Received: from localhost ([127.0.0.1]:52808 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1poFMl-00060V-Gt for submit <at> debbugs.gnu.org; Sun, 16 Apr 2023 23:17:19 -0400 Received: from lists.gnu.org ([209.51.188.17]:51418) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ruijie@HIDDEN>) id 1poFMj-00060N-CS for submit <at> debbugs.gnu.org; Sun, 16 Apr 2023 23:17:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ruijie@HIDDEN>) id 1poFMj-0007DJ-5J for bug-gnu-emacs@HIDDEN; Sun, 16 Apr 2023 23:17:17 -0400 Received: from netyu.xyz ([152.44.41.246] helo=mail.netyu.xyz) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ruijie@HIDDEN>) id 1poFMe-0001b0-HU for bug-gnu-emacs@HIDDEN; Sun, 16 Apr 2023 23:17:13 -0400 Received: from fw.net.yu.netyu.xyz (<unknown> [222.248.4.98]) by netyu.xyz (OpenSMTPD) with ESMTPSA id 5498538b (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 17 Apr 2023 03:17:08 +0000 (UTC) References: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> User-agent: mu4e 1.9.22; emacs 30.0.50 From: Ruijie Yu <ruijie@HIDDEN> To: Zachary Kanfer <zkanfer@HIDDEN> Subject: Re: bug#62892: proposal to extend mark-sexp to go forward and backward on command Date: Mon, 17 Apr 2023 11:06:03 +0800 In-reply-to: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> Message-ID: <sdvcz43w63q.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=152.44.41.246; envelope-from=ruijie@HIDDEN; helo=mail.netyu.xyz X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN, 62892 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.4 (-) Zachary Kanfer <zkanfer@HIDDEN> writes: > Attached is a patch to add #'mark-sexp-forwards and #'mark-sexp-backwards. These functions extend the region by sexps forward and > backward. They are mutually incremental: you can call mark-sexp-fowards, then mark-sexp-backwards twice, then mark-sexp-forwards. After > this, the region will consist of the two sexps before point and the two sexps after point. If this is to be accepted, why not extend it to all like mark functions, listed below? Implementing them should be pretty similar, and you might even be able to reuse the same helper for all these variants. Also, the helper function might need to contain a double-dash in its name because this is inherently a private function. - `mark-defun' - `mark-page' - `mark-paragraph' - `mark-word' > +(defun mark-sexp-helper (number-of-expressions) > + "A helper function for 'mark-sexp-[forward, backward]'. > + > +If NUMBER-OF-EXPRESSIONS is positive, mark that many sexps forward; > +otherwise, amrk backward." Please use `quote' to quote things in Emacs docstrings. Also, both here and in other docstrings, the newline immediately after the first line, while seems necessary, is usually redundant in Emacs docstrings. And there is a typo: "amrk" -> "mark". I also think you shouldn't use wildcard-like elements in quotes (in your case, you reuse part of the name in the quote), but I'm not sure. -- Best, RY
bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 17 Apr 2023 02:25:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 16 22:25:47 2023 Received: from localhost ([127.0.0.1]:52763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1poEYt-0004TK-3Y for submit <at> debbugs.gnu.org; Sun, 16 Apr 2023 22:25:47 -0400 Received: from lists.gnu.org ([209.51.188.17]:55796) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zkanfer@HIDDEN>) id 1poEYq-0004TC-Vd for submit <at> debbugs.gnu.org; Sun, 16 Apr 2023 22:25:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <zkanfer@HIDDEN>) id 1poEYq-0001Y9-M6 for bug-gnu-emacs@HIDDEN; Sun, 16 Apr 2023 22:25:44 -0400 Received: from mail-oa1-x2f.google.com ([2001:4860:4864:20::2f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <zkanfer@HIDDEN>) id 1poEYo-0006GD-QX for bug-gnu-emacs@HIDDEN; Sun, 16 Apr 2023 22:25:44 -0400 Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-187e9f8c982so1650958fac.1 for <bug-gnu-emacs@HIDDEN>; Sun, 16 Apr 2023 19:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681698339; x=1684290339; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=ZgqKstG7XEhetQnp74LSIkIOy/zgj8mIY23BBmWwljY=; b=KvamjZKkRj7Lg/PfUjsLjS2og7tWqExKQ+fYBu7mLV0xR6R8CtpySgZnjGBybqmhbP MaK9oPWXFYZpYrZSAU8fyQaOTxD5kL22LIWwJP2KWnPEwsNlO5kUm6hTkf4UN2ZRdvJS CI2fuLUfy759wasRNQAJPDpo8UzpbUEgu1Uj/UDwpHp9CKylOHdM0rU4Iu0gLKoFC26i EqMtDgfi/w7gEo+PdLNZn7cYXo4PoaVIErL7yoIu0oaMkzKDfwyDlYehk1uzY0M9vQVY 6tQ12XzPDf/BZf4CHXd+WHArKlSmM0eu6k5WVVdjyndBs7k46sVz/OHTzu55w9+3R9oM RDog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681698339; x=1684290339; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ZgqKstG7XEhetQnp74LSIkIOy/zgj8mIY23BBmWwljY=; b=ecNtLf46E3XKCYXDndcUCpqEHN9qTdGnywwlK6pt8UdG+jAqCauKO1VmDfzdZHYtx0 DKoQEglwd2ko6bvN4zjrYYwi2Gca34cggxmkGVI236/5o7g49Z3qlL0tf3sTGpOWbgjG VsKaUY7eaJUFjtZy2fwvOXU4wCBRdjxrhvdQT+T/NQix0S31safmU18wbDvYqEy4A8Am Fc+GgQktU3Tt7ZPanq+5QgdLTRcbNUFX7BUHUuCwNDFAVd/l+0L1jYzP5cv38Tn7mqxu eOxsVAyv5xYE2Ly4jnHZrKhDHzYRm88JX9fvbcozd+c+1+G0QyDa0G1i25taHPXFGUl7 i0Ig== X-Gm-Message-State: AAQBX9fBgylU3On9nyPq0IqdVwwqGm80aeblIBKidf0dAclSKGsMnX4k 5d1+BAvdfcxG6IOsONMokOCPy5ElAH8ItXqI/WLAW/CQ7EM= X-Google-Smtp-Source: AKy350ZHqA+LRArlyRV0rrZ0xHgSla7jAH+CiASi+wvXu3pXy0nsureYAZqxtDJ2iFhCYHExUiBX8B3mbUvhc4PSbqQ= X-Received: by 2002:a05:6870:b52c:b0:187:a080:bfd5 with SMTP id v44-20020a056870b52c00b00187a080bfd5mr4129099oap.3.1681698339533; Sun, 16 Apr 2023 19:25:39 -0700 (PDT) MIME-Version: 1.0 From: Zachary Kanfer <zkanfer@HIDDEN> Date: Sun, 16 Apr 2023 22:25:28 -0400 Message-ID: <CAFXT+RN4zLaFRYwczji+nxFQjB_r0RRb=NLnmenO3so_ELq5Kw@HIDDEN> Subject: proposal to extend mark-sexp to go forward and backward on command To: bug-gnu-emacs@HIDDEN Content-Type: multipart/mixed; boundary="00000000000025fc0005f97ee822" Received-SPF: pass client-ip=2001:4860:4864:20::2f; envelope-from=zkanfer@HIDDEN; helo=mail-oa1-x2f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --00000000000025fc0005f97ee822 Content-Type: multipart/alternative; boundary="00000000000025fbfe05f97ee820" --00000000000025fbfe05f97ee820 Content-Type: text/plain; charset="UTF-8" C-M-@ is bound to `#'mark-sexp`. This command works incrementally -- that is, calling this once marks the sexp after point; calling it again marks one more sexp (in total, the two sexps after point). It would be convenient to easily be able to mark sexps backwards as well. If you've already marked sexps backwards, mark-sexp extends the region backwards. But if you haven't, the only way to mark backwards is to pass a negative prefix argument. It often is a better experience to iteratively select the sexps you want. Finally, there's no way to mark both directions, e.g., one sexp forward and two backwards. Attached is a patch to add #'mark-sexp-forwards and #'mark-sexp-backwards. These functions extend the region by sexps forward and backward. They are mutually incremental: you can call mark-sexp-fowards, then mark-sexp-backwards twice, then mark-sexp-forwards. After this, the region will consist of the two sexps before point and the two sexps after point. These functions are very similar to #'mark-sexp: - They will extend the region if it already exists. - They can be called from lisp code with a numeric argument. - They can take a prefix argument if called interactively. Thanks, Zachary Kanfer --00000000000025fbfe05f97ee820 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">C-M-@ is bound to `#'mark-sexp`. This command works in= crementally -- that is, calling this once marks the sexp after point; calli= ng it again marks one more sexp (in total, the two sexps after point).<br><= br>It would be convenient to easily be able to mark sexps backwards as well= .<br><br>If you've already marked sexps backwards, mark-sexp extends th= e region backwards. But if you haven't, the only way to mark backwards = is to pass a negative prefix argument.<br><br>It often is a better experien= ce to iteratively select the sexps you want. Finally, there's no way to= mark both directions, e.g., one sexp forward and two backwards.<br><br>Att= ached is a patch to add #'mark-sexp-forwards and #'mark-sexp-backwa= rds. These functions extend the region by sexps forward and backward. They = are mutually incremental: you can call mark-sexp-fowards, then mark-sexp-ba= ckwards twice, then mark-sexp-forwards. After this, the region will consist= of the two sexps before point and the two sexps after point.<br><br>These = functions are very similar to #'mark-sexp:<br>- They will extend the re= gion if it already exists.<br>- They can be called from lisp code with a nu= meric argument.<br><div>- They can take a prefix argument if called interac= tively.</div><div><br></div><div>Thanks,</div><div>Zachary Kanfer<br></div>= </div> --00000000000025fbfe05f97ee820-- --00000000000025fc0005f97ee822 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Disposition: attachment; filename="0001-Add-mark-sexp-forward-mark-sexp-backward.patch" Content-Transfer-Encoding: base64 Content-ID: <f_lgk7oxye0> X-Attachment-Id: f_lgk7oxye0 RnJvbSAzYTM1NzkwYTc5ZWZmM2Q1OTdlMTNhMTdkNzQwMzU3YmM1NTZkODFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYWNoYXJ5IEthbmZlciA8emthbmZlckBnbWFpbC5jb20+CkRh dGU6IFN1biwgMTYgQXByIDIwMjMgMjI6MTY6MzkgLTA0MDAKU3ViamVjdDogW1BBVENIXSBBZGQg bWFyay1zZXhwLWZvcndhcmQsIG1hcmstc2V4cC1iYWNrd2FyZAoKLS0tCiBldGMvTkVXUyAgICAg ICAgICAgICAgICB8ICA0ICsrKysKIGxpc3AvZW1hY3MtbGlzcC9saXNwLmVsIHwgNDEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDUg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggYzYx YTllYzNjNWYuLjlmMmI3ZDIxZjliIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVX UwpAQCAtODEsNiArODEsMTAgQEAgbWlzdGFrZW4gY29tcG9zaXRpb25zLCB0aGlzIHdpbGwgbm93 IHdvcmsgYXMgd2VsbC4KIFRoaXMgd29ya3MgbGlrZSAna2lsbC1tYXRjaGluZy1idWZmZXJzJywg YnV0IHdpdGhvdXQgYXNraW5nIGZvcgogY29uZmlybWF0aW9uLgogCistLS0KKyoqIE5ldyBjb21t YW5kcyAnbWFyay1zZXhwLWZvcndhcmQnIGFuZCAnbWFyay1zZXhwLWJhY2t3YXJkJy4KK1RoZXNl IHdvcmsgbGlrZSBtYXJrLXNleHAsIGJ1dCBleHBsaWNpdGx5IGFsbG93IHNleHBzIHRvIGJlIG1h cmtlZCBmb3J3YXJkIGFuZCBiYWNrd2FyZC4KKwogDAogKiBDaGFuZ2VzIGluIFNwZWNpYWxpemVk IE1vZGVzIGFuZCBQYWNrYWdlcyBpbiBFbWFjcyAzMC4xCiAKZGlmZiAtLWdpdCBhL2xpc3AvZW1h Y3MtbGlzcC9saXNwLmVsIGIvbGlzcC9lbWFjcy1saXNwL2xpc3AuZWwKaW5kZXggNDE3YzIxOGM2 ZDcuLmQ2NjQ5YjI0OTdkIDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvbGlzcC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvbGlzcC5lbApAQCAtMTI5LDYgKzEyOSw0NyBAQCBtYXJrLXNleHAK IAkgICAgKHBvaW50KSkKIAkgIG5pbCB0KSkpKQogCisoZGVmdW4gbWFyay1zZXhwLWhlbHBlciAo bnVtYmVyLW9mLWV4cHJlc3Npb25zKQorICAiQSBoZWxwZXIgZnVuY3Rpb24gZm9yICdtYXJrLXNl eHAtW2ZvcndhcmQsIGJhY2t3YXJkXScuCisKK0lmIE5VTUJFUi1PRi1FWFBSRVNTSU9OUyBpcyBw b3NpdGl2ZSwgbWFyayB0aGF0IG1hbnkgc2V4cHMgZm9yd2FyZDsKK290aGVyd2lzZSwgYW1yayBi YWNrd2FyZC4iCisgIChpZiAodXNlLXJlZ2lvbi1wKQorICAgICAgKGxldCogKChmb3J3YXJkICg+ PSBudW1iZXItb2YtZXhwcmVzc2lvbnMgMCkpCisgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1y ZWdpb24gKHJlZ2lvbi1iZWdpbm5pbmcpKQorICAgICAgICAgICAgIChlbmQtb2YtcmVnaW9uIChy ZWdpb24tZW5kKSkKKyAgICAgICAgICAgICAoYXQtZW5kLW9mLXJlZ2lvbiAoPSBlbmQtb2YtcmVn aW9uIChwb2ludCkpKQorICAgICAgICAgICAgIChuZXctYm9yZGVyLXBvaW50CisgICAgICAgICAg ICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKGlmIGZvcndh cmQgKHJlZ2lvbi1lbmQpIChyZWdpb24tYmVnaW5uaW5nKSkpCisgICAgICAgICAgICAgICAgKGNv bmRpdGlvbi1jYXNlIG5pbAorICAgICAgICAgICAgICAgICAgICAoZm9yd2FyZC1zZXhwIG51bWJl ci1vZi1leHByZXNzaW9ucykKKyAgICAgICAgICAgICAgICAgIChzY2FuLWVycm9yICh1c2VyLWVy cm9yICJObyBtb3JlIHMtZXhwcmVzc2lvbnMgdGhlcmUhIikpKQorICAgICAgICAgICAgICAgIChw b2ludCkpKQorICAgICAgICAgICAgIChuZXctYmVnaW5uaW5nLW9mLXJlZ2lvbiAobWluIGJlZ2lu bmluZy1vZi1yZWdpb24gbmV3LWJvcmRlci1wb2ludCkpCisgICAgICAgICAgICAgKG5ldy1lbmQt b2YtcmVnaW9uIChtYXggZW5kLW9mLXJlZ2lvbiBuZXctYm9yZGVyLXBvaW50KSkpCisgICAgICAg IChnb3RvLWNoYXIgKGlmIGF0LWVuZC1vZi1yZWdpb24KKyAgICAgICAgICAgICAgICAgICAgICAg bmV3LWVuZC1vZi1yZWdpb24KKyAgICAgICAgICAgICAgICAgICAgIG5ldy1iZWdpbm5pbmctb2Yt cmVnaW9uKSkKKyAgICAgICAgKHNldC1tYXJrIChpZiBhdC1lbmQtb2YtcmVnaW9uCisgICAgICAg ICAgICAgICAgICAgICAgbmV3LWJlZ2lubmluZy1vZi1yZWdpb24KKyAgICAgICAgICAgICAgICAg ICAgbmV3LWVuZC1vZi1yZWdpb24pKSkKKyAgICAobWFyay1zZXhwIG51bWJlci1vZi1leHByZXNz aW9ucykpKQorCisoZGVmdW4gbWFyay1zZXhwLWZvcndhcmQgKCZvcHRpb25hbCBudW1iZXItb2Yt ZXhwcmVzc2lvbnMpCisgICJNYXJrIE5VTUJFUi1PRi1FWFBSRVNTSU9OUyBzLWV4cHJlc3Npb25z IGZvcndhcmQuCisKKyBSZXBlYXRlZCBjYWxscyB0byB0aGlzIG1hcmsgbW9yZSBzLWV4cHJlc3Np b25zLiIKKyAgKGludGVyYWN0aXZlICJwIikKKyAgKG1hcmstc2V4cC1oZWxwZXIgKG9yIG51bWJl ci1vZi1leHByZXNzaW9ucyAxKSkpCisKKyhkZWZ1biBtYXJrLXNleHAtYmFja3dhcmQgKCZvcHRp b25hbCBudW1iZXItb2YtZXhwcmVzc2lvbnMpCisgICJNYXJrIE5VTUJFUi1PRi1FWFBSRVNTSU9O UyBzLWV4cHJlc3Npb25zIGJhY2t3YXJkLgorCisgUmVwZWF0ZWQgY2FsbHMgdG8gdGhpcyBtYXJr IG1vcmUgcy1leHByZXNzaW9ucy4iCisgIChpbnRlcmFjdGl2ZSAicCIpCisgIChtYXJrLXNleHAt aGVscGVyICgtIChvciBudW1iZXItb2YtZXhwcmVzc2lvbnMgMSkpKSkKKwogKGRlZnVuIGZvcndh cmQtbGlzdCAoJm9wdGlvbmFsIGFyZyBpbnRlcmFjdGl2ZSkKICAgIk1vdmUgZm9yd2FyZCBhY3Jv c3Mgb25lIGJhbGFuY2VkIGdyb3VwIG9mIHBhcmVudGhlc2VzLgogVGhpcyBjb21tYW5kIHdpbGwg YWxzbyB3b3JrIG9uIG90aGVyIHBhcmVudGhlc2VzLWxpa2UgZXhwcmVzc2lvbnMKLS0gCjIuMzgu NAoK --00000000000025fc0005f97ee822--
Zachary Kanfer <zkanfer@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#62892
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.