Skip to content

Commit

Permalink
Add/Fix: Improve error handling for finding buffers
Browse files Browse the repository at this point in the history
See issue #20.
  • Loading branch information
alphapapa committed Nov 24, 2020
1 parent 7c03d63 commit 4b3d262
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions burly.el
Original file line number Diff line number Diff line change
Expand Up @@ -184,10 +184,12 @@ See Info node `(elisp)Window Parameters'."
(pcase-let* ((urlobj (url-generic-parse-url url))
((cl-struct url type) urlobj)
(subtype (car (last (split-string type "+" 'omit-nulls)))))
(pcase-exhaustive subtype
("bookmark" (burly--bookmark-url-buffer urlobj))
("file" (burly--file-url-buffer urlobj))
("name" (get-buffer (cdr (url-path-and-query urlobj)))))))
(condition-case err
(pcase-exhaustive subtype
("bookmark" (burly--bookmark-url-buffer urlobj))
("file" (burly--file-url-buffer urlobj))
("name" (burly--name-url-buffer urlobj)))
(error (delay-warning 'burly (format "Error while opening buffer URL: ERROR:%S URL:%S" err url))))))

(defun burly-buffer-url (buffer)
"Return URL for BUFFER."
Expand All @@ -205,6 +207,12 @@ See Info node `(elisp)Window Parameters'."
(url-recreate-url (url-parse-make-urlobj "emacs+burly+name" nil nil nil nil
(concat "?" (buffer-name buffer)) nil nil 'fullness)))))))

(defun burly--name-url-buffer (urlobj)
"Return buffer for \"emacs+burly+name:\" URLOBJ."
(pcase-let* ((`(,_path . ,buffer-name) (url-path-and-query urlobj)))
(cl-assert buffer-name nil "No buffer name in URL: %S" (url-path-and-query urlobj))
(get-buffer buffer-name)))

;;;;; Files

(defun burly--file-url-buffer (urlobj)
Expand Down Expand Up @@ -383,7 +391,7 @@ URLOBJ should be a URL object as returned by
(save-window-excursion
(condition-case err
(bookmark-jump record)
(error (delay-warning 'burly (format "Error while opening bookmark: ERROR:%S RECORD:%S" err record))))
(error (signal (car err) (list (format "Error while opening bookmark: ERROR-DATA:%S RECORD:%S" (cdr err) record)))))
(current-buffer))))

;;;;; Org buffers
Expand Down

0 comments on commit 4b3d262

Please sign in to comment.