[elpa] externals/exwm updated (173bbde -> f04b041)

2016-08-01 Thread Chris Feng
ch11ng pushed a change to branch externals/exwm.

  from  173bbde   Bump version to 0.8
   new  e7ff9a9   Fix restarting issues
   new  f04b041   Fix emacsclient issues


Summary of changes:
 exwm-input.el |   10 +++--
 exwm-layout.el|8 ++--
 exwm-workspace.el |  111 +++--
 exwm.el   |   27 +++--
 4 files changed, 101 insertions(+), 55 deletions(-)



[elpa] externals/exwm e7ff9a9 1/2: Fix restarting issues

2016-08-01 Thread Chris Feng
branch: externals/exwm
commit e7ff9a9f90f0356a9ab8a9ca3857df03deeb1696
Author: Chris Feng 
Commit: Chris Feng 

Fix restarting issues

* exwm-workspace.el (exwm-workspace--confirm-kill-emacs): Prompt for
unsaved files before restarting; avoid running `server-force-stop'
early; restore the 'client' frame parameter before calling `exwm--exit';
correctly handle emacsclient.

* exwm.el (exwm-restart): Always kill subordinate Emacs instances.
---
 exwm-workspace.el |   55 +++--
 exwm.el   |   27 ++
 2 files changed, 59 insertions(+), 23 deletions(-)

diff --git a/exwm-workspace.el b/exwm-workspace.el
index 7c2601a..097a950 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -25,6 +25,8 @@
 
 ;;; Code:
 
