[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/osm 8661010576: osm-mode: Bail out with an error if req
From: |
ELPA Syncer |
Subject: |
[elpa] externals/osm 8661010576: osm-mode: Bail out with an error if requirements are missing |
Date: |
Mon, 9 May 2022 07:57:50 -0400 (EDT) |
branch: externals/osm
commit 86610105769729eda4c2609b4b724903bcdabb88
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
osm-mode: Bail out with an error if requirements are missing
---
osm.el | 31 +++++++++++++++++++------------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/osm.el b/osm.el
index 5daabf0374..299408197c 100644
--- a/osm.el
+++ b/osm.el
@@ -6,7 +6,7 @@
;; Maintainer: Daniel Mendler <mail@daniel-mendler.de>
;; Created: 2022
;; Version: 0.7
-;; Package-Requires: ((emacs "27.1") (compat "28.1"))
+;; Package-Requires: ((emacs "27.1"))
;; Homepage: https://github.com/minad/osm
;; This file is part of GNU Emacs.
@@ -41,7 +41,6 @@
;;; Code:
-(require 'compat)
(require 'bookmark)
(require 'dom)
(eval-when-compile
@@ -747,19 +746,27 @@ Should be at least 7 days according to the server usage
policies."
(* 60 60 24 osm-max-age))
(delete-file file)))))))
+(defun osm--check-libraries ()
+ "Check that Emacs is compiled with the necessary libraries."
+ (let (req)
+ (unless (display-graphic-p)
+ (push "graphical display" req))
+ (dolist (type '(svg jpeg png))
+ (unless (image-type-available-p type)
+ (push (format "%s support" type) req)))
+ (unless (libxml-available-p)
+ (push "libxml" req))
+ ;; json-available-p is not available on Emacs 27
+ (unless (ignore-errors (equal [] (json-parse-string "[]")))
+ (push "libjansson" req))
+ (when req
+ (error "Osm: Please compile Emacs with the required libraries, %s needed
to proceed"
+ (string-join req ", ")))))
+
(define-derived-mode osm-mode special-mode "Osm"
"OpenStreetMap viewer mode."
:interactive nil
- (unless (display-graphic-p)
- (warn "osm: Graphical display is required"))
- (dolist (type '(svg jpeg png))
- (unless (image-type-available-p type)
- (warn "osm: Support for %s images is missing" type)))
- (unless (libxml-available-p)
- (warn "osm: libxml is not available"))
- ;; json-available-p is not available on Emacs 27
- (unless (ignore-errors (equal [] (json-parse-string "[]")))
- (warn "osm: libjansson is not available"))
+ (osm--check-libraries)
(setq-local osm-server osm-server
line-spacing nil
cursor-type nil
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/osm 8661010576: osm-mode: Bail out with an error if requirements are missing,
ELPA Syncer <=