[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/svg-lib e66a2d0 17/32: Merge pull request #3 from cheny
From: |
ELPA Syncer |
Subject: |
[elpa] externals/svg-lib e66a2d0 17/32: Merge pull request #3 from chenyanming/fix-windows-string-or-array-nil-error |
Date: |
Mon, 27 Sep 2021 16:57:48 -0400 (EDT) |
branch: externals/svg-lib
commit e66a2d0600ea7ab6e4b481e951593e8a3e560f28
Merge: 952016b 6ceae83
Author: Nicolas P. Rougier <Nicolas.Rougier@inria.fr>
Commit: GitHub <noreply@github.com>
Merge pull request #3 from chenyanming/fix-windows-string-or-array-nil-error
Fix string/array nil issue on windows
---
svg-lib.el | 35 ++++++++++++++++++++---------------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/svg-lib.el b/svg-lib.el
index 5ee0bba..40fc697 100644
--- a/svg-lib.el
+++ b/svg-lib.el
@@ -103,6 +103,11 @@ collection (there are way too many to store them)."
:value-type (string :tag "URL"))
:group 'svg-lib)
+(defcustom svg-lib-icons-dir
+ (expand-file-name (concat user-emacs-directory ".cache/svg-lib/"))
+ "svg-lib icons directory."
+ :group 'svg-lib
+ :type 'directory)
;; Default style for all objects
;; ---------------------------------------------------------------------
@@ -306,30 +311,30 @@ and style elements ARGS."
"Retrieve icon NAME from COLLECTION.
Cached version is returned if it exists unless FORCE-RELOAD is t."
-
+
;; Build url from collection and name without checking for error
(let ((url (format (cdr (assoc collection svg-lib-icon-collections)) name)))
-
- ;; Get data only if not cached or if explicitely requested
- (if (or force-reload (not (url-is-cached url)))
- (let ((url-automatic-caching t)
- (filename (url-cache-create-filename url)))
- (with-current-buffer (url-retrieve-synchronously url)
- (write-region (point-min) (point-max) filename))))
-
- ;; Get data from cache
- (let ((buffer (generate-new-buffer " *temp*")))
+ ;; create the svg-lib-icons-dir if not exists
+ (unless (file-exists-p svg-lib-icons-dir)
+ (make-directory svg-lib-icons-dir))
+ (let* ((filename (expand-file-name (format "%s_%s.svg" collection name)
svg-lib-icons-dir))
+ (buffer (if (or force-reload (not (file-exists-p filename)))
+ (with-current-buffer (url-retrieve-synchronously url)
+ (goto-char (point-min))
+ (search-forward "\n\n")
+ (write-region (point) (point-max) filename)
+ (current-buffer))
+ (with-current-buffer (generate-new-buffer " *temp*")
+ (insert-file-contents filename)
+ (current-buffer)))))
(with-current-buffer buffer
- (url-cache-extract (url-cache-create-filename url)))
- (with-temp-buffer
- (url-insert-buffer-contents buffer url)
(xml-parse-region (point-min) (point-max))))))
(defun svg-lib-icon (icon &optional style &rest args)
"Create a SVG image displaying icon NAME from COLLECTION using
given STYLE and style elements ARGS."
-
+
(let* ((default svg-lib-style-default)
(style (if style (apply #'svg-lib-style nil style) default))
(style (if args (apply #'svg-lib-style style args) style))
- [elpa] externals/svg-lib f732499 02/32: Updated description, (continued)
- [elpa] externals/svg-lib f732499 02/32: Updated description, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 778ef64 04/32: Full rewrite, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 6a83751 01/32: Initial import, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 5787149 07/32: Added button object, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib fe5e099 13/32: Do not fetch svg if it is cached, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib a1bfa49 15/32: Add svg-lib-icons-dir, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 38b0bad 03/32: Typo, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 004ab08 05/32: Better handling of default style + style simplification, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib a5b06a8 09/32: Forgot screenshot, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 9115bf7 12/32: Fix string/array nil issue on windows, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib e66a2d0 17/32: Merge pull request #3 from chenyanming/fix-windows-string-or-array-nil-error,
ELPA Syncer <=
- [elpa] externals/svg-lib 461c155 06/32: Update with new style, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib e2d2d68 10/32: Better screenshot, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 952016b 11/32: Fix tasks status, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib ebde091 22/32: Added progress pies, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib b67b120 30/32: Cosmetic changes, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 90bb561 18/32: Added tag example, ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 0ce0302 19/32: Merge remote-tracking branch 'origin/master', ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 83834c6 20/32: Fix usage example in comment., ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 6876d54 26/32: Fix `font-info` query format., ELPA Syncer, 2021/09/27
- [elpa] externals/svg-lib 2cab1a0 29/32: Merge remote-tracking branch 'origin/master', ELPA Syncer, 2021/09/27