+(require 'server)
+
 (require 'exwm-core)
 
 (defvar exwm-workspace-number 1 "Initial number of workspaces.")
@@ -1046,15 +1048,32 @@ Please check `exwm-workspace--minibuffer-own-frame-p' 
first."
 
 (defun exwm-workspace--confirm-kill-emacs (prompt &optional force)
   "Confirm before exiting Emacs."
-  (when (or (and force (not (eq force 'no-check)))
-(and (or (eq force 'no-check) (not exwm--id-buffer-alist))
- (y-or-n-p prompt))
-(yes-or-no-p (format "[EXWM] %d window(s) will be destroyed.  %s"
- (length exwm--id-buffer-alist) prompt)))
-;; Run `kill-emacs-hook' before Emacs frames are unmapped so that
-;; errors can be visible.
-(run-hooks 'kill-emacs-hook)
-(setq kill-emacs-hook nil)
+  (when (cond
+ ((and force (not (eq force 'no-check)))
+  ;; Force killing Emacs.
+  t)
+ ((or (eq force 'no-check) (not exwm--id-buffer-alist))
+  ;; Check if there's any unsaved file.
+  (pcase (catch 'break
+   (let ((kill-emacs-query-functions
+  (append kill-emacs-query-functions
+  (list (lambda ()
+  (throw 'break 'break))
+ (save-buffers-kill-emacs)))
+(`break (y-or-n-p prompt))
+(x x)))
+ (t
+  (yes-or-no-p (format "[EXWM] %d window(s) will be destroyed.  %s"
+   (length exwm--id-buffer-alist) prompt
+;; Run `kill-emacs-hook' (`server-force-stop' excluded) before Emacs
+;; frames are unmapped so that errors (if any) can be visible.
+(if (memq #'server-force-stop kill-emacs-hook)
+(progn
+  (setq kill-emacs-hook (delq #'server-force-stop kill-emacs-hook))
+  (run-hooks 'kill-emacs-hook)
+  (setq kill-emacs-hook (list #'server-force-stop)))
+  (run-hooks 'kill-emacs-hook)
+  (setq kill-emacs-hook nil))
 ;; Hide & reparent out all frames (save-set can't be used here since
 ;; X windows will be re-mapped).
 (when (exwm-workspace--minibuffer-own-frame-p)
@@ -1079,22 +1098,20 @@ Please check `exwm-workspace--minibuffer-own-frame-p' 
first."
:parent exwm--root
:x 0
:y 0
-;; Exit each module.
-(exwm--exit)
-;; Destroy all resources created by this connection.
-(xcb:disconnect exwm--connection)
-(setq exwm--connection nil)
-;; Extra cleanups for emacsclient.
+;; Restore the 'client' frame parameter (before `exwm--exit').
 (when exwm-workspace--client
   (dolist (f exwm-workspace--list)
 (set-frame-parameter f 'client exwm-workspace--client))
   (when (exwm-workspace--minibuffer-own-frame-p)
 (set-frame-parameter exwm-workspace--minibuffer 'client
- exwm-workspace--client))
-  ;; Kill the client.
-  (server-save-buffers-kill-terminal nil))
+ exwm-workspace--client)))
+;; Exit each module.
+(exwm--exit)
+;; Destroy all resources created by this connection.
+(xcb:disconnect exwm--connection)
+(setq exwm--connection nil)
 ;; Set the return value.
-(not exwm-workspace--client)))
+t))
 
 (defun exwm-workspace--set-desktop-geometry ()
   "Set _NET_DESKTOP_GEOMETRY."
diff --git a/exwm.el b/exwm.el
index 861d51a..dd279bb 100644
--- a/exwm.el
+++ b/exwm.el
@@ -88,10 +88,29 @@
   "Restart EXWM."
   (interactive)
   (when (exwm-workspace--confirm-kill-emacs "[EXWM] Restart? " 'no-check)
-(apply #'call-process (car command-line-args) nil nil nil
-   (cdr command-line-args))
-;; Kill this instance at last.
-(kill-emacs)))
+(let* ((attr (process-attributes (emacs-pid)))
+   (args (cdr (assq 'args attr)))
+   (ppid (cdr (assq 'ppid attr)))
+   (pargs (cdr (assq 'args (process-attributes ppid)
+  (cond
+   ((= ppid 1)
+;; The parent is the init process.  This probably means this
+;; instance is an emacsclient.  Anywa

[elpa] externals/exwm f04b041 2/2: Fix emacsclient issues

2016-08-01 Thread Chris Feng
branch: externals/exwm
commit f04b041cae5b119355737a9272c683ea8a791d7b
Author: Chris Feng 
Commit: Chris Feng 

Fix emacsclient issues

* exwm-workspace.el (exwm-workspace--client-p): New function for testing
emacsclient frames.
(exwm-workspace--update-minibuffer-height)
(exwm-workspace--on-minibuffer-setup)
(exwm-workspace--on-minibuffer-exit, exwm-workspace--on-echo-area-dirty)
(exwm-workspace--on-echo-area-clear):
* exwm-input.el (exwm-input--on-buffer-list-update)
(exwm-input--on-minibuffer-setup):
* exwm-layout.el (exwm-layout--on-minibuffer-setup)
(exwm-layout--on-echo-area-change):
Use it.

* exwm-workspace.el (exwm-workspace--add-frame-as-workspace): Always
clear the 'client' frame parameter.
(exwm-workspace--init): Fix a typo.
---
 exwm-input.el |   10 +++---
 exwm-layout.el|8 +---
 exwm-workspace.el |   56 -
 3 files changed, 42 insertions(+), 32 deletions(-)

diff --git a/exwm-input.el b/exwm-input.el
index f218ea2..cbfd1dc 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -79,6 +79,9 @@ It's updated in several occasions, and only used by 
`exwm-input--set-focus'.")
   (exwm-input--set-active-window id)
   (xcb:flush exwm--connection
 
+(declare-function exwm-workspace--client-p "exwm-workspace.el"
+  (&optional frame))
+
 (defvar exwm-input--update-focus-window nil "The (Emacs) window to be focused.
 
 This value should always be overwritten.")
@@ -87,7 +90,7 @@ This value should always be overwritten.")
   "Run in `buffer-list-update-hook' to track input focus."
   (when (and (not (minibufferp)) ;Do not set input focus on minibuffer window.
  (eq (current-buffer) (window-buffer)) ;e.g. `with-temp-buffer'.
- (frame-parameter nil 'exwm-outer-id)) ;e.g. emacsclient frame.
+ (not (exwm-workspace--client-p)))
 (setq exwm-input--update-focus-window (selected-window))
 (exwm-input--update-focus-defer)))
 
@@ -183,8 +186,9 @@ This value should always be overwritten.")
 
 (defun exwm-input--on-minibuffer-setup ()
   "Run in `minibuffer-setup-hook' to set input focus."
-  ;; Set input focus on the Emacs frame
-  (x-focus-frame (window-frame (minibuffer-selected-window
+  (unless (exwm-workspace--client-p)
+;; Set input focus on the Emacs frame
+(x-focus-frame (window-frame (minibuffer-selected-window)
 
 (defun exwm-input--set-active-window (&optional id)
   "Set _NET_ACTIVE_WINDOW."
diff --git a/exwm-layout.el b/exwm-layout.el
index 905a1e3..ee97849 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -375,9 +375,12 @@ selected by `other-buffer'."
   (exwm-layout--set-client-list-stacking)
   (xcb:flush exwm--connection
 
+(declare-function exwm-workspace--client-p "exwm-workspace.el"
+  (&optional frame))
+
 (defun exwm-layout--on-minibuffer-setup ()
   "Refresh layout when minibuffer grows."
-  (when (frame-parameter nil 'exwm-outer-id)
+  (unless (exwm-workspace--client-p)
 (run-with-idle-timer 0.01 nil ;FIXME
  (lambda ()
(when (< 1 (window-height (minibuffer-window)))
@@ -386,8 +389,7 @@ selected by `other-buffer'."
 (defun exwm-layout--on-echo-area-change (&optional dirty)
   "Run when message arrives or in `echo-area-clear-hook' to refresh layout."
   (when (and (current-message)
- ;; Exclude non-graphical frames.
- (frame-parameter nil 'exwm-outer-id)
+ (not (exwm-workspace--client-p))
  (or (cl-position ?\n (current-message))
  (> (length (current-message))
 (frame-width exwm-workspace--current
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 097a950..4789aeb 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -48,6 +48,10 @@ NIL if FRAME is not a workspace"
   "Return t if FRAME is a workspace."
   (memq frame exwm-workspace--list))
 
+(defsubst exwm-workspace--client-p (&optional frame)
+  "Return non-nil if FRAME is an emacsclient frame."
+  (frame-parameter frame 'client))
+
 (defun exwm-workspace--workspace-from-frame-or-index (frame-or-index)
   "Retrieve the workspace frame from FRAME-OR-INDEX."
   (cond
@@ -882,24 +886,25 @@ Please check `exwm-workspace--minibuffer-own-frame-p' 
first."
 
 (defun exwm-workspace--update-minibuffer-height (&optional echo-area)
   "Update the minibuffer frame height."
-  (let ((height
- (with-current-buffer
- (window-buffer (minibuffer-window exwm-workspace--minibuffer))
-   (max 1
-(if echo-area
-(let ((width (frame-width exwm-workspace--minibuffer))
-  (result 0))
-  (mapc (lambda (i)
-  (setq result
-(+ result
-   (ceiling (1+ (length 

[elpa] master ab69dbc 1/2: ELPA packaging

2016-08-01 Thread Rocky Bernstein
branch: master
commit ab69dbcccb4d0ed5ec2a7bd6bc7b3cff7e7adbac
Author: rocky 
Commit: rocky 

ELPA packaging

Add lingo to express including subdirectories
---
 realgud.el |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/realgud.el b/realgud.el
index 6528f84..09fbcd9 100644
--- a/realgud.el
+++ b/realgud.el
@@ -1,7 +1,8 @@
 ;;; realgud.el --- A modular front-end for interacting with external debuggers
 
 ;; Author: Rocky Bernstein 
-;; Version: 1.4.0
+;; Version: 1.4.1
+;; Package-Type: multi
 ;; Package-Requires: ((load-relative "1.2") (loc-changes "1.2") (test-simple  
"1.2.0"))
 ;; URL: http://github.com/realgud/realgud/
 ;; Compatibility: GNU Emacs 24.x



[elpa] master a0ac02f 2/2: Merge commit 'ab69dbcccb4d0ed5ec2a7bd6bc7b3cff7e7adbac'

2016-08-01 Thread Rocky Bernstein
branch: master
commit a0ac02fbcc40803b8d7c6157b47502bf408a18ab
Merge: 1749b02 ab69dbc
Author: rocky 
Commit: rocky 

Merge commit 'ab69dbcccb4d0ed5ec2a7bd6bc7b3cff7e7adbac'
---
 packages/realgud/realgud.el |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/packages/realgud/realgud.el b/packages/realgud/realgud.el
index 6528f84..09fbcd9 100644
--- a/packages/realgud/realgud.el
+++ b/packages/realgud/realgud.el
@@ -1,7 +1,8 @@
 ;;; realgud.el --- A modular front-end for interacting with external debuggers
 
 ;; Author: Rocky Bernstein 
-;; Version: 1.4.0
+;; Version: 1.4.1
+;; Package-Type: multi
 ;; Package-Requires: ((load-relative "1.2") (loc-changes "1.2") (test-simple  
"1.2.0"))
 ;; URL: http://github.com/realgud/realgud/
 ;; Compatibility: GNU Emacs 24.x



[elpa] master e180026 2/7: Include line text when saving location info.

2016-08-01 Thread Rocky Bernstein
branch: master
commit e180026667e2310b8b6c5f2a3c35da93ca0b4bc6
Author: rocky 
Commit: rocky 

Include line text when saving location info.
---
 loc-changes.el |   16 +---
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/loc-changes.el b/loc-changes.el
index a269c0a..cda9f20 100644
--- a/loc-changes.el
+++ b/loc-changes.el
@@ -38,14 +38,14 @@
 (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,12 +68,13 @@ 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 ": %s\n" (caddr assoc)))
  )
 (setq buffer-read-only 't)
 ))
@@ -155,7 +156,8 @@ 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)
@@ -242,7 +244,7 @@ NO-UPDATE is set, no mark is added."
   position))
   (let ((elt (assq position 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)))



[elpa] master updated (a0ac02f -> 8ad82e5)

2016-08-01 Thread Rocky Bernstein
rocky pushed a change to branch master.

  from  a0ac02f   Merge commit 'ab69dbcccb4d0ed5ec2a7bd6bc7b3cff7e7adbac'
   new  38e5756   Fix footer
   new  e180026   Include line text when saving location info.
   new  79640e9   In support of last change. Silence caddr warning.
   new  5800073   Small formatting change.
   new  d0ef370   Docstring quoting change. New elget-installer
   new  4d1dcdf   Remove autoloads and "postion" -> "line-number" ...
   new  8ad82e5   Merge commit '4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c'


Summary of changes:
 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(-)
 create mode 100644 packages/loc-changes/el-get-install.el
 delete mode 100644 packages/loc-changes/test/install-pkgs.el



[elpa] master d0ef370 5/7: Docstring quoting change. New elget-installer

2016-08-01 Thread Rocky Bernstein
branch: master
commit d0ef370c773c04e6533e6725f76c69f3e4eccbe5
Author: rocky 
Commit: rocky 

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 000..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 
+;; 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
+

[elpa] master 79640e9 3/7: In support of last change. Silence caddr warning.

2016-08-01 Thread Rocky Bernstein
branch: master
commit 79640e9d18eb7293a3f973ca2b53e6268254c448
Author: rocky 
Commit: rocky 

In support of last change. Silence caddr warning.
---
 loc-changes.el |9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/loc-changes.el b/loc-changes.el
index cda9f20..5425b30 100644
--- a/loc-changes.el
+++ b/loc-changes.el
@@ -35,6 +35,8 @@
 
 ;;; 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
@@ -74,7 +76,7 @@ internal buffer called *Describe*."
   (point)
   'mark (cdr assoc)
)
- (insert (format ": %s\n" (caddr assoc)))
+ (insert (format ": %s\n" (cl-caddr assoc)))
  )
 (setq buffer-read-only 't)
 ))
@@ -88,7 +90,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
@@ -225,7 +227,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)
)



[elpa] master 4d1dcdf 6/7: Remove autoloads and "postion" -> "line-number" ...

2016-08-01 Thread Rocky Bernstein
branch: master
commit 4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c
Author: rocky 
Commit: rocky 

Remove autoloads and "postion" -> "line-number" ...

Suggestions from Stefan Monnier.

position in ELisp refers to char-based offset
---
 loc-changes.el |   23 ++-
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/loc-changes.el b/loc-changes.el
index 543b3df..4e3660b 100644
--- a/loc-changes.el
+++ b/loc-changes.el
@@ -81,7 +81,6 @@ internal buffer called *Describe*."
 (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
@@ -161,7 +160,6 @@ marker for it will be created at the point."
(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'."
@@ -198,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: ")
@@ -209,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.
@@ -237,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 (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))
   )
 )
   )



[elpa] master 38e5756 1/7: Fix footer

2016-08-01 Thread Rocky Bernstein
branch: master
commit 38e5756b81f0efc0851608682f8407320c03b208
Author: rocky 
Commit: rocky 

Fix footer
---
 loc-changes.el |1 +
 1 file changed, 1 insertion(+)

diff --git a/loc-changes.el b/loc-changes.el
index 169e20e..a269c0a 100644
--- a/loc-changes.el
+++ b/loc-changes.el
@@ -254,3 +254,4 @@ NO-UPDATE is set, no mark is added."
   )
 
 (provide 'loc-changes)
+;;; loc-changes.el ends here



[elpa] master 5800073 4/7: Small formatting change.

2016-08-01 Thread Rocky Bernstein
branch: master
commit 58000738accf2f80ea2bf210f7dea5914adb14ee
Author: rocky 
Commit: rocky 

Small formatting change.
---
 loc-changes.el |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/loc-changes.el b/loc-changes.el
index 5425b30..c114be4 100644
--- a/loc-changes.el
+++ b/loc-changes.el
@@ -76,7 +76,7 @@ internal buffer called *Describe*."
   (point)
   'mark (cdr assoc)
)
- (insert (format ": %s\n" (cl-caddr assoc)))
+ (insert (format ":\t%s\n" (cl-caddr assoc)))
  )
 (setq buffer-read-only 't)
 ))



[elpa] master 8ad82e5 7/7: Merge commit '4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c'

2016-08-01 Thread Rocky Bernstein
branch: master
commit 8ad82e5308ded892a379cb81b470b24285e58cc0
Merge: a0ac02f 4d1dcdf
Author: rocky 
Commit: rocky 

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 000..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 
+;; 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-

[elpa] master 1e3a439: Use user-emacs-directory.

2016-08-01 Thread Mario Lang
branch: master
commit 1e3a4396ea61d71b69eb9678417db5b3f4de0bb0
Author: Mario Lang 
Commit: Mario Lang 

Use user-emacs-directory.
---
 packages/async/async-bytecomp.el |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/async/async-bytecomp.el b/packages/async/async-bytecomp.el
index 2c96da0..9ee3071 100644
--- a/packages/async/async-bytecomp.el
+++ b/packages/async/async-bytecomp.el
@@ -51,7 +51,7 @@ the symbol `all', in this case packages are always compiled 
asynchronously."
   :group 'async
   :type '(repeat (choice symbol)))
 
-(defvar async-byte-compile-log-file "~/.emacs.d/async-bytecomp.log")
+(defvar async-byte-compile-log-file (expand-file-name "async-bytecomp.log" 
user-emacs-directory))
 
 ;;;###autoload
 (defun async-byte-recompile-directory (directory &optional quiet)



[elpa] master 28397a5: Wrong require - thanks Stefan

2016-08-01 Thread Rocky Bernstein
branch: master
commit 28397a589853f7267f79c8bc73dd571a55e548bd
Author: rocky 
Commit: rocky 

Wrong require - thanks Stefan
---
 packages/realgud/realgud/common/helper.el |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/realgud/realgud/common/helper.el 
b/packages/realgud/realgud/common/helper.el
index 5beaf39..82bc878 100644
--- a/packages/realgud/realgud/common/helper.el
+++ b/packages/realgud/realgud/common/helper.el
@@ -12,7 +12,7 @@
 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ;; GNU General Public License for more details.
 
-(require 'cl)
+(require 'cl-lib)
 
 ;;; Miscellaneous utility functions
 (require 'load-relative)



[elpa] master f7dc648: Bump version

2016-08-01 Thread Rocky Bernstein
branch: master
commit f7dc6481394c42113655a98e302e2f228bad4f3b
Author: rocky 
Commit: rocky 

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

diff --git a/packages/realgud/realgud.el b/packages/realgud/realgud.el
index 09fbcd9..c7689ca 100644
--- a/packages/realgud/realgud.el
+++ b/packages/realgud/realgud.el
@@ -1,7 +1,7 @@
 ;;; realgud.el --- A modular front-end for interacting with external debuggers
 
 ;; Author: Rocky Bernstein 
-;; Version: 1.4.1
+;; Version: 1.4.2
 ;; Package-Type: multi
 ;; Package-Requires: ((load-relative "1.2") (loc-changes "1.2") (test-simple  
"1.2.0"))
 ;; URL: http://github.com/realgud/realgud/



[elpa] master ab9b532: Avoid recursive stream-append in stream-concatenate

2016-08-01 Thread Michael Heerdegen
branch: master
commit ab9b532ffa43531dbeea552e81df7fe89aec07e3
Author: Michael Heerdegen 
Commit: Michael Heerdegen 

Avoid recursive stream-append in stream-concatenate

This fix prevents exceeding `max-lisp-eval-depth' for streams returned
by stream-concatenate.
---
 packages/stream/stream.el |   14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/packages/stream/stream.el b/packages/stream/stream.el
index 8b71a1b..853251e 100644
--- a/packages/stream/stream.el
+++ b/packages/stream/stream.el
@@ -4,7 +4,7 @@
 
 ;; Author: Nicolas Petton 
 ;; Keywords: stream, laziness, sequences
-;; Version: 2.2.0
+;; Version: 2.2.1
 ;; Package-Requires: ((emacs "25"))
 ;; Package: stream
 
@@ -377,7 +377,17 @@ will be found by calling FUNCTION on the preceding 
element."
   "Concatenate all streams in STREAM-OF-STREAMS and return the result.
 All elements in STREAM-OF-STREAMS must be streams.  The result is
 a stream."
-  (seq-reduce #'stream-append stream-of-streams (stream-empty)))
+  (stream-make
+   (while (and (not (stream-empty-p stream-of-streams))
+   (stream-empty-p (stream-first stream-of-streams)))
+ (cl-callf stream-rest stream-of-streams))
+   (if (stream-empty-p stream-of-streams)
+   nil
+ (cons
+  (stream-first (stream-first stream-of-streams))
+  (stream-concatenate
+   (stream-cons (stream-rest (stream-first stream-of-streams))
+(stream-rest stream-of-streams)))
 
 (defun stream-of-directory-files-1 (directory &optional nosort recurse 
follow-links)
   "Helper for `stream-of-directory-files'."



[elpa] master 1f9393b: Don't need el-get-install here

2016-08-01 Thread Rocky Bernstein
branch: master
commit 1f9393bb6dbc9eefee928942fbb7b74ad7df6883
Author: rocky 
Commit: rocky 

Don't need el-get-install here
---
 packages/loc-changes/el-get-install.el |  104 
 1 file changed, 104 deletions(-)

diff --git a/packages/loc-changes/el-get-install.el 
b/packages/loc-changes/el-get-install.el
deleted file mode 100644
index 86c55ec..000
--- a/packages/loc-changes/el-get-install.el
+++ /dev/null
@@ -1,104 +0,0 @@
-(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 
-;; 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))