GNU bug report logs - #8196
23.1; Feature request with code: "C-x TAB" to understand tab-stop-list

Previous Next

Package: emacs;

Reported by: Teemu Likonen <tlikonen <at> iki.fi>

Date: Mon, 7 Mar 2011 18:20:02 UTC

Severity: wishlist

Found in version 23.1

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Drew Adams <drew.adams <at> oracle.com>
To: Teemu Likonen <tlikonen <at> iki.fi>
Cc: 8196-done <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>, "Jambunathan K." <kjambunathan <at> gmail.com>
Subject: bug#8196: 23.1; Feature request with code: "C-x TAB" to understand tab-stop-list
Date: Tue, 8 Oct 2013 09:21:26 -0700 (PDT)
> >> I just folded it into indent-rigidly.
> >
> > Dunno what that means exactly, but a priori: too bad. Should be a
> > separate command, as previously discussed and agreed.
> 
> The change has effect only when called interactively and when there is
> no prefix argument. The new feature is more useful.

Yes, we know that.  Please read the thread.  Remember this part, for
instance?

 > > > What you can propose instead is that your new command get the
 > > > traditional binding for `indent-rigidly', `C-x TAB'. What we
 > > > should not do is replace the current `indent-rigidly' behavior
 > > > by the proposed behavior in the same command. Steal the key,
 > > > perhaps, but not the command.
 > >
 > > That's exactly what I'm doing.  My command is called 
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 > > "tl-indent-region" (ok, we can drop the tl- prefix) and it relies
 > > on indent-rigidly to do the job.
 > 
 > Great.  Sounds good.  I misunderstood that you wanted to change
 > `indent-rigidly'; sorry.
 > 
 > > My command behaves the same as indent-rigidly when called with
 > > a numeric prefix argument.
 > 
 > Yes, that I understood from the code.

Changing the key binding but not the command itself, as you said you
were doing, would be fine.  There is no reason to change
`indent-rigidly' itself.

"My command" should have remained just that: a separate command.
The fact that without a prefix arg it behaves the same as
`indent-rigidly' is irrelevant, except as a (weak) argument for
someone wanting to replace `indent-rigidly'.  It means nothing for
someone truly intending to add a new command and bind it by default
to `C-x TAB'.

What is important is to keep two separate functions, and not screw
`indent-rigidly'.

This portion of the thread is also relevant, as it seems to be what has
now been implemented, in spite of the discussion:

d> A mix would also be possible, but less desirable IMO: modify
d> `indent-rigidly' to provide the new behavior only interactively,
d> never when used in code.  That has the disadvantage of not letting
                                                          ^^^^^^^^^^^
d> code take advantage of the indentation-to-tab-stop behavior.
d> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
d> I think it best to provide a separate command.
d> 
d> A separate command also lets any user who prefers the current default
d> behavior interactively to bind `indent-rigidly', instead of your
d> command, to `C-x TAB'.  You find it handy to indent to a tab stop by
d> default (ARG = nil), and then repeat (e.g., C-x z z z z).  Someone
d> else might find it handier to indent one column instead of one tab
d>                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
d> stop by default, and then repeat to indent the region incrementally.
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The simplest approach is the best one, for these and other reasons
discussed: Provide the new command.  Even make it the new default
binding for `C-x TAB'.  But keep `indent-rigidly' as it has been.
Simple, sane, no downside, wise.




This bug report was last modified 11 years and 229 days ago.

Previous Next


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