Re: [Rd] Tabs in R source code

From: Duncan Murdoch <>
Date: Sun, 29 Nov 2009 12:18:23 -0500

On 29/11/2009 11:50 AM, Peng Yu wrote:

> On Sun, Nov 29, 2009 at 10:40 AM, Duncan Murdoch <> wrote:

>> On 29/11/2009 10:58 AM, Peng Yu wrote:
>>> Some lines are indented by tabs and some lines are indented by spaces,
>>> in R source code. This might due to the fact that the source code is
>>> not from a single person. But I think that it is better to enforce a
>>> single convention.
>>> My editor defaults a tab to 8 spaces. So some source doesn't seem to
>>> be indented correctly in my editor. Since tab may be displayed
>>> differently in different editor, I recommend to replace all the tabs
>>> by the appropriate number of spaces to ensure the same indentation
>>> display.
>> The R source code assumes that tabs occur every 8 columns, so if your editor
>> is working properly, it should display files as intended.
>>> Could somebody update the source code in the future version by
>>> replacing tabs by spaces and enforce such a coding convention in the
>>> future?
>> No, that would not be feasible, for the reason you give in the second
>> sentence of your post.
> I don't understand why it is not feasible. The spaces are displayed
> the same in all editors. If there are no tabs, the code should display
> the same in all editors. I know some languages that are recommended to
> have spaces rather than tabs for this reason.

It is not feasible because it would require everyone who edits the source code to change the configuration of their editors. In my case, that would require changing about 3 different types of editors (I work on several different platforms). I would probably miss one, and re-introduce tabs the next time I edited a file on that editor.

I've already seen problems in the NEWS and CHANGES files, which have recently changed to UTF-8 encoding. It's very irritating that my editor switches back to the Windows default if it doesn't see a byte-order mark, and that some editors that I use automatically delete the BOM. Requiring a particular "encoding" for tabs (i.e. converting them to spaces) would lead to the same problems, but on a much bigger scale.

Duncan Murdoch mailing list Received on Sun 29 Nov 2009 - 17:26:01 GMT

This archive was generated by hypermail 2.2.0 : Fri 04 Dec 2009 - 03:51:00 GMT