GNU bug report logs -
#23647
25.1.50; In man pages, links on hyphenated words don't work
Previous Next
Reported by: Stephen Berman <stephen.berman <at> gmx.net>
Date: Sun, 29 May 2016 09:53:01 UTC
Severity: minor
Tags: patch
Found in version 25.1.50
Done: Stephen Berman <stephen.berman <at> gmx.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 05 Jun 2016 13:17:59 +0200
with message-id <87ziqzq3yw.fsf <at> gmx.net>
and subject line Re: bug#23647: 25.1.50; In man pages, links on hyphenated words don't work
has caused the debbugs.gnu.org bug report #23647,
regarding 25.1.50; In man pages, links on hyphenated words don't work
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
23647: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23647
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
O. emacs -Q
1. Open a man page that has a link on a hyphenated word, e.g. on my
system: M-x man RET signal RET, put point on the word spanning lines
129-130, which is displayed as `sig-
nalfd(2)'.
2. Type RET (or click mouse-1 or mouse-2) on that link.
=> The error message "Can’t find the 2 sig-nalfd manpage" is displayed.
The following patch makes the link DTRT:
diff --git a/lisp/man.el b/lisp/man.el
index 5acf90b..5d4cacc 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -1430,8 +1430,14 @@ Man-bgproc-sentinel
(quit-restore-window
(get-buffer-window (current-buffer) t) 'kill)
(kill-buffer (current-buffer)))
- (message "Can't find the %s manpage"
- (Man-page-from-arguments args)))
+ ;; Entries hyphenated due to the window width
+ ;; won't be found in the man database, so remove
+ ;; the hyphenation and look again.
+ (if (string-match "-" args)
+ (let ((str (replace-match "" nil nil args)))
+ (Man-getpage-in-background str))
+ (message "Can't find the %s manpage"
+ (Man-page-from-arguments args))))
(if Man-fontify-manpage-flag
(message "%s man page formatted"
This is a long-standing bug (presumably since commit
162a12b1d7b1e985a8810bad24d068c825286f56 of Sep 13 2007), but although
the fix seems safe, I suppose it's too late for emacs-25. So if there
are no objections, should I commit it to master, or is it ok for the
upcoming release?
In GNU Emacs 25.1.50.19 (x86_64-suse-linux-gnu, GTK+ Version 3.14.15)
of 2016-05-28 built on rosalinde
Repository revision: 4ef0fc192b8a10625053dbb9376c814e68612eb6
Windowing system distributor 'The X.Org Foundation', version 11.0.11601000
System Description: openSUSE 13.2 (Harlequin) (x86_64)
Configured using:
'configure --with-xwidgets 'CFLAGS=-Og -g3''
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XWIDGETS
Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
[Message part 3 (message/rfc822, inline)]
On Sat, 04 Jun 2016 18:35:46 +0300 Eli Zaretskii <eliz <at> gnu.org> wrote:
>> So how should we proceed from here? We could add U+2010 to the regexp
>> in my patch, which would then be this: "[-‐]" (hyphen-minus (ASCII 45),
>> hyphen (U+2010), soft hyphen (U+00AD) -- it seems harmless to retain the
>> latter, given that man.el already uses it elsewhere), but if these are
>> all included in the Unicode Pd character class along with other possible
>> hyphen characters, maybe a different approach is required. I know
>> nothing about the Pd character class and how to detect it with Elisp; I
>> also don't know if doing that would lead to further changes in man.el,
>> making this a larger undertaking. What do you suggest?
>
> I'd go with just those 3, I think the others will not be produced by
> Groff.
Done in commit 75de364 on master, and closing the bug.
Steve Berman
This bug report was last modified 8 years and 356 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.