GNU bug report logs - #11445
24.0.96; Customize buffer edit fields should have undo

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Thu, 10 May 2012 15:34:02 UTC

Severity: wishlist

Found in version 24.0.96

To reply to this bug, email your comments to 11445 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Thu, 10 May 2012 15:34:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Drew Adams" <drew.adams <at> oracle.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 10 May 2012 15:34:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: <bug-gnu-emacs <at> gnu.org>
Subject: 24.0.96; Customize buffer edit fields should have undo
Date: Thu, 10 May 2012 08:30:20 -0700
A text editing field in Customize is like text editing in general.  Why
shouldn't undo be available to users here?

In GNU Emacs 24.0.96.1 (i386-mingw-nt5.1.2600)
 of 2012-04-28 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --enable-checking --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include'
 





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Sun, 16 Sep 2012 23:59:01 GMT) Full text and rfc822 format available.

Message #8 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: <11445 <at> debbugs.gnu.org>
Subject: RE: bug#11445: 24.0.96; Customize buffer edit fields should have undo
Date: Sun, 16 Sep 2012 16:57:27 -0700
ping





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Wed, 02 Jun 2021 06:06:01 GMT) Full text and rfc822 format available.

Message #11 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 11445 <at> debbugs.gnu.org
Subject: Re: bug#11445: 24.0.96; Customize buffer edit fields should have undo
Date: Wed, 02 Jun 2021 08:04:51 +0200
"Drew Adams" <drew.adams <at> oracle.com> writes:

> A text editing field in Customize is like text editing in general.  Why
> shouldn't undo be available to users here?

As far as I can tell, `undo' works fine in text fields in Customize
buffers.  Are you still seeing this problem in recent Emacs versions?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 02 Jun 2021 06:06:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Wed, 02 Jun 2021 12:22:01 GMT) Full text and rfc822 format available.

Message #16 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 11445 <at> debbugs.gnu.org, Drew Adams <drew.adams <at> oracle.com>
Subject: Re: bug#11445: 24.0.96; Customize buffer edit fields should have undo
Date: Wed, 02 Jun 2021 09:21:39 -0300
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> "Drew Adams" <drew.adams <at> oracle.com> writes:
>
>> A text editing field in Customize is like text editing in general.  Why
>> shouldn't undo be available to users here?
>
> As far as I can tell, `undo' works fine in text fields in Customize
> buffers.  Are you still seeing this problem in recent Emacs versions?

It cannot work reliably: if a widget needs to be redrawn, the widget
code will clear the undo information with widget-clear-undo.

Try this:
emacs -Q
M-x customize-group RET mouse
TAB until point is at the arrow to expand the double-click-fuzz option
RET
TAB to move to the field
deletechar
4
C-x u shows the empty field, which is fine
C-x u again: "No further undo information".  But that's not expected; if
undo worked, the field value would be the default value.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Wed, 02 Jun 2021 16:45:02 GMT) Full text and rfc822 format available.

Message #19 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: "11445 <at> debbugs.gnu.org" <11445 <at> debbugs.gnu.org>
Subject: RE: [External] : Re: bug#11445: 24.0.96; Customize buffer edit fields
 should have undo
Date: Wed, 2 Jun 2021 16:43:57 +0000
> > A text editing field in Customize is like text
> > editing in general.  Why shouldn't undo be available
> > to users here?
> 
> As far as I can tell, `undo' works fine in text fields in Customize
> buffers.  Are you still seeing this problem in recent Emacs versions?

Good question.  Pulling up Emacs 23 now to check what
this was about...

Some editable fields, at least, do have undo.  But not
once you've chosen `Set for current session'.

Just as you can continue to edit a field after you've
chosen to set the value, so I think you should be able
to undo previous edits you made.

Why would we turn off undo, just because you chose set,
or even save?  As long as editing is available so should
undo be available. (We don't change fields to read-only
just because you chose set or save.)

In fact, the problem is worse.  Consider customizing
an option such as `Info-default-directory-list'.  Each
editable field has its own undo, and as soon as you
move to another editable field and edit it you lose
the ability to undo changes you made previously to
the first field.  You can then try to make other
changes to the already changed first field, but undo
then takes you back only as far as what was frozen
when you went on to edit the second field.  This
isn't helpful.  You should be able to undo globally,
throughout the Customize buffer.

Secondly, considering "editing" more broadly, why not
let undo apply even to other changes you make in the
buffer, from `Toggle' to a `Value Menu' choice.  The
point is to be able to undo changes you've made to
the option, regardless of whether you've chosen set
or save yet.

