Subject: [PATCH] Ensure 'existing-filename' has 'bounds-of-thing-at-point'

From: Philip Kaludercic <[email-masked]>
Date: Sun, 16 Jul 2023 12:03:28 +0000

Tags: patch

Currently, it seems that

(bounds-of-thing-at-point 'existing-filename) ;=> nil

even if at the same time.

(thing-at-point 'existing-filename) ;=> non-nil

To reproduce in emacs -Q, write some existing filename into *scratch*
and then using M-: evaluate the above expressions.

I propose a simple fix in the patch below.

In GNU Emacs 29.0.92 (build 4, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.16.0) of 2023-07-16 built on quetzal
Repository revision: 17073af84d7eaedc81d84fc16f8aa0db215c6a31
Repository branch: emacs-29
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --with-pgtk --with-native-compilation --with-imagemagick
 --with-tree-sitter'

>From fcde115d5748880ad7ebbf43a10753fb7014a6e1 Mon Sep 17 00:00:00 2001
From: Philip Kaludercic <[email-masked]>
Date: Sun, 16 Jul 2023 13:56:23 +0200
Subject: [PATCH] Ensure 'existing-filename' has 'bounds-of-thing-at-point'

* lisp/thingatpt.el (existing-filename): Define
'bounds-of-thing-at-point' for 'existing-filename'.
---
 lisp/thingatpt.el | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el
index 9363a474cb5..5b6f706bd15 100644
--- a/lisp/thingatpt.el
+++ b/lisp/thingatpt.el
@@ -359,6 +359,10 @@ thing-at-point-file-at-point
     (and (file-exists-p filename)
          filename)))
 
+(put 'existing-filename 'bounds-of-thing-at-point
+     (lambda ()
+       (and (thing-at-point 'existing-filename)
+            (bounds-of-thing-at-point 'filename))))
 (put 'existing-filename 'thing-at-point 'thing-at-point-file-at-point)
 
 ;; Faces
-- 
2.39.2