From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id uMcPG8EQrGMIIQAAbAwnHQ (envelope-from ) for ; Wed, 28 Dec 2022 10:47:45 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 2NkZG8EQrGOQTAEA9RJhRA (envelope-from ) for ; Wed, 28 Dec 2022 10:47:45 +0100 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 03A30F2CB for ; Wed, 28 Dec 2022 10:47:44 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAT1n-0007h4-QW; Wed, 28 Dec 2022 04:47:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAT1m-0007gq-DR for emacs-orgmode@gnu.org; Wed, 28 Dec 2022 04:47:14 -0500 Received: from mail-oo1-xc36.google.com ([2607:f8b0:4864:20::c36]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAT1k-0006VA-Ej for emacs-orgmode@gnu.org; Wed, 28 Dec 2022 04:47:14 -0500 Received: by mail-oo1-xc36.google.com with SMTP id o5-20020a4a2c05000000b004ac6ea6c75dso2604905ooo.8 for ; Wed, 28 Dec 2022 01:47:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=p0tlCalBxOVtiy4+ztd3JvvAnNxMOOLw/bewe7WxdHw=; b=a/NJIgVq5II9BId6PX6AQCIwuPeiSZVUU/qiJkfB2TMhDc2lFa/1oSI06jGJ89mHR0 cW30FEhoFFEuzUSC8QDCLOEUzdoNtVfLWMpvqebfymngHQHKYaG9LcGwPuTDZ5086Cda zzk3AcA0mVtow8tehLY+QvwG2luxCrhaApoOojTgsqWnw80C/xWzHk4Ry2bhzUAaRqwi JyCucnnl6ResEQKDsjqZIanlsWXeJJz6DsmpZoiZG88zHM8ZsbjdBQtivmAA/VUVfgvZ OcQs21Oz0PV5kwfvr9ssvuRLN2Xe4+00jk4WzFd02t8kmBHVjifPT5aSNQ69rmzCEQ5W SYcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=p0tlCalBxOVtiy4+ztd3JvvAnNxMOOLw/bewe7WxdHw=; b=HEtbdg3H0aJG5d9jlrKOGwVIJHqddQhe4DDGgc+RyeXgDMrG3qDERxrWjodt+MIVK3 FEH/My62CmnvAXm4hGVda69W8/QFB88MqBFS9m2y4cCHux0ozjlTSTE6HsEFSvuPfPGN /J0GCpNjlF7yttZ3F5/6udQveWHU+L2dUmILzYY1l1wZNzePz2ysPi7MXNlpO4zKpWcT gYzSjl6xe07JIWSDi/V+FTOWMY4rs6Up9q0v6bKb64+8hvT/yIk0GATI1GN+SGMbKkCd TqeGmMUL2FZfdGHOb+67vmTelkEkvU+GAKDOuIVvs/BTeBkgyQig6kGHFlX8kTMryBa2 CYxA== X-Gm-Message-State: AFqh2kryAPZJoqkGLT5NimQZYaPWdcuM69IAnP9fgYdsv2kwlm4pAEtu skppF06VACsfsHe1f941sNHJpbAhG3tEh6P/cVdtpzYv4EKIHw== X-Google-Smtp-Source: AMrXdXsNEZn5ZbCoP2cpAmH69NcWmyyIIv6/IH0Wakg6FwzC6VbZc8oUKRw99gKjeVhs2LhrsgYwxiHnM0jAGbOqxAo= X-Received: by 2002:a4a:9631:0:b0:4a3:cbfd:6fbe with SMTP id q46-20020a4a9631000000b004a3cbfd6fbemr1108293ooi.14.1672220831120; Wed, 28 Dec 2022 01:47:11 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Daniel Clemente Date: Wed, 28 Dec 2022 09:46:44 +0000 Message-ID: Subject: Re: Radio links work only in small numbers To: =?UTF-8?Q?Rudolf_Adamkovi=C4=8D?= Cc: emacs-orgmode@gnu.org Content-Type: multipart/alternative; boundary="000000000000a0024205f0e040c8" Received-SPF: pass client-ip=2607:f8b0:4864:20::c36; envelope-from=n142857@gmail.com; helo=mail-oo1-xc36.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, 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.29 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1672220865; a=rsa-sha256; cv=none; b=R4SVBzEOdwtykkFd0TQx5rneZRVe1WPFBBVpKgzHHuWfKXMAOIZ6Qmi16dPuIpB6xpcDvU 4HfvSxq8eLtE3g1X6EFqc2/Qr3VGyONimbGYuFSYyllhj3h9yRhSA2AJNe5jMZpuaos+rD bimEK2ChKR5fMqrCX7DM/250J0VCSniPVwh5Jl+K+aO3nvzYX5r8JKBuTCxU6tw5rFscxN GT0fGDjc/gTNq/X4cnEPil0mv2WPbbgTZVIbgFw431BttCcg5vhLicZD+VUp1p0opBuioz sfcJ2dViz4vyKmZDR6whwqajHTV6ua0N8lFjpjpmldjYgzDw6ReR6ORQT1bKqw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="a/NJIgVq"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1672220865; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=p0tlCalBxOVtiy4+ztd3JvvAnNxMOOLw/bewe7WxdHw=; b=FpaZbXuC0HqxXNf5cyMDGdNJ15mX4EucHTFpcDDgopu6Keyqp8bvcLl92uN7N2dfWDY2T2 C1d/BIQeXOti8pyOlmbfZmnNXEwBZvD3fDISk95CYz4Fu6xYlzs9gGe8C/nIIAUQSAMUrU jC4eDFvC5xtgTcPx/HxDEqLxEk49xPpECRmmRCYgtAXbmXIeSAgKBb8Wx6dNG2R1jmR4kq 8QKxKdheUMAHKup4S9fAso7iUZI5hq4Yp717yJugoUO+otatMYn5X5KwVOscml4SOZmnGf BvuIj94uK8ByMGvXnqcSL9PA55ddVJ6kG2/IEwm5H8Wxi2Im2ie3a6DG3V70PA== X-Spam-Score: -4.61 X-Migadu-Queue-Id: 03A30F2CB Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="a/NJIgVq"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -4.61 X-TUID: Fs7eHCsp7mLy --000000000000a0024205f0e040c8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, I also found this limitation, and my solution was to disable radio links and to replace them by a manual approach: 1. I disabled the call to (org-update-radio-target-regexp) in org.el. Well, I added a boolean org-inhibit-startup-radio-refresh, that works in a similar way to org-inhibit-startup-visibility-stuff. After this change, I still type <<>> to define a title, but org doesn't handle it anymore 2. I created a helm menu, that offers me all the radio links. I compute the list of radio links myself, through grep, by looking for <<<. It's easier than it seems, and very fast. The code (no explanations) is my configuration , in these functions: anythingyhelm-fuente-etiquetas-radio-org, precarga-etiquetas-radio-de-wiki-para-helm 3. Often, when I want to refer to a title, I write in in cursive, /like this/. That's my way of telling myself =E2=80=9Ethat's a link, you can manu= ally search for it through helm=E2=80=9C. The target will be tagged <<>>. I could automate this link-following but I don't mind typing for 1 or 2 seconds to go a header. I still use normal links (C-c C-l, :ID: etc.) if I want something that is easier to follow. My system doesn't provide the same features as org's radio links, but I get an interactive menu with pattern matching and very fast access to all headers. I would still prefer the real radio links, with no limitations. However, I understand that org-mode's approach is computationally harder. Whereas I'm looking for ONE target link through all my 100 files, org-mode is doing a regexp that looks for ALL target links in the current file. And I have around 20k radio links!. Grepping for 20k things everywhere is harder than grepping for 1 thing everywhere. Even GNU grep is slow (>25 seconds) if I use a long regular expression with 20k things inside. In other words: since radio links don't scale well, I have replaced the real radio links (search for everything everywhere) with a directed approach (search for 1 thing everywhere). On Tue, 13 Dec 2022 at 23:11, Rudolf Adamkovi=C4=8D wrote: > Greetings smart people! > > All [[link]]s in my notes perfectly match LEVEL-1 headings, so I figured > that I may as well ask Org to make links for me. So, I replaced all the > ~4000 headings in my notes with radio <<>>. However, Org now > errors out with "Regular expression too big". > > Does anyone know how to overcome this limitation? Or, perhaps someone > has a patch in works that fixes it? If so, please let me know! > > Thank you. > > Rudy > -- > "The introduction of suitable abstractions is our only mental aid to > organize and master complexity." > -- Edsger Wybe Dijkstra, 1930-2002 > > Rudolf Adamkovi=C4=8D [he/him] > Studenohorsk=C3=A1 25 > 84103 Bratislava > Slovakia > > --000000000000a0024205f0e040c8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,
I also found this limitation, and my s= olution was to disable radio links and to replace them by a manual approach= :

1. I disabled the call to (org-update-radio-= target-regexp) in org.el. Well, I added a boolean org-inhibit-startup-radio= -refresh, that works in a similar way to org-inhibit-startup-visibility-stu= ff. After this change, I still type <<<this>>> to define = a title, but org doesn't handle it anymore

2. I created a helm men= u, that offers me all the radio links. I compute the list of radio links my= self, through grep, by looking for <<<. It's easier than it se= ems, and very fast. The code (no explanations) is my configuration, in these functions= : anythingyhelm-fuente-etiquetas-radio-org, precarga-etiquetas-radio-de-wik= i-para-helm

3. Often, when I want to refer to a ti= tle, I write in in cursive, /like this/. That's my way of telling mysel= f =E2=80=9Ethat's a link, you can manually search for it through helm= =E2=80=9C. The target will be tagged <<<like this>>>. I c= ould automate this link-following but I don't mind typing for 1 or 2 se= conds to go a header. I still use normal links (C-c C-l, :ID: etc.) if I wa= nt something that is easier to follow.

My syst= em doesn't provide the same features as org's radio links, but I ge= t an interactive menu with pattern matching and very fast access to all hea= ders. I would still prefer the real radio links, with no limitations.
=
However, I understand that org-mode's approach is computationally= harder. Whereas I'm looking for ONE target link through all my 100 fil= es, org-mode is doing a regexp that looks for ALL target links in the curre= nt file. And I have around 20k radio links!. Grepping for 20k things everyw= here is harder than grepping for 1 thing everywhere. Even GNU grep is slow = (>25 seconds) if I use a long regular expression with 20k things = inside.

In other words: since radio links don&= #39;t scale well, I have replaced the real radio links (search for everythi= ng everywhere) with a directed approach (search for 1 thing everywhere).


On Tue, 13 Dec 2022 at 23:11, Rudolf Adamkovi=C4=8D &= lt;salutis@me.com> wrote:
Greetings smart people!<= br>
All [[link]]s in my notes perfectly match LEVEL-1 headings, so I figured that I may as well ask Org to make links for me.=C2=A0 So, I replaced all t= he
~4000 headings in my notes with radio <<<targets>>>.=C2= =A0 However, Org now
errors out with "Regular expression too big".

Does anyone know how to overcome this limitation?=C2=A0 Or, perhaps someone=
has a patch in works that fixes it?=C2=A0 If so, please let me know!

Thank you.

Rudy
--
"The introduction of suitable abstractions is our only mental aid to organize and master complexity."
-- Edsger Wybe Dijkstra, 1930-2002

Rudolf Adamkovi=C4=8D <salutis@me.com> [he/him]
Studenohorsk=C3=A1 25
84103 Bratislava
Slovakia

--000000000000a0024205f0e040c8--