From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#64696: 30.0.50; indent-to inherits preceding text properties, including 'invisible Date: Wed, 19 Jul 2023 16:07:41 +0300 Message-ID: <831qh459sy.fsf@gnu.org> References: <87fs5l3b3g.fsf@localhost> <83ilah79aq.fsf@gnu.org> <87jzux2zg8.fsf@localhost> <83351l74ci.fsf@gnu.org> <87a5vt2vx8.fsf@localhost> <831qh56vvz.fsf@gnu.org> <871qh52nlw.fsf@localhost> <83pm4p5er8.fsf@gnu.org> <874jm0mhgb.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3970"; mail-complaints-to="usenet@ciao.gmane.io" Cc: monnier@iro.umontreal.ca, 64696@debbugs.gnu.org To: Ihor Radchenko Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jul 19 15:08:18 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qM6uf-0000t4-Dj for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 19 Jul 2023 15:08:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qM6uS-00036G-OI; Wed, 19 Jul 2023 09:08:06 -0400 Original-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 1qM6uQ-000337-DU for bug-gnu-emacs@gnu.org; Wed, 19 Jul 2023 09:08:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qM6uQ-0008K7-5s for bug-gnu-emacs@gnu.org; Wed, 19 Jul 2023 09:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qM6uP-000820-Nv for bug-gnu-emacs@gnu.org; Wed, 19 Jul 2023 09:08:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 19 Jul 2023 13:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64696 X-GNU-PR-Package: emacs Original-Received: via spool by 64696-submit@debbugs.gnu.org id=B64696.168977204330829 (code B ref 64696); Wed, 19 Jul 2023 13:08:01 +0000 Original-Received: (at 64696) by debbugs.gnu.org; 19 Jul 2023 13:07:23 +0000 Original-Received: from localhost ([127.0.0.1]:55175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qM6tm-000819-Uf for submit@debbugs.gnu.org; Wed, 19 Jul 2023 09:07:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52882) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qM6tj-00080u-Ri for 64696@debbugs.gnu.org; Wed, 19 Jul 2023 09:07:20 -0400 Original-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 ) id 1qM6tc-0006Aa-AU; Wed, 19 Jul 2023 09:07:13 -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=Az71CHyvz/nLykmD7ekf3Z2CU8QxgS5o+ZqlcFJFZyM=; b=Ddnq7jivbLDB r+RPDqWd/GBZOv2hm6KA6xGcWX3ncvedBgAmsEHijLlZ9qmWe889NVw2iXeDUONHoYjUzAIK3OJJv /zB3J5NUvJFpsTwNGd/Pe078KYwGV9LdBk3pIs/7hsXLckdAqUaGgUSHZn4quzBxkt07Me5F/rgPP N306Nn9yKGTrNnhHx5WgAE6SqWin5l47TIGE/ujCYQBDV46/Ke7B44hSi4qbXyIFApMha0/vLE3qj d1edl4sw2jRiW/J70bhkBMpuqKXWvhprze0Vo7YKoPlKME+3WcAwbxYTQxWdzipzAWOYPeT+WADrG ZSPpGZdO5nCr5lk5xb//HA==; Original-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 ) id 1qM6tb-0008RB-JK; Wed, 19 Jul 2023 09:07:12 -0400 In-Reply-To: <874jm0mhgb.fsf@localhost> (message from Ihor Radchenko on Wed, 19 Jul 2023 08:30:28 +0000) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:265530 Archived-At: > From: Ihor Radchenko > Cc: monnier@iro.umontreal.ca, 64696@debbugs.gnu.org > Date: Wed, 19 Jul 2023 08:30:28 +0000 > > Eli Zaretskii writes: > > >> However, I do not fully understand what happens if we try to indent > >> fully hidden text (like inside Org's folds). See my previous bug > >> reports: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56837 and > >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58791 > > > > Invisible text is skipped by current-column. > > I am not sure if I understand what you mean by "skipped". "Skipped" means that the invisible text is not counted as occupying columns on display. It is skipped without incrementing the column count. See this part of scan_for_column: /* Scan forward to the target position. */ while (scan < end) { int c; /* Occasionally we may need to skip invisible text. */ while (scan == next_boundary) { ptrdiff_t old_scan = scan; /* This updates NEXT_BOUNDARY to the next place where we might need to skip more invisible text. */ scan = skip_invisible (scan, &next_boundary, end, Qnil); And note that I was only talking about current-column (and move-to-column, which AFAIR behaves the same). > Consider the following file in outline-mode: > [...] Please make it easier for me to follow the questions you are asking and provide helpful responses by (a) making the recipes as simple as possible, and (b) by describing them in full detail. "Folded", "unfolded heading", "applied invisible text property", etc. -- all those might be crystal clear to you, but they aren't so to me, and require me to guess (and err) what exactly did you do and how. Please understand: I have very limited time to invest in answering questions about how the Emacs internals work and why. I have too little free time and too much to do, day in and day out, just to keep this project moving. So please have mercy on me, and help me answer your questions (a lot of them lately, btw), in a useful manner, without spending an inordinate amount of time. Each such question usually requires looking up stuff in the code, describing it to you in enough detail for you to understand, sometimes stepping through the code in a debugger to make sure the code really works like I think it does, etc. Add to this the need to understand what you mean by all those undisclosed details, and the burden becomes unbearable. Please!