aboutsummaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorBjörn Bidar <bjorn.bidar@thaodan.de>2023-10-05 21:24:08 +0300
committermarty hiatt <martianhiatus@riseup.net>2023-12-31 10:59:18 +0100
commit20b41bfa9512cc643c23b8e3d8062c8bebf0be79 (patch)
tree1586b2dab05f3c61983c7c3c703f611fdcd8bea2 /lisp
parent3437dbbeeaa340e85ad1f2e9108469761c3e1aa6 (diff)
Avoid error when there's only one window in a frame when closing window
Use `(quit-window 'kill)` instead of `(kill-buffer-and-window)` to avoid error when there's only one window instead the frame: `kill-buffer-and-window: Attempt to delete minibuffer or sole ordinary window` Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mastodon-discover.el4
-rw-r--r--lisp/mastodon-profile.el7
-rw-r--r--lisp/mastodon-toot.el3
-rw-r--r--lisp/mastodon.el8
4 files changed, 16 insertions, 6 deletions
diff --git a/lisp/mastodon-discover.el b/lisp/mastodon-discover.el
index 5548b29..715954f 100644
--- a/lisp/mastodon-discover.el
+++ b/lisp/mastodon-discover.el
@@ -35,6 +35,8 @@
(declare-function discover-add-context-menu "discover")
+(autoload 'mastodon-kill-window "mastodon")
+
(defun mastodon-discover ()
"Plug Mastodon functionality into `discover'."
(interactive)
@@ -115,7 +117,7 @@
("C-c C-c" "Cycle profile views" mastodon-profile--account-view-cycle))
("Quit"
("q" "Quit mastodon and bury buffer." kill-this-buffer)
- ("Q" "Quit mastodon buffer and kill window." kill-buffer-and-window)
+ ("Q" "Quit mastodon buffer and kill window." mastodon--kill-window)
("M-C-q" "Quit mastodon and kill all buffers." mastodon-kill-all-buffers)))))))
(provide 'mastodon-discover)
diff --git a/lisp/mastodon-profile.el b/lisp/mastodon-profile.el
index 0d93747..22dd586 100644
--- a/lisp/mastodon-profile.el
+++ b/lisp/mastodon-profile.el
@@ -50,6 +50,7 @@
(autoload 'mastodon-http--patch-json "mastodon-http")
(autoload 'mastodon-http--post "mastodon-http.el")
(autoload 'mastodon-http--triage "mastodon-http.el")
+(autoload 'mastodon-kill-window "mastodon")
(autoload 'mastodon-media--get-media-link-rendering "mastodon-media.el")
(autoload 'mastodon-media--inline-images "mastodon-media.el")
(autoload 'mastodon-mode "mastodon.el")
@@ -294,7 +295,7 @@ NO-REBLOGS means do not display boosts in statuses."
"Cancel updating user profile and kill buffer and window."
(interactive)
(when (y-or-n-p "Cancel updating your profile note?")
- (kill-buffer-and-window)))
+ (mastodon-kill-window)))
(defun mastodon-profile--note-remove-header ()
"Get the body of a toot from the current compose buffer."
@@ -310,9 +311,9 @@ Ask for confirmation if length > 500 characters."
(url (mastodon-http--api "accounts/update_credentials")))
(if (> (mastodon-toot--count-toot-chars note) 500)
(when (y-or-n-p "Note is over mastodon's max for profile notes (500). Proceed?")
- (kill-buffer-and-window)
+ (quit-window 'kill)
(mastodon-profile--user-profile-send-updated-do url note))
- (kill-buffer-and-window)
+ (quit-window 'kill)
(mastodon-profile--user-profile-send-updated-do url note))))
(defun mastodon-profile--user-profile-send-updated-do (url note)
diff --git a/lisp/mastodon-toot.el b/lisp/mastodon-toot.el
index c96ee5b..c26db1e 100644
--- a/lisp/mastodon-toot.el
+++ b/lisp/mastodon-toot.el
@@ -64,6 +64,7 @@
(autoload 'mastodon-http--put "mastodon-http")
(autoload 'mastodon-http--read-file-as-string "mastodon-http")
(autoload 'mastodon-http--triage "mastodon-http")
+(autoload 'mastodon-kill-window "mastodon")
(autoload 'mastodon-profile--fetch-server-account-settings "mastodon-profile")
(autoload 'mastodon-profile--fetch-server-account-settings-maybe "mastodon-profile")
(autoload 'mastodon-profile--get-source-pref "mastodon-profile")
@@ -682,7 +683,7 @@ CANCEL means the toot was not sent, so we save the toot text as a draft."
mastodon-toot-draft-toots-list :test 'equal)))
;; prevent some weird bug when cancelling a non-empty toot:
(delete #'mastodon-toot--save-toot-text after-change-functions)
- (kill-buffer-and-window)
+ (quit-window 'kill)
(mastodon-toot--restore-previous-window-config prev-window-config)))
(defun mastodon-toot--cancel ()
diff --git a/lisp/mastodon.el b/lisp/mastodon.el
index acd1462..bac4d67 100644
--- a/lisp/mastodon.el
+++ b/lisp/mastodon.el
@@ -142,6 +142,12 @@ The default value \"%F %T\" prints ISO8601-style YYYY-mm-dd HH:MM:SS.
Use. e.g. \"%c\" for your locale's date and time format."
:type 'string)
+
+(defun mastodon-kill-window ()
+ "Quit window and delete helper."
+ (interactive)
+ (quit-window 'kill))
+
(defvar mastodon-mode-map
(let ((map (make-sparse-keymap)))
;; navigation inside a timeline
@@ -169,7 +175,7 @@ Use. e.g. \"%c\" for your locale's date and time format."
(define-key map (kbd "/") #'mastodon-switch-to-buffer)
;; quitting mastodon
(define-key map (kbd "q") #'kill-current-buffer)
- (define-key map (kbd "Q") #'kill-buffer-and-window)
+ (define-key map (kbd "Q") #'mastodon-kill-window)
(define-key map (kbd "M-C-q") #'mastodon-kill-all-buffers)
;; toot actions
(define-key map (kbd "c") #'mastodon-tl--toggle-spoiler-text-in-toot)