From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Jean Louis <bugs@gnu.support>
Newsgroups: gmane.emacs.bugs
Subject: bug#44895: Add Info-copy-permalink
Date: Fri, 27 Nov 2020 11:14:18 +0300
Message-ID: <X8C1WjMTdy+HKJlS@protected.rcdrun.com>
References: <874klbn6g8.5.fsf@jidanni.org>
 <83sg8vp8k7.fsf@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
	logging-data="26959"; mail-complaints-to="usenet@ciao.gmane.io"
User-Agent: Mutt/2.0 (3d08634) (2020-11-07)
Cc: 44895@debbugs.gnu.org,
 =?UTF-8?Q?=E7=A9=8D=E4=B8=B9=E5=B0=BC?= Dan Jacobson <jidanni@jidanni.org>
To: Eli Zaretskii <eliz@gnu.org>
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Nov 27 09:21:47 2020
Return-path: <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>
Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org
Original-Received: from lists.gnu.org ([209.51.188.17])
	by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
	(Exim 4.92)
	(envelope-from <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>)
	id 1kiZ0l-0006qw-54
	for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 Nov 2020 09:21:47 +0100
Original-Received: from localhost ([::1]:38270 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>)
	id 1kiZ0k-0008S5-7J
	for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 27 Nov 2020 03:21:46 -0500
Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45882)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1kiYy6-0007Rc-Ip
 for bug-gnu-emacs@gnu.org; Fri, 27 Nov 2020 03:19:02 -0500
Original-Received: from debbugs.gnu.org ([209.51.188.43]:60512)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1kiYy6-0004p7-BH
 for bug-gnu-emacs@gnu.org; Fri, 27 Nov 2020 03:19:02 -0500
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1kiYy6-0001qn-7A
 for bug-gnu-emacs@gnu.org; Fri, 27 Nov 2020 03:19:02 -0500
X-Loop: help-debbugs@gnu.org
Resent-From: Jean Louis <bugs@gnu.support>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Fri, 27 Nov 2020 08:19:02 +0000
Resent-Message-ID: <handler.44895.B44895.16064650847046@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 44895
X-GNU-PR-Package: emacs
Original-Received: via spool by 44895-submit@debbugs.gnu.org id=B44895.16064650847046
 (code B ref 44895); Fri, 27 Nov 2020 08:19:02 +0000
Original-Received: (at 44895) by debbugs.gnu.org; 27 Nov 2020 08:18:04 +0000
Original-Received: from localhost ([127.0.0.1]:43825 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1kiYxA-0001pa-Cz
 for submit@debbugs.gnu.org; Fri, 27 Nov 2020 03:18:04 -0500
Original-Received: from static.rcdrun.com ([95.85.24.50]:36471)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bugs@gnu.support>) id 1kiYx6-0001oN-JZ
 for 44895@debbugs.gnu.org; Fri, 27 Nov 2020 03:18:02 -0500
Original-Received: from localhost ([::ffff:41.202.241.56])
 (AUTH: PLAIN admin, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384)
 by static.rcdrun.com with ESMTPSA
 id 00000000002C0010.000000005FC0B632.00006815; Fri, 27 Nov 2020 08:17:53 +0000
Content-Disposition: inline
In-Reply-To: <83sg8vp8k7.fsf@gnu.org>
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: bug-gnu-emacs@gnu.org
List-Id: "Bug reports for GNU Emacs,
 the Swiss army knife of text editors" <bug-gnu-emacs.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/bug-gnu-emacs>
List-Post: <mailto:bug-gnu-emacs@gnu.org>
List-Help: <mailto:bug-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=subscribe>
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org
Original-Sender: "bug-gnu-emacs"
 <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>
Xref: news.gmane.io gmane.emacs.bugs:194411
Archived-At: <http://permalink.gmane.org/gmane.emacs.bugs/194411>

* Eli Zaretskii <eliz@gnu.org> [2020-11-27 10:30]:
> severity 44895 wishlist
> thanks
> 
> > From: 積丹尼 Dan Jacobson
> >  <jidanni@jidanni.org>
> > Date: Fri, 27 Nov 2020 05:39:35 +0800
> > 
> > c runs the command Info-copy-current-node-name.
> > 
> > That's great but not powerful enough.
> > 
> > Let's say I am reading
> > (info "(emacs) Optional Mode Line")
> > and stumble upon the fact that
> >    On graphical displays, the mode line is drawn as a 3D box.
> > 
> > I think, "This is great. I'll be sure to tell Mrs. Nerblefield. She'll
> > switch editors right away."
> > 
> > Well, most other programs' manuals have a "share" or "copy permalink"
> > button, most alas except for emacs.
> 
> How do you "share" a section in a manual? compose an email that
> includes the text of the section in the attachment? something else?

I can understand this demand of Dan as I have the same. 

This is similar to partial functions of `org-store-link' and to key
`w' in *eww*, or to `c' to copy Node name in the Info buffer, with
addition that capturing the hyperlink to the reference would construct
the shareable link or could invoke integration to quickly send it to
somebody.

If it is meant to obtain quick reference to be shared with somebody,
partial construction of URL could be obtained with:

User could press let us say: `C' on the "14.18 Optional Mode Line
Features" page, then the WWW hyperlink could be constructed in memory
pointing to:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Optional-Mode-Line.html
or snippet could be constructed with the title and URL such as:

Emacs Manual: 14.18 Optional Mode Line Features
https://www.gnu.org/software/emacs/manual/html_node/emacs/Optional-Mode-Line.html

then by yanking snippet into email it can be shared easily with
third party.

If person is reading email through Emacs and knows how to evaluate
functions, one can also share it by using `c' and then constructing this:

(info "(emacs) Optional Mode Line")

it is little more tedious, then if there is option to quickly obtain
human readable hyperlink.

More integration could be achieved by just pressing `C' or other key
that would invoke email to be constructed with:

Subject: Emacs Manual: 14.18 Optional Mode Line Features

and body being:

Emacs Manual: 14.18 Optional Mode Line Features
https://www.gnu.org/software/emacs/manual/html_node/emacs/Optional-Mode-Line.html

Because all of this may be complicated and demands efforts in
implementation, I am suggesting that before ever is such implemented
that Dan can try using GNU Hyperbole package by:

{M-x package-install RET hyperbole RET}

As then it becomes easy to share Info links to other users also using
GNU Hyperbole by using this workflow:

- find the info node you wish to share

- press `c' to obtain reference in memory, or {C-u 0 c}

- enclose the link in double quotes "(emacs) Registers"

- send the link and user will be able to invoke action key M-RET on
  the above to open the info page on Registers.

To automate everything one could use this function below that serves
as a concept but lacks the actual URL. If URL can be figured out from
the node name then it would be easy to share info node corresponding
WWW hyperlinks by email or by XMPP or by chat, etc.

(defun info-node-share-by-email ()
 "Send info node as email"
  (interactive)
  (Info-copy-current-node-name)
  (let ((node (pop kill-ring))
	(email (read-from-minibuffer "Email: ")))
    (compose-mail email)
    (mail-position-on-field "Subject" t)
    (insert node)
    (rfc822-goto-eoh)
    (forward-line 1)
    (insert "Here is info node reference for you: \n\n")
    (insert (format "\"%s\"\n" node))))