[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 8ad82e5 7/7: Merge commit '4d1dcdf7631c23b1259ad4f72bf9686
From: |
Rocky Bernstein |
Subject: |
[elpa] master 8ad82e5 7/7: Merge commit '4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c' |
Date: |
Mon, 1 Aug 2016 17:17:07 +0000 (UTC) |
branch: master
commit 8ad82e5308ded892a379cb81b470b24285e58cc0
Merge: a0ac02f 4d1dcdf
Author: rocky <address@hidden>
Commit: rocky <address@hidden>
Merge commit '4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c'
Conflicts:
packages/loc-changes/loc-changes.el
---
packages/loc-changes/el-get-install.el | 104 +++++++++++++++++++++++++++++
packages/loc-changes/loc-changes.el | 48 ++++++-------
packages/loc-changes/test/Makefile.am | 2 +-
packages/loc-changes/test/install-pkgs.el | 24 -------
4 files changed, 130 insertions(+), 48 deletions(-)
diff --git a/packages/loc-changes/el-get-install.el
b/packages/loc-changes/el-get-install.el
new file mode 100644
index 0000000..86c55ec
--- /dev/null
+++ b/packages/loc-changes/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 <address@hidden>
+;; 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/packages/loc-changes/loc-changes.el
b/packages/loc-changes/loc-changes.el
index b514b27..4e3660b 100644
--- a/packages/loc-changes/loc-changes.el
+++ b/packages/loc-changes/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 <address@hidden>
;; Version: 1.2
@@ -35,17 +35,19 @@
;;; Code:
+(eval-when-compile (require 'cl))
+
(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 number; the
value
-the marker"
- )
+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" )
(defun loc-changes:follow-mark(event)
(interactive "e")
(let* ((pos (posn-point (event-end event)))
- (mark (get-text-property pos 'mark)))
+ (mark (car (get-text-property pos 'mark))))
(switch-to-buffer-other-window (marker-buffer mark))
(goto-char (marker-position mark))
))
@@ -68,17 +70,17 @@ internal buffer called *Describe*."
(dolist (assoc alist)
(put-text-property
(insert-text-button
- (format "line %d: %s\n" (car assoc) (cdr assoc))
+ (format "line %d: %s" (car assoc) (cadr assoc))
'action 'loc-changes:follow-mark
'help-echo "mouse-2: go to this location")
(point)
'mark (cdr assoc)
)
+ (insert (format ":\t%s\n" (cl-caddr assoc)))
)
(setq buffer-read-only 't)
))
-;;;###autoload
(defun loc-changes-goto-line (line-number &optional column-number)
"Position `point' at LINE-NUMBER of the current buffer. If
COLUMN-NUMBER is given, position `point' at that column just
@@ -87,7 +89,7 @@ the line starts at column 0, so the column number display
will be one less
than COLUMN-NUMBER. For example COLUMN-NUMBER 1 will set before the first
column on the line and show 0.
-The Emacs `goto-line' docstring says it is the wrong to use that
+The Emacs `goto-line' docstring says it is wrong to use that
function in a Lisp program. So here is something that I proclaim
is okay to use in a Lisp program."
(interactive
@@ -155,9 +157,9 @@ is okay to use in a Lisp program."
"Add an element `loc-changes-alist'. The car will be POS and a
marker for it will be created at the point."
(setq loc-changes-alist
- (cons (cons pos (point-marker)) loc-changes-alist)))
+ (cons (cons pos (list (point-marker) (buffer-substring (point)
(point-at-eol))))
+ loc-changes-alist)))
-;;;###autoload
(defun loc-changes-add-and-goto (line-number &optional opt-buffer)
"Add a marker at LINE-NUMBER and record LINE-NUMBER and its
marker association in `loc-changes-alist'."
@@ -194,7 +196,6 @@ marker association in `loc-changes-alist'."
))
)
-;;;###autoload
(defun loc-changes-clear-buffer (&optional opt-buffer)
"Remove all location-tracking associations in BUFFER."
(interactive "bbuffer: ")
@@ -205,7 +206,6 @@ marker association in `loc-changes-alist'."
))
)
-;;;###autoload
(defun loc-changes-reset-position (&optional opt-buffer no-insert)
"Update `loc-changes-alist' so that the line number of point is
used to when aline number is requested.
@@ -223,7 +223,8 @@ so that its positions are will be reflected."
)
(with-current-buffer buffer
(if elt
- (setcdr elt (point))
+ (setcdr elt
+ (list (point-marker) (buffer-substring (point)
(point-at-eol))))
(unless no-insert
(loc-changes-add-elt line-number)
)
@@ -232,23 +233,24 @@ so that its positions are will be reflected."
))
-(defun loc-changes-goto (position &optional opt-buffer no-update)
- "Go to the position inside BUFFER taking into account the
-previous location marks. Normally if the position hasn't been
-seen before, we will add a new mark for this position. However if
+(defun loc-changes-goto (line-number &optional opt-buffer no-update)
+ "Go to the LINE-NUMBER inside OPT-BUFFER taking into account the
+previous line-number marks. Normally if the line-number hasn't been
+seen before, we will add a new mark for this line-number. However if
NO-UPDATE is set, no mark is added."
- (unless (wholenump position)
+ ;;; FIXME: opt-buffer is not used
+ (unless (wholenump line-number)
(error "Expecting line-number parameter `%s' to be a whole number"
- position))
- (let ((elt (assq position loc-changes-alist)))
+ line-number))
+ (let ((elt (assq line-number loc-changes-alist)))
(if elt
- (let ((marker (cdr elt)))
+ (let ((marker (cadr elt)))
(unless (markerp marker)
(error "Internal error: loc-changes-alist is not a marker"))
(goto-char (marker-position marker)))
(if no-update
- (loc-changes-goto-line position)
- (loc-changes-add-and-goto position))
+ (loc-changes-goto-line line-number)
+ (loc-changes-add-and-goto line-number))
)
)
)
diff --git a/packages/loc-changes/test/Makefile.am
b/packages/loc-changes/test/Makefile.am
index 48f7f72..2d6a227 100644
--- a/packages/loc-changes/test/Makefile.am
+++ b/packages/loc-changes/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/packages/loc-changes/test/install-pkgs.el
b/packages/loc-changes/test/install-pkgs.el
deleted file mode 100644
index d43575c..0000000
--- a/packages/loc-changes/test/install-pkgs.el
+++ /dev/null
@@ -1,24 +0,0 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
-
-;; Author: Rocky Bernstein <address@hidden>
-
-;; 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")
- [elpa] master updated (a0ac02f -> 8ad82e5), Rocky Bernstein, 2016/08/01
- [elpa] master 38e5756 1/7: Fix footer, Rocky Bernstein, 2016/08/01
- [elpa] master 5800073 4/7: Small formatting change., Rocky Bernstein, 2016/08/01
- [elpa] master 4d1dcdf 6/7: Remove autoloads and "postion" -> "line-number" ..., Rocky Bernstein, 2016/08/01
- [elpa] master 79640e9 3/7: In support of last change. Silence caddr warning., Rocky Bernstein, 2016/08/01
- [elpa] master e180026 2/7: Include line text when saving location info., Rocky Bernstein, 2016/08/01
- [elpa] master d0ef370 5/7: Docstring quoting change. New elget-installer, Rocky Bernstein, 2016/08/01
- [elpa] master 8ad82e5 7/7: Merge commit '4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c',
Rocky Bernstein <=