GNU bug report logs - #68185
[PATCH] Ensure indent-region argument order is correct

Previous Next

Package: emacs;

Reported by: Morgan Willcock <morgan <at> ice9.digital>

Date: Sun, 31 Dec 2023 21:21:02 UTC

Severity: normal

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Morgan Willcock <morgan <at> ice9.digital>
Subject: bug#68185: closed (Re: bug#68185: [PATCH] Ensure indent-region
 argument order is correct)
Date: Thu, 04 Jan 2024 11:19:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#68185: [PATCH] Ensure indent-region argument order is correct

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 68185 <at> debbugs.gnu.org.

-- 
68185: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68185
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Morgan Willcock <morgan <at> ice9.digital>
Cc: 68185-done <at> debbugs.gnu.org
Subject: Re: bug#68185: [PATCH] Ensure indent-region argument order is correct
Date: Thu, 04 Jan 2024 13:18:16 +0200
> From: Morgan Willcock <morgan <at> ice9.digital>
> Date: Sun, 31 Dec 2023 21:20:11 +0000
> 
> The attached patch fixes an issue with Tempo template insertion, where
> the region start is assumed to be a position before the region end.  If
> the user selects a region in a backwards direction the correct
> indentation will not be applied:

Thanks, installed on the master branch, and closing the bug.

[Message part 3 (message/rfc822, inline)]
From: Morgan Willcock <morgan <at> ice9.digital>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] Ensure indent-region argument order is correct
Date: Sun, 31 Dec 2023 21:20:11 +0000
[Message part 4 (text/plain, inline)]
Tags: patch

The attached patch fixes an issue with Tempo template insertion, where
the region start is assumed to be a position before the region end.  If
the user selects a region in a backwards direction the correct
indentation will not be applied:

  (require 'tempo)
  (tempo-define-template "indent-region-test" '(r>))

  (with-temp-buffer
    (emacs-lisp-mode)
    (insert "    one\n    two\n    three")
    (goto-char (point-min))
    (set-mark-command nil)
    (goto-char (point-max))
    (tempo-template-indent-region-test)
    (buffer-string))

  ;; => "one\ntwo\nthree"

  (with-temp-buffer
    (emacs-lisp-mode)
    (insert "    one\n    two\n    three")
    (goto-char (point-max))
    (set-mark-command nil)
    (goto-char (point-min))
    (tempo-template-indent-region-test)
    (buffer-string))

  ;; => "    one\n    two\nthree"

The start and end positions are already identified and stored using
separate variables, so the patch just uses these values instead of
assuming the point and mark order.  I've also removed passing nil as the
third argument since the argument is optional.

In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw3d scroll bars) of 2023-07-31 built on inspiron
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --with-native-compilation --with-cairo --with-json
 --with-xml2 --with-x-toolkit=lucid'

[0001-Ensure-indent-region-argument-order-is-correct.patch (text/patch, attachment)]

This bug report was last modified 1 year and 141 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.