From 163895bf88840831551e30ae81f777ed708806c9 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 29 Aug 2025 23:52:25 -0700
Subject: [PROPOSED 8/8] Better fix for U+2217 ASTERISK OPERATOR glitch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* newctime.3, newtzset.3: Use plain * instead of \(**.
* workman.sh: Remove no-longer needed workaround for the U+2217
ASTERISK OPERATOR glitch.  This was not a glitch in groff; it was
a glitch in TZDB’s man pages dating back to 1986, presumably
because back then \(** generated nicer-looking output on the C/A/T
phototypesetter whereas ordinary * was raised.  Nowadays It’s
better to use plain * as it looks like an ASCII * and it works if
you cut and past it into C code.
---
 newctime.3 | 22 +++++++++++-----------
 newtzset.3 |  2 +-
 workman.sh |  5 +----
 3 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/newctime.3 b/newctime.3
index 9d09e5a5..6b85ec51 100644
--- a/newctime.3
+++ b/newctime.3
@@ -246,17 +246,17 @@ includes the following fields:
 .PP
 .nf
 .ta 2n +\w'long tm_gmtoff;nn'u
-	int tm_sec;	/\(** seconds (0\*(en60) \(**/
-	int tm_min;	/\(** minutes (0\*(en59) \(**/
-	int tm_hour;	/\(** hours (0\*(en23) \(**/
-	int tm_mday;	/\(** day of month (1\*(en31) \(**/
-	int tm_mon;	/\(** month of year (0\*(en11) \(**/
-	int tm_year;	/\(** year \- 1900 \(**/
-	int tm_wday;	/\(** day of week (Sunday = 0) \(**/
-	int tm_yday;	/\(** day of year (0\*(en365) \(**/
-	int tm_isdst;	/\(** is daylight saving time in effect? \(**/
-	char \(**tm_zone;	/\(** time zone abbreviation (optional) \(**/
-	long tm_gmtoff;	/\(** offset from UT in seconds (optional) \(**/
+	int tm_sec;	/* seconds (0\*(en60) */
+	int tm_min;	/* minutes (0\*(en59) */
+	int tm_hour;	/* hours (0\*(en23) */
+	int tm_mday;	/* day of month (1\*(en31) */
+	int tm_mon;	/* month of year (0\*(en11) */
+	int tm_year;	/* year \- 1900 */
+	int tm_wday;	/* day of week (Sunday = 0) */
+	int tm_yday;	/* day of year (0\*(en365) */
+	int tm_isdst;	/* is daylight saving time in effect? */
+	char *tm_zone;	/* time zone abbreviation (optional) */
+	long tm_gmtoff;	/* offset from UT in seconds (optional) */
 .fi
 .RE
 .PP
diff --git a/newtzset.3 b/newtzset.3
index db6bfa7f..5358475d 100644
--- a/newtzset.3
+++ b/newtzset.3
@@ -13,7 +13,7 @@ tzset \- initialize time conversion information
 .PP
 .B void tzset(void);
 .PP
-/\(** Optional and obsolescent:  \(**/
+/* Optional and obsolescent:  */
 .br
 .B extern char *tzname[];
 .br
diff --git a/workman.sh b/workman.sh
index e914553d..91621b10 100644
--- a/workman.sh
+++ b/workman.sh
@@ -17,10 +17,7 @@ done
 
 groff="groff -dAD=l -rHY=0 $manflags -mtty-char -man -ww -P-bcou"
 if ($groff) </dev/null >/dev/null 2>&1; then
-  # Repair groff 1.23 -Tutf8 misfeature: it renders "*" as U+2217.  Do not put
-  # the bad character directly in this file, to pacify "make character-set.ck".
-  ASTERISK_OPERATOR=`printf '\342\210\227\n'` # U+2217
-  $groff "$@" | sed "s/$ASTERISK_OPERATOR/*/g"
+  $groff "$@"
 elif (type mandoc && type col) >/dev/null 2>&1; then
   mandoc $manflags -man "$@" | col -bx
 elif (type nroff && type perl) >/dev/null 2>&1; then
-- 
2.48.1

