From 4ca924fc02249b0ff7d9e379358a26dda10482f8 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sun, 23 Jul 2023 17:26:54 +1000 Subject: Better my-fetch-url --- emacs/.emacs.d/lisp/my/my-net.el | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'emacs/.emacs.d/lisp/my/my-net.el') diff --git a/emacs/.emacs.d/lisp/my/my-net.el b/emacs/.emacs.d/lisp/my/my-net.el index 7713dba..1ffbfae 100644 --- a/emacs/.emacs.d/lisp/my/my-net.el +++ b/emacs/.emacs.d/lisp/my/my-net.el @@ -42,13 +42,22 @@ my-download-dir))) (url-retrieve url 'my-fetch-url-save-and-switch (list file-name)))) + (defun my-fetch-url-save-and-switch (status file-name) - (unless (plist-get status :error) - (my-delete-http-header) - (write-file file-name) - (let ((coding-system-for-read 'utf-8)) + (when (plist-get status :error) + (error "My fetch failed: %s" (plist-get status :error))) + (my-delete-http-header) + (let ((to-insert (buffer-string)) + (buffer (find-file-noselect file-name)) + (coding-system-for-write 'utf-8)) + (kill-buffer) + (with-current-buffer buffer + (insert to-insert) + (goto-char (point-min)) + (save-buffer) (revert-buffer t t)) - (switch-to-buffer (current-buffer)))) + (switch-to-buffer buffer)) + ) (defun my-kill-http-header () (my-skip-http-header) -- cgit v1.2.3