From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 20 13:13:45 2023 Received: (at submit) by debbugs.gnu.org; 20 Nov 2023 18:13:45 +0000 Received: from localhost ([127.0.0.1]:54504 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r58mG-0001mJ-IA for submit@debbugs.gnu.org; Mon, 20 Nov 2023 13:13:45 -0500 Received: from lists.gnu.org ([2001:470:142::17]:52366) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r58mA-0001ls-O9 for submit@debbugs.gnu.org; Mon, 20 Nov 2023 13:13:42 -0500 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 ) id 1r58m2-0001Nb-IZ for bug-gnu-emacs@gnu.org; Mon, 20 Nov 2023 13:13:31 -0500 Received: from relay8-d.mail.gandi.net ([2001:4b98:dc4:8::228]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r58lz-0006QD-RU for bug-gnu-emacs@gnu.org; Mon, 20 Nov 2023 13:13:29 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 3D7741BF20A for ; Mon, 20 Nov 2023 18:13:22 +0000 (UTC) From: Juri Linkov To: bug-gnu-emacs@gnu.org Subject: dired-movement-style for dirlines Organization: LINKOV.NET Date: Mon, 20 Nov 2023 20:08:34 +0200 Message-ID: <86a5r8qov1.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-GND-Sasl: juri@linkov.net Received-SPF: pass client-ip=2001:4b98:dc4:8::228; envelope-from=juri@linkov.net; helo=relay8-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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: 0.6 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) --=-=-= Content-Type: text/plain A good option 'dired-movement-style' was implemented in bug#65621. But it supports only 'n' and 'p', but not counterpart '<' and '>'. So I took the very nice algorithm that correctly handles the arg on wrapping in 'dired-next-line', and refactored it to a separate function 'dired--move-to-next-line' that is used in both: dired-next-line: (dired--move-to-next-line arg #'dired--trivial-next-line) dired-next-dirline: (dired--move-to-next-line arg #'dired--trivial-next-dirline) --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=dired-next-dirline.patch diff --git a/lisp/dired.el b/lisp/dired.el index 583cb2475e2..9d4b3d10ac4 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -2705,44 +2746,41 @@ dired-next-line is controlled by `dired-movement-style'." (interactive "^p" dired-mode) (if dired-movement-style - (let ((old-position (progn - ;; It's always true that we should move - ;; to the filename when possible. - (dired-move-to-filename) - (point))) - ;; Up/Down indicates the direction. - (moving-down (if (cl-plusp arg) - 1 ; means Down. - -1))) ; means Up. - ;; Line by line in case we forget to skip empty lines. - (while (not (zerop arg)) - (dired--trivial-next-line moving-down) - (when (= old-position (point)) - ;; Now point is at beginning/end of movable area, - ;; but it still wants to move farther. - (if (eq dired-movement-style 'cycle) - ;; `cycle': go to the other end. - (goto-char (if (cl-plusp moving-down) - (point-min) - (point-max))) - ;; `bounded': go back to the last non-empty line. - (while (string-match-p "\\`[[:blank:]]*\\'" - (buffer-substring-no-properties - (line-beginning-position) - (line-end-position))) - (dired--trivial-next-line (- moving-down))) - ;; Encountered a boundary, so let's stop movement. - (setq arg moving-down))) - (when (not (string-match-p "\\`[[:blank:]]*\\'" - (buffer-substring-no-properties - (line-beginning-position) - (line-end-position)))) - ;; Has moved to a non-empty line. This movement does - ;; make sense. - (cl-decf arg moving-down)) - (setq old-position (point)))) + (dired--move-to-next-line arg #'dired--trivial-next-line) (dired--trivial-next-line arg))) +(defun dired--move-to-next-line (arg jumpfun) + (let ((old-position (progn + ;; It's always true that we should move + ;; to the filename when possible. + (dired-move-to-filename) + (point))) + ;; Up/Down indicates the direction. + (moving-down (if (cl-plusp arg) + 1 ; means Down. + -1))) ; means Up. + ;; Line by line in case we forget to skip empty lines. + (while (not (zerop arg)) + (funcall jumpfun moving-down) + (when (= old-position (point)) + ;; Now point is at beginning/end of movable area, + ;; but it still wants to move farther. + (if (eq dired-movement-style 'cycle) + ;; `cycle': go to the other end. + (goto-char (if (cl-plusp moving-down) + (point-min) + (point-max))) + ;; `bounded': go back to the last non-empty line. + (while (dired-between-files) + (funcall jumpfun (- moving-down))) + ;; Encountered a boundary, so let's stop movement. + (setq arg moving-down))) + (unless (dired-between-files) + ;; Has moved to a non-empty line. This movement does + ;; make sense. + (cl-decf arg moving-down)) + (setq old-position (point))))) + (defun dired-previous-line (arg) "Move up ARG lines, then position at filename. The argument ARG (interactively, prefix argument) says how many lines @@ -2753,9 +2791,8 @@ dired-previous-line (interactive "^p" dired-mode) (dired-next-line (- (or arg 1)))) -(defun dired-next-dirline (arg &optional opoint) +(defun dired--trivial-next-dirline (arg &optional opoint) "Goto ARGth next directory file line." - (interactive "p" dired-mode) (or opoint (setq opoint (point))) (if (if (> arg 0) (re-search-forward dired-re-dir nil t arg) @@ -2763,7 +2800,15 @@ dired-next-dirline (re-search-backward dired-re-dir nil t (- arg))) (dired-move-to-filename) ; user may type `i' or `f' (goto-char opoint) - (error "No more subdirectories"))) + (unless dired-movement-style + (error "No more subdirectories")))) + +(defun dired-next-dirline (arg &optional _opoint) + "Goto ARGth next directory file line." + (interactive "p" dired-mode) + (if dired-movement-style + (dired--move-to-next-line arg #'dired--trivial-next-dirline) + (dired--trivial-next-dirline arg))) (defun dired-prev-dirline (arg) "Goto ARGth previous directory file line." --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 20 13:38:44 2023 Received: (at 67303) by debbugs.gnu.org; 20 Nov 2023 18:38:44 +0000 Received: from localhost ([127.0.0.1]:54531 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r59AR-0002SO-W3 for submit@debbugs.gnu.org; Mon, 20 Nov 2023 13:38:44 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:30364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r59AN-0002SB-9E for 67303@debbugs.gnu.org; Mon, 20 Nov 2023 13:38:42 -0500 Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AKHthLx027685; Mon, 20 Nov 2023 18:38:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=UP5nXNl4vAsNXwbHMkhjkmKHpQM7z9WjP1FW+JdfvLQ=; b=s/v9lFbDQMdt4XqFHmTmd2CNPhJcbBvOWu76Uj0COPF1SjW8xi8sbn8hUW975DfrTXxI 1tpQ0uaV++G+C7VQD4QNuPHswDo31Vb32Re0QMoyqf22JI7MN7U6BnC6ZTI3Wzi/jEB+ Rjf80nsk1IOnjaL3RZbLS3j66KuTqSq3VHerOeDvJ31CjrGhAnFzr2W9mPeysw52PE2u AvFT1RqmsNqP+M32qhApvAWDOxTPfIgh7Pv9NK2VP1TOC8ZksqnxY7CNQ4UcETFkRPn6 /16kayyO1RYPsjIOex8WN72t1hJLlCZnTvQ2uQr9Cw2cE8nmilY9eejnKZsLsNzjHI0G BQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3uem6cbd9h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 20 Nov 2023 18:38:34 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3AKIS0g8023605; Mon, 20 Nov 2023 18:38:32 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3uekq5sp5y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 20 Nov 2023 18:38:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jLwrl/ClNkyhVYXfMSLT0Ucj47b2xTcc/si//QIlQYwWu9ySzejb0BueE+yUWqV5jpxwhcYdHxj5OnuyR6ZW7bmYdxsEnMFkBiAxEjBy+lsCmQew0pZNFMGM73KF5AbsXEjdTwuJrLMIlsgcfAAay8i3m82jcaYv/SN8DFmZfFIdsisAetXY0YXezh8dgVv/Kc/aaN4FI62aUBg+ocs6dB2u5bsJJ+A/I3v6EUD6jesgnDftWpvPYYxD8kOvvtU9AxuYWvu53Xz2y6CBnmykYGllZRNBag2tGPbfCXUASlJU13MjRPJZYCYESwPvKcgFJ6dNDLrRyx40jEHjog0SZA== 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=UP5nXNl4vAsNXwbHMkhjkmKHpQM7z9WjP1FW+JdfvLQ=; b=XpcJmSf7zC5p5nVeJqeeBYRaJDW146gPa57W02Umgg6j90GgwBDKd4FfZ+p8Z0aklfeZHBBY0oZrCgNLZ8Yht/EIQheTsdZgHJ6U5hj/I/UN5xomvqhRfHIYG9fhT/jXflZh4x3LM+ftGsADEdNatLV95FfMG4uvFfW/BmGoqMtG5BYznlhxM4jGZhsrK5UjOtcpVfINdJhYP+wW4kNHVU1L2YF7uHvHTwMWvojDhntoFP1u+GIGDOTervhUjqav9lBP87aw+X1djqwIAPPZpugLk2S50FPoSad2x6F6F/bW4Lpczk630wFFkfDKk8Qeji0N3K0kOCysp6FtVIJ3Hg== 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=UP5nXNl4vAsNXwbHMkhjkmKHpQM7z9WjP1FW+JdfvLQ=; b=g6jG3Bv8nIPqJ5OB2NqX9UYE23r+cmHnl2GI4VJqeFQCSXTEUwuFPG7Ut9YAAKQxG9xEUPLvqnh/dSG3oWvGCaKlg/DjdijRXAgxFtnYLtesExfooYvxgOUQWRdITvjcqooHQzJYrsMvPgO9fl2c/DYAa+xW4KKTQJX6pjUeTms= Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by DS0PR10MB7362.namprd10.prod.outlook.com (2603:10b6:8:f9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov 2023 18:38:11 +0000 Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4%7]) with mapi id 15.20.7002.027; Mon, 20 Nov 2023 18:38:10 +0000 From: Drew Adams To: Juri Linkov , "67303@debbugs.gnu.org" <67303@debbugs.gnu.org> Subject: RE: [External] : bug#67303: dired-movement-style for dirlines Thread-Topic: [External] : bug#67303: dired-movement-style for dirlines Thread-Index: AQHaG91dFonti9AwB0iwGSYgg36nXbCDh2YA Date: Mon, 20 Nov 2023 18:38:10 +0000 Message-ID: References: <86a5r8qov1.fsf@mail.linkov.net> In-Reply-To: <86a5r8qov1.fsf@mail.linkov.net> 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_|DS0PR10MB7362:EE_ x-ms-office365-filtering-correlation-id: 61498d04-e275-4dac-6e31-08dbe9f7d8f9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nmX5S6Ql8H7uQ5zHi5CsBJOXbNwvv1xltQkdZ/yr71y6scKTCrG5zE981HcxGoKe/EXMaR+c8GWETMagTddoj8thM0tMi6EZK2CxWgLGQqbE7N0Sb/qqQ4ieNYqdu1mJSoJCcBd2c8E4Pmto96K91SWRw+Q2BH7niPhDk5W6xo/1uz5bao2S0YVuCfQMGIrlIWJJFb6mpxPidxvWtX3/2U94ldEbbeDzD1Qf+jBq2CrUHlbA74+rB7+uvcqCK693sEM4YMbslf4RM5bxQ/hKELO/WUt8V4YOn4xmZpb/yzQSBQj1tQ5zJoiof6Q+WVvEsOLNH2jPzlDtamET38x+wMbSFcuyT+1+YNvyohF5rD6xYnln1rAwLqtNyZ78vJQ+1aDL5qSV4XD//SVs3ZdZLoxYUx5OVoMx1sDYEJgd+PPnTfYIFfSwUgwezTWe+wLdSTUbY+YQ1nCNs5GaSj4uNmlTSyse9wOev557D/vgrxXywUpanvx/Q7wDZVpMc+7V+yBU18OADQo7a+Y2kngv7c2ZvKZtEDWPgxAD93xugk+wAt188WP0TUp1dohYg6dAqudPNVEzo3QaJC+vmzlA79Y7ubCjsQriEUMzbh3dEuIxXX4IsCN72VzUfUSb3y3N 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:(13230031)(39860400002)(376002)(346002)(366004)(396003)(136003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(76116006)(316002)(110136005)(66446008)(64756008)(66556008)(66476007)(6506007)(7696005)(9686003)(71200400001)(26005)(38070700009)(478600001)(38100700002)(122000001)(558084003)(33656002)(66946007)(86362001)(44832011)(52536014)(5660300002)(55016003)(2906002)(8936002)(41300700001)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yhSwDVUWpmExS0OugPPco8M511tr/XZRvp+YwKZ4hP1G5/VjXrpiYrnHiO4H?= =?us-ascii?Q?x4mtscG874puewtNgz26iJBr0iDMRY+g/53zW66fqpAO+n7Mr3zBROXVH8ML?= =?us-ascii?Q?fyWfjkfjJAJ4KYMBEy8PAJHqpZIkDxSfmqrA4kN7E54dej5x3ujP+eEQ2tQU?= =?us-ascii?Q?NqpWwyLpublIB1loJ1rVtdG7JxSKnxeFAN8rbrVDMo1gzoQjv9eHELP7pJBT?= =?us-ascii?Q?sqeIoRv8NTMkhfF+Bb8UbdranTd4kzvCfAJAAFYsE9n8nMcgf2eyIzvKMqTO?= =?us-ascii?Q?VcUbYQraMEkTcf0u4xW8x/x+rGjCyc1cPO65DpwARrLKbqwFl0PhU8R+ZIFg?= =?us-ascii?Q?Q1G/A9Dz49q2CO1qkz1prK5XbWS3NxeaXSy+vzv50jb/ucATIH5mEsfCCNbj?= =?us-ascii?Q?cdxtA5FrFyFvVvwzc18QiQSn7qyEAxthXDeqHgZYL5q1becwpyas8XlW0sJe?= =?us-ascii?Q?QKbIBu0NoDO0vUHsiI12nT5XttawnSlSzQCj9TygNUJ1EJnbyimLFIxzNh9i?= =?us-ascii?Q?3CmIzrm9Fe+CBB3CfdxC6aNqOa5bZKE788pF0PUPSIgUQxVvZlLfA0ODyuh7?= =?us-ascii?Q?GKZWrMv/9B4Ko2EF/4F6kFAu3YutaStbPpA2K1wBj9JN721pG2ubtWSHIwCQ?= =?us-ascii?Q?4zEj4IjEaw10q1ULlX47eVOrgpk+mvldNx1ubBFrXf+QpO7TxRqJazxeTWTT?= =?us-ascii?Q?ONlcpXt0J2kbndjRZfY2n1Zh5NEoZXWVnlNqduuQyI0M61l2ZQDgo4UehZxY?= =?us-ascii?Q?HsdcRdtLcfB505/mjGt86ShtOrwz5cdW5HFBjOceE93hat5Tg6TiFzqzErG4?= =?us-ascii?Q?USZEPqmYG8XkAyYSJ/5odUqTDyBdbyE+yDGrV1+Vke0fFr1exlf+pbfi275t?= =?us-ascii?Q?HOa6xQcNS6/HHPcagqMzqkHsXogQaepRfrdm8o+Yn9/5G4z25zb3xSk1yDvg?= =?us-ascii?Q?A7vqs9ax4pkGm2cyw63v44X4HNpqy313UaczXCxx6/rkswPHmjdV+gvKxs1I?= =?us-ascii?Q?0Q139bg4geyz1u2ZjM/re0ejyg/rJBALmEtYg3zjRkB2hChNmAHug03MzNQG?= =?us-ascii?Q?xnOUB/tZYDnINZz+uVJlU12Rni6xTX3N7Q5fnxSOjUB8DhyuBCqCOtBQiLrV?= =?us-ascii?Q?cgrVogVSRNErqTxySJVB2XQyPfgXj7Qmdkg/FJSkwbTOkrWpu1+mE61w4Lvn?= =?us-ascii?Q?Fy1W/9wa1Fml6IKMtYqVDOrpzYNDK+pYJegOfGQ8GaqZ7w2iMrvEQ2MVhta4?= =?us-ascii?Q?Szo7ZH+D0N8QXsLj2KvjNyXleBHUnVc/iWN92F/UnyatiegaYMIBUYGLk1+P?= =?us-ascii?Q?GtqZ1uUuq6+Us8M8osqFKEnyVsleF3s2g2Diwr3u3VusxSDT5kfNjp3k3DpN?= =?us-ascii?Q?kZhkLLVqd99hahasRIOeiqi1OBzA7kYrW94CCdlJrF0Kk3nFSg4Re/8FMfKl?= =?us-ascii?Q?BuyQjS0Wg2DGdn6jk1+/HIDH2Z1pF1Q6HwYPvktkFB4nUYhRd2E4ACeyYciF?= =?us-ascii?Q?gSm/wTYNP5D8VxrAo3rOHG3QbAdJb19WTgJRTFTWApUDNdVM3QoarvVUwr+7?= =?us-ascii?Q?lAum5HScV1ev2AzDEm5z0D9bIK6ZksBRbo3k7WdI?= 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: 1Fc9VX5PwBjtZ9bvbW5n8AzX/LpYg8coqqSYRmJ9Z1NXaxlgqfmG9QI0SnxwOzRCy89bXp/SaFLVRFP7MYg7AGz5hD7aijnIwcNOM/IZQvP/dPQobyZkACJuIc5WcLi1m1MwTMsRq3GgxHhcLduW98knBkxGhFltk8SCknRnsJtB8RCdVAhaGNv4ljt2thrDvNrQcG2TV1jlJNa0KV8oyPfkZLvG1osj/ZpxBW0mIDVfmInlNuTHbzfvmHQC6iOVTSMDZsd3Au6hKkDwwY8P0IY25cjWcjLCHiiKMEi+9edpxX+Oo1pP1uyJ8xZ/wECGwLomqQzirK9povHV1BjSaEVMl1Pjbxv4tXJQV1ufPZHCxRdsHwo1eeOXVCh1iDQAcqt2e/bK5I3iwWFMvS3c/CWwRwZQV5kZHLU0CeBWIexgFLCREIEzR6H5qBBV8+WfiMbjwehGBAIMTjsxEagw0Y+hM3ILRcL+v6vP2dlG5xOIDhxrx2nBFIq3B/sB60+NvMeIea4xAK3KToFeUGdupd1B6jGCpvFe+RnG2yK6tJxVPGOC2xmneKKh+Z7GeKJeMJO4FqJsj29NyY669ti8spAUvdp+ACmgcycPfY9SdggCQFsjGdV0URhWdF2p5FYx/XATogkh8ugH1TbMBFwczscsXkrQlWf8EbRnAAzdImsBU84UFmh47QDhP+P3PwWEWUj+18FKFZEiL0E3mrjCbI7t4zX7HMnrliO5+3OQi8qvSq1ds5L3ef1I+1P2TR29mNckZu+uI/0m6EVIt7aJiQAlfYFCUaT7kzVTTGXlMOI= 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: 61498d04-e275-4dac-6e31-08dbe9f7d8f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2023 18:38:10.9238 (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: xiF/Axs/JKbxOuHJEIK4tdHhwwlc2fkzLCCcno62eKVBj+DuFIsJxODSQRYs43132HZSTP4ac1Eu8xi4TxtVug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7362 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-20_19,2023-11-20_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 mlxscore=0 mlxlogscore=678 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311200135 X-Proofpoint-ORIG-GUID: hrz5g7lweLKmOE8VvHarSosppOu4IfuY X-Proofpoint-GUID: hrz5g7lweLKmOE8VvHarSosppOu4IfuY X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 67303 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) FWIW: In Dired+ if you turn on wrap-around for `n'/`p', you get it also for `>'/`<' and `C-M-n'/`C-M-p'. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 23 13:14:46 2023 Received: (at 67303) by debbugs.gnu.org; 23 Nov 2023 18:14:46 +0000 Received: from localhost ([127.0.0.1]:35080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6EDu-00022R-E2 for submit@debbugs.gnu.org; Thu, 23 Nov 2023 13:14:46 -0500 Received: from relay6-d.mail.gandi.net ([2001:4b98:dc4:8::226]:54559) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6EDt-000226-6Q; Thu, 23 Nov 2023 13:14:45 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id A3300C0004; Thu, 23 Nov 2023 18:14:32 +0000 (UTC) From: Juri Linkov To: 67303@debbugs.gnu.org Subject: Re: bug#67303: dired-movement-style for dirlines In-Reply-To: <86a5r8qov1.fsf@mail.linkov.net> (Juri Linkov's message of "Mon, 20 Nov 2023 20:08:34 +0200") Organization: LINKOV.NET References: <86a5r8qov1.fsf@mail.linkov.net> Date: Thu, 23 Nov 2023 20:12:44 +0200 Message-ID: <86il5sxrs3.fsf@mail.linkov.net> 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-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 67303 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) close 67303 30.0.50 quit > A good option 'dired-movement-style' was implemented in bug#65621. > But it supports only 'n' and 'p', but not counterpart '<' and '>'. > So I took the very nice algorithm that correctly handles the arg > on wrapping in 'dired-next-line', and refactored it to a separate > function 'dired--move-to-next-line' that is used in both: > > dired-next-line: > (dired--move-to-next-line arg #'dired--trivial-next-line) > dired-next-dirline: > (dired--move-to-next-line arg #'dired--trivial-next-dirline) Now pushed to master and closed. From unknown Sun Jun 22 08:09:49 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 22 Dec 2023 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator