The English XAnyEvent.3x manual page includes a few C syntax comments explaining fields of the XAnyEvent structure. When rendered in a Unicode (UTF-8) locale, the asterisk in the opening "/*" part is the wrong character. The comments begin with "/∗". That second character looks like an asterisk, but it is actually Unicode character U+2217 ASTERISK OPERATOR. C comments should begin with "/*", where the second character is an ASCII asterisk, also known as Unicode character U+002A ASTERISK. To reproduce this, you must view the man page using a UTF-8 locale. If you are using LANG=C, you won't see the problem. I recommend the following steps: 1. Run this command: "env LANG=en_US.UTF-8 man XAnyEvent" 2. Examine the C comments next to the serial, send_event, and display fields of the XAnyEvent struct. When fixing this, please do a quick grep through the other X man pages. I expect there are other examples of the same problem.
I'm not sure if this bug is in X man pages or the man/troff on your system. In the troff sources, these characters are: unsigned long serial; /\(** # of last request processed by server */ But I haven't been able to find documentation of what /\(** is supposed to do.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
According to groff_char(7), \(** is the escape sequence for the character "asteriskmath", so it sounds like groff is working as intended and this is a bug in the man page. Since /* is being avoided so the cpp pre-processing of man pages doesn't strip it, it would seem /\&* would be a better solution (where \& is the roff non-printing/zero-width character).
Fixed in git master for all the libX11 man pages: commit 4b91ed099554626f1ec17d5bdf7bd77ce1a70037 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Wed Nov 21 16:50:04 2007 -0800 X.Org Bug #4312: incorrect comment asterisk in XAnyEvent.3x man page X.Org Bugzilla #4312 <http://bugs.freedesktop.org/show_bug.cgi?id=4312> Protect /* sequences from cpp pre-processor removal without transforming to Unicode mathematical asterisk character man/XAddHost.man | 14 +++--- man/XAllocSizeHints.man | 32 +++++++-------- man/XAllocStandardColormap.man | 4 - man/XAllocWMHints.man | 26 ++++++------ man/XAnyEvent.man | 8 +-- man/XButtonEvent.man | 78 +++++++++++++++++++------------------- man/XChangeKeyboardControl.man | 8 +-- man/XChangeKeyboardMapping.man | 4 - man/XCirculateEvent.man | 10 ++-- man/XCirculateRequestEvent.man | 10 ++-- man/XClientMessageEvent.man | 8 +-- man/XColormapEvent.man | 12 ++--- man/XConfigureEvent.man | 8 +-- man/XConfigureRequestEvent.man | 10 ++-- man/XConfigureWindow.man | 4 - man/XCreateColormap.man | 6 +- man/XCreateGC.man | 44 ++++++++++----------- man/XCreateWindow.man | 34 ++++++++-------- man/XCreateWindowEvent.man | 20 ++++----- man/XCrossingEvent.man | 30 +++++++------- man/XDestroyWindowEvent.man | 8 +-- man/XDrawArc.man | 2 man/XDrawText.man | 16 +++---- man/XErrorEvent.man | 12 ++--- man/XExposeEvent.man | 10 ++-- man/XFocusChangeEvent.man | 14 +++--- man/XFontSetExtents.man | 4 - man/XGetVisualInfo.man | 4 - man/XGetWindowAttributes.man | 42 ++++++++++---------- man/XGraphicsExposeEvent.man | 26 ++++++------ man/XGravityEvent.man | 8 +-- man/XKeymapEvent.man | 10 ++-- man/XLoadFont.man | 46 +++++++++++----------- man/XMapEvent.man | 26 ++++++------ man/XMapRequestEvent.man | 8 +-- man/XPropertyEvent.man | 10 ++-- man/XReparentEvent.man | 8 +-- man/XResizeRequestEvent.man | 8 +-- man/XSelectionClearEvent.man | 8 +-- man/XSelectionEvent.man | 10 ++-- man/XSelectionRequestEvent.man | 8 +-- man/XStringListToTextProperty.man | 8 +-- man/XUnmapEvent.man | 8 +-- man/XVisibilityEvent.man | 8 +-- man/XcmsColor.man | 58 ++++++++++++++-------------- man/XmbDrawText.man | 16 +++---- man/XmbTextListToTextProperty.man | 18 ++++---- man/XrmInitialize.man | 24 +++++------ 48 files changed, 399 insertions(+), 399 deletions(-)
Sweet! Thanks for fixing this picky issue, Alan.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.