From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id qMzXMEL4OV8/MAAA0tVLHw (envelope-from ) for ; Mon, 17 Aug 2020 03:23:46 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id kICpLEL4OV/lKwAAB5/wlQ (envelope-from ) for ; Mon, 17 Aug 2020 03:23:46 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 09EF69403C9 for ; Mon, 17 Aug 2020 03:23:46 +0000 (UTC) Received: from localhost ([::1]:56284 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k7VkO-00024A-FZ for larch@yhetil.org; Sun, 16 Aug 2020 23:23:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39500) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k7Vjy-000243-K4 for emacs-orgmode@gnu.org; Sun, 16 Aug 2020 23:23:18 -0400 Received: from mail-ua1-x944.google.com ([2607:f8b0:4864:20::944]:42701) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k7Vjv-00025c-Rh for emacs-orgmode@gnu.org; Sun, 16 Aug 2020 23:23:18 -0400 Received: by mail-ua1-x944.google.com with SMTP id b12so4328630uae.9 for ; Sun, 16 Aug 2020 20:23:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=im4kgsuAixvYpz5cgg/ZWRKQKV5JLEqqCEy75PR0Sdc=; b=PyBnUIQZJyoKAMsSN//8laSc48Irxd/LWZ8t7gfBRND3l+35R7gncNknUPI1FZ7YoS BcMegp2i7NP5Fw0k9yzaRdgR+VYe/mcfTALq7o89KlDImh6j0nNWuQ20A06wqMtMOEvx Ibxz0v/WfyTDcEN167gtUnmrO/YlrYE+/wPHL25f6SPMGYQKGAB5acSuz4k0eliFzVNR SkbwOxb3cwtNKjp7DsY9BxRL+YMvWNA9OYzCzALyqZUUIGzQR5VJz9bot+jYPrh/cL3/ JlCpLWzaMHZ5WAvyqmiLuISA2ljHGC5QkJRCF9NsPyTj6yw2Z4T3abV6ChMR/IS/fhEa M8Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=im4kgsuAixvYpz5cgg/ZWRKQKV5JLEqqCEy75PR0Sdc=; b=kM2ey1Jtdi1OeV+zEmbzbJqS/I5eG6wmEh7fMAMZ9AIIPqXQEq6i52ppULptcdSLv0 CqR8nBDmmvOqWOV0TznFSLicI74nHED1kOVVzwOdOxPhxV33fi8Ql4n63vC+KViLRqTN D6IWWrgzc3ZPSS9CA1yTvsQzPbTdphudB2lan8vlXZK4JjwrWxQ7OMH9aLS3z1IVd8jI DzVTLQiUqZOXGXjOnQKyuj8rwUadtL14RN7dt2RFq1YhgsE6uVwooty0jJ0BemvZtWye H01bqxx7RVO64g/wBo8XJyW/cqyEkWRF2LsA1uKKWzN/m/JCKqbkKF8OAMYCNZGPR10c 2L+w== X-Gm-Message-State: AOAM5337vW5CD9IKOBTFLHtWhTG9yEeQR04pvhkTeooboJGnJd7/cpzB iHhnqNltUEaENRIpf8uUALLXWHpFvOlLwffmtg== X-Google-Smtp-Source: ABdhPJywmA3Ftlhb92lRo/eVcVrwzy1vUy4etyj+Zl4R71qX8PS0CplCuBC/bSiIA+8cab7/oXRHRiIphzWwTt9o4FU= X-Received: by 2002:ab0:804:: with SMTP id a4mr6664245uaf.3.1597634594756; Sun, 16 Aug 2020 20:23:14 -0700 (PDT) MIME-Version: 1.0 References: <87h7t2q5jj.fsf@nicolasgoaziou.fr> In-Reply-To: <87h7t2q5jj.fsf@nicolasgoaziou.fr> From: "numbchild@gmail.com" Date: Mon, 17 Aug 2020 11:22:47 +0800 Message-ID: Subject: Re: [PATCH] improve ol-man.el with occur searching To: "numbchild@gmail.com" , Org-mode Content-Type: multipart/mixed; boundary="0000000000008073c805ad0a4adc" Received-SPF: pass client-ip=2607:f8b0:4864:20::944; envelope-from=numbchild@gmail.com; helo=mail-ua1-x944.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (body hash did not verify) header.d=gmail.com header.s=20161025 header.b=PyBnUIQZ; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: 2.19 X-TUID: Oh7BGX61pqsx --0000000000008073c805ad0a4adc Content-Type: multipart/alternative; boundary="0000000000008073c605ad0a4ada" --0000000000008073c605ad0a4ada Content-Type: text/plain; charset="UTF-8" Thanks for reviewing my code and points. :) Fixed in this attached patch. [stardiviner] GPG key ID: 47C32433 IRC(freeenode): stardiviner Twitter: @numbchild Key fingerprint = 9BAA 92BC CDDD B9EF 3B36 CB99 B8C4 B8E5 47C3 2433 Blog: http://stardiviner.github.io/ On Sun, Aug 16, 2020 at 5:54 PM Nicolas Goaziou wrote: > Hello, > > "numbchild@gmail.com" writes: > > > With this patch, ol-man.el link type can be a link like this: > > ```org > > [[man:grep::--extended-regexp][grep --extended-regexp]] > > ``` > > Occur will auto search "--extended-regexp" string in man page buffer. > > Thanks. > > > +PATH should be a topic that can be thrown at the man command. > > +If PATH contains extra ::STRING which will use `occur' to search > > +matched strings in man buffer." > > > + (string-match "\\(.*?\\)\\(?:::\\(.*\\)\\)?$" path) > > + (let* ((command (match-string 1 path)) > > + (search (match-string 2 path))) > > + (funcall org-man-command command) > > + (with-current-buffer (concat "*Man " command "*") > > This should only be called if search is non-empty. > > > + (occur search)))) > > Why occur? Org uses `search-forward' for [[foo.org::text]] text links, > and uses `occur' with [[foo.org::/text/]] links. > > Wouldn't it be more idiomatic to use a regular text search here? > > Regards, > -- > Nicolas Goaziou > --0000000000008073c605ad0a4ada Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for reviewing my code and points. :)
Fixed= in this attached patch.

