[elpa] master ebd8979: New undo-tree package release.

2020-01-06 Thread Toby Cubitt
branch: master
commit ebd8979eecca8f554b40db624ba649d513d737f3
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

New undo-tree package release.
---
 packages/undo-tree/undo-tree.el | 595 
 1 file changed, 412 insertions(+), 183 deletions(-)

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index cb8a230..defe1d2 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -1,9 +1,10 @@
 ;;; undo-tree.el --- Treat undo history as a tree  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2009-2013  Free Software Foundation, Inc
+;; Copyright (C) 2009-2020  Free Software Foundation, Inc
 
 ;; Author: Toby Cubitt 
-;; Version: 0.6.5
+;; Maintainer: Toby Cubitt 
+;; Version: 0.7
 ;; Keywords: convenience, files, undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/undo-tree.git
@@ -410,7 +411,7 @@
 ;;   o  o o o o o
 ;;   |  |\|\|\|\|
 ;;   |  | \   | \   | \   | \   |
-;;   o  o  |  |  o  o  o  |  o  o
+;;   o  o  |  |  o  o  |  |  o  o
 ;;   | /   |  |  | /   |  |  | /
 ;;   |/|  |  |/|  |  |/
 ;;  (already undid   o |  |  o<.   |  |  o
@@ -586,7 +587,7 @@
 ;; Finally, hitting "q" will quit the visualizer, leaving the parent buffer in
 ;; whatever state you ended at. Hitting "C-q" will abort the visualizer,
 ;; returning the parent buffer to whatever state it was originally in when the
-;; visualizer was .
+;; visualizer was invoked.
 ;;
 ;;
 ;;
@@ -625,24 +626,37 @@
 ;;   o x  (undo the undo-in-region)
 ;;
 ;;
-;; In `undo-tree-mode', undo-in-region works similarly: when there's an active
-;; region, undoing only undoes changes that affect that region. However, the
-;; way these undos-in-region are recorded in the undo history is quite
-;; different. In `undo-tree-mode', undo-in-region creates a new branch in the
-;; undo history. The new branch consists of an undo step that undoes some of
-;; the changes that affect the current region, and another step that undoes
-;; the remaining changes needed to rejoin the previous undo history.
+;; In `undo-tree-mode', undo-in-region works much the same way: when there's
+;; an active region, undoing only undoes changes that affect that region. In
+;; `undo-tree-mode', redoing when there's an active region similarly only
+;; redoes changes that affect that region.
+;;
+;; However, the way these undo- and redo-in-region changes are recorded in the
+;; undo history is quite different. The good news is, you don't need to
+;; understand this to use undo- and redo-in-region in `undo-tree-mode' - just
+;; go ahead and use them! They'll probably work as you expect. But if you're
+;; masochistic enough to want to understand conceptually what's happening to
+;; the undo tree as you undo- and redo-in-region, then read on...
+;;
+;;
+;; Undo-in-region creates a new branch in the undo history. The new branch
+;; consists of an undo step that undoes some of the changes that affect the
+;; current region, and another step that undoes the remaining changes needed
+;; to rejoin the previous undo history.
 ;;
 ;;  Previous undo historyUndo-in-region
 ;;
 ;;   oo
 ;;   ||
 ;;   ||
+;;   ||
 ;;   oo
-;;   ||\
+;;   ||
+;;   ||
+;;   ||
+;;   oo_
 ;;   || \
-;;   oo  x  (undo-in-region)
-;;   ||  |
+;;   ||  x  (undo-in-region)
 ;;   ||  |
 ;;   xo  o
 ;;
@@ -655,48 +669,57 @@
 ;;  First undo-in-region Second undo-in-region
 ;;
 ;;   oo
-;;   ||\
+;;   ||
+;;   ||
+;;   ||
+;;   oo_
 ;;   || \
-;;   oo  x  (undo-in-region)
-;;   |\ 

[elpa] master c13bd78: Undo-tree bug-fix release.

2020-01-08 Thread Toby Cubitt
branch: master
commit c13bd781f9349ff6d82b8ca60ac71a7427a80cc8
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

Undo-tree bug-fix release.
---
 packages/undo-tree/undo-tree.el | 124 ++--
 1 file changed, 93 insertions(+), 31 deletions(-)

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index defe1d2..de15a3b 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -1343,8 +1343,25 @@ in visualizer."
(:copier nil))
   root current size count object-pool)
 
-(defun copy-undo-tree (tree)
-  (copy-tree tree 'copy-vectors))
+(defun undo-tree-copy (tree)
+  ;; Return a copy of undo-tree TREE.
+  (unwind-protect
+  (let ((new (make-undo-tree)))
+   (undo-tree-decircle tree)
+   (let ((max-lisp-eval-depth (* 100 (undo-tree-count tree)))
+ (max-specpdl-size (* 100 (undo-tree-count tree
+ (setf (undo-tree-root new)
+   (undo-tree-node-copy (undo-tree-root tree)
+new (undo-tree-current tree
+   (setf (undo-tree-size new)
+ (undo-tree-size tree))
+   (setf (undo-tree-count new)
+ (undo-tree-count tree))
+   (setf (undo-tree-object-pool new)
+ (copy-hash-table (undo-tree-object-pool tree)))
+   (undo-tree-recircle new)
+   new)
+(undo-tree-recircle tree)))
 
 
 (defstruct
@@ -1364,6 +1381,7 @@ in visualizer."
   (next (list next-node))
   (timestamp (current-time))
   (branch 0)))
+   (:constructor undo-tree-make-empty-node ())
(:copier nil))
   previous next undo redo timestamp branch meta-data)
 
@@ -1372,6 +1390,34 @@ in visualizer."
   (let ((len (length (undo-tree-make-node nil nil
 `(and (vectorp ,n) (= (length ,n) ,len
 
+(defun undo-tree-node-copy (node &optional tree current)
+  ;; Return a copy of undo-tree NODE, sans previous link or meta-data.
+  ;; If TREE and CURRENT are supplied, set (undo-tree-current TREE) to the
+  ;; copy of CURRENT node, if found.
+  (let* ((new (undo-tree-make-empty-node))
+(stack (list (cons node new)))
+n)
+(while (setq n (pop stack))
+  (setf (undo-tree-node-undo (cdr n))
+   (copy-tree (undo-tree-node-undo (car n)) 'copy-vectors))
+  (setf (undo-tree-node-redo (cdr n))
+   (copy-tree (undo-tree-node-redo (car n)) 'copy-vectors))
+  (setf (undo-tree-node-timestamp (cdr n))
+   (copy-sequence (undo-tree-node-timestamp (car n
+  (setf (undo-tree-node-branch (cdr n))
+   (undo-tree-node-branch (car n)))
+  (setf (undo-tree-node-next (cdr n))
+   (mapcar (lambda (_) (undo-tree-make-empty-node))
+   (make-list (length (undo-tree-node-next (car n))) nil)))
+;; set (undo-tree-current TREE) to copy if we've found CURRENT
+(when (and tree (eq (car n) current))
+  (setf (undo-tree-current tree) (cdr n)))
+;; recursively copy next nodes
+(let ((next0 (undo-tree-node-next (car n)))
+ (next1 (undo-tree-node-next (cdr n
+  (while (and next0 next1)
+   (push (cons (pop next0) (pop next1)) stack
+new))
 
 
 (defstruct
@@ -1631,8 +1677,7 @@ that are already part of `buffer-undo-tree'."
   ;; Apply FUNCTION to NODE and to each node below it.
   (let ((stack (list node))
n)
-(while stack
-  (setq n (pop stack))
+(while (setq n (pop stack))
   (funcall --undo-tree-mapc-function-- n)
   (setq stack (append (undo-tree-node-next n) stack)
 
@@ -2009,12 +2054,14 @@ set by `undo-limit', `undo-strong-limit' and 
`undo-outer-limit'."
 (let ((node (if (> (length (undo-tree-node-next
 (undo-tree-root buffer-undo-tree))) 1)
 (undo-tree-oldest-leaf (undo-tree-root buffer-undo-tree))
-  (undo-tree-root buffer-undo-tree
+  (undo-tree-root buffer-undo-tree)))
+ discarded)
 
   ;; discard nodes until memory use is within `undo-strong-limit'
   (while (and node
   (> (undo-tree-size buffer-undo-tree) undo-strong-limit))
-(setq node (undo-tree-discard-node node)))
+(setq node (undo-tree-discard-node node)
+ discarded t))
 
   ;; discard nodes until next node to discard would bring memory use
   ;; within `undo-limit'
@@ -2042,8 +2089,11 @@ set by `undo-limit', `undo-strong-limit' and 
`undo-outer-limit'."
 (undo-list-byte-size (undo-tree-node-redo node)))
  ))
  undo-limit))
-(setq node (undo-tree-discard-node node)))
-  (message "Undo history discarded by undo-tree (see `undo-tree-limit')")
+(setq node (undo-tree-discard-node node)
+ discarded t))
+
+  (when discarded
+   (message "Undo history discarded by undo-tree (see `undo-tree-limit')"))
 
   ;; if we

[elpa] master 506bf3b: Bump undo-tree version number.

2020-01-08 Thread Toby Cubitt
branch: master
commit 506bf3befdf965e1abb36784cff85111b88e0601
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

Bump undo-tree version number.
---
 packages/undo-tree/undo-tree.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index de15a3b..229d9e9 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -4,7 +4,7 @@
 
 ;; Author: Toby Cubitt 
 ;; Maintainer: Toby Cubitt 
-;; Version: 0.7
+;; Version: 0.7.1
 ;; Keywords: convenience, files, undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/undo-tree.git



[elpa] master 0ba3bb0: Undo-tree bug-fix release.

2020-01-11 Thread Toby Cubitt
branch: master
commit 0ba3bb020fee321eb66ee45a8997427e00353487
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

Undo-tree bug-fix release.
---
 packages/undo-tree/undo-tree.el | 16 +---
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index 229d9e9..3a28796 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -4,7 +4,7 @@
 
 ;; Author: Toby Cubitt 
 ;; Maintainer: Toby Cubitt 
-;; Version: 0.7.1
+;; Version: 0.7.2
 ;; Keywords: convenience, files, undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/undo-tree.git
@@ -2096,7 +2096,8 @@ set by `undo-limit', `undo-strong-limit' and 
`undo-outer-limit'."
(message "Undo history discarded by undo-tree (see `undo-tree-limit')"))
 
   ;; if we're still over the `undo-outer-limit', discard entire history
-  (when (> (undo-tree-size buffer-undo-tree) undo-outer-limit)
+  (when (and undo-outer-limit
+(> (undo-tree-size buffer-undo-tree) undo-outer-limit))
 ;; query first if `undo-ask-before-discard' is set
 (if undo-ask-before-discard
 (when (yes-or-no-p
@@ -2801,10 +2802,9 @@ Within the undo-tree visualizer, the following keys are 
available:
 (if undo-tree-limit
 (max undo-strong-limit undo-tree-strong-limit)
   most-positive-fixnum))
-(set (make-local-variable 'undo-outer-limit)
-(if undo-tree-limit
-(max undo-outer-limit undo-tree-outer-limit)
-  most-positive-fixnum))
+(set (make-local-variable 'undo-outer-limit)  ; null `undo-outer-limit' 
means no limit
+(when (and undo-tree-limit undo-outer-limit undo-outer-limit)
+  (max undo-outer-limit undo-tree-outer-limit)))
 (when (null undo-tree-limit)
   (setq undo-tree-timer
(run-with-idle-timer 5 'repeat #'undo-list-transfer-to-tree)))
@@ -3385,7 +3385,9 @@ Note this will overwrite any existing undo history."
 (defun undo-tree-save-history-from-hook ()
   (when (and undo-tree-mode undo-tree-auto-save-history
 (not (eq buffer-undo-list t))
-buffer-file-name)
+buffer-file-name
+(file-writable-p
+ (undo-tree-make-history-save-file-name buffer-file-name)))
 (undo-tree-save-history nil 'overwrite) nil))
 
 (define-obsolete-function-alias



[elpa] master 0f54727: Undo-tree point release.

2020-01-26 Thread Toby Cubitt
branch: master
commit 0f547279c4fdb77a017c66443876d4797d56f397
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

Undo-tree point release.
---
 packages/undo-tree/undo-tree.el | 299 +---
 1 file changed, 155 insertions(+), 144 deletions(-)

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index 3a28796..9e51b03 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -4,7 +4,7 @@
 
 ;; Author: Toby Cubitt 
 ;; Maintainer: Toby Cubitt 
-;; Version: 0.7.2
+;; Version: 0.7.3
 ;; Keywords: convenience, files, undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/undo-tree.git
@@ -754,8 +754,9 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'cl))
+(require 'cl-lib)
 (require 'diff)
+(require 'gv)
 
 
 
@@ -1146,11 +1147,6 @@ in visualizer."
 (defconst undo-tree-visualizer-buffer-name " *undo-tree*")
 (defconst undo-tree-diff-buffer-name "*undo-tree Diff*")
 
-;; install history-auto-save hooks
-(add-hook 'write-file-functions 'undo-tree-save-history-from-hook)
-(add-hook 'kill-buffer-hook 'undo-tree-save-history-from-hook)
-(add-hook 'find-file-hook 'undo-tree-load-history-from-hook)
-
 
 
 
@@ -1286,50 +1282,12 @@ in visualizer."
 (setq undo-tree-visualizer-selection-mode-map map)))
 
 
-(defvar undo-tree-old-undo-menu-item nil)
-
-(defun undo-tree-update-menu-bar ()
-  "Update `undo-tree-mode' Edit menu items."
-  (if undo-tree-mode
-  (progn
-   ;; save old undo menu item, and install undo/redo menu items
-   (setq undo-tree-old-undo-menu-item
- (cdr (assq 'undo (lookup-key global-map [menu-bar edit]
-   (define-key (lookup-key global-map [menu-bar edit])
- [undo] '(menu-item "Undo" undo-tree-undo
-:enable (and undo-tree-mode
- (not buffer-read-only)
- (not (eq t buffer-undo-list))
- (not (eq nil buffer-undo-tree))
- (undo-tree-node-previous
-  (undo-tree-current 
buffer-undo-tree)))
-:help "Undo last operation"))
-   (define-key-after (lookup-key global-map [menu-bar edit])
- [redo] '(menu-item "Redo" undo-tree-redo
-:enable (and undo-tree-mode
- (not buffer-read-only)
- (not (eq t buffer-undo-list))
- (not (eq nil buffer-undo-tree))
- (undo-tree-node-next
-  (undo-tree-current 
buffer-undo-tree)))
-:help "Redo last operation")
- 'undo))
-;; uninstall undo/redo menu items
-(define-key (lookup-key global-map [menu-bar edit])
-  [undo] undo-tree-old-undo-menu-item)
-(define-key (lookup-key global-map [menu-bar edit])
-  [redo] nil)))
-
-(add-hook 'menu-bar-update-hook 'undo-tree-update-menu-bar)
-
-
-
 
 
 ;;; =
 ;;; Undo-tree data structure
 
-(defstruct
+(cl-defstruct
   (undo-tree
:named
(:constructor nil)
@@ -1364,7 +1322,7 @@ in visualizer."
 (undo-tree-recircle tree)))
 
 
-(defstruct
+(cl-defstruct
   (undo-tree-node
(:type vector)   ; create unnamed struct
(:constructor nil)
@@ -1420,7 +1378,7 @@ in visualizer."
 new))
 
 
-(defstruct
+(cl-defstruct
   (undo-tree-region-data
(:type vector)   ; create unnamed struct
(:constructor nil)
@@ -1468,7 +1426,7 @@ in visualizer."
(undo-tree-region-data-redo-end r
 
 
-(defsetf undo-tree-node-undo-beginning (node) (val)
+(gv-define-setter undo-tree-node-undo-beginning (node val)
   `(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
  (unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1476,7 +1434,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)
  (setf (undo-tree-region-data-undo-beginning r) ,val)))
 
-(defsetf undo-tree-node-undo-end (node) (val)
+(gv-define-setter undo-tree-node-undo-end (node val)
   `(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
  (unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1484,7 +1442,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)
  (setf (undo-tree-region-data-undo-end r) ,val)))
 
-(defsetf undo-tree-node-redo-beginning (node) (val)
+(gv-define-setter undo-tree-node-redo-beginn

[elpa] master c097822: Undo-tree bug-fix release.

2020-01-28 Thread Toby Cubitt
branch: master
commit c097822207e3ba8fcf7d4381a761d2fad29ddd0b
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

Undo-tree bug-fix release.
---
 packages/undo-tree/undo-tree.el | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index 9e51b03..6cd72f4 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -4,7 +4,7 @@
 
 ;; Author: Toby Cubitt 
 ;; Maintainer: Toby Cubitt 
-;; Version: 0.7.3
+;; Version: 0.7.4
 ;; Keywords: convenience, files, undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/undo-tree.git
@@ -1426,7 +1426,7 @@ in visualizer."
(undo-tree-region-data-redo-end r
 
 
-(gv-define-setter undo-tree-node-undo-beginning (node val)
+(gv-define-setter undo-tree-node-undo-beginning (val node)
   `(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
  (unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1434,7 +1434,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)
  (setf (undo-tree-region-data-undo-beginning r) ,val)))
 
-(gv-define-setter undo-tree-node-undo-end (node val)
+(gv-define-setter undo-tree-node-undo-end (val node)
   `(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
  (unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1442,7 +1442,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)
  (setf (undo-tree-region-data-undo-end r) ,val)))
 
-(gv-define-setter undo-tree-node-redo-beginning (node val)
+(gv-define-setter undo-tree-node-redo-beginning (val node)
   `(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
  (unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1450,7 +1450,7 @@ in visualizer."
(setq r (undo-tree-make-region-data)
  (setf (undo-tree-region-data-redo-beginning r) ,val)))
 
-(gv-define-setter undo-tree-node-redo-end (node val)
+(gv-define-setter undo-tree-node-redo-end (val node)
   `(let ((r (plist-get (undo-tree-node-meta-data ,node) :region)))
  (unless (undo-tree-region-data-p r)
(setf (undo-tree-node-meta-data ,node)
@@ -1503,7 +1503,7 @@ in visualizer."
(undo-tree-visualizer-data-marker v
 
 
-(gv-define-setter undo-tree-node-lwidth (node val)
+(gv-define-setter undo-tree-node-lwidth (val node)
   `(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
  (unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1511,7 +1511,7 @@ in visualizer."
(setq v (undo-tree-make-visualizer-data)
  (setf (undo-tree-visualizer-data-lwidth v) ,val)))
 
-(gv-define-setter undo-tree-node-cwidth (node val)
+(gv-define-setter undo-tree-node-cwidth (val node)
   `(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
  (unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1519,7 +1519,7 @@ in visualizer."
(setq v (undo-tree-make-visualizer-data)
  (setf (undo-tree-visualizer-data-cwidth v) ,val)))
 
-(gv-define-setter undo-tree-node-rwidth (node val)
+(gv-define-setter undo-tree-node-rwidth (val node)
   `(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
  (unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1527,7 +1527,7 @@ in visualizer."
(setq v (undo-tree-make-visualizer-data)
  (setf (undo-tree-visualizer-data-rwidth v) ,val)))
 
-(gv-define-setter undo-tree-node-marker (node val)
+(gv-define-setter undo-tree-node-marker (val node)
   `(let ((v (plist-get (undo-tree-node-meta-data ,node) :visualizer)))
  (unless (undo-tree-visualizer-data-p v)
(setf (undo-tree-node-meta-data ,node)
@@ -1556,7 +1556,7 @@ in visualizer."
 (defmacro undo-tree-node-register (node)
   `(plist-get (undo-tree-node-meta-data ,node) :register))
 
-(gv-define-setter undo-tree-node-register (node val)
+(gv-define-setter undo-tree-node-register (val node)
   `(setf (undo-tree-node-meta-data ,node)
 (plist-put (undo-tree-node-meta-data ,node) :register ,val)))
 
@@ -2252,9 +2252,9 @@ which is defined in the `warnings' library.\n")
 ;; leading nil to the lists, and have the pointers point to that
 ;; initially.
 ;; Note: using '(nil) instead of (list nil) in the `let*' results in
-;;   bizarre errors when the code is byte-compiled, where parts of the
-;;   lists appear to survive across different calls to this function.
-;;   An obscure byte-compiler bug, perhaps?
+;;   errors when the code is byte-compiled, presumably becaus

[elpa] 01/01: queue.el: fix buggy queue-first and queue-empty definitions.

2014-05-15 Thread Toby Cubitt
tsc25 pushed a commit to branch master
in repository elpa.

commit ab068be9688405cf577ef66a982772ae9ef70f19
Author: Toby S. Cubitt 
Date:   Thu May 15 09:55:59 2014 +0100

queue.el: fix buggy queue-first and queue-empty definitions.
---
 packages/queue/queue.el |   15 ---
 1 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/packages/queue/queue.el b/packages/queue/queue.el
index f065089..4c9c954 100644
--- a/packages/queue/queue.el
+++ b/packages/queue/queue.el
@@ -1,11 +1,11 @@
-;;; queue.el --- Queue data structure
+;;; queue.el --- Queue data structure  -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 1991-1995, 2008-2009, 2012  Free Software Foundation, Inc
 
 ;; Author: Inge Wallin 
 ;; Toby Cubitt 
 ;; Maintainer: Toby Cubitt 
-;; Version: 0.1
+;; Version: 0.1.1
 ;; Keywords: extensions, data structures, queue
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/predictive.git
@@ -42,13 +42,6 @@
 ;; package.
 
 
-;;; Change Log:
-;;
-;; Version 0.1
-;; * the old Elib library of the same name, updated to use defstructs
-
-
-
 ;;; Code:
 
 (eval-when-compile (require 'cl))
@@ -95,12 +88,12 @@ Returns nil if the queue is empty."
   (pop (queue-head queue)))
 
 
-(defmacro queue-empty (queue)
+(defun queue-empty (queue)
   "Return t if QUEUE is empty, otherwise return nil."
   (null (queue-head queue)))
 
 
-(defmacro queue-first (queue)
+(defun queue-first (queue)
   "Return the first element of QUEUE or nil if it is empty,
 without removing it from the QUEUE."
   (car (queue-head queue)))



[elpa] branch master updated (2b9c052 -> ab068be)

2014-05-15 Thread Toby Cubitt
tsc25 pushed a change to branch master
in repository elpa.

  from  2b9c052   [gnugo maint] Add ‘Maintainer’ header per top-level 
README; nfc.
   new  ab068be   queue.el: fix buggy queue-first and queue-empty 
definitions.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 packages/queue/queue.el |   15 ---
 1 files changed, 4 insertions(+), 11 deletions(-)



[elpa] master 5a7025b: Fix info direntry and add autoloads to auto-overlays.

2015-02-09 Thread Toby Cubitt
branch: master
commit 5a7025b594f044ad324489d3a01ae9d33de14426
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

Fix info direntry and add autoloads to auto-overlays.
---
 packages/auto-overlays/auto-overlay-common.el   |   15 ++-
 packages/auto-overlays/auto-overlay-manual.info |  142 ---
 packages/auto-overlays/auto-overlays.el |6 +-
 packages/auto-overlays/dir  |2 +-
 4 files changed, 86 insertions(+), 79 deletions(-)

diff --git a/packages/auto-overlays/auto-overlay-common.el 
b/packages/auto-overlays/auto-overlay-common.el
index 19ddd34..994b20d 100644
--- a/packages/auto-overlays/auto-overlay-common.el
+++ b/packages/auto-overlays/auto-overlay-common.el
@@ -29,6 +29,7 @@
 (provide 'auto-overlay-common)
 
 
+;;;###autoload
 (defun auto-overlays-at-point (&optional point prop-test inactive)
   "Return overlays overlapping POINT
 (or the point, if POINT is null). If PROP-TEST is supplied, it
@@ -76,13 +77,13 @@ PROP-TEST."
 (= (overlay-start o) point))
(push o overlay-list)))
 
-overlay-list)
-)
+overlay-list))
 
 
 
-;; FIXME: get rid of INACTIVE argument
+;;;###autoload
 (defun auto-overlays-in (start end &optional prop-test within inactive)
+;; FIXME: get rid of INACTIVE argument?
   "Return auto overlays overlapping region between START and END.
 
 If PROP-TEST is supplied, it should be a list which specifies a
@@ -163,11 +164,11 @@ PROP-TEST."
   ;; add overlay to result list if its properties matched
   (when result (push o overlay-list)))
 ;; return result list
-overlay-list)
-)
+overlay-list))
 
 
 
+;;;###autoload
 (defun auto-overlay-highest-priority-at-point (&optional point proptest)
   "Return highest priority overlay at POINT (defaults to the point).
 
@@ -197,11 +198,11 @@ See `auto-overlays-at' for ane explanation of the 
PROPTEST argument."
(setq overlay o1)))
 
 ;; return the overlay
-overlay)
-)
+overlay))
 
 
 
+;;;###autoload
 (defun auto-overlay-local-binding (symbol &optional point only-overlay)
   "Return \"overlay local \" binding of SYMBOL at POINT,
 or the current local binding if there is no overlay binding. If
diff --git a/packages/auto-overlays/auto-overlay-manual.info 
b/packages/auto-overlays/auto-overlay-manual.info
index 84c8fd2..cf33500 100644
--- a/packages/auto-overlays/auto-overlay-manual.info
+++ b/packages/auto-overlays/auto-overlay-manual.info
@@ -4,12 +4,12 @@ auto-overlay-manual/auto-overlay-manual.texinfo.
 
 INFO-DIR-SECTION Emacs
 START-INFO-DIR-ENTRY
-* auto-overlays (auto-overlay-manual).  Automatic regexp-delimited overlays
+* auto-overlays: (auto-overlay-manual).  Automatic regexp-delimited overlays
 END-INFO-DIR-ENTRY
 
-   This manual describes the Emacs Auto-Overlays package, version 0.10
+   This manual describes the Emacs Auto-Overlays package, version 0.10.8
 
-   Copyright (C) 2007, 2008 Toby Cubitt
+   Copyright (C) 2007-2015 Toby Cubitt
 
  Permission is granted to copy, distribute and/or modify this
  document under the terms of the GNU Free Documentation License,
@@ -24,9 +24,9 @@ File: auto-overlay-manual.info,  Node: Top,  Next: Overview,  
Up: (dir)
 Emacs Auto-Overlays Manual
 **
 
-This manual describes the Emacs Auto-Overlays package, version 0.10
+This manual describes the Emacs Auto-Overlays package, version 0.10.8
 
-   Copyright (C) 2007, 2008 Toby Cubitt
+   Copyright (C) 2007-2015 Toby Cubitt
 
  Permission is granted to copy, distribute and/or modify this
  document under the terms of the GNU Free Documentation License,
@@ -115,7 +115,7 @@ the overlay (*note Defining Regexps::). Any additional 
regexps, beyond
 the minimum requirements, act as alternatives; if more than one of the
 regexps matches overlapping regions of text, the one that appears
 earlier in the list will take precedence. The predefined regexp classes
-are: `word', `line', `self', `nested' and `flat', but the auto-overlay
+are: `word', `line', `self', `nested' and `flat', but the auto-overlays
 package can easily be extended with new classes.
 
 `word'
@@ -334,15 +334,12 @@ regexp set does _not_ delete its regexp definitions.
Since scanning the whole buffer for regexp matches can take some
 time, especially for large buffers, auto-overlay data can be saved to an
 auxiliary file so that the overlays can be restored more quickly if the
-same regexp set is subsequently re-activated. Of course, if the text in
-the buffer is modified whilst the regexp set is disabled, or the regexp
-definitions differ from those that were active when the overlay data was
-saved, the saved data will be out of date. Auto-overlays automatically
-checks if the text has been modified and, if it has, ignores the saved
-data and re-scans the buffer. However, no check is made to ensure the

[elpa] master 61bddf2: Fix copyright assignment in auto-overlays manual.

2015-02-09 Thread Toby Cubitt
branch: master
commit 61bddf258f8752162489d9bde43d0a4c0722b457
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

Fix copyright assignment in auto-overlays manual.
---
 packages/auto-overlays/auto-overlay-manual.info |   62 +++---
 1 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/packages/auto-overlays/auto-overlay-manual.info 
b/packages/auto-overlays/auto-overlay-manual.info
index cf33500..2bd3bf4 100644
--- a/packages/auto-overlays/auto-overlay-manual.info
+++ b/packages/auto-overlays/auto-overlay-manual.info
@@ -7,9 +7,9 @@ START-INFO-DIR-ENTRY
 * auto-overlays: (auto-overlay-manual).  Automatic regexp-delimited overlays
 END-INFO-DIR-ENTRY
 
-   This manual describes the Emacs Auto-Overlays package, version 0.10.8
+   This manual describes the Emacs Auto-Overlays package, version 0.10.9
 
-   Copyright (C) 2007-2015 Toby Cubitt
+   Copyright (C) 2007-2015 Free Software Foundation, Inc
 
  Permission is granted to copy, distribute and/or modify this
  document under the terms of the GNU Free Documentation License,
@@ -24,9 +24,9 @@ File: auto-overlay-manual.info,  Node: Top,  Next: Overview,  
Up: (dir)
 Emacs Auto-Overlays Manual
 **
 
-This manual describes the Emacs Auto-Overlays package, version 0.10.8
+This manual describes the Emacs Auto-Overlays package, version 0.10.9
 
-   Copyright (C) 2007-2015 Toby Cubitt
+   Copyright (C) 2007-2015 Free Software Foundation, Inc
 
  Permission is granted to copy, distribute and/or modify this
  document under the terms of the GNU Free Documentation License,
@@ -2217,32 +2217,32 @@ permit their use in free software.
 
 
 Tag Table:
-Node: Top797
-Node: Overview2853
-Node: Auto-Overlay Functions7845
-Node: Defining Regexps9299
-Node: Starting and Stopping Auto-Overlays14158
-Node: Searching for Overlays19821
-Node: Worked Example23819
-Node: Extending the Auto-Overlays Package44652
-Ref: Extending the Auto-Overlays Package-Footnote-145715
-Node: Auto-Overlays in Depth45924
-Ref: Auto-Overlays in Depth-Footnote-148719
-Ref: Auto-Overlays in Depth-Footnote-248900
-Ref: Auto-Overlays in Depth-Footnote-349054
-Node: Integrating New Overlay Classes49084
-Node: Functions for Writing New Overlay Classes51803
-Node: Standard Parse and Suicide Functions52737
-Node: Functions for Modifying Overlays54210
-Node: Functions for Querying Overlays57952
-Node: Auto-Overlay Hooks59784
-Node: Auto-Overlay Modification Pseudo-Hooks60839
-Ref: Auto-Overlay Modification Pseudo-Hooks-Footnote-162932
-Node: To-Do62992
-Node: Function Index64149
-Node: Variable Index68729
-Node: Concept Index69524
-Node: Copying this Manual86262
-Node: GNU Free Documentation License86464
+Node: Top815
+Node: Overview2889
+Node: Auto-Overlay Functions7881
+Node: Defining Regexps9335
+Node: Starting and Stopping Auto-Overlays14194
+Node: Searching for Overlays19857
+Node: Worked Example23855
+Node: Extending the Auto-Overlays Package44688
+Ref: Extending the Auto-Overlays Package-Footnote-145751
+Node: Auto-Overlays in Depth45960
+Ref: Auto-Overlays in Depth-Footnote-148755
+Ref: Auto-Overlays in Depth-Footnote-248936
+Ref: Auto-Overlays in Depth-Footnote-349090
+Node: Integrating New Overlay Classes49120
+Node: Functions for Writing New Overlay Classes51839
+Node: Standard Parse and Suicide Functions52773
+Node: Functions for Modifying Overlays54246
+Node: Functions for Querying Overlays57988
+Node: Auto-Overlay Hooks59820
+Node: Auto-Overlay Modification Pseudo-Hooks60875
+Ref: Auto-Overlay Modification Pseudo-Hooks-Footnote-162968
+Node: To-Do63028
+Node: Function Index64185
+Node: Variable Index68765
+Node: Concept Index69560
+Node: Copying this Manual86298
+Node: GNU Free Documentation License86500
 
 End Tag Table



[ELPA-diffs] ELPA branch, master, updated. e1081dc72e5ecedc8001a269f9fc66bc7efadcd5

2013-12-28 Thread Toby Cubitt
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "ELPA".

The branch, master has been updated
   via  e1081dc72e5ecedc8001a269f9fc66bc7efadcd5 (commit)
  from  48088af58a6e250175242cb1dd81481eec2c19e9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
commit e1081dc72e5ecedc8001a269f9fc66bc7efadcd5
Author: Toby S. Cubitt 
Date:   Sat Dec 28 18:31:09 2013 +

* undo-tree: Update to version 0.6.5.

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index a597be9..166c079 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -1,9 +1,9 @@
 ;;; undo-tree.el --- Treat undo history as a tree  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2009-2012  Free Software Foundation, Inc
+;; Copyright (C) 2009-2013  Free Software Foundation, Inc
 
 ;; Author: Toby Cubitt 
-;; Version: 0.6.3
+;; Version: 0.6.5
 ;; Keywords: convenience, files, undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/undo-tree.git
@@ -208,9 +208,7 @@
 ;;
 ;; Persistent undo history:
 ;;
-;; Note: Requires a recent development version of Emacs checked out out from
-;;   the Emacs bzr repository. All stable versions of Emacs currently
-;;   break this feature.
+;; Note: Requires Emacs version 24.3 or higher.
 ;;
 ;; `undo-tree-auto-save-history' (variable)
 ;;automatically save and restore undo-tree history along with buffer
@@ -235,7 +233,7 @@
 ;;
 ;;   (defadvice undo-tree-make-history-save-file-name
 ;; (after undo-tree activate)
-;; (setq concat ad-return-value ".gz"))
+;; (setq ad-return-value (concat ad-return-value ".gz")))
 ;;
 ;;
 ;;
@@ -828,6 +826,16 @@
   (file-local-copy file-or-buf
 
 
+;; `user-error' isn't defined in Emacs < 24.3
+(unless (fboundp 'user-error)
+  (defalias 'user-error 'error)
+  ;; prevent debugger being called on user errors
+  (add-to-list 'debug-ignored-errors "^No further undo information")
+  (add-to-list 'debug-ignored-errors "^No further redo information")
+  (add-to-list 'debug-ignored-errors "^No further redo information for 
region"))
+
+
+
 
 
 ;;; =
@@ -835,8 +843,8 @@
 
 (defvar buffer-undo-tree nil
   "Tree of undo entries in current buffer.")
-(make-variable-buffer-local 'buffer-undo-tree)
 (put 'buffer-undo-tree 'permanent-local t)
+(make-variable-buffer-local 'buffer-undo-tree)
 
 
 (defgroup undo-tree nil
@@ -875,9 +883,11 @@ when a buffer is saved to file.
 It will automatically load undo history when a buffer is loaded
 from file, if an undo save file exists.
 
-Undo-tree history is saved to a file called
-\"..~undo-tree\" in the same directory as the
-file itself.
+By default, undo-tree history is saved to a file called
+\"..~undo-tree~\" in the same directory as the
+file itself. To save under a different directory, customize
+`undo-tree-history-directory-alist' (see the documentation for
+that variable for details).
 
 WARNING! `undo-tree-auto-save-history' will not work properly in
 Emacs versions prior to 24.3, so it cannot be enabled via
@@ -930,7 +940,7 @@ Otherwise, display absolute times."
   "When non-nil, display time-stamps by default
 in undo-tree visualizer.
 
-\\You can always toggle time-stamps on and off \
+\\You can always toggle time-stamps on and off \
 using \\[undo-tree-visualizer-toggle-timestamps], regardless of the
 setting of this variable."
   :group 'undo-tree
@@ -940,7 +950,7 @@ setting of this variable."
 (defcustom undo-tree-visualizer-diff nil
   "When non-nil, display diff by default in undo-tree visualizer.
 
-\\You can always toggle the diff display \
+\\You can always toggle the diff display \
 using \\[undo-tree-visualizer-toggle-diff], regardless of the
 setting of this variable."
   :group 'undo-tree
@@ -955,7 +965,7 @@ drawing when the number of nodes in the tree is larger than 
this
 value.
 
 Lazy drawing means that only the visible portion of the tree will
-be drawn initially , and the tree will be extended later as
+be drawn initially, and the tree will be extended later as
 needed. For the most part, the only visible effect of this is to
 significantly speed up displaying the visualizer for very large
 trees.
@@ -1005,14 +1015,17 @@ in visualizer."
 
 (defvar undo-tree-visualizer-parent-buffer nil
   "Parent buffer in visualizer.")
+(put 'undo-tree-visualizer-parent-buffer 'permanent-local t)
 (m