branch: master commit d0ef370c773c04e6533e6725f76c69f3e4eccbe5 Author: rocky <ro...@gnu.org> Commit: rocky <ro...@gnu.org>
Docstring quoting change. New elget-installer Thanks to Paul Eggert. --- el-get-install.el | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++ loc-changes.el | 4 +- test/Makefile.am | 2 +- test/install-pkgs.el | 24 ------------ 4 files changed, 107 insertions(+), 27 deletions(-) diff --git a/el-get-install.el b/el-get-install.el new file mode 100644 index 0000000..86c55ec --- /dev/null +++ b/el-get-install.el @@ -0,0 +1,104 @@ +(eval-when-compile + (defvar el-get-sources) +) + +(declare-function el-get-post-install 'el-get) + +(add-to-list 'load-path "~/.emacs.d/el-get/el-get") + +;;; el-get-install.el --- installer for the lazy +;; +;; Copyright (C) 2010 Dimitri Fontaine +;; +;; Author: Dimitri Fontaine <d...@tapoueh.org> +;; URL: http://www.emacswiki.org/emacs/el-get.el +;; Created: 2010-06-17 +;; Keywords: emacs package elisp install elpa git git-svn bzr cvs apt-get fink http http-tar +;; Licence: WTFPL, grab your copy here: http://sam.zoy.org/wtfpl/ +;; +;; This file is NOT part of GNU Emacs. +;; +;; bootstrap your el-get installation, the goal is then to use el-get to +;; update el-get. +;; +;; So the idea is that you copy/paste this code into your *scratch* buffer, +;; hit C-j, and you have a working el-get. + +(let ((el-get-root + (file-name-as-directory + (or (bound-and-true-p el-get-dir) + (concat (file-name-as-directory user-emacs-directory) "el-get"))))) + + (when (file-directory-p el-get-root) + (add-to-list 'load-path el-get-root)) + + ;; try to require el-get, failure means we have to install it + (unless (require 'el-get nil t) + (unless (file-directory-p el-get-root) + (make-directory el-get-root t)) + + (let* ((package "el-get") + (buf (switch-to-buffer "*el-get bootstrap*")) + (pdir (file-name-as-directory (concat el-get-root package))) + (git (or (executable-find "git") + (error "Unable to find `git'"))) + (url (or (bound-and-true-p el-get-git-install-url) + "http://github.com/dimitri/el-get.git")) + (default-directory el-get-root) + (process-connection-type nil) ; pipe, no pty (--no-progress) + + ;; First clone el-get + (status + (call-process + git nil `(,buf t) t "--no-pager" "clone" "-v" url package))) + + (unless (zerop status) + (error "Couldn't clone el-get from the Git repository: %s" url)) + + ;; switch branch if we have to + (let* ((branch (cond + ;; Check if a specific branch is requested + ((bound-and-true-p el-get-install-branch)) + ;; Check if master branch is requested + ((boundp 'el-get-master-branch) "master") + ;; Read the default branch from the el-get recipe + ((plist-get (with-temp-buffer + (insert-file-contents-literally + (expand-file-name "recipes/el-get.rcp" pdir)) + (read (current-buffer))) + :branch)) + ;; As a last resort, use the master branch + ("master"))) + (remote-branch (format "origin/%s" branch)) + (default-directory pdir) + (bstatus + (if (string-equal branch "master") + 0 + (call-process git nil (list buf t) t "checkout" "-t" remote-branch)))) + (unless (zerop bstatus) + (error "Couldn't `git checkout -t %s`" branch))) + + (add-to-list 'load-path pdir) + (load package) + (let ((el-get-default-process-sync t) ; force sync operations for installer + (el-get-verbose t)) ; let's see it all + (el-get-post-install "el-get")) + (with-current-buffer buf + (goto-char (point-max)) + (insert "\nCongrats, el-get is installed and ready to serve!"))))) + + +(declare-function el-get 'el-get) + +;; now either el-get is `require'd already, or have been `load'ed by the +;; el-get installer. +(setq + el-get-sources + '(el-get ; el-get is self-hosting + loc-changes ; loc marks in buffers + load-relative ; load emacs lisp relative to emacs source + test-simple ; simple test framework + )) + +;; install new packages and init already installed packages +(el-get 'sync '(loc-changes list-utils load-relative test-simple)) diff --git a/loc-changes.el b/loc-changes.el index c114be4..543b3df 100644 --- a/loc-changes.el +++ b/loc-changes.el @@ -1,6 +1,6 @@ ;;; loc-changes.el --- keep track of positions even after buffer changes -;; Copyright (C) 2015 Free Software Foundation, Inc +;; Copyright (C) 2015, 2016 Free Software Foundation, Inc ;; Author: Rocky Bernstein <ro...@gnu.org> ;; Version: 1.2 @@ -40,7 +40,7 @@ (make-variable-buffer-local 'loc-changes-alist) (defvar loc-changes-alist '() "A buffer-local association-list (alist) of line numbers and -their corresponding markers in the buffer. The 'key' is the line +their corresponding markers in the buffer. The key is the line number; the a list of value the marker and the initial 10 characters after that mark" ) diff --git a/test/Makefile.am b/test/Makefile.am index 48f7f72..2d6a227 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -49,7 +49,7 @@ check: $(CHECK_FILES) #: Run all tests via el-get check-elget: - (cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash --load ./install-pkgs.el --load test-basic.el) + (cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash --load ../el-get-install.el --load test-basic.el) #: Run all tests with minimum verbosity check-short: diff --git a/test/install-pkgs.el b/test/install-pkgs.el deleted file mode 100644 index d43575c..0000000 --- a/test/install-pkgs.el +++ /dev/null @@ -1,24 +0,0 @@ -;; Copyright (C) 2015 Free Software Foundation, Inc - -;; Author: Rocky Bernstein <ro...@gnu.org> - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -(require 'package) -(package-refresh-contents) -(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/"))) -(condition-case nil - (package-install 'test-simple) - ((debug error) nil)) -(load-library "test-simple")