Re: [PATCH] Re: Link-words with spaces, allowed or not?

2022-11-19 Thread Ihor Radchenko
Rudolf Adamkovič  writes:

> Ihor Radchenko  writes:
>
>> See the attached patch allowing the above syntax in #+LINK keywords.
>
> I finally got to test the patch (against the current `main' at commit
> 0b124d796) and it works perfectly.  Thank you, also, for the inclusion
> of the automated test which makes it possible for me (and us all) to
> rely on this functionality working in the future!
>
> Can we install the patch to main?

Thanks for testing!
Applied onto main now.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=b2c805f3c
Fixed.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [PATCH] Re: Link-words with spaces, allowed or not?

2022-11-19 Thread Rudolf Adamkovič
Ihor Radchenko  writes:

> See the attached patch allowing the above syntax in #+LINK keywords.

I finally got to test the patch (against the current `main' at commit
0b124d796) and it works perfectly.  Thank you, also, for the inclusion
of the automated test which makes it possible for me (and us all) to
rely on this functionality working in the future!

Can we install the patch to main?

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

Rudolf Adamkovič  [he/him]
Studenohorská 25
84103 Bratislava
Slovakia



[PATCH] Re: Link-words with spaces, allowed or not?

2022-11-04 Thread Ihor Radchenko
Ihor Radchenko  writes:

> We may allow something like
> #+LINK: "this is a link with spaces" http://replacement

See the attached patch allowing the above syntax in #+LINK keywords.

>From 0b81f2d4cc9f6dd5f8d38f9a6550387c93b15435 Mon Sep 17 00:00:00 2001
Message-Id: <0b81f2d4cc9f6dd5f8d38f9a6550387c93b15435.1667546163.git.yanta...@posteo.net>
From: Ihor Radchenko 
Date: Fri, 4 Nov 2022 15:14:44 +0800
Subject: [PATCH] org: Allow spaces in #+LINK abbreviation definitions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* lisp/org.el (org-set-regexps-and-options): Allow spaces when
defining link abbreviations via #+LINK keyword.
* testing/lisp/test-org-element.el (test-org-element/link-parser): Add
a new test.
* doc/org-manual.org (Link Abbreviations): Add example demonstrating
link abbreviation with spaces.

Reported-by: Rudolf Adamkovič 
Link: https://orgmode.org/list/87zgf7zujc.fsf@localhost
---
 doc/org-manual.org   | 3 +++
 lisp/org.el  | 6 +-
 testing/lisp/test-org-element.el | 9 +
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index dc2fc57cd..47710466a 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -3652,8 +3652,11 @@ ** Link Abbreviations
 #+begin_example
 ,#+LINK: bugzilla  https://10.1.2.9/bugzilla/show_bug.cgi?id=
 ,#+LINK: duckduckgo https://duckduckgo.com/?q=%s
+,#+LINK: "Nu Html Checker" https://validator.w3.org/nu/?doc=%h
 #+end_example
 
+The abbreviations containing spaces must be quoted.
+
 In-buffer completion (see [[*Completion]]) can be used after =[= to
 complete link abbreviations.  You may also define a Lisp function that
 implements special (e.g., completion) support for inserting such a
diff --git a/lisp/org.el b/lisp/org.el
index d8708f8f2..0036b189a 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4184,7 +4184,11 @@ (defun org-set-regexps-and-options ( tags-only)
 	   (delq nil
 		 (mapcar
 		  (lambda (value)
-			(and (string-match "\\`\\(\\S-+\\)[ \t]+\\(.+\\)" value)
+			(and (or
+  ;; "abbrev with spaces" spec
+  (string-match "\\`\"\\(.+[^\\]\\)\"[ \t]+\\(.+\\)" value)
+  ;; abbrev spec
+  (string-match "\\`\\(\\S-+\\)[ \t]+\\(.+\\)" value))
 			 (cons (match-string-no-properties 1 value)
    (match-string-no-properties 2 value
 		  (cdr (assoc "LINK" alist))
diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el
index eb5b95e86..78a735efe 100644
--- a/testing/lisp/test-org-element.el
+++ b/testing/lisp/test-org-element.el
@@ -2007,6 +2007,15 @@ (ert-deftest test-org-element/link-parser ()
 	(progn (org-mode-restart)
 		   (goto-char (1- (point-max)))
 		   (org-element-property :type (org-element-context))
+  ;; Link abbreviation with spaces.
+  (should
+   (equal "https"
+  (org-test-with-temp-text
+  "#+LINK: \"Nu Html Checker\" https://validator.w3.org/nu/?doc=%h
+  [[Nu Html Checker:test]]"
+	(progn (org-mode-restart)
+		   (goto-char (1- (point-max)))
+		   (org-element-property :type (org-element-context))
   ;; Link abbreviation in a secondary string.
   (should
(equal "https"
-- 
2.35.1


-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at