[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals-release/org f9aeba5dd7: org.el: Avoid crash in `org-fil
From: |
ELPA Syncer |
Subject: |
[elpa] externals-release/org f9aeba5dd7: org.el: Avoid crash in `org-file-contents' in case of network failure |
Date: |
Sun, 26 Feb 2023 06:58:14 -0500 (EST) |
branch: externals-release/org
commit f9aeba5dd783c2c67bcb3dd52d6c424560bd1532
Author: Damien Cassou <damien@cassou.me>
Commit: Ihor Radchenko <yantar92@posteo.net>
org.el: Avoid crash in `org-file-contents' in case of network failure
* lisp/org.el (org-file-contents): Wrap the
`url-retrieve-synchronously' call into a `condition-case' block to
avoid throwing an error when NOERROR is non-nil.
TINYCHANGE
---
lisp/org.el | 34 +++++++++++++++++++---------------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 9a4f7803cf..af66554a5f 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4559,21 +4559,25 @@ is available. This option applies only if FILE is a
URL."
(cache)
(is-url
(if (org--should-fetch-remote-resource-p file)
- (with-current-buffer (url-retrieve-synchronously file)
- (goto-char (point-min))
- ;; Move point to after the url-retrieve header.
- (search-forward "\n\n" nil :move)
- ;; Search for the success code only in the url-retrieve header.
- (if (save-excursion
- (re-search-backward "HTTP.*\\s-+200\\s-OK" nil :noerror))
- ;; Update the cache `org--file-cache' and return contents.
- (puthash file
- (buffer-substring-no-properties (point) (point-max))
- org--file-cache)
- (funcall (if noerror #'message #'user-error)
- "Unable to fetch file from %S"
- file)
- nil))
+ (condition-case error
+ (with-current-buffer (url-retrieve-synchronously file)
+ (goto-char (point-min))
+ ;; Move point to after the url-retrieve header.
+ (search-forward "\n\n" nil :move)
+ ;; Search for the success code only in the url-retrieve header.
+ (if (save-excursion
+ (re-search-backward "HTTP.*\\s-+200\\s-OK" nil :noerror))
+ ;; Update the cache `org--file-cache' and return contents.
+ (puthash file
+ (buffer-substring-no-properties (point)
(point-max))
+ org--file-cache)
+ (funcall (if noerror #'message #'user-error)
+ "Unable to fetch file from %S"
+ file)
+ nil))
+ (error (if noerror
+ (message "Org could't download \"%s\": %s %S" file (car
error) (cdr error))
+ (signal (car error) (cdr error)))))
(funcall (if noerror #'message #'user-error)
"The remote resource %S is considered unsafe, and will not be
downloaded."
file)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals-release/org f9aeba5dd7: org.el: Avoid crash in `org-file-contents' in case of network failure,
ELPA Syncer <=