From 5971b7c10d7c38d540fdf278a0cd559c96b10ed2 Mon Sep 17 00:00:00 2001 From: Madhu Date: Thu, 31 Oct 2024 15:40:42 +0530 Subject: [PATCH] lisp/thingatpt.el: recognize urls better in markdown text * lisp/thingatpt.el: (thing-at-point-bounds-of-url-at-point): supply a LIM when calling (skip-chars-backward allowed-chars), which is the position where `thing-at-point-beginning-of-url-regexp' matches backwards problematic url e.g. ``` [![GitHub Releases Downloads](https://img.shields.io/github/downloads/raysan5/raylib/total)](https://github.com/raysan5/raylib/releases) ``` If the point is in the the second url, skip-chars-backwards goes to the space (between s and D) and `ffap-url-at-point' eventually fails. but if we supply a limit with a left anchor, we work around it. --- lisp/thingatpt.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el index 3cfd3905701..0b8e28af5b9 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -502,9 +502,14 @@ thing-at-point-bounds-of-url-at-point (let* ((allowed-chars "--:=&?$+@-Z_[:alpha:]~#,%;*()!'[]") (skip-before "^[0-9a-zA-Z]") (skip-after ":;.,!?'") + (hard-beg (and thing-at-point-beginning-of-url-regexp + (save-excursion + (re-search-backward + thing-at-point-beginning-of-url-regexp nil t) + (point)))) (pt (point)) (beg (save-excursion - (skip-chars-backward allowed-chars) + (skip-chars-backward allowed-chars hard-beg) (skip-chars-forward skip-before pt) (point))) (end (save-excursion -- 2.46.0.27.gfa3b914457