GNU bug report logs - #20276
24.4; diff-mode doesn't handle unified diff file headers without tabs

Previous Next

Package: emacs;

Reported by: Gustav HÃ¥llberg <gustav <at> gmail.com>

Date: Tue, 7 Apr 2015 22:35:01 UTC

Severity: normal

Found in version 24.4

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gustav HÃ¥llberg <gustav <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 20276 <at> debbugs.gnu.org
Subject: bug#20276: 24.4; diff-mode doesn't handle unified diff file headers without tabs
Date: Thu, 9 Apr 2015 00:38:55 +0200
[Message part 1 (text/plain, inline)]
On Wed, Apr 8, 2015 at 10:50 PM, Stefan Monnier <monnier <at> iro.umontreal.ca>
wrote:

> > Some diff programs will not emit tab + timestamp (as GNU diff does),
> > but just the file name.
>
> Which diff programs do that?
>

diff -u with -L does for example:

  $ diff -u -Lfoo a.txt -Lbar b.txt
  --- foo
  +++ bar
    :

git diff also does for what it's worth.


>
> > -          (if (looking-at "[-*][-*][-*] \\([^\t]+\\)\t.*\n[-+][-+][-+]
> > \\([^\t]+\\)")
> > +          (if (looking-at "[-*][-*][-*] \\([^\t\n]+\\).*\n[-+][-+][-+]
> > \\([^\t\n]+\\)")
>
> Adding \n in the char-ranges is fine (it's a good change in itself), but
> removing the \t increases the risk of false positives, so I'm a bit
> worried about that.
>

True, but note that diff-font-lock-keywords is more permissive; it does not
require the tab to be present.

- Gustav



>
>
>         Stefan
>
[Message part 2 (text/html, inline)]

This bug report was last modified 10 years and 101 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.