These non-edit-field kinds of changes are not in the
same ball-park, admittedly, so fixing this for them
might involve more work.  But this is something to aim
for, and it should be part of this bug fix (enhancement
request, if you prefer).

In particular, consider `customize-face' changes.
For the most part changes to attributes involve
using `Value Menu'.  It's important, I think, to be
able to undo a bunch of such changes, and not just
changes in an individual editable field.
___

There, that constitutes a needed supplement to my
admittedly terse bug report.  At least I'm thinking
that this is what I was thinking of.
___

That was all taking a look with Emacs 23.4.  Now
let me look at Emacs 27.2, to see if any of that
has already been fixed...  And I see no improvement
in any of that.  I'd ask that this bug remain open.
HTH.







Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Thu, 03 Jun 2021 07:16:01 GMT) Full text and rfc822 format available.

Message #22 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Mauro Aranda <maurooaranda <at> gmail.com>
Cc: 11445 <at> debbugs.gnu.org, Drew Adams <drew.adams <at> oracle.com>
Subject: Re: bug#11445: 24.0.96; Customize buffer edit fields should have undo
Date: Thu, 03 Jun 2021 09:15:09 +0200
Mauro Aranda <maurooaranda <at> gmail.com> writes:

> C-x u again: "No further undo information".  But that's not expected; if
> undo worked, the field value would be the default value.

Ah, right -- I can reproduce that, too.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Removed tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 03 Jun 2021 07:16:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Thu, 03 Jun 2021 15:50:02 GMT) Full text and rfc822 format available.

Message #27 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 11445 <at> debbugs.gnu.org, Mauro Aranda <maurooaranda <at> gmail.com>
Subject: Re: bug#11445: 24.0.96; Customize buffer edit fields should have undo
Date: Thu, 03 Jun 2021 17:49:19 +0200
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> > C-x u again: "No further undo information".  But that's not expected; if
> > undo worked, the field value would be the default value.
>
> Ah, right -- I can reproduce that, too.

Question is whether it's even well defined to do this differently.

It's not that every text field has its own undo.  Undo stops at points
when widgets changed because undoing further would undo changes
involving widgets, which ones are there, how they look like, etc.  Since
using widgets has side effects (like setting variables or saving) just
undoing anything would potentially lead to an inconsistent state.

How would you address this problem?

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Thu, 03 Jun 2021 17:53:02 GMT) Full text and rfc822 format available.

Message #30 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>, Lars Ingebrigtsen
 <larsi <at> gnus.org>
Cc: "11445 <at> debbugs.gnu.org" <11445 <at> debbugs.gnu.org>,
 Mauro Aranda <maurooaranda <at> gmail.com>
Subject: RE: [External] : bug#11445: 24.0.96; Customize buffer edit fields
 should have undo
Date: Thu, 3 Jun 2021 17:51:59 +0000
> > > C-x u again: "No further undo information".  But that's not expected; if
> > > undo worked, the field value would be the default value.
> >
> > Ah, right -- I can reproduce that, too.
> 
> Question is whether it's even well defined to do this differently.
> 
> It's not that every text field has its own undo.  Undo stops at points
> when widgets changed because undoing further would undo changes
> involving widgets, which ones are there, how they look like, etc.  Since
> using widgets has side effects (like setting variables or saving) just
> undoing anything would potentially lead to an inconsistent state.
> 
> How would you address this problem?

I think I understand what you're saying.  But undo
should be about user actions, and their effects
(consequences).  Yes, the effects of user actions
here include (at least some) "changes involving widgets".

Looking at this from (only) a user point of view,
this seems broken (i.e., calling for improvement).

I have no idea how to address fixing it. 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11445; Package emacs. (Fri, 04 Jun 2021 09:26:01 GMT) Full text and rfc822 format available.

Message #33 received at 11445 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 11445 <at> debbugs.gnu.org, Mauro Aranda <maurooaranda <at> gmail.com>
Subject: Re: bug#11445: 24.0.96; Customize buffer edit fields should have undo
Date: Fri, 04 Jun 2021 11:25:38 +0200
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> Question is whether it's even well defined to do this differently.
>
> It's not that every text field has its own undo.  Undo stops at points
> when widgets changed because undoing further would undo changes
> involving widgets, which ones are there, how they look like, etc.  Since
> using widgets has side effects (like setting variables or saving) just
> undoing anything would potentially lead to an inconsistent state.
>
> How would you address this problem?

Not all actions in a custom buffer can be undone (with the normal Emacs
undo functionality), but it seems quiet unexpected that deleting a
character in the text field of the buffer with the normal editing
commands can't be undone.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 9 days ago.

Previous Next


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