From b54b0896dc7c5a072db28b530e1bb861960fc8df Mon Sep 17 00:00:00 2001 From: 10sr <8slashes+git@gmail.com> Date: Mon, 30 May 2016 15:22:29 +0900 Subject: [PATCH] Use package.el for some libraries --- emacs.el | 72 ++++++++++---------------------------------------------- 1 file changed, 12 insertions(+), 60 deletions(-) diff --git a/emacs.el b/emacs.el index 1e5198e..2633046 100644 --- a/emacs.el +++ b/emacs.el @@ -91,56 +91,6 @@ found, otherwise returns nil." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; download library from web -(defvar fetch-library-enabled-p t - "Set nil to skip downloading with `fetch-library'.") -(defun fetch-library (url &optional byte-compile-p force-download-p) - "Download a library from URL and locate it in \"~/emacs.d/lisp/\". -Return nil if library unfound and failed to download, -otherwise the path where the library installed. -If BYTE-COMPILE-P is t byte compile the file after downloading. -If FORCE-DOWNLOAD-P it t ignore exisiting library and always download. - -This function also checks the value of `fetch-library-enabled-p' and do not -fetch libraries if this value is nil. In this case all arguments (including -FORCE-DOWNLOAD-P) will be ignored." - (let* ((dir (expand-file-name (concat user-emacs-directory "lisp/"))) - (lib (file-name-sans-extension (file-name-nondirectory url))) - (lpath (concat dir lib ".el")) - (locate-p (locate-library lib))) - (if (and fetch-library-enabled-p - (or force-download-p - (not locate-p))) - (if (progn (message "Downloading %s..." - url) - (download-file url - lpath - t)) - (progn (message "Downloading %s...done" - url) - (when (and byte-compile-p - (require 'bytecomp nil t)) - (and (file-exists-p (byte-compile-dest-file lpath)) - (delete-file (byte-compile-dest-file lpath))) - (message "Byte-compiling %s..." - lpath) - (byte-compile-file lpath) - (message "Byte-compiling %s...done" - lpath))) - (progn (and (file-writable-p lpath) - (delete-file lpath)) - (message "Downloading %s...failed" - url)))) - (locate-library lib))) -;; If EMACS_EL_DRY_RUN is set and it is not an empty string, fetch-library -;; does not actually fetch library. -(let ((dryrun (getenv "EMACS_EL_DRY_RUN"))) - (when (and dryrun - (< 0 - (length dryrun))) - (setq fetch-library-enabled-p - nil) - (message "EMACS_EL_DRY_RUN is set. Skip fetching libraries."))) - (defun download-file (url path &optional ok-if-already-exists) "Download file from URL and output to PATH. IF OK-IF-ALREADY-EXISTS is true force download." @@ -244,6 +194,10 @@ IF OK-IF-ALREADY-EXISTS is true force download." remember-major-modes-mode ilookup pasteboard + + end-mark + sl + gosh-mode )) (when (safe-require-or-eval 'package) @@ -766,11 +720,8 @@ IF OK-IF-ALREADY-EXISTS is true force download." ;; nil) ;; Not found in MELPA nor any other package repositories -(and (fetch-library - "https://raw.github.com/tarao/elisp/master/end-mark.el" - t) - (safe-require-or-eval 'end-mark) - (global-end-mark-mode)) +(when (safe-require-or-eval 'end-mark) + (global-end-mark-mode)) (when (safe-require-or-eval 'auto-highlight-symbol) (set-variable 'ahs-idle-interval 0.6) @@ -921,10 +872,7 @@ IF OK-IF-ALREADY-EXISTS is true force download." (when (safe-require-or-eval 'git-commit) (global-git-commit-mode 1)) -(when (fetch-library - "http://www.emacswiki.org/emacs/download/sl.el" - t) - (autoload-eval-lazily 'sl)) +(autoload-eval-lazily 'sl) ;; jdee is too old! use malabar instead (with-eval-after-load 'jdee @@ -1225,7 +1173,11 @@ IF OK-IF-ALREADY-EXISTS is true force download." ;; http://d.hatena.ne.jp/kobapan/20090305/1236261804 ;; http://www.katch.ne.jp/~leque/software/repos/gauche-mode/gauche-mode.el -(when (and (fetch-library +;; NOTE: This gauche-mode returns 404. +;; There is another gosh-mode, so for now I submitted a recipe for that into +;; github.com/10sr/emacs-lisp/p. I'll add setup for that later. + +(when nil (and '(fetch-library "http://www.katch.ne.jp/~leque/software/repos/gauche-mode/gauche-mode.el" t) (autoload-eval-lazily 'gauche-mode '(gauche-mode run-scheme)