From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: A problem (apparently) connected with window point Date: Fri, 02 Apr 2021 08:13:38 -0400 Message-ID: References: <875z159val.fsf@mbork.pl> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30624"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:Vmytp6PxwXzGTBwRMSClCwG5pKY= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Apr 02 14:14:47 2021 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 1lSIhK-0007s9-EP for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 02 Apr 2021 14:14:46 +0200 Original-Received: from localhost ([::1]:45560 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSIhJ-0007S2-CH for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 02 Apr 2021 08:14:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33098) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSIgP-0007RR-Fh for help-gnu-emacs@gnu.org; Fri, 02 Apr 2021 08:13:49 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:50026) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSIgN-0000vZ-CJ for help-gnu-emacs@gnu.org; Fri, 02 Apr 2021 08:13:49 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1lSIgL-0006gB-7J for help-gnu-emacs@gnu.org; Fri, 02 Apr 2021 14:13:45 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.help:128805 Archived-At: > The problem is that `reorder-sentence-copy-word-at-point' inserts every > word at the beginning of the buffer. (Try it, following the steps > above.) I very much suspect that this is because of the window point: That's right. To avoid the problem you have to understand that `(with-current-buffer reorder-sentence--buffer ...)` will select the right buffer but will place point at a location that depends on what was the last use of that buffer (and redisplay *is* a use of that buffer, which is why having the buffer displayed makes a difference). In your case I think you have two options: 1- Take it for granted that the buffer is displayed and make `reorder-sentence-copy-word-at-point` move the corresponding window-point (either by selecting that window around the `insert` or by explicitly using `set-window-point`) and use that window-point as the insertion point (so the user can move the cursor in that window in order to insert word either at the end, beginning or elsewhere in the temp buffer). 2- Use your own notion of "point", e.g. by calling (goto-char ) before the `insert` and updating as you see fit. In your example, I suspect using (point-max) for might do the trick. -- Stefan