unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Alan Mackenzie <acm@muc.de>
Cc: "Arsen Arsenović" <arsen@aarsen.me>,
	"Emacs Development" <Emacs-devel@gnu.org>
Subject: miscue in latest commit of Arsen Arsenović patch
Date: Mon, 23 Dec 2024 13:47:31 -0800	[thread overview]
Message-ID: <239903b8-061e-4257-bd47-875a7ae54cec@cs.ucla.edu> (raw)

[-- Attachment #1: Type: text/plain, Size: 1032 bytes --]

The recent Emacs commit 39380e1bd3bfc26e355445590e243fcfa940fc9f should 
look like this in 'git log' output:

   commit 39380e1bd3bfc26e355445590e243fcfa940fc9f
   Author:     Arsen Arsenović <arsen@aarsen.me>
   AuthorDate: Sun Dec 22 19:33:29 2024 +0000
   Commit:     Alan Mackenzie <acm@muc.de>
   CommitDate: Sun Dec 22 19:33:29 2024 +0000

       Java Mode: introduce the keyword `assert'.
       ...

However, there was a glitch and instead I see a blotch "�" (U+FFFD 
REPLACEMENT CHARACTER) where there should be "ć" (U+0107 LATIN SMALL 
LETTER C WITH ACUTE).

Since Arsen has another patch committed (by Dmitry) without the glitch, 
I expect the problem is on Alan's end. Alan, are you running Emacs in a 
single-byte locale to commit patches? If so, I suggest using a UTF-8 
locale instead, whenever the commit contains non-ASCII characters in the 
author's name or commit message.

To help avoid similar glitches in the future I installed the attached.

Apologies to Arsen for the misspelling.

[-- Attachment #2: 0001-Avoid-U-FFFD-in-commit-messages.patch --]
[-- Type: text/x-patch, Size: 1715 bytes --]

From 28c420afab6a0944a192c30ff2d5d9e40c88f14f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 23 Dec 2024 13:38:51 -0800
Subject: [PATCH] Avoid U+FFFD in commit messages

* build-aux/git-hooks/commit-msg:
Also check against U+FFFD REPLACEMENT CHARACTER in commit messages.
---
 build-aux/git-hooks/commit-msg | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg
index 1eb2560bba2..dace4c7fb66 100755
--- a/build-aux/git-hooks/commit-msg
+++ b/build-aux/git-hooks/commit-msg
@@ -31,6 +31,8 @@
 # Use U+00A2 CENT SIGN to test whether the locale works.
 cent_sign_utf8_format='\302\242\n'
 cent_sign=`printf "$cent_sign_utf8_format"`
+replacement_character_utf8_format='\357\277\275\n'
+replacement_character=`printf "$replacement_character_utf8_format"`
 print_at_sign='BEGIN {print substr("'$cent_sign'@", 2)}'
 at_sign=`$awk "$print_at_sign" </dev/null 2>/dev/null`
 if test "$at_sign" != @; then
@@ -44,7 +46,12 @@ at_sign=
 fi
 
 # Check the log entry.
-exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" -v file="$1" '
+exec $awk \
+     -v at_sign="$at_sign" \
+     -v cent_sign="$cent_sign" \
+     -v file="$1" \
+     -v replacement_character="$replacement_character" \
+'
   BEGIN {
     # These regular expressions assume traditional Unix unibyte behavior.
     # They are needed for old or broken versions of awk, e.g.,
@@ -137,6 +144,10 @@ at_sign=
     print "Unprintable character in commit message"
     status = 1
   }
+  $0 ~ replacement_character {
+    print "Replacement character in commit message"
+    status = 1
+  }
 
   END {
     if (nlines == 0) {
-- 
2.45.2


             reply	other threads:[~2024-12-23 21:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-23 21:47 Paul Eggert [this message]
2024-12-24  0:16 ` miscue in latest commit of Arsen Arsenović patch Stefan Kangas
2024-12-24 13:55 ` Alan Mackenzie

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=239903b8-061e-4257-bd47-875a7ae54cec@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=Emacs-devel@gnu.org \
    --cc=acm@muc.de \
    --cc=arsen@aarsen.me \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).