From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 15 06:13:47 2023 Received: (at submit) by debbugs.gnu.org; 15 Apr 2023 10:13:47 +0000 Received: from localhost ([127.0.0.1]:48290 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pncug-00089j-Ls for submit@debbugs.gnu.org; Sat, 15 Apr 2023 06:13:46 -0400 Received: from lists.gnu.org ([209.51.188.17]:48064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pncue-00089Y-Kj for submit@debbugs.gnu.org; Sat, 15 Apr 2023 06:13:45 -0400 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 1pncud-0007uA-2t for bug-gnu-emacs@gnu.org; Sat, 15 Apr 2023 06:13:43 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pncub-0004Y0-LZ for bug-gnu-emacs@gnu.org; Sat, 15 Apr 2023 06:13:42 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-3f167d293c7so1602975e9.2 for ; Sat, 15 Apr 2023 03:13:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681553619; x=1684145619; h=mime-version:user-agent:message-id:date:subject:to:from:from:to:cc :subject:date:message-id:reply-to; bh=X6YbjOQ6k/SqC5CLpDgpmk1slemh/iExmblwOn8MYSw=; b=DPtgvtq6prDnEBwP0VACeigENQYnaw7mN/WmzcV9qU+odtJvd+H11YrMXHTs3LcPjR nFwC8WQIbVt2q1Aty55tkYwK45cXQq8m4UnUKaCkqcnMrOWFOY0c1T09FF1e6YwLZ6Un TdyZBNzeahg4fcG85jJ3tFc6uqzFT6m51C6r7lMtc74bixuUuQ5WiBKbquv9eO/BAcPO M0KrEvdYBCGbaienvCK76jWuIc07nXF3gleGASskea6sfGFbKPW85T4bo+LKaXPV+BMP lrKhhr/cCOvZ1W7bMmGPbM++qFAuQTMrH/Sg7Wm2XOz9m7kWo5SB9LV7kt92d6UUH6Nj dWXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681553619; x=1684145619; h=mime-version:user-agent:message-id:date:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=X6YbjOQ6k/SqC5CLpDgpmk1slemh/iExmblwOn8MYSw=; b=BGpMfc1uTBIeweTIj56SnpPxd52v6q5rLD4n844zXP8tWCeyDlfLdpNKDoGJwRt3Nx 6deTDTXAYe8b1vV6p5LH4lsXRMCm6XD2t1J2oj1tWNAxfGhkaaIwSkORUEE0+XlGGQ06 uNHEjesxpz8/Ei5ln2HDqy3fmMln8AlY5fN0hNxgKDzphLTbwDFs3+e555MBEdvOeknO kmX+zdVZn9B1x6D5LS4C9AlKq9tmw2qcztR/naayzwoU6HNpJ46aeWCmIk4LcbLOa3Ei l4UqvBIkNTZEEXBwVL/H+dbY1BqILb1Q2t35KDGxBDaVxcY6syYp/tt4h/0GWEiDWwwJ JuOQ== X-Gm-Message-State: AAQBX9eck2X1Z+T1S+iAI5AxKl/DccPJJAoKXWzrnzbqMhuf+sda/J0V 1dH5duSGRXvogQw2YWMSpo5Hpb5p3g28TA== X-Google-Smtp-Source: AKy350b82eUF/5BMXdMLZ4a0yCLv43sVoIt2HCy+qhcQduiS5e8vH+sA+EQKIGJm4cx7rKiJXU4e/Q== X-Received: by 2002:adf:d091:0:b0:2ef:b596:3f71 with SMTP id y17-20020adfd091000000b002efb5963f71mr1098799wrh.51.1681553619611; Sat, 15 Apr 2023 03:13:39 -0700 (PDT) Received: from Home-Mac ([141.226.162.146]) by smtp.gmail.com with ESMTPSA id s15-20020adfeb0f000000b002c55306f6edsm5460731wrn.54.2023.04.15.03.13.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Apr 2023 03:13:38 -0700 (PDT) From: Daniel Fleischer To: bug-gnu-emacs@gnu.org Subject: CUA rectangle mode in occur edit mode Date: Sat, 15 Apr 2023 13:13:37 +0300 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=danflscr@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=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: -1.3 (-) 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: -2.3 (--) Hi, it seems cua-rectangle-mark-mode doesn't work as expected in occur-edit-mode. When inserting a char you get "Args out of range" but then it inserts. When finish editing with "C-c C-c", nothing is applied back to the original buffer. Emacs GNU Emacs 30.0.50 (build 2, x86_64-apple-darwin20.6.0, NS appkit-2022.70 Version 11.7.5 (Build 20G1225)). -- Daniel Fleischer From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 05:06:48 2023 Received: (at 62857) by debbugs.gnu.org; 22 Apr 2023 09:06:48 +0000 Received: from localhost ([127.0.0.1]:41682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pq9Ch-0000gl-RZ for submit@debbugs.gnu.org; Sat, 22 Apr 2023 05:06:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39412) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pq9Cg-0000gZ-8H for 62857@debbugs.gnu.org; Sat, 22 Apr 2023 05:06:46 -0400 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 1pq9Cb-0001ra-2C; Sat, 22 Apr 2023 05:06:41 -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=D5IjIokAesPY8WDFVfmMToCIGdaIN1U6+GGNRzLNvyQ=; b=QsYLRhSkdU2a hrgrxJyOROlBqcOyA14o1WTz62hsq2eUse1iuPz02X0x4VnoyjVWsbOTxys/pMUB7e8cj9bzFir24 97FThHY5B2WJ+KBdLJpFuJrXJ9ix8sqsrwcOPo4lcZwsrAdPS/O+cllfEMJ3KSjvinkBT621GCb9m 7xeMLqVhUn5wL4SCTZt3LKkdAfXvygcrwR4GPw8XDVkexY9oqcmvTtUSanf2qm5bHu3sDExBSO1Ru N2Vgy6IrMNZA6RVDeVjRiCETASLuD5CxuJLeJJC93uGxQdL0QqVKGng38DRvqWMlmBxSak9IRR0Dg 4FYnh0E0ShyS0RWiUVt4PQ==; 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 1pq9Ca-0002ou-2l; Sat, 22 Apr 2023 05:06:40 -0400 Date: Sat, 22 Apr 2023 12:06:59 +0300 Message-Id: <83v8ho1e18.fsf@gnu.org> From: Eli Zaretskii To: Daniel Fleischer In-Reply-To: (message from Daniel Fleischer on Sat, 15 Apr 2023 13:13:37 +0300) Subject: Re: bug#62857: CUA rectangle mode in occur edit mode References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62857 Cc: 62857@debbugs.gnu.org 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: -3.3 (---) > From: Daniel Fleischer > Date: Sat, 15 Apr 2023 13:13:37 +0300 > > Hi, it seems cua-rectangle-mark-mode doesn't work as expected in > occur-edit-mode. When inserting a char you get "Args out of range" but > then it inserts. When finish editing with "C-c C-c", nothing is applied > back to the original buffer. > > Emacs GNU Emacs 30.0.50 (build 2, x86_64-apple-darwin20.6.0, NS > appkit-2022.70 Version 11.7.5 (Build 20G1225)). Could you please post a recipe for reproducing this problem, starting from "emacs -Q"? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 10:15:09 2023 Received: (at submit) by debbugs.gnu.org; 22 Apr 2023 14:15:09 +0000 Received: from localhost ([127.0.0.1]:43759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqE17-0004SM-BG for submit@debbugs.gnu.org; Sat, 22 Apr 2023 10:15:09 -0400 Received: from lists.gnu.org ([209.51.188.17]:59690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqE13-0004SA-Ej for submit@debbugs.gnu.org; Sat, 22 Apr 2023 10:15:07 -0400 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 1pqE12-0004H4-Nz for bug-gnu-emacs@gnu.org; Sat, 22 Apr 2023 10:15:04 -0400 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pqE11-00048q-Aq for bug-gnu-emacs@gnu.org; Sat, 22 Apr 2023 10:15:04 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1pqE0x-0003Yr-9n for bug-gnu-emacs@gnu.org; Sat, 22 Apr 2023 16:14:59 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org From: Daniel Fleischer Subject: Re: bug#62857: CUA rectangle mode in occur edit mode Date: Sat, 22 Apr 2023 17:14:54 +0300 Message-ID: References: <83v8ho1e18.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:CB5lB6wsVP+PZKxRtJilWNvW+g4= Received-SPF: pass client-ip=116.202.254.214; envelope-from=geb-bug-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.1 (/) 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: -1.1 (-) Eli Zaretskii [2023-04-22 Sat 12:06] wrote: > Could you please post a recipe for reproducing this problem, starting > from "emacs -Q"? Recipe: - `find-file` some file with text. - `M-x occur` and search some string. - Move to the occur results buffer. - `e` to edit it using `occur-edit-mode`. - Call `M-x cua-rectangle-mark-mode`. - Create some multiline block (move cursor down and right). - Start inserting text, e.g. `a`. You get "Args out of range". - continue inserting. - `M-x cua-rectangle-mark-mode` to exit the mode. - Press C-c C-c to apply the changes. - Now can exit the occur results buffer and/or move to the original file. - Original file wasn't changed during occur edit mode. -- Daniel Fleischer From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 12:31:40 2023 Received: (at 62857) by debbugs.gnu.org; 22 Apr 2023 16:31:40 +0000 Received: from localhost ([127.0.0.1]:44050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqG9E-0008VL-06 for submit@debbugs.gnu.org; Sat, 22 Apr 2023 12:31:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53962) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqG9C-0008V9-2Q for 62857@debbugs.gnu.org; Sat, 22 Apr 2023 12:31:38 -0400 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 1pqG96-0001ZV-Ng; Sat, 22 Apr 2023 12:31:32 -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=GEgNvU/6hjFY8K+5TXTQZyDKUL6BEZPIj7Wmps9qTf4=; b=rB0o6T+jewvh i/yKk2cpzFuVSqJE9hfPq3YnAOwooRBWcqMMIuaYd3DaukK6soxeHQ2uHJG6pAdlRWebMB9BJOm8e XnSnknY+dca+fxIQDaTHhduFFdA1zNDPR7JXYJnmWC0sXJB8qyGn4g/Dh72Nk3+lfyEXyn/LX+frL InCsFeyI5n8zMMrSdCit3HffLarMI5sV4lEDTYlToj8Sm1qxo9df8bg4ZB8j8BmfNzEehihqQYkxy KOZ5JhlnQVCRgtnKKMvtIuGo97AFcA0ZnRKyF38HHyt8OoaNVtsdVgljHk5hgrHWjvMPWtXB/sGre MQ4yACKiCp4/Zw8xOa+NUg==; 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 1pqG95-00037A-80; Sat, 22 Apr 2023 12:31:32 -0400 Date: Sat, 22 Apr 2023 19:31:49 +0300 Message-Id: <83354r280a.fsf@gnu.org> From: Eli Zaretskii To: Daniel Fleischer In-Reply-To: (message from Daniel Fleischer on Sat, 22 Apr 2023 17:14:54 +0300) Subject: Re: bug#62857: CUA rectangle mode in occur edit mode References: <83v8ho1e18.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62857 Cc: 62857@debbugs.gnu.org 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: -3.3 (---) > From: Daniel Fleischer > Date: Sat, 22 Apr 2023 17:14:54 +0300 > > - `find-file` some file with text. > - `M-x occur` and search some string. > - Move to the occur results buffer. > - `e` to edit it using `occur-edit-mode`. > - Call `M-x cua-rectangle-mark-mode`. > - Create some multiline block (move cursor down and right). > - Start inserting text, e.g. `a`. You get "Args out of range". > - continue inserting. > - `M-x cua-rectangle-mark-mode` to exit the mode. > - Press C-c C-c to apply the changes. > - Now can exit the occur results buffer and/or move to the original file. > - Original file wasn't changed during occur edit mode. Thanks. This actually reveals a serious bug in the C re-implementation of line-number-at-pos: it was signaling an error for positions outside of the narrowing, where the original Lisp implementation didn't. I've now fixed this on the emacs-29 branch. Can you test the fix? The diffs are below, for your convenience: diff --git a/src/fns.c b/src/fns.c index ff364c6..e8cd621 100644 --- a/src/fns.c +++ b/src/fns.c @@ -6116,29 +6116,40 @@ DEFUN ("line-number-at-pos", Fline_number_at_pos, from the absolute start of the buffer, disregarding the narrowing. */) (register Lisp_Object position, Lisp_Object absolute) { - ptrdiff_t pos, start = BEGV_BYTE; + ptrdiff_t pos_byte, start_byte = BEGV_BYTE; if (MARKERP (position)) - pos = marker_position (position); + { + /* We don't trust the byte position if the marker's buffer is + not the current buffer. */ + if (XMARKER (position)->buffer != current_buffer) + pos_byte = CHAR_TO_BYTE (marker_position (position)); + else + pos_byte = marker_byte_position (position); + } else if (NILP (position)) - pos = PT; + pos_byte = PT_BYTE; else { CHECK_FIXNUM (position); - pos = XFIXNUM (position); + ptrdiff_t pos = XFIXNUM (position); + /* Check that POSITION is valid. */ + if (pos < BEG || pos > Z) + args_out_of_range_3 (position, make_int (BEG), make_int (Z)); + pos_byte = CHAR_TO_BYTE (pos); } if (!NILP (absolute)) - start = BEG_BYTE; + start_byte = BEG_BYTE; + else if (NILP (absolute)) + pos_byte = clip_to_bounds (BEGV_BYTE, pos_byte, ZV_BYTE); - /* Check that POSITION is in the accessible range of the buffer, or, - if we're reporting absolute positions, in the buffer. */ - if (NILP (absolute) && (pos < BEGV || pos > ZV)) - args_out_of_range_3 (make_int (pos), make_int (BEGV), make_int (ZV)); - else if (!NILP (absolute) && (pos < 1 || pos > Z)) - args_out_of_range_3 (make_int (pos), make_int (1), make_int (Z)); + /* Check that POSITION is valid. */ + if (pos_byte < BEG_BYTE || pos_byte > Z_BYTE) + args_out_of_range_3 (make_int (BYTE_TO_CHAR (pos_byte)), + make_int (BEG), make_int (Z)); - return make_int (count_lines (start, CHAR_TO_BYTE (pos)) + 1); + return make_int (count_lines (start_byte, pos_byte) + 1); } From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 15:00:52 2023 Received: (at submit) by debbugs.gnu.org; 22 Apr 2023 19:00:52 +0000 Received: from localhost ([127.0.0.1]:44147 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqITb-0004V2-UH for submit@debbugs.gnu.org; Sat, 22 Apr 2023 15:00:52 -0400 Received: from lists.gnu.org ([209.51.188.17]:40358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqITZ-0004Ut-He for submit@debbugs.gnu.org; Sat, 22 Apr 2023 15:00:50 -0400 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 1pqITS-0000qy-Hu for bug-gnu-emacs@gnu.org; Sat, 22 Apr 2023 15:00:48 -0400 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pqITP-0008Tm-3W for bug-gnu-emacs@gnu.org; Sat, 22 Apr 2023 15:00:40 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1pqITM-0009SD-8t for bug-gnu-emacs@gnu.org; Sat, 22 Apr 2023 21:00:36 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org From: Daniel Fleischer Subject: Re: bug#62857: CUA rectangle mode in occur edit mode Date: Sat, 22 Apr 2023 22:00:27 +0300 Message-ID: References: <83v8ho1e18.fsf@gnu.org> <83354r280a.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:TMbW3RS2aJbt8KlKmW2571vM/R4= Received-SPF: pass client-ip=116.202.254.214; envelope-from=geb-bug-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.1 (/) 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: -1.1 (-) Eli Zaretskii writes: > Thanks. This actually reveals a serious bug in the C > re-implementation of line-number-at-pos: it was signaling an error for > positions outside of the narrowing, where the original Lisp > implementation didn't. I've now fixed this on the emacs-29 branch. > Can you test the fix? The diffs are below, for your convenience: Tested on master 3badd2358d5, works as expected. Thanks! > diff --git a/src/fns.c b/src/fns.c > index ff364c6..e8cd621 100644 > --- a/src/fns.c > +++ b/src/fns.c > @@ -6116,29 +6116,40 @@ DEFUN ("line-number-at-pos", Fline_number_at_pos, > from the absolute start of the buffer, disregarding the narrowing. */) > (register Lisp_Object position, Lisp_Object absolute) > { > - ptrdiff_t pos, start = BEGV_BYTE; > + ptrdiff_t pos_byte, start_byte = BEGV_BYTE; > > if (MARKERP (position)) > - pos = marker_position (position); > + { > + /* We don't trust the byte position if the marker's buffer is > + not the current buffer. */ > + if (XMARKER (position)->buffer != current_buffer) > + pos_byte = CHAR_TO_BYTE (marker_position (position)); > + else > + pos_byte = marker_byte_position (position); > + } > else if (NILP (position)) > - pos = PT; > + pos_byte = PT_BYTE; > else > { > CHECK_FIXNUM (position); > - pos = XFIXNUM (position); > + ptrdiff_t pos = XFIXNUM (position); > + /* Check that POSITION is valid. */ > + if (pos < BEG || pos > Z) > + args_out_of_range_3 (position, make_int (BEG), make_int (Z)); > + pos_byte = CHAR_TO_BYTE (pos); > } > > if (!NILP (absolute)) > - start = BEG_BYTE; > + start_byte = BEG_BYTE; > + else if (NILP (absolute)) > + pos_byte = clip_to_bounds (BEGV_BYTE, pos_byte, ZV_BYTE); > > - /* Check that POSITION is in the accessible range of the buffer, or, > - if we're reporting absolute positions, in the buffer. */ > - if (NILP (absolute) && (pos < BEGV || pos > ZV)) > - args_out_of_range_3 (make_int (pos), make_int (BEGV), make_int (ZV)); > - else if (!NILP (absolute) && (pos < 1 || pos > Z)) > - args_out_of_range_3 (make_int (pos), make_int (1), make_int (Z)); > + /* Check that POSITION is valid. */ > + if (pos_byte < BEG_BYTE || pos_byte > Z_BYTE) > + args_out_of_range_3 (make_int (BYTE_TO_CHAR (pos_byte)), > + make_int (BEG), make_int (Z)); > > - return make_int (count_lines (start, CHAR_TO_BYTE (pos)) + 1); > + return make_int (count_lines (start_byte, pos_byte) + 1); > } > > > > > > -- Daniel Fleischer From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 15:28:41 2023 Received: (at 62857-done) by debbugs.gnu.org; 22 Apr 2023 19:28:41 +0000 Received: from localhost ([127.0.0.1]:44158 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqIuW-0005AJ-Sq for submit@debbugs.gnu.org; Sat, 22 Apr 2023 15:28:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58092) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pqIuV-0005A3-AM for 62857-done@debbugs.gnu.org; Sat, 22 Apr 2023 15:28:39 -0400 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 1pqIuQ-0004qH-4M; Sat, 22 Apr 2023 15:28:34 -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=YOO73fCQ02ls7+MX36Zh95+rCv0dBdcjtP24d9SLR+8=; b=hebNlj78NCeJ jm72Y72ObJdUNTGrrqXhqbTlAdHYd8XsKYbxZKfSB9h0qRPAiwfRHGi000ZlsduJi5U3nJ370Aoqo nJKUU7bSVmH7YCBwiCSrXEHc1AGKa4Tk8KTeIXvL1GTi5iD5n29dsL5wjDZRRSYBnEyRpGZpoAcuD VqbkxoceeiL0mqV2xPrweelRvQ9qWOBMZOxuSy4Wfb070jJt0GdtQM6wivFkHT+lmfmqs4bN9n5yE qLzvy+5xw3QYSIYm6yrR3sUioh6QcF1ugS0eLOq2d2SdYI4esl+dCEgfW6tV8mQijnfelONtudU/U zMYcxPeC3flzk9WCsUVWug==; 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 1pqIuN-0000qb-J1; Sat, 22 Apr 2023 15:28:33 -0400 Date: Sat, 22 Apr 2023 22:28:51 +0300 Message-Id: <83y1mjzpfw.fsf@gnu.org> From: Eli Zaretskii To: Daniel Fleischer In-Reply-To: (message from Daniel Fleischer on Sat, 22 Apr 2023 22:00:27 +0300) Subject: Re: bug#62857: CUA rectangle mode in occur edit mode References: <83v8ho1e18.fsf@gnu.org> <83354r280a.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62857-done Cc: 62857-done@debbugs.gnu.org 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: -3.3 (---) > From: Daniel Fleischer > Date: Sat, 22 Apr 2023 22:00:27 +0300 > > Eli Zaretskii writes: > > > Thanks. This actually reveals a serious bug in the C > > re-implementation of line-number-at-pos: it was signaling an error for > > positions outside of the narrowing, where the original Lisp > > implementation didn't. I've now fixed this on the emacs-29 branch. > > Can you test the fix? The diffs are below, for your convenience: > > Tested on master 3badd2358d5, works as expected. Thanks! Great, thanks for testing. I'm therefore closing this bug. From unknown Fri Jun 20 07:22:17 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 21 May 2023 11:24:07 +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