# Re: [PATCH] xdiff: Do not consider lines starting by # hunkworthy

4 messages from 2006-10-25 to 2006-10-25. Participants: Junio C Hamano, Petr Baudis, Jakub Narebski.
Thread: https://gitlist.dev/t/43348

## Petr Baudis, 2006-10-25 00:07

Subject: [PATCH] xdiff: Do not consider lines starting by # hunkworthy
Message-ID: <20061025000708.2753.74523.stgit@machine.or.cz>
URL: https://gitlist.dev/e/20061025000708.2753.74523.stgit%40machine.or.cz

```
This will be probably controversial but in my personal experience, the
amount of time this is the right thing to do because of #defines is negligible
compared to amount of time it is wrong, especially because of #ifs and #endifs
in the middle of functions and also because of comments at the line start when
it concerns non-C files.

Signed-off-by: Petr Baudis <pasky@suse.cz>
---

 xdiff/xemit.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xdiff/xemit.c b/xdiff/xemit.c
index 714c563..4f20075 100644
--- a/xdiff/xemit.c
+++ b/xdiff/xemit.c
@@ -86,8 +86,7 @@ static void xdl_find_func(xdfile_t *xf, 
 		if (len > 0 &&
 		    (isalpha((unsigned char)*rec) || /* identifier? */
 		     *rec == '_' ||	/* also identifier? */
-		     *rec == '(' ||	/* lisp defun? */
-		     *rec == '#')) {	/* #define? */
+		     *rec == '(')) {	/* #define? */
 			if (len > sz)
 				len = sz;

```

## Junio C Hamano, 2006-10-25 00:16

Subject: Re: [PATCH] xdiff: Do not consider lines starting by # hunkworthy
Message-ID: <7vmz7lfdwj.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vmz7lfdwj.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20061025000708.2753.74523.stgit@machine.or.cz>

```
Petr Baudis <pasky@suse.cz> writes:

> This will be probably controversial but in my personal experience, the
> amount of time this is the right thing to do because of #defines is negligible
> compared to amount of time it is wrong, especially because of #ifs and #endifs
> in the middle of functions and also because of comments at the line start when
> it concerns non-C files.
>
> Signed-off-by: Petr Baudis <pasky@suse.cz>
> ---
>
>  xdiff/xemit.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/xdiff/xemit.c b/xdiff/xemit.c
> index 714c563..4f20075 100644
> --- a/xdiff/xemit.c
> +++ b/xdiff/xemit.c
> @@ -86,8 +86,7 @@ static void xdl_find_func(xdfile_t *xf, 
>  		if (len > 0 &&
>  		    (isalpha((unsigned char)*rec) || /* identifier? */
>  		     *rec == '_' ||	/* also identifier? */
> -		     *rec == '(' ||	/* lisp defun? */
> -		     *rec == '#')) {	/* #define? */
> +		     *rec == '(')) {	/* #define? */
>  			if (len > sz)
>  				len = sz;
>  			if (len && rec[len - 1] == '\n')

I'd either omit the opening parenthesis or fix the comment ;-).

More seriously, I'd rather just match default GNU diff behaviour
to use isalpha, underscore or '$'.  I do not particularly like
to have '$' but I feel it is the easiest to match a prior art in
cases like this because I do not have to defend my position when
somebody says "Why do you include '#'???  It makes no sense!".
Since I do not care too much about it, being able to just say
"Well we match what GNU diff does by default." is a good thing.




```

## Jakub Narebski, 2006-10-25 00:17

Subject: Re: [PATCH] xdiff: Do not consider lines starting by # hunkworthy
Message-ID: <ehmadg$rkj$1@sea.gmane.org>
URL: https://gitlist.dev/e/ehmadg%24rkj%241%40sea.gmane.org
In-Reply-To: <20061025000708.2753.74523.stgit@machine.or.cz>

```
Petr Baudis wrote:

> -                    *rec == '(' ||     /* lisp defun? */
> -                    *rec == '#')) {    /* #define? */
> +                    *rec == '(')) {    /* #define? */
>                         if (len > sz)

Shouldn't it be:

+                    *rec == '(')) {    /* lisp defun? */
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


```

## Petr Baudis, 2006-10-25 00:28

Subject: [PATCH] xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines
Message-ID: <20061025002855.4738.1088.stgit@machine.or.cz>
URL: https://gitlist.dev/e/20061025002855.4738.1088.stgit%40machine.or.cz
In-Reply-To: <7vmz7lfdwj.fsf@assigned-by-dhcp.cox.net>

```
This removes the '#' and '(' tests and adds a '$' test instead although I have
no idea what it is actually good for - but hey, if that's what GNU diff does...

Pasky only went and did as Junio sayeth.

Signed-off-by: Petr Baudis <pasky@suse.cz>
---

 xdiff/xemit.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xdiff/xemit.c b/xdiff/xemit.c
index 714c563..4139d55 100644
--- a/xdiff/xemit.c
+++ b/xdiff/xemit.c
@@ -86,8 +86,7 @@ static void xdl_find_func(xdfile_t *xf, 
 		if (len > 0 &&
 		    (isalpha((unsigned char)*rec) || /* identifier? */
 		     *rec == '_' ||	/* also identifier? */
-		     *rec == '(' ||	/* lisp defun? */
-		     *rec == '#')) {	/* #define? */
+		     *rec == '$')) {	/* mysterious GNU diff's invention */
 			if (len > sz)
 				len = sz;

```