[stardiviner]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <Hack this world!>=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 GPG key ID: 47C32433
IRC(freeenode): stardiviner =C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Twitter:=C2=A0 @numbchild
Key fingerprint= =3D 9BAA 92BC CDDD B9EF 3B36=C2=A0 CB99 B8C4 B8E5 47C3 2433
Blog: http://stardiviner.g= ithub.io/


On Sun, Aug 16, 2020 at = 5:54 PM Nicolas Goaziou <mail@= nicolasgoaziou.fr> wrote:
Hello,

"numbchild@gm= ail.com" <numbchild@gmail.com> writes:

> With this patch, ol-man.el link type can be a link like this:
> ```org
> [[man:grep::--extended-regexp][grep --extended-regexp]]
> ```
> Occur will auto search "--extended-regexp" string in man pag= e buffer.

Thanks.

> +PATH should be a topic that can be thrown at the man command.
> +If PATH contains extra ::STRING which will use `occur' to search<= br> > +matched strings in man buffer."

> +=C2=A0 (string-match "\\(.*?\\)\\(?:::\\(.*\\)\\)?$" path)<= br> > +=C2=A0 (let* ((command (match-string 1 path))
> +=C2=A0 =C2=A0 =C2=A0 (search (match-string 2 path)))
> +=C2=A0 =C2=A0 (funcall org-man-command command)
> +=C2=A0 =C2=A0 (with-current-buffer (concat "*Man " command = "*")

This should only be called if search is non-empty.

> +=C2=A0 =C2=A0 =C2=A0 (occur search))))

Why occur? Org uses `search-forward' for [[foo.org::text]] text links,<= br> and uses `occur' with [[foo.org::/text/]] links.

Wouldn't it be more idiomatic to use a regular text search here?

