Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

bpo-32150: Expand tabs to spaces in C files.#4583

Merged
serhiy-storchaka merged 2 commits intopython:masterfrom
serhiy-storchaka:expand-tabs
Nov 28, 2017
Merged

bpo-32150: Expand tabs to spaces in C files.#4583
serhiy-storchaka merged 2 commits intopython:masterfrom
serhiy-storchaka:expand-tabs

Conversation

@serhiy-storchaka
Copy link
Member

@serhiy-storchakaserhiy-storchaka commentedNov 27, 2017
edited by bedevere-bot
Loading

Tabs in C files add a noise in the diff if the committer uses an editor which don't preserve tabs (see for example#4390). This can hide semantic changes in tab expansion changes. It is better to expand all tabs to spaces in the single commit that doesn't do anything other.

https://bugs.python.org/issue32150

@gvanrossum
Copy link
Member

Where's the bpo issue?

@serhiy-storchaka
Copy link
MemberAuthor

I haven't created a bpo issue. Do you think that this is necessary?

@gvanrossum
Copy link
Member

gvanrossum commentedNov 27, 2017 via email

That's where discussion should go, and I expect we'll need some (sorry, Iam not in immediate agreement).
On Nov 27, 2017 8:03 AM, "Serhiy Storchaka" ***@***.***> wrote: I haven't created a bpo issue. Do you think that this is necessary? — You are receiving this because your review was requested. Reply to this email directly, view it on GitHub <#4583 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ACwrMs_UsBQT09LvIuNziMdpJOO6HI0Eks5s6tzlgaJpZM4QrVUE> .

@serhiy-storchakaserhiy-storchaka changed the titleExpand tabs to spaces in C files.bpo-32150: Expand tabs to spaces in C files.Nov 27, 2017
Copy link
MemberAuthor

@serhiy-storchakaserhiy-storchaka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Commented issues in the current code fixed by this PR.

#define NBYTES(nbits)(((nbits) + BITSPERBYTE - 1) / BITSPERBYTE)

#define BIT2BYTE(ibit)((ibit) / BITSPERBYTE)
#define BIT2SHIFT(ibit)((ibit) % BITSPERBYTE)
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Here tabs make the view on GitHub uglier. See at left side.

int use_bytearray);
#endif
PyAPI_FUNC(PyObject *) PyBytes_DecodeEscape(const char *, Py_ssize_t,
const char *, Py_ssize_t,
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Wrong alignment due to tabs.


/* Flags used by string formatting */
#define F_LJUST (1<<0)
#define F_SIGN(1<<1)
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Mixed tabs and spaces make worser a view on GitHub.

#endif

typedef struct {
PyObject_HEAD
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Too larger indent.

#define PyMethod_GET_FUNCTION(meth) \
(((PyMethodObject *)meth) -> im_func)
#define PyMethod_GET_SELF(meth) \
(((PyMethodObject *)meth) -> im_self)
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Mixed tabs and spaces (compare with lines above).

const char *
Py_GetPlatform(void)
{
return PLATFORM;
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Too large indent.

const char *
Py_GetVersion(void)
{
static char version[250];
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Too large indent.

double
PyFPE_dummy(void *dummy)
{
return 1.0;
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Too large indent.

if (return_bytes) {
/* If _PyBytes_FromSize() were public we could avoid malloc+copy. */
retbuf = (Py_UCS1*) PyMem_Malloc(arglen*2);
if (!retbuf)
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Mixed tabs and spaces.

char *
strdup(const char *str)
{
if (str != NULL) {
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Too large indent.

{"increment", (PyCFunction)Shoddy_increment, METH_NOARGS,
PyDoc_STR("increment state counter")},
{NULL,NULL},
{NULL,NULL},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

This is part of the documentation. Maybe use a single space? The tab doesn’t seem to align with anything.

Or even drop the second NULL. Other PyMethodDef arrays on the page have a single NULL. The other three fields get zeroed implicitly, and it looks like the first field (ml_name) is the one that is checked for NULL.

serhiy-storchaka reacted with thumbs up emoji
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I prefer to drop the second NULL.

@serhiy-storchakaserhiy-storchaka merged commit598ceae intopython:masterNov 28, 2017
@serhiy-storchakaserhiy-storchaka deleted the expand-tabs branchNovember 28, 2017 15:56
#define PY_MICRO_VERSION0
#define PY_RELEASE_LEVELPY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL2

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Note that the version constants are automatically generated by the release management tool,https://github.com/python/release-tools/blob/master/release.py, so that will probably need to be modified to handle spaces instead of tabs and any changes there need to be able to continue to handle patchlevel.h in older release cycles.

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Oh, my bad.

I have created a PR for the release management tool:python/release-tools#2 .

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@vadmiumvadmiumvadmium left review comments

@ned-deilyned-deilyned-deily left review comments

@ambvambvAwaiting requested review from ambv

@gvanrossumgvanrossumAwaiting requested review from gvanrossum

Assignees

No one assigned

Labels

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

6 participants

@serhiy-storchaka@gvanrossum@vadmium@ned-deily@the-knights-who-say-ni@bedevere-bot

[8]ページ先頭

©2009-2026 Movatter.jp