GNU bug report logs - #23647
25.1.50; In man pages, links on hyphenated words don't work

Previous Next

Package: emacs;

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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#23647: closed (25.1.50; In man pages, links on hyphenated
 words don't work)
Date: Sun, 05 Jun 2016 11:19:02 +0000
[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)]
From: Stephen Berman <stephen.berman <at> gmx.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.1.50; In man pages, links on hyphenated words don't work
Date: Sun, 29 May 2016 11:52:29 +0200
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)]
From: Stephen Berman <stephen.berman <at> gmx.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 23647-done <at> debbugs.gnu.org
Subject: Re: bug#23647: 25.1.50;
 In man pages, links on hyphenated words don't work
Date: Sun, 05 Jun 2016 13:17:59 +0200
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.