[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] replace tabs with spaces of Python code


  • To: Christian.Limpach@xxxxxxxxxxxx
  • From: aq <aquynh@xxxxxxxxx>
  • Date: Thu, 19 May 2005 20:49:12 +0900
  • Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 19 May 2005 11:48:39 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=X6pGPQcVrw1vb6Mn3sMG/o93Vnf+GI/pmD0YXujkYm0w8WrXU0fKHlmEPSzFN8YaMtX4u0apvllSRraxUScWqeLQFJ7LtpHId9jzkeRi2YaKolkgIaNCfNie+SQA2FnVBJ8StoNih1UF6GMpZLWXXU8z5CSOSZfXLp5BxzLtQBQ=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On 5/19/05, Christian Limpach <christian.limpach@xxxxxxxxx> wrote:
> On 5/19/05, aq <aquynh@xxxxxxxxx> wrote:
> > > The script from python.org that Anthony posted seems to fit the bill.
> >
> > no, that script doesnt work very well, because:
> > 1. almost all the code indented by 4 spaces, but his script convert
> > tab to 8 spaces
> > 2. some code consider tab as 4 and 8 spaces in the same file, so it is
> > hard to use this script.
> > 3. that script doesnt see how python deal with the code. for example,
> > lines the python code is aligned with the previous line, but the
> > script doesnt take that into account. that is a problem.
> >
> > a small example: file tools/python/xen/xm/main.py has few tabs inside,
> > and here is how Anthony's script converts the code, and it does it
> > wrongly. i have 3 files to compare here, so you can make a conclusion:
> > the main.org.py (copy from original main.py), main-t2s.py (converted
> > with Anthony's script, with tabsize=4) and main-aq.py (my script,
> > coverted manually)
> >
> > now to see the problem, here is a hunk taken from the diffs. see the
> > commented i put next to the broken line:
> 
> That's because you broke the script by changing tabsize to 4.  As
> Anthony wrote, the python manual describes the algorithm used to
> expand tabs and how tabs get expanded has nothing to with how you have
> indented your program.  Whether your indention levels are 4 character
> wide or 8 doesn't matter, a tab always means go to the next 8
> character column.  The original main.py looks visually incorrect at
> the args.append line (it's indented by 8 characters instead of 4) but
> that's not a bug.

Yes, I agree. Actually Anthony's script (with tabsize=8) can be used
to convert all related Python files, and the result code would work
like before.But since all the code originally indented with 4 spaces,
then we should still readjust some code a little bit.

If you want to play safely, I would rather use that script to remove
tabs completely, than leave them as they are now (not buggy but
*evil*).

regards,
aq

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.