All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] whitespace: correct bit assignment comments
Date: Tue, 28 Oct 2025 07:39:04 +0100	[thread overview]
Message-ID: <aQBlCCDWMhLX_aBa@pks.im> (raw)
In-Reply-To: <xmqqfrb4hyjl.fsf@gitster.g>

On Mon, Oct 27, 2025 at 01:36:46PM -0700, Junio C Hamano wrote:
> diff --git a/diff.h b/diff.h
> index 2fa256c3ef..60749154e7 100644
> --- a/diff.h
> +++ b/diff.h
> @@ -331,9 +331,9 @@ struct diff_options {
>  
>  	int ita_invisible_in_index;
>  /* white-space error highlighting */
> -#define WSEH_NEW (1<<12)
> -#define WSEH_CONTEXT (1<<13)
> -#define WSEH_OLD (1<<14)
> +#define WSEH_NEW	(1<<12)
> +#define WSEH_CONTEXT	(1<<13)
> +#define WSEH_OLD	(1<<14)
>  	unsigned ws_error_highlight;
>  	const char *prefix;
>  	int prefix_length;

Here you're using tabs for indentation, whereas below you use spaces. We
should probably be consistent.

> diff --git a/ws.h b/ws.h
> index 5ba676c559..611c6b6d50 100644
> --- a/ws.h
> +++ b/ws.h
> @@ -7,19 +7,19 @@ struct strbuf;
>  /*
>   * whitespace rules.
>   * used by both diff and apply
> - * last two digits are tab width
> + * last two octal-digits are tab width (we support only up to 63).
>   */
> -#define WS_BLANK_AT_EOL         0100
> -#define WS_SPACE_BEFORE_TAB     0200
> -#define WS_INDENT_WITH_NON_TAB  0400
> -#define WS_CR_AT_EOL           01000
> -#define WS_BLANK_AT_EOF        02000
> -#define WS_TAB_IN_INDENT       04000
> -#define WS_TRAILING_SPACE      (WS_BLANK_AT_EOL|WS_BLANK_AT_EOF)
> +#define WS_BLANK_AT_EOL         (1<<6)
> +#define WS_SPACE_BEFORE_TAB     (1<<7)
> +#define WS_INDENT_WITH_NON_TAB  (1<<8)
> +#define WS_CR_AT_EOL            (1<<9)
> +#define WS_BLANK_AT_EOF         (1<<10)
> +#define WS_TAB_IN_INDENT        (1<<11)
> +#define WS_TRAILING_SPACE       (WS_BLANK_AT_EOL|WS_BLANK_AT_EOF)
>  #define WS_DEFAULT_RULE (WS_TRAILING_SPACE|WS_SPACE_BEFORE_TAB|8)

The "8" here is a bit curious, but this matches what the comment says:
the last two digits are the tab width, and there of course is no macro
for that.

> -#define WS_TAB_WIDTH_MASK        077
> +#define WS_TAB_WIDTH_MASK       ((1<<6)-1)
>  /* All WS_* -- when extended, adapt diff.c emit_symbol */
> -#define WS_RULE_MASK           07777
> +#define WS_RULE_MASK            ((1<<12)-1)
>  extern unsigned whitespace_rule_cfg;
>  unsigned whitespace_rule(struct index_state *, const char *);
>  unsigned parse_whitespace_rule(const char *);

All of these conversion look correct to me, and I agree that this is
easier to read.

Thanks!

Patrick

  reply	other threads:[~2025-10-28  6:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-27 20:36 [PATCH] whitespace: correct bit assignment comments Junio C Hamano
2025-10-28  6:39 ` Patrick Steinhardt [this message]
2025-10-28 13:39   ` Junio C Hamano
2025-10-28 16:33     ` [PATCH v2] " Junio C Hamano
2025-10-29  7:17       ` Patrick Steinhardt
2025-10-29 13:21         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aQBlCCDWMhLX_aBa@pks.im \
    --to=ps@pks.im \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.