Regards,
--
Nicolas Goaziou
--0000000000008073c605ad0a4ada-- --0000000000008073c805ad0a4adc Content-Type: text/x-patch; charset="US-ASCII"; name="0001-ol-man.el-Add-searching-support-in-man-page-buffer.patch" Content-Disposition: attachment; filename="0001-ol-man.el-Add-searching-support-in-man-page-buffer.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kdxydaqr0 RnJvbSA3M2I5ZTZkOGUyMjlmNDZiOWQ5NWY2NjZmMGJmYjFjMmE3ZTNjMGFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBzdGFyZGl2aW5lciA8bnVtYmNoaWxkQGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAxNCBBdWcgMjAyMCAxMjozNzo0MiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIG9sLW1h bi5lbDogQWRkIHNlYXJjaGluZyBzdXBwb3J0IGluIG1hbiBwYWdlIGJ1ZmZlcgoKKiBjb250cmli L2xpc3Avb2wtbWFuLmVsIChvcmctbWFuLW9wZW4pOiBTdXBwb3J0IGF1dG8gc2VhcmNoaW5nIG1h biBwYWdlCmJ1ZmZlciB3aXRoIHNlYXJjaC1mb3J3YXJkLgotLS0KIGNvbnRyaWIvbGlzcC9vbC1t YW4uZWwgfCAxMyArKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL2xpc3Avb2wtbWFuLmVsIGIv Y29udHJpYi9saXNwL29sLW1hbi5lbAppbmRleCA1Y2I3ZTAxNTUuLmIyMWVkOWViYSAxMDA2NDQK LS0tIGEvY29udHJpYi9saXNwL29sLW1hbi5lbAorKysgYi9jb250cmliL2xpc3Avb2wtbWFuLmVs CkBAIC0zNyw4ICszNywxNyBAQCAoZGVmY3VzdG9tIG9yZy1tYW4tY29tbWFuZCAnbWFuCiAKIChk ZWZ1biBvcmctbWFuLW9wZW4gKHBhdGggXykKICAgIlZpc2l0IHRoZSBtYW5wYWdlIG9uIFBBVEgu Ci1QQVRIIHNob3VsZCBiZSBhIHRvcGljIHRoYXQgY2FuIGJlIHRocm93biBhdCB0aGUgbWFuIGNv bW1hbmQuIgotICAoZnVuY2FsbCBvcmctbWFuLWNvbW1hbmQgcGF0aCkpCitQQVRIIHNob3VsZCBi ZSBhIHRvcGljIHRoYXQgY2FuIGJlIHRocm93biBhdCB0aGUgbWFuIGNvbW1hbmQuCitJZiBQQVRI IGNvbnRhaW5zIGV4dHJhIDo6U1RSSU5HIHdoaWNoIHdpbGwgdXNlIGBvY2N1cicgdG8gc2VhcmNo CittYXRjaGVkIHN0cmluZ3MgaW4gbWFuIGJ1ZmZlci4iCisgIChzdHJpbmctbWF0Y2ggIlxcKC4q P1xcKVxcKD86OjpcXCguKlxcKVxcKT8kIiBwYXRoKQorICAobGV0KiAoKGNvbW1hbmQgKG1hdGNo LXN0cmluZyAxIHBhdGgpKQorCSAoc2VhcmNoIChtYXRjaC1zdHJpbmcgMiBwYXRoKSkpCisgICAg KGZ1bmNhbGwgb3JnLW1hbi1jb21tYW5kIGNvbW1hbmQpCisgICAgKHdoZW4gc2VhcmNoCisgICAg ICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoY29uY2F0ICIqTWFuICIgY29tbWFuZCAiKiIpCisJKGdv dG8tY2hhciAocG9pbnQtbWluKSkKKwkoc2VhcmNoLWZvcndhcmQgc2VhcmNoKSkpKSkKIAogKGRl ZnVuIG9yZy1tYW4tc3RvcmUtbGluayAoKQogICAiU3RvcmUgYSBsaW5rIHRvIGEgUkVBRE1FIGZp bGUuIgotLSAKMi4yNy4wCgo= --0000000000008073c805ad0a4adc--