aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormousebot <mousebot@riseup.net>2022-01-11 18:06:57 +0100
committermousebot <mousebot@riseup.net>2022-01-11 21:16:18 +0100
commit1ea5edbb7cb99ad4ab192169cbf649c6e179d0cc (patch)
tree64c82093c2f515b8f8c7e4f973e8e75fe342bb61
parent5011f6634c66d0f803d60a13a471f17f0f307291 (diff)
FIX local mentions/links checking
we remove the hacky non-check for a user handle from mastodon-tl--process-link, so that it /always/ runs mastodon-tl--extract-userhandle-from-url. the in extract-userhandle-from-url, we test if the url host = local instance. if so, we just return buffer-text, which = "@user", with no suffix. else we return a full "@user@instance.url" handle. remove unused var after fix to userhandle parsing
-rw-r--r--lisp/mastodon-tl.el18
1 files changed, 9 insertions, 9 deletions
diff --git a/lisp/mastodon-tl.el b/lisp/mastodon-tl.el
index 87b8dfc..cd27bd5 100644
--- a/lisp/mastodon-tl.el
+++ b/lisp/mastodon-tl.el
@@ -492,13 +492,8 @@ START and END are the boundaries of the link in the toot."
mastodon-instance-url))
(maybe-hashtag (mastodon-tl--extract-hashtag-from-url
url toot-instance-url))
- (url-instance (concat "https://"
- (url-host (url-generic-parse-url url))))
- (maybe-userhandle (if (string= mastodon-instance-url url-instance)
- ; if handle is local, then no instance suffix:
- (buffer-substring-no-properties start end)
- (mastodon-tl--extract-userhandle-from-url
- url (buffer-substring-no-properties start end)))))
+ (maybe-userhandle (mastodon-tl--extract-userhandle-from-url
+ url (buffer-substring-no-properties start end))))
(cond (;; Hashtags:
maybe-hashtag
(setq mastodon-tab-stop-type 'hashtag
@@ -550,11 +545,16 @@ START and END are the boundaries of the link in the toot."
BUFFER-TEXT is the text covered by the link with URL, for a user profile
this should be of the form <at-sign><user id>, e.g. \"@Gargon\"."
- (let ((parsed-url (url-generic-parse-url url)))
+ (let* ((parsed-url (url-generic-parse-url url))
+ (local-p (string=
+ (url-host (url-generic-parse-url mastodon-instance-url))
+ (url-host parsed-url))))
(when (and (string= "@" (substring buffer-text 0 1))
(string= (downcase buffer-text)
(downcase (substring (url-filename parsed-url) 1))))
- (concat buffer-text "@" (url-host parsed-url)))))
+ (if local-p
+ buffer-text ; no instance suffic for local mention
+ (concat buffer-text "@" (url-host parsed-url))))))
(defun mastodon-tl--extract-hashtag-from-url (url instance-url)
"Return the hashtag that URL points to or nil if URL is not a tag link.