aboutsummaryrefslogtreecommitdiff
path: root/lisp/mastodon-toot.el
diff options
context:
space:
mode:
authormarty hiatt <martianhiatus [a t] riseup [d o t] net>2023-03-27 15:14:48 +0200
committermarty hiatt <martianhiatus [a t] riseup [d o t] net>2023-03-27 15:14:48 +0200
commitd1ffaca6e21b988255d1b980a9de6bb1d976e1af (patch)
tree9a483b73c45306a210d4f4fa1cc87eb443256a26 /lisp/mastodon-toot.el
parent34db55b8ae375bb397c1cb3614abaaa847d2de3f (diff)
work on reloading a view after sending an edited toot. FIX #421.
- fix up reload-timeline-or-profile - additions to --send for edited toots position of point is only rough, chosen from buffer point prior to reload, but buffers change on reload (things added if timeline, things removed if delete toot or clear notif. we may need to find a much better way.
Diffstat (limited to 'lisp/mastodon-toot.el')
-rw-r--r--lisp/mastodon-toot.el34
1 files changed, 19 insertions, 15 deletions
diff --git a/lisp/mastodon-toot.el b/lisp/mastodon-toot.el
index dfc02ee..81185e8 100644
--- a/lisp/mastodon-toot.el
+++ b/lisp/mastodon-toot.el
@@ -773,11 +773,12 @@ instance to edit a toot."
(let* ((toot (mastodon-toot--remove-docs))
(scheduled mastodon-toot--scheduled-for)
(scheduled-id mastodon-toot--scheduled-id)
+ (edit-id mastodon-toot--edit-toot-id)
(endpoint
- (if mastodon-toot--edit-toot-id
+ (if edit-id
;; we are sending an edit:
(mastodon-http--api (format "statuses/%s"
- mastodon-toot--edit-toot-id))
+ edit-id))
(mastodon-http--api "statuses")))
(spoiler (when (and (not (mastodon-toot--empty-p))
mastodon-toot--content-warning)
@@ -819,22 +820,25 @@ instance to edit a toot."
((mastodon-toot--empty-p)
(message "Empty toot. Cowardly refusing to post this."))
(t
- (let ((response (if mastodon-toot--edit-toot-id
+ (let ((response (if edit-id
;; we are sending an edit:
(mastodon-http--put endpoint args)
(mastodon-http--post endpoint args))))
- (mastodon-http--triage response
- (lambda ()
- (mastodon-toot--kill)
- (if scheduled
- (message "Toot scheduled!")
- (message "Toot toot!"))
- ;; cancel scheduled toot if we were editing it:
- (when scheduled-id
- (mastodon-views--cancel-scheduled-toot
- scheduled-id :no-confirm))
- (mastodon-toot--restore-previous-window-config
- prev-window-config))))))))
+ (mastodon-http--triage
+ response
+ (lambda ()
+ (mastodon-toot--kill)
+ (if scheduled
+ (message "Toot scheduled!")
+ (message "Toot toot!"))
+ ;; cancel scheduled toot if we were editing it:
+ (when scheduled-id
+ (mastodon-views--cancel-scheduled-toot
+ scheduled-id :no-confirm))
+ (mastodon-toot--restore-previous-window-config prev-window-config)
+ (when edit-id
+ (let ((pos (marker-position (cadr prev-window-config))))
+ (mastodon-tl--reload-timeline-or-profile pos))))))))))
;; EDITING TOOTS: