From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Inspecting behaviour of `make-overlay', is this expected? Date: Sun, 25 Dec 2022 14:10:56 +0300 Message-ID: References: <83cz895has.fsf@gnu.org> <87mt7bsyer.fsf@mbork.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24978"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.9+54 (af2080d) (2022-11-21) Cc: help-gnu-emacs@gnu.org To: Marcin Borkowski Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 25 12:37:20 2022 Return-path: Envelope-to: geh-help-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 1p9PJf-0006KO-I3 for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 25 Dec 2022 12:37:19 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p9PJ3-0006zG-O7; Sun, 25 Dec 2022 06:36:41 -0500 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 1p9PJ2-0006z6-Cw for help-gnu-emacs@gnu.org; Sun, 25 Dec 2022 06:36:40 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p9PJ0-0000ei-HG for help-gnu-emacs@gnu.org; Sun, 25 Dec 2022 06:36:40 -0500 Original-Received: from localhost ([::ffff:197.239.13.211]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000103842.0000000063A835C7.00002034; Sun, 25 Dec 2022 04:36:39 -0700 Mail-Followup-To: Marcin Borkowski , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <87mt7bsyer.fsf@mbork.pl> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com 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_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:141932 Archived-At: * Marcin Borkowski [2022-12-25 11:05]: > On 2022-12-24, at 09:36, Eli Zaretskii wrote: > > >> Date: Sat, 24 Dec 2022 10:52:47 +0300 > >> From: Jean Louis > >> > >> XXXXXXXXXX > >> ^ > >> | position 0 in buffer > >> > >> (setq my-overlay (make-overlay 0 10)) > >> (get-buffer-window (overlay-buffer my-overlay)) > >> (overlay-put my-overlay 'display "Hello") then I get: > >> > >> HelloX > >> > >> instead of "Hello" > >> > >> Is this normal behavior? > > > > Yes. The 10 part says that the overlay _ends_ before position 10. > > This is standard Emacs behavior with text properties and overlays: END > > means the first character NOT affected by the property/overlay. > > Somewhat related: https://fhur.me/posts/always-use-closed-open-intervals > (not my piece, just found it on the internet; also I do not want to > imply the OP doesn't know/understand that - but I consider this short > article interesting & worthwhile also for others reading this). I did not put attention, and can't, because the advise is partially helpful for me to think of similar issues in future, but not to discover similar issues in past. We have in Lisp functions like: (elt '(1 2 3) 0) ➜ 1 (nth 0 '(1 2 3)) ➜ 1 (nth 1 '(1 2 3)) ➜ 2 then for that reason I always think that first char in buffer is 0 and not 1, and to be conclusive then I use (goto-char (point-min)) because I never inspected multiple times (point-min) ➜ 1, aha, now I get it. If the function `make-list' makes 3 elements: (make-list 3 1) ➜ (1 1 1) then I want first element be designated as `1' representng "1st" or "first", but first is second element. It does not give me feeling of consistency. (nth 1 '(1 2 3)) ➜ 2 Things already programmed one has to inspect and determine what is going on. k -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/