diff options
author | mousebot <mousebot@riseup.net> | 2022-01-11 18:06:57 +0100 |
---|---|---|
committer | mousebot <mousebot@riseup.net> | 2022-01-11 21:16:18 +0100 |
commit | 1ea5edbb7cb99ad4ab192169cbf649c6e179d0cc (patch) | |
tree | 64c82093c2f515b8f8c7e4f973e8e75fe342bb61 | |
parent | 5011f6634c66d0f803d60a13a471f17f0f307291 (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.el | 18 |
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. |