Received: (at submit) by debbugs.gnu.org; 26 Dec 2024 04:33:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 25 23:33:56 2024 Received: from localhost ([127.0.0.1]:39685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tQfZL-00061t-66 for submit <at> debbugs.gnu.org; Wed, 25 Dec 2024 23:33:56 -0500 Received: from lists.gnu.org ([209.51.188.17]:46626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <vitalij@HIDDEN>) id 1tQZCr-0002WW-So for submit <at> debbugs.gnu.org; Wed, 25 Dec 2024 16:46:18 -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 <vitalij@HIDDEN>) id 1tQZCr-0004xR-II for bug-gnu-emacs@HIDDEN; Wed, 25 Dec 2024 16:46:17 -0500 Received: from mout.gmx.net ([212.227.15.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <vitalij@HIDDEN>) id 1tQZCp-0006pv-Hb for bug-gnu-emacs@HIDDEN; Wed, 25 Dec 2024 16:46:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com; s=s31663417; t=1735163174; x=1735767974; i=vitalij@HIDDEN; bh=qhWynnLYBhNLeLgedHiidShTBceMnAK3ZzGSgIlTQzU=; h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version: Content-Type:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=lyCj+elzwJ3NvBc6ZoVh0mJvXAFnsXJsINAjPsS7rhH5M707yLzIecelXS6tjuyl w6wDgSe1eMoibQkiLmY0vrWMWA8EoDDSwZ0Mbwf5+7upse4ajXMh29/DdSZoVwj++ r6Mg1jVLwD23Ahxc7MQIhHhCme7go4BeLwFmmjDW65bOYomZ+lfO/uuEaoUn0PLKv mbdIiGkl7bW4ymQqVaLfCt8G4T+M8PuX//hCHcTO2p28jE5XrYbacXNum2rAmuYqk ZlmwJWOivxinMgOuSLRXoaGwBrwGoinAsl0jqIZOhV485Yp2VzQ3Ds3ZFT7OQZuU0 2DMtLfq4aIUz9hnlsw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost ([202.179.32.225]) by mail.gmx.net (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1MbivM-1tx8ry2brq-00pi0T for <bug-gnu-emacs@HIDDEN>; Wed, 25 Dec 2024 22:46:14 +0100 From: Vitaliy <vitalij@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: [PATCH] indent.el Comments for indent-for-tab-command as a first step for refactoring. Date: Wed, 25 Dec 2024 21:45:58 -0000 Message-ID: <87v7v7h1wp.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:0D2iktJyK4RYH32Qar/CBi7KKuoqPEnDxsSVR+7pbfXtzPsq/ue umbJgmVM9ZaOUZTCs6dfUlXg6fgKINrn5gjhqedq+CP6obDPhnGjfQFxZWz4yWb1EZiJ/gK 3f9b1/d5DqAgTYNyKylf/s1wHeVqR88j+bFUWGwV1QOTHPI391dytzl0eEPs0j0nz2jX8AW cIcIkZYHlRjMLW5OpYmEA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:aUh/sQj60Z0=;Qnrg5cc2tKm5yWO8kRwo1cz0l7n TyGvWpV1lKXqJqgq/A3MeTBeHDha9NErqj5wa2lwIwcPuvpRMVddI7O14mmPyOZOqWAQlujga qhjGfQMVWYFgQq7CffKWG0mtnVIbIto8HlZiguPGHolGIVBt1GJ1tYn+mzokw2YM0piCYOcHG nAWP6Noc7rBqhQ0TF8Bq07DudKtYl7rFmcVF88GjV/sI5GACotzEeXxQbP6HI52XkVMEuEKYK Pl1YZrUwtDBcvxX5qp2LEnFQrzD/7L6DokihRWzdlN+IxPdrfmRSGHPXRzTSo1lywceYJxdOC iqgiTLE7OoOxHlPHh3i1vR+0rhYQ2Xzs6S0yiR9nZ2gIrbwW8Nnkh+v5mgiGs7alnqVUWXIYv tVG1xvfmr9SUGxf9ucKADd2GDUxveEp3eeX6CGdU7j1e3M7ZPPuTUyhNqG2hOu1ssjzi8F9Tj SlYZFjvbq6LVket5IaPaiPYHajVt2JrxfNwIUPYP4VozcuTjo3RlPvuAVxuiEjbgbMOoSHy8k ClGB9HK1jTmgTNkltT3tsWDXp5Mg74WWgsGx5gtKdCcpG92jEjlGg6Yij3dqgJyEeJh+CyQEz b+dwfFyXVEO5MZNtW6N2d+Gmg3lLaCKcLOZ95vehGlie/iTj6/Fkmm8y1bWc9muJ4Kd6N5amO FhGC9/BGexAlVparWT2hiPVd9a4FNRRDaRg5SYgHevkmQygR3u+lwD2dLww7KWGMQ3jfQ4RkB rB/It8q8wx6Pe//wbUg5+Bhe4Y3uckA4iNMWfO8eNGUQviTCkyO4RXBRRvTXTs/RLv0ve9v+2 SWLubTOsgULOD01cBtcEt5UXgY5RsCyU7Isj2CtPujE9Wp8GMPYSwBsHXQUkXsINPuY74siNN Kz0GhKw82hCuUE32qEgnzujLKp+LCEJRBWr+ABM9FfzNDBjGpA4w8/2r/VuAq0ekRs7mm7LIa iapWVTKlzzBWOj1lF4KVSvu5mSwkxrx8K+joOOT4edaRWJbZmNnxW85tSLWmXTQGPpYS2zCkt Suz11uHkpXGwUaZ9wyAEMPYk0cG7cVltZ+N31N61JrHphe2mvFY7N2h756nCdQCTS15n0QczN XWKBfurMuMPaWHMPl9ckQUHJIc5PoL Received-SPF: pass client-ip=212.227.15.19; envelope-from=vitalij@HIDDEN; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 25 Dec 2024 23:33:54 -0500 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 (--) --=-=-= Content-Type: text/plain Tags: notabug Package: indent.el Version: master Severity: wishlist In GNU Emacs master. #'indent-for-tab-command function now have strict steps, I hope in future we will add ability to select on what orded they should go, as a first step I suggest to comment them to separate. This steps in unclear heap now: -. **Check for Active Region**: If there is an active region, it indents that region. 1. **Handle Special Indentation Cases**: If the indentation function is specific or certain conditions are met, it inserts a tab character. 2. **Default Indentation Handling**: If neither of the above, it performs standard line indentation. 3. **Check for Completion Conditions**: If specific conditions are met after indentation, it triggers completion. 4. **Rigid Indentation with Prefix Argument**: If a prefix argument is provided, it rigidly indents the balanced expression to reflect the current line's indentation. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Comment-for-indent-for-tab-command-as-a-first-step-t.patch Content-Transfer-Encoding: quoted-printable =46rom 00c1dbbf729b1180963abb6743116ec4c8c6b5ad Mon Sep 17 00:00:00 2001 From: none <none> Date: Wed, 25 Dec 2024 21:26:05 +0000 Subject: [PATCH] Comment for indent-for-tab-command as a first step to refactoring. =2D-- lisp/indent.el | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lisp/indent.el b/lisp/indent.el index 74ef9183d95..613454918b8 100644 =2D-- a/lisp/indent.el +++ b/lisp/indent.el @@ -160,6 +160,7 @@ prefix argument is ignored." ;; The region is active, indent it. ((use-region-p) (indent-region (region-beginning) (region-end))) + ;; *1.* inserts a tab character for special indentation cases. ((or ;; indent-to-left-margin is only meant for indenting, ;; so we force it to always insert a tab here. (eq indent-line-function 'indent-to-left-margin) @@ -172,15 +173,17 @@ prefix argument is ignored." (old-point (point)) (old-indent (current-indentation))) - ;; Indent the line. + ;; *2.* Indent the line with specified function (or (not (eq (indent--funcall-widened indent-line-function) 'noinde= nt)) + ;; *3.* Indent comment (indent--default-inside-comment) + ;; *4.* Fallback to default indent function (when (or (<=3D (current-column) (current-indentation)) (not (eq tab-always-indent 'complete))) (indent--funcall-widened (default-value 'indent-line-function= )))) (cond - ;; If the text was already indented right, try completion. + ;; *5.* If the text was already indented right, try completion. ((and (eq tab-always-indent 'complete) (eql old-point (point)) (eql old-tick (buffer-chars-modified-tick)) @@ -193,9 +196,9 @@ prefix argument is ignored." ('word-or-paren (not (memq syn '(2 4 5)))) ('word-or-paren-or-punct (not (memq syn '(2 4 5 1)))= ))))) (completion-at-point)) - - ;; If a prefix argument was given, rigidly indent the following - ;; sexp to match the change in the current line's indentation. + ;; *6* If a prefix argument was given, rigidly indent the + ;; following sexp to match the change in the current line's + ;; indentation. (arg (let ((end-marker (save-excursion =2D- 2.45.2 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable =2D- Best regards, Vitaliy Magic number: 7850B0B5E3F536601D2E6A9DE1C43E074A047699 --=-=-=--
Vitaliy <vitalij@HIDDEN>
:help-debbugs@HIDDEN
.
Full text available.help-debbugs@HIDDEN
:bug#75108
; Package indent.el
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.