From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tim X Newsgroups: gmane.emacs.help Subject: Re: change spaces indent in text mode? Date: Sun, 07 Feb 2010 14:31:58 +1100 Organization: Rapt Technologies Message-ID: <877hqp7mc1.fsf@lion.rapttech.com.au> References: <87wrz0ittg.fsf@mithlond.arda> <87fx5d7tr9.fsf@lion.rapttech.com.au> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1265514049 501 80.91.229.12 (7 Feb 2010 03:40:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 7 Feb 2010 03:40:49 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Feb 07 04:40:46 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ndy0s-00042B-32 for geh-help-gnu-emacs@m.gmane.org; Sun, 07 Feb 2010 04:40:46 +0100 Original-Received: from localhost ([127.0.0.1]:37147 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ndy0r-00038q-Hw for geh-help-gnu-emacs@m.gmane.org; Sat, 06 Feb 2010 22:40:45 -0500 Original-Path: news.stanford.edu!usenet.stanford.edu!news.glorb.com!news2.glorb.com!news-xfer.nntp.sonic.net!news.astraweb.com!border1.newsrouter.astraweb.com!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.92 (gnu/linux) Cancel-Lock: sha1:G8pLBug7fZzfoXc3pNAnGiQlp/U= Original-Lines: 95 Original-NNTP-Posting-Host: 32421cf8.news.astraweb.com Original-X-Trace: DXC=01HSGi_jgM_kR1VMS3E6>\L?0kYOcDh@Z]a^o0nKT7UVcJiohVVa64mFlnZ8hQgl; M\QCh]I^ Original-Xref: news.stanford.edu gnu.emacs.help:176651 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:71717 Archived-At: Responding to myself to correct some errors and my misreading of the post! Tim X writes: > Jorgen Grahn writes: > >> On Fri, 2010-01-29, Tom Rauchenwald wrote: >>> Brendan Miller writes: >>> >>>> Great, thanks! >>>> >>>> The only problem I have, is that m-i seems to indent by 8 spaces. I >>>> tried putting >>>> >>>> (setq tab-width 4) in my .emacs, but that doesn't seem to change >>>> anything... is m-i controlled by a different variable? >>> >>> Try (setq-default tab-width 4) >> >> A few people have suggested this. Note that this redefines the >> appearance *in your Emacs* of the TAB character and the text as a >> whole. It will look wrong in any other program and to any other reader >> who hasn't reconfigured his tools in the same way. >> >> I have the misfortune of working with source code where half of it >> uses this configuration and half doesn't. It's pure pain; please >> don't do it unless you *know* noone but you will ever have to read >> this text. >> > > Sorry, but I think you have things upside down. The problem you describe > is not due to people modifying tab width, but rather inconsistent use of > tabs. > On reading this back, I think I may have misunderstood what you were saying and want to clarify. Having a mixture of indents which use spaces and indents that use tabs DOES make life difficult. However, I don't believe changing the variable default-tab-widthh affects whether tabs are used or spaces. The variable that determines this is indent-tabs-mode. If this is set to nil, spaces will be used instead of tabs. Changing default-tab-width only affects the display width of tabs i.e. how many spaces used to represent a tab and does nnot affect whether tabs are used or spaces. i.e. it only affects how things are displayed and not what characters are inserted intot he buffer. > If everyone you had to work with used tabs, then it would be possible to > realise one of the great benefits of tabs. That is, we could all have > the amount of indent that we want, 2 spaces, 4, 8 10 whatever and it > wouldn't matter. Which, when re-reading the message I was responding to, would appear to be what the author was saying. Saying that changing tab width would change from using tabs to spaces is what mixed me up. i.e. Jorgen is correct that mixing tabs and spaces to do indenting creates a maintenance mess. However, I bleieve he is incorrect in stating that changing default tab width will cause spaces to be used instead of a tab char. > > If we insist on everyone having the same width tab stops, then really, > we have lost the benefit of tab and can just use spaces. In fact, if you > are having problems because of inconsistent use of tabs/spaces maybe the > solution is to have emacs convert all spaces to tabs and only use spaces > when you hit the tab key or have emacs convert all leading spaces to > tabs so that you don't get the mixture. There is a downside in doing > this if you are in a team using version control if your VC isn't > configured correctly as the changes will be seen as changes in content > rather than just changes in whitespace styles. > Sheez, I'm not having a good day. To try and clarify. I believe it is possible to have emacs automatically convert leading spaces into tabs automatically and it is probably possible to have it convert back the other way when saving files. theoretically, it should be possible to set things up so that a mixture of indents using tabs and spaces is less of a pain. If you convert all instances of n space characters to a tab, you could have emacs largely deal with the pain of mixed indent styles for you. If others in your team insist on spaces instaed of tabs (which I think is a mistake!), you can have emacs translate all your tabs to spaces before saving. This could give you the best of both worlds. When editing the file, inent can be tab based and you can change the amount (size) of the indent by changing the default tab width. To avoid arguments with your colleagues, you can then automatically convert tabs back to spaces before saving and putting the file into version control. Hope that clarifies more than cnfuses! Tim -- tcross (at) rapttech dot com dot au