Skip to content
Snippets Groups Projects
Select Git revision
  • approxidate-tweaks
  • master default protected
  • bulk-checkin-sign-compare-fix
  • v2.49.0
  • v2.49.0-rc2
  • v2.49.0-rc1
  • v2.49.0-rc0
  • v2.48.1
  • v2.48.0
  • v2.48.0-rc2
  • v2.48.0-rc1
  • v2.46.3
  • v2.40.4
  • v2.41.3
  • v2.42.4
  • v2.43.6
  • v2.44.3
  • v2.45.3
  • v2.47.2
  • v2.48.0-rc0
  • v2.47.1
  • v2.47.0
  • v2.47.0-rc1
23 results

t4034

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Johannes Sixt authored
    The implementation of digit-separating single-quotes introduced a
    note-worthy regression: the change of a character literal with a
    digit would splice the digit and the closing single-quote. For
    example, the change from 'a' to '2' is now tokenized as
    '[-a'-]{+2'+} instead of '[-a-]{+2+}'.
    
    The options to fix the regression are:
    
    - Tighten the regular expression such that the single-quote can only
      occur between digits (that would match the official syntax).
    
    - Remove support for digit separators.
    
    I chose to remove support, because
    
    - I have not seen a lot of code make use of digit separators.
    
    - If code does use digit separators, then the numbers are typically
      long. If a change in one of the segments occurs, it is actually
      better visible if only that segment is highlighted as the word
      that changed instead of the whole long number.
    
    This choice does introduce another minor regression, though, which
    is highlighted in the test case: when a change occurs in the second
    or later segment of a hexadecimal number where the segment begins
    with a digit, but also has letters, the segment is mistaken as
    consisting of a number and an identifier. I can live with that.
    
    Signed-off-by: default avatarJohannes Sixt <j6t@kdbg.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    386076ec
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Name Last commit Last update
    ..