[elpa] branch master updated (694254b - 6265448)

2014-02-02 Thread Stephen Leake
stephen_leake pushed a change to branch master
in repository elpa.

  from  694254b * packages/vlf: Version 1.4.  Add Ediff integration.
   new  b112471   update to Ada mode version 5.0.1
   new  6265448   Merge branch 'master' of 
git.sv.gnu.org:/srv/git/emacs/elpa

The 2 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/ada-mode/README|   65 ++
 packages/ada-mode/ada-build.el  |6 +-
 packages/ada-mode/ada-grammar-wy.el | 1437 +++
 packages/ada-mode/ada-mode.el   |   45 +-
 packages/ada-mode/ada-mode.info |  377 +---
 packages/ada-mode/ada-skel.el   |1 -
 packages/ada-mode/ada-wisi-opentoken.el |   81 +-
 packages/ada-mode/ada-wisi.el   |2 +-
 packages/ada-mode/gnat-inspect.el   |6 +-
 packages/ada-mode/gpr-grammar-wy.el |  249 +++---
 packages/ada-mode/gpr-mode.el   |   33 +-
 packages/ada-mode/gpr-mode.info |  228 +-
 packages/ada-mode/gpr-skel.el   |3 +-
 packages/ada-mode/gpr-wisi.el   |1 -
 packages/wisi/wisi-parse.el |7 +-
 packages/wisi/wisi.el   |   13 +-
 16 files changed, 1446 insertions(+), 1108 deletions(-)
 create mode 100755 packages/ada-mode/README



[elpa] branch master updated (d3df2b8 - 43fa936)

2014-03-13 Thread Stephen Leake
stephen_leake pushed a change to branch master
in repository elpa.

  from  d3df2b8   Update Minimap to version 1.2.
   new  43fa936   release ada-mode 5.1.0, wisi 1.0.1

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/ada-mode/README|7 +-
 packages/ada-mode/ada-build.el  |4 +
 packages/ada-mode/ada-fix-error.el  |5 +-
 packages/ada-mode/ada-grammar-wy.el | 2717 ++-
 packages/ada-mode/ada-mode.el   |  222 ++-
 packages/ada-mode/ada-mode.info | 1434 +-
 packages/ada-mode/ada-skel.el   |4 +-
 packages/ada-mode/ada-wisi.el   |  252 +++-
 packages/ada-mode/gnat-core.el  |6 +-
 packages/ada-mode/gnat-inspect.el   |6 +-
 packages/ada-mode/gpr-mode.el   |5 +-
 packages/ada-mode/gpr-wisi.el   |4 +-
 packages/wisi/wisi-parse.el |   18 +-
 packages/wisi/wisi.el   |   31 +-
 14 files changed, 2508 insertions(+), 2207 deletions(-)



[elpa] 02/02: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa

2014-03-14 Thread Stephen Leake
stephen_leake pushed a commit to branch master
in repository elpa.

commit 864af570f78a4886ce09550c1dad851b261f5bcb
Merge: 0a9c02f bfb5f9a
Author: Stephen Leake stephen_le...@stephe-leake.org
Date:   Fri Mar 14 18:08:55 2014 -0500

Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa

 packages/gnugo/NEWS |3 +
 packages/gnugo/gnugo.el |  153 ---
 2 files changed, 94 insertions(+), 62 deletions(-)



[elpa] 01/02: * packages/ada-mode: version 5.1.1: fix wisi packaging bug, add -a in gnat-find

2014-03-14 Thread Stephen Leake
stephen_leake pushed a commit to branch master
in repository elpa.

commit 0a9c02f250c42aed45ea7083647b51a10d5efae4
Author: Stephen Leake stephen_le...@stephe-leake.org
Date:   Fri Mar 14 17:57:27 2014 -0500

* packages/ada-mode: version 5.1.1: fix wisi packaging bug, add -a in 
gnat-find

* packages/wisi/wisi.el: bump version to reflect change.
---
 packages/ada-mode/README   |2 +-
 packages/ada-mode/ada-gnat-xref.el |   13 -
 packages/ada-mode/ada-mode.el  |6 +++---
 packages/wisi/wisi.el  |2 +-
 4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/packages/ada-mode/README b/packages/ada-mode/README
index 7e9e126..f4bfcb7 100755
--- a/packages/ada-mode/README
+++ b/packages/ada-mode/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 5.1.0
+Emacs Ada mode version 5.1.1
 
 Ada mode requires Emacs 24.2 or greater
 
diff --git a/packages/ada-mode/ada-gnat-xref.el 
b/packages/ada-mode/ada-gnat-xref.el
index 4f0d716..7144540 100755
--- a/packages/ada-mode/ada-gnat-xref.el
+++ b/packages/ada-mode/ada-gnat-xref.el
@@ -6,7 +6,7 @@
 ;;
 ;; GNAT is provided by AdaCore; see http://libre.adacore.com/
 ;;
-;;; Copyright (C) 2012, 2013  Free Software Foundation, Inc.
+;;; Copyright (C) 2012 - 2014  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake stephen_le...@member.fsf.org
 ;; Maintainer: Stephen Leake stephen_le...@member.fsf.org
@@ -53,7 +53,9 @@
 )
 
   (let* ((arg (format %s:%s:%d:%d identifier file line col))
-(switches (when (ada-prj-get 'gpr_ext) (concat --ext= (ada-prj-get 
'gpr_ext
+(switches (concat
+-a
+(when (ada-prj-get 'gpr_ext) (concat --ext= (ada-prj-get 
'gpr_ext)
 status
 (result nil))
 (with-current-buffer (gnat-run-buffer)
@@ -96,13 +98,14 @@
   For `ada-xref-parents-function', using 'gnat find', which is Ada-specific.
 
   (let* ((arg (format %s:%s:%d:%d identifier file line col))
-(switches (concat
+(switches (list
+-a
-d
(when (ada-prj-get 'gpr_ext) (concat --ext= (ada-prj-get 
'gpr_ext)))
))
 (result nil))
 (with-current-buffer (gnat-run-buffer)
-  (gnat-run-gnat find (list switches arg))
+  (gnat-run-gnat find (append switches (list arg)))
 
   (goto-char (point-min))
   (forward-line 2); skip GPR_PROJECT_PATH, 'gnat find'
@@ -149,7 +152,7 @@
   ;; is asynchronous, and automatically runs the compilation error
   ;; filter.
 
-  (let* ((cmd (format gnat find -r %s:%s:%d:%d identifier file line col)))
+  (let* ((cmd (format gnat find -a -r %s:%s:%d:%d identifier file line col)))
 
 (with-current-buffer (gnat-run-buffer); for default-directory
   (let ((compilation-environment (ada-prj-get 'proc_env))
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index 7a2c6b9..3e7b8cb 100755
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -5,8 +5,8 @@
 ;; Author: Stephen Leake stephen_le...@member.fsf.org
 ;; Maintainer: Stephen Leake stephen_le...@member.fsf.org
 ;; Keywords FIXME: languages, ada ELPA broken for multiple keywords
-;; Version: 5.1.0
-;; package-requires: ((wisi 1.0.1) (cl-lib 0.4) (emacs 24.2))
+;; Version: 5.1.1
+;; package-requires: ((wisi 1.0.2) (cl-lib 0.4) (emacs 24.2))
 ;; url: http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html
 ;;
 ;; (Gnu ELPA requires single digits between dots in versions)
@@ -167,7 +167,7 @@
 (defun ada-mode-version ()
   Return Ada mode version.
   (interactive)
-  (let ((version-string 5.1.0))
+  (let ((version-string 5.1.1))
 ;; must match:
 ;; ada-mode.texi
 ;; README
diff --git a/packages/wisi/wisi.el b/packages/wisi/wisi.el
index a9cd0b6..62302b7 100755
--- a/packages/wisi/wisi.el
+++ b/packages/wisi/wisi.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2012, 2013, 2014  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake stephen_le...@member.fsf.org
-;; Version: 1.0.1
+;; Version: 1.0.2
 ;; package-requires: ((cl-lib 0.4) (emacs 24.2))
 ;; URL: http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html
 ;;



[elpa] 02/04: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa

2014-04-19 Thread Stephen Leake
stephen_leake pushed a commit to branch master
in repository elpa.

commit d306222c5786e8cd5e1b6f77a5c12741820fb7a9
Merge: b45e522 d1dd484
Author: Stephen Leake stephen_le...@stephe-leake.org
Date:   Sun Apr 13 14:56:27 2014 -0500

Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa

 README |8 +-
 admin/archive-contents.el  |   94 +-
 externals-list |1 +
 .../ascii-art-to-unicode/ascii-art-to-unicode.el   |   29 +-
 packages/company/.travis.yml   |   20 -
 packages/company/NEWS.md   |   20 +
 packages/company/company-bbdb.el   |   49 +
 packages/company/company-clang.el  |7 +-
 packages/company/company-dabbrev-code.el   |2 +-
 packages/company/company-etags.el  |9 +-
 packages/company/company-keywords.el   |2 +-
 packages/company/company-semantic.el   |   14 +-
 packages/company/company-tests.el  |   87 ++-
 packages/company/company-yasnippet.el  |   94 ++
 packages/company/company.el|  196 ++-
 packages/easy-kill/README.rst  |   70 +
 packages/easy-kill/easy-kill.el|  568 
 packages/ggtags/README.rst |  322 -
 packages/ggtags/ggtags.el  | 1465 +---
 packages/gnugo/HACKING |   10 +-
 packages/gnugo/NEWS|   21 +-
 packages/gnugo/gnugo.el| 1239 +
 22 files changed, 3385 insertions(+), 942 deletions(-)



[elpa] 03/04: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa

2014-04-19 Thread Stephen Leake
stephen_leake pushed a commit to branch master
in repository elpa.

commit ca8d5c56f29527250cfa33a31fcabc99f7f93427
Merge: d306222 77719a9
Author: Stephen Leake stephen_le...@stephe-leake.org
Date:   Sat Apr 19 08:53:28 2014 -0500

Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa

 packages/company/.travis.yml |   10 +-
 packages/company/Makefile|4 +-
 packages/company/NEWS.md |   14 +
 packages/company/company-abbrev.el   |4 +-
 packages/company/company-bbdb.el |   12 +-
 packages/company/company-capf.el |   13 +-
 packages/company/company-clang.el|   75 ++--
 packages/company/company-cmake.el|4 +-
 packages/company/company-css.el  |4 +-
 packages/company/company-dabbrev-code.el |4 +-
 packages/company/company-dabbrev.el  |   10 +-
 packages/company/company-eclim.el|   18 +-
 packages/company/company-elisp-tests.el  |  193 +++
 packages/company/company-elisp.el|   14 +-
 packages/company/company-etags.el|   10 +-
 packages/company/company-files.el|8 +-
 packages/company/company-gtags.el|6 +-
 packages/company/company-ispell.el   |4 +-
 packages/company/company-keywords.el |4 +-
 packages/company/company-nxml.el |   10 +-
 packages/company/company-oddmuse.el  |6 +-
 packages/company/company-pysmell.el  |8 +-
 packages/company/company-ropemacs.el |4 +-
 packages/company/company-semantic.el |4 +-
 packages/company/company-template.el |   16 +-
 packages/company/company-tempo.el|4 +-
 packages/company/company-tests.el|  402 +++---
 packages/company/company-xcode.el|4 +-
 packages/company/company-yasnippet.el|3 +-
 packages/company/company.el  |  474 ++--
 packages/easy-kill/README.rst|   58 ++-
 packages/easy-kill/easy-kill.el  |  399 +-
 packages/gnugo/HACKING   |6 +-
 packages/gnugo/NEWS  |   13 +
 packages/gnugo/gnugo.el  |  905 --
 35 files changed, 1646 insertions(+), 1081 deletions(-)



[elpa] branch master updated (fab13fe - 790d134)

2014-05-26 Thread Stephen Leake
stephen_leake pushed a change to branch master
in repository elpa.

  from  fab13fe   Fix phenomena decoding
   new  790d134   release ada-mode 5.1.4

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/ada-mode/NEWS  |   19 +
 packages/ada-mode/README|4 +-
 packages/ada-mode/ada-gnat-xref.el  |4 +-
 packages/ada-mode/ada-grammar-wy.el | 2671 ++-
 packages/ada-mode/ada-mode.el   |   89 ++-
 packages/ada-mode/ada-mode.info |   81 +-
 packages/ada-mode/ada-wisi.el   |9 +-
 packages/ada-mode/gnat-core.el  |   12 +-
 packages/ada-mode/gnat-inspect.el   |   12 +-
 packages/ada-mode/gpr-mode.el   |   11 -
 packages/ada-mode/gpr-query.el  |   25 +-
 11 files changed, 1544 insertions(+), 1393 deletions(-)



[elpa] branch master updated (340a48c - 5614e8d)

2014-07-12 Thread Stephen Leake
stephen_leake pushed a change to branch master
in repository elpa.

  from  340a48c   * javaimp: New package.
   new  5614e8d   * packages/ada-mode/* : version 5.1.5

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/ada-mode/NEWS  |6 +
 packages/ada-mode/README|2 +-
 packages/ada-mode/ada-gnat-xref.el  |1 +
 packages/ada-mode/ada-grammar-wy.el |  397 
 packages/ada-mode/ada-mode.el   |   34 +-
 packages/ada-mode/ada-mode.info |   91 +-
 packages/ada-mode/ada-mode.texi | 2006 +++
 packages/ada-mode/ada-wisi.el   |   20 +-
 packages/ada-mode/gnat-core.el  |7 +-
 packages/ada-mode/gnat-inspect.el   |1 +
 packages/ada-mode/gpr-mode.texi |  305 ++
 packages/ada-mode/gpr-query.el  |   18 +-
 packages/wisi/NEWS  |7 +
 packages/wisi/wisi-parse.el |8 +
 packages/wisi/wisi.el   |   71 +-
 15 files changed, 2673 insertions(+), 301 deletions(-)
 create mode 100755 packages/ada-mode/ada-mode.texi
 create mode 100755 packages/ada-mode/gpr-mode.texi



[elpa] reference refs/remotes/origin/master created (now 5614e8d)

2014-07-12 Thread Stephen Leake
stephen_leake pushed a change to reference refs/remotes/origin/master
in repository elpa.

at  5614e8d   * packages/ada-mode/* : version 5.1.5

No new revisions were added by this update.



[elpa] 01/02: remove bogus execute priv

2014-09-28 Thread Stephen Leake
stephen_leake pushed a commit to branch master
in repository elpa.

commit f69f4541b528957ef19f74acf95ceb56ebccc15c
Author: Stephen Leake stephen_le...@stephe-leake.org
Date:   Wed Sep 24 06:48:34 2014 -0500

remove bogus execute priv
---
 0 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/packages/ada-mode/README b/packages/ada-mode/README
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-build.el b/packages/ada-mode/ada-build.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-fix-error.el 
b/packages/ada-mode/ada-fix-error.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-gnat-compile.el 
b/packages/ada-mode/ada-gnat-compile.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-gnat-xref.el 
b/packages/ada-mode/ada-gnat-xref.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-grammar-wy.el 
b/packages/ada-mode/ada-grammar-wy.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-imenu.el b/packages/ada-mode/ada-imenu.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-indent-user-options.el 
b/packages/ada-mode/ada-indent-user-options.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-mode-compat-23.4.el 
b/packages/ada-mode/ada-mode-compat-23.4.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-mode-compat-24.2.el 
b/packages/ada-mode/ada-mode-compat-24.2.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-mode.texi b/packages/ada-mode/ada-mode.texi
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-skel.el b/packages/ada-mode/ada-skel.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-wisi-opentoken.el 
b/packages/ada-mode/ada-wisi-opentoken.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada-wisi.el b/packages/ada-mode/ada-wisi.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/ada_license.text 
b/packages/ada-mode/ada_license.text
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gnat-core.el b/packages/ada-mode/gnat-core.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gnat-inspect.el 
b/packages/ada-mode/gnat-inspect.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gpr-grammar-wy.el 
b/packages/ada-mode/gpr-grammar-wy.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gpr-mode.el b/packages/ada-mode/gpr-mode.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gpr-mode.texi b/packages/ada-mode/gpr-mode.texi
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gpr-query.el b/packages/ada-mode/gpr-query.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gpr-skel.el b/packages/ada-mode/gpr-skel.el
old mode 100755
new mode 100644
diff --git a/packages/ada-mode/gpr-wisi.el b/packages/ada-mode/gpr-wisi.el
old mode 100755
new mode 100644



[elpa] branch master updated (9b6931c - d3c4400)

2014-11-19 Thread Stephen Leake
stephen_leake pushed a change to branch master
in repository elpa.

  from  9b6931c   Merge commit 'ed44aa9bcebcc01a2d018db9080ee0e9866f'
   new  d3c4400   release ada-mode 5.1.7, wisi 1.1.0; minor format changes 
in ada-ref-man

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/ada-mode/ada-prj.el  |4 
 packages/ada-mode/ada-stmt.el |4 
 packages/ada-mode/ada-xref.el |4 
 3 files changed, 12 insertions(+), 0 deletions(-)
 create mode 100644 packages/ada-mode/ada-prj.el
 create mode 100644 packages/ada-mode/ada-stmt.el
 create mode 100644 packages/ada-mode/ada-xref.el



[elpa] 01/01: release ada-mode 5.1.7, wisi 1.1.0; minor format changes in ada-ref-man

2014-11-19 Thread Stephen Leake
stephen_leake pushed a commit to branch master
in repository elpa.

commit d3c440073abf6a43548b8618cd1937cbfed79a1e
Author: Stephen Leake stephen_le...@stephe-leake.org
Date:   Wed Nov 19 18:03:58 2014 -0600

release ada-mode 5.1.7, wisi 1.1.0; minor format changes in ada-ref-man
---
 packages/ada-mode/ada-prj.el  |4 
 packages/ada-mode/ada-stmt.el |4 
 packages/ada-mode/ada-xref.el |4 
 3 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/packages/ada-mode/ada-prj.el b/packages/ada-mode/ada-prj.el
new file mode 100644
index 000..c05afbf
--- /dev/null
+++ b/packages/ada-mode/ada-prj.el
@@ -0,0 +1,4 @@
+;; dummy file to hide obsolete bundled version
+(require 'ada-mode)
+(provide 'ada-prj)
+(message 'ada-prj' is obsolete; use 'ada-mode' instead)
diff --git a/packages/ada-mode/ada-stmt.el b/packages/ada-mode/ada-stmt.el
new file mode 100644
index 000..163c1de
--- /dev/null
+++ b/packages/ada-mode/ada-stmt.el
@@ -0,0 +1,4 @@
+;; dummy file to hide obsolete bundled version
+(require 'ada-mode)
+(provide 'ada-stmt)
+(message 'ada-stmt' is obsolete; use 'ada-mode' instead)
diff --git a/packages/ada-mode/ada-xref.el b/packages/ada-mode/ada-xref.el
new file mode 100644
index 000..be8edc2
--- /dev/null
+++ b/packages/ada-mode/ada-xref.el
@@ -0,0 +1,4 @@
+;; dummy file to hide obsolete bundled version
+(require 'ada-mode)
+(provide 'ada-xref)
+(message 'ada-xref' is obsolete; use 'ada-mode' instead)



[elpa] master e306ec5: Bump version of other-frame-window.el

2015-08-16 Thread Stephen Leake
branch: master
commit e306ec57f332ffc25f874093cafe97afa2d6ae1a
Author: Stephen Leake stephen_le...@stephe-leake.org
Commit: Stephen Leake stephen_le...@stephe-leake.org

Bump version of other-frame-window.el
---
 packages/other-frame-window/other-frame-window.el |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index 8c0084c..4b7f6b6 100755
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -5,7 +5,7 @@
 ;; Author: Stephen Leake stephen_le...@member.fsf.org
 ;; Maintainer: Stephen Leake stephen_le...@member.fsf.org
 ;; Keywords: frame window
-;; Version: 1.0.0
+;; Version: 1.0.1
 ;; Package-Requires: ((emacs 24.4))
 ;;
 ;; This file is part of GNU Emacs.



[elpa] master 3eff416: Resolve FIXME:s in other-frame-window.el

2015-08-16 Thread Stephen Leake
branch: master
commit 3eff416bc392bfee721d2b482b16c8c27a7189f2
Author: Stephen Leake stephen_le...@stephe-leake.org
Commit: Stephen Leake stephen_le...@stephe-leake.org

Resolve FIXME:s in other-frame-window.el

* packages/other-frame-window/other-frame-window.el (ofw-transient-map):
Clean up comment.
(ofw-display-buffer-other-window): Resolve FIXME:.
(other-frame-window-mode): Resolve FIXME:.
---
 packages/other-frame-window/other-frame-window.el |   18 +++---
 1 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index 52d22a8..8c0084c 100755
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -65,7 +65,7 @@
 
 (defvar ofw-transient-map
   (let ((map (make-sparse-keymap)))
-;; FIXME: This is basically the union of the default the C-x 4 and C-x 5
+;; This is basically the union of the default C-x 4 and C-x 5
 ;; keymaps in Emacs-25.
 (define-key map [?\C-f] #'find-file)
 (define-key map [?\C-o] #'display-buffer)
@@ -126,10 +126,10 @@
 creating new window if needed and allowed.
 If successful, return window; else return nil.
 Intended for 'display-buffer-overriding-action'.
-  ;; Reset for next display-buffer call.  Normally, this is taken care of by
-  ;; ofw--reset-prefix, but we do it here just in case.
-  ;; FIXME: Why be careful in ofw-delete-from-overriding and careless here?
-  (setq display-buffer-overriding-action nil)
+  ;; Reset for next display-buffer call.  Normally, this is taken care
+  ;; of by ofw--reset-prefix, but we do it here in case the user does
+  ;; two ofw prefixed commands consecutively.
+  (ofw-delete-from-overriding)
 
   ;; We can't use display-buffer-use-some-window here, because
   ;; that unconditionally allows another frame.
@@ -146,8 +146,7 @@ Intended for 'display-buffer-overriding-action'.
 If successful, return window; else return nil.
 Intended for 'display-buffer-overriding-action'.
   ;; Reset for next display-buffer call.
-  ;; FIXME: Why be careful in ofw-delete-from-overriding and careless here?
-  (setq display-buffer-overriding-action nil)
+  (ofw-delete-from-overriding)
 
   (or (display-buffer-use-some-frame buffer alist)
   (display-buffer-pop-up-frame buffer alist)))
@@ -215,10 +214,7 @@ Point stays in moved buffer.
 (define-minor-mode other-frame-window-mode
   Minor mode for other frame/window buffer placement.
 Enable mode if ARG is positive.
-  ;; FIXME: I think the mode-line is too crowded to accommodate such
-  ;; global-and-permanent minor-modes.
-  :lighter ofw   ;; mode line
-  :global t
+  :global t
 
   (remove-hook 'pre-command-hook #'ofw--reset-prefix)
 



[elpa] master b843370: * packages/other-frame-window/other-frame-window.el: New single-file package.

2015-08-13 Thread Stephen Leake
branch: master
commit b843370b57276edef0ea3caba0c26bca6782be63
Author: Stephen Leake stephen_le...@stephe-leake.org
Commit: Stephen Leake stephen_le...@stephe-leake.org

* packages/other-frame-window/other-frame-window.el: New single-file 
package.
---
 packages/other-frame-window/other-frame-window.el |  252 +
 1 files changed, 252 insertions(+), 0 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
new file mode 100755
index 000..27dd8e2
--- /dev/null
+++ b/packages/other-frame-window/other-frame-window.el
@@ -0,0 +1,252 @@
+;;; minor mode to enable global prefix keys for other frame/window buffer 
placement -*- lexical-binding: t -*-
+;;
+;; Copyright (C) 2015  Free Software Foundation, Inc.
+;;
+;; Author: Stephen Leake stephen_le...@member.fsf.org
+;; Maintainer: Stephen Leake stephen_le...@member.fsf.org
+;; Keywords: frame
+;; window
+;; Version: 1.0.0
+;; package-requires: ((emacs 25.0))
+;;
+;; This file is part of GNU Emacs.
+;;
+;; GNU Emacs 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.
+;;
+;; GNU Emacs 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 GNU Emacs.  If not, see http://www.gnu.org/licenses/.
+;;
+;;; Usage:
+;;
+;; Enable the minor mode with:
+;;
+;; M-x other-frame-window-mode
+;;
+;; or, in your ~/.emacs:
+;;
+;; (other-frame-window-mode t)
+;;
+;; C-x 7 command causes a buffer displayed by command to appear in
+;; another window in the same frame; a window is created if necessary.
+;;
+;; C-x 9 command causes a buffer displayed by command to appear in
+;; another frame; a frame is created if necessary.
+
+;;; Design:
+;;
+;; This uses C-x 7, 9 prefix because those keys are undefined in core
+;; Emacs.  It could eventually switch to 4, 5, since those are
+;; currently used for -other-window, -other-frame bindings.
+;;
+;; (info (emacs) Pop Up Window) (info (emacs) Creating Frames)
+;;
+;; This adds advice to switch-to-buffer; eventually Emacs could
+;; reimplement switch-to-buffer to do the same.
+
+;;; Code:
+
+(defun ofw-add-to-overriding (func)
+  Add FUNC to 'display-buffer-overriding-action' action list.
+  (let ((functions (car display-buffer-overriding-action))
+   (attrs (cdr display-buffer-overriding-action)))
+(push func functions)
+(setq display-buffer-overriding-action (cons functions attrs
+
+(defun ofw-delete-from-overriding ()
+  Delete 'ofw-display-buffer-other-window' and
+'ofw-display-buffer-other-frame' from
+'display-buffer-overriding-action' action list, if present.
+(let ((functions (car display-buffer-overriding-action))
+ (attrs (cdr display-buffer-overriding-action)))
+  (setq functions (delq 'ofw-display-buffer-other-frame (delq 
'ofw-display-buffer-other-window functions)))
+  (setq display-buffer-overriding-action (cons functions attrs
+
+(defun ofw-other-window ()
+  Set `display-buffer-overriding-action' to indicate other window.
+  (interactive)
+  (ofw-add-to-overriding 'ofw-display-buffer-other-window))
+
+(defun ofw-other-frame ()
+  Set `display-buffer-overriding-action' to indicate other frame.
+  (interactive)
+  (ofw-add-to-overriding 'ofw-display-buffer-other-frame))
+
+(defun ofw-display-buffer-other-window (buffer alist)
+  Show BUFFER in another window in the current frame,
+creating new window if needed and allowed.
+If successful, return window; else return nil.
+Intended for 'display-buffer-overriding-action'.
+  ;; Reset for next display-buffer call. FIXME: C-g, and next command
+  ;; failure, should also reset this
+  (setq display-buffer-overriding-action nil)
+
+  ;; We can't use display-buffer-use-some-window here, because
+  ;; that unconditionally allows another frame.
+  (or (display-buffer-use-some-frame
+   buffer
+   (append (list (cons 'frame-predicate (lambda (frame) (eq frame 
(selected-frame
+'(inhibit-same-window . t))
+  alist))
+  (display-buffer-pop-up-window buffer alist)))
+
+(defun ofw-display-buffer-other-frame (buffer alist)
+  Show BUFFER in another frame, creating a new frame
+if needed.
+If successful, return window; else return nil.
+Intended for 'display-buffer-overriding-action'.
+  ;; Reset for next display-buffer call.
+  (setq display-buffer-overriding-action nil)
+
+  (or (display-buffer-use-some-frame buffer alist)
+  (display-buffer-pop-up-frame buffer alist)))
+
+;; FIXME: use defadvice for Emacs 24.3
+(defun ofw-switch-to-buffer-advice (_orig-fun

[elpa] master a593b6f: Bump version of other-frame-window.el

2015-11-15 Thread Stephen Leake
branch: master
commit a593b6f4a40bffdd15aba3326379b8f7fb5b0a14
Author: Stephen Leake <stephen_le...@stephe-leake.org>
Commit: Stephen Leake <stephen_le...@stephe-leake.org>

Bump version of other-frame-window.el

* packages/other-frame-window/other-frame-window.el:
(ofw--set-prefix): FIXME => IMPROVEME.
(ofw-delete-from-overriding): Use remq instead of delq to avoid side
effects on let-bound list.
(ofw-switch-to-buffer-advice): Delete FIXME re emacs 24.3.
(ofw--suspend-and-restore): Fix FIXME.
(other-frame-window-mode): Add autoload.
(other-frame-window-mode): Delete code, FIXME re emacs 24.3.
(ofw-dwim--frame-p, ofw-dwim-open-other): FIXME => IMPROVEME.
---
 packages/other-frame-window/other-frame-window.el |   32 +---
 1 files changed, 8 insertions(+), 24 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index 6fc718f..2427ce6 100755
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -5,7 +5,7 @@
 ;; Author: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Maintainer: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Keywords: frame window
-;; Version: 1.0.1
+;; Version: 1.0.2
 ;; Package-Requires: ((emacs "24.4"))
 ;;
 ;; This file is part of GNU Emacs.
@@ -123,8 +123,8 @@
   "Remove ourselves from 'display-buffer-overriding-action' action list, if 
present."
   (let ((functions (car display-buffer-overriding-action))
 (attrs (cdr display-buffer-overriding-action)))
-(setq functions (delq #'ofw-display-buffer-other-frame
-  (delq #'ofw-display-buffer-other-window functions)))
+(setq functions (remq #'ofw-display-buffer-other-frame
+  (remq #'ofw-display-buffer-other-window functions)))
 (setq display-buffer-overriding-action
   (when (or functions attrs) (cons functions attrs)
 
@@ -165,10 +165,10 @@ Intended for 'display-buffer-overriding-action'."
   ;; Reset for next display-buffer call.
   (ofw-delete-from-overriding)
 
+  ;; IMPROVEME: prompt for a frame if more than 2
   (or (display-buffer-use-some-frame buffer alist)
   (display-buffer-pop-up-frame buffer alist)))
 
-;; FIXME: use defadvice for Emacs 24.3
 (defun ofw-switch-to-buffer-advice (orig-fun buffer
  norecord force-same-window)
   "Change `switch-to-buffer' to call `pop-to-buffer'.
@@ -178,14 +178,9 @@ This allows `switch-to-buffer' to respect 
`ofw-other-window',
   (pop-to-buffer buffer (list #'display-buffer-same-window) norecord)
 (funcall orig-fun buffer norecord force-same-window)))
 
-;; FIXME: use defadvice for Emacs 24.3
 (defun ofw--suspend-and-restore (orig-func  args)
   "Call ORIG-FUNC without any ofw actions on 
'display-buffer-overriding-action'."
   (let ((display-buffer-overriding-action display-buffer-overriding-action))
-;; FIXME: ofw-delete-from-overriding operates destructively, so the
-;; subsequent "restore" step only works if our ofw actions were all at the
-;; very beginning display-buffer-overriding-action (in which case `delq'
-;; happens not to be destructive).
 (ofw-delete-from-overriding)
 (apply orig-func args)))
 
@@ -253,23 +248,12 @@ Enable mode if ARG is positive."
  (setq display-buffer-base-action (cons functions attrs)))
 
;; Change switch-to-buffer to use display-buffer
-   (if (fboundp 'advice-add) ;Emacs≥24.4
-   (advice-add 'switch-to-buffer :around #'ofw-switch-to-buffer-advice)
-  ;; FIXME: `ad-activate' affects all pieces of advice of that
-  ;; function, which is not what we want!
- ;; (ad-activate 'switch-to-buffer)
-  )
+   (advice-add 'switch-to-buffer :around #'ofw-switch-to-buffer-advice)
 
;; Completing-read  pops up a buffer listing completions;
;; that should not respect or consume
;; ofw-frame-window-prefix-arg.
-   (if (fboundp 'advice-add)
-   (advice-add 'read-from-minibuffer
-:around #'ofw--suspend-and-restore)
-  ;; FIXME: `ad-activate' affects all pieces of advice of that
-  ;; function, which is not what we want!
- ;; (ad-activate 'read-from-minibuffer)
-  )
+   (advice-add 'read-from-minibuffer :around #'ofw--suspend-and-restore)
)
 
 ;; else disable
@@ -327,7 +311,7 @@ that allows the selected frame)."
 
 (defun ofw-dwim--frame-p ()
   "Return non-nil if the prefix is for \"other-frame\" rather than window."
-  ;; FIXME: Comparing functions is ugly/hackish!
+  ;; IMPROVEME: Comparing functions is ugly/hackish!
   (memq #'ofw-display-buffer-other-frame
 (car display-buffer-overriding-action)))
 
@@ -347,7 +331,7 @@ that allows the s

[elpa] master fcec526: * packages/ada-ref-man/ada-ref-man.el: actually bump version

2017-02-23 Thread Stephen Leake
branch: master
commit fcec5261f46a597c9a6deed99653a6d63e3f5569
Author: Stephen Leake <stephen_le...@stephe-leake.org>
Commit: Stephen Leake <stephen_le...@stephe-leake.org>

* packages/ada-ref-man/ada-ref-man.el: actually bump version
---
 packages/ada-ref-man/ada-ref-man.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/ada-ref-man/ada-ref-man.el 
b/packages/ada-ref-man/ada-ref-man.el
index 53f60c7..5400c03 100644
--- a/packages/ada-ref-man/ada-ref-man.el
+++ b/packages/ada-ref-man/ada-ref-man.el
@@ -1,13 +1,13 @@
 ;;; ada-ref-man.el --- Ada Reference Manual 2012
 ;;
-;;; Copyright (C) 2014  Free Software Foundation, Inc.
+;;; Copyright (C) 2014, 2017  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Maintainer: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Keywords: languages
 ;;  ada
 ;; Package-Type: multi
-;; Version: 2012.0
+;; Version: 2012.3
 ;; url: http://stephe-leake.org/ada/arm.html
 
 ;;; ada-ref-man.el ends here



[elpa] master updated (2ad2f73 -> 671729d)

2017-07-09 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  2ad2f73   * packages/gited/gited.el (gited-stash-branch): Update 
Gited buffer on success
   new  4909702   * packages/other-frame-window/other-frame-window.el: 
improve description
   new  671729d   Update ada-mode to version 5.2.2, wisi to version 1.1.5


Summary of changes:
 packages/ada-mode/NEWS |   49 +-
 packages/ada-mode/README   |   68 +-
 packages/ada-mode/ada-build.el |4 +-
 packages/ada-mode/ada-fix-error.el |   18 +-
 packages/ada-mode/ada-gnat-compile.el  |   33 +-
 packages/ada-mode/ada-gnat-xref.el |  137 +-
 packages/ada-mode/ada-gps.el   |  466 ++
 packages/ada-mode/ada-grammar-wy.el|  839 ++--
 packages/ada-mode/ada-indent-user-options.el   |   15 +-
 packages/ada-mode/ada-mode-compat-24.2.el  |   37 -
 .../test/all.el => ada-mode/ada-mode-compat.el}|   17 +-
 packages/ada-mode/ada-mode.el  |  266 +-
 packages/ada-mode/ada-mode.info|  260 +-
 packages/ada-mode/ada-mode.texi|  161 +-
 packages/ada-mode/ada-skel.el  |   32 +-
 packages/ada-mode/ada-wisi-opentoken.el|   14 +-
 packages/ada-mode/ada-wisi.el  |  628 +--
 packages/ada-mode/ada_mode_gps_indent.adb  |  303 ++
 .../{gpr_query.gpr => ada_mode_gps_indent.gpr} |   40 +-
 packages/ada-mode/debug_gps_indent.adb |   84 +
 packages/ada-mode/gnat-core.el |   61 +-
 packages/ada-mode/gpr-grammar-wy.el|  244 +-
 packages/ada-mode/gpr-mode.el  |0
 packages/ada-mode/gpr-mode.info|2 +-
 packages/ada-mode/gpr-query.el |  174 +-
 packages/ada-mode/gpr_query-process_refresh.adb.gp |   33 +
 packages/ada-mode/gpr_query.adb|   26 +-
 .../ada-mode/{gpr_query.gpr => gpr_query.gpr.gp}   |3 +
 packages/ada-mode/gps_source/ada_analyzer.adb  | 4834 
 packages/ada-mode/gps_source/ada_analyzer.ads  |   76 +
 packages/ada-mode/gps_source/basic_types.adb   |  147 +
 packages/ada-mode/gps_source/basic_types.ads   |  166 +
 packages/ada-mode/gps_source/case_handling.adb |  314 ++
 packages/ada-mode/gps_source/case_handling.ads |  124 +
 packages/ada-mode/gps_source/config.ads|   34 +
 packages/ada-mode/gps_source/generic_stack.adb |  126 +
 packages/ada-mode/gps_source/generic_stack.ads |   74 +
 packages/ada-mode/gps_source/indent_stack.ads  |   32 +
 packages/ada-mode/gps_source/language.adb  | 1052 +
 packages/ada-mode/gps_source/language.ads  |  864 
 packages/ada-mode/gps_source/string_utils.adb  | 1364 ++
 packages/ada-mode/gps_source/string_utils.ads  |  353 ++
 packages/ada-mode/gps_source/utf8_utils.adb|  313 ++
 packages/ada-mode/gps_source/utf8_utils.ads|  101 +
 packages/ada-ref-man/README|7 -
 packages/other-frame-window/other-frame-window.el  |6 +-
 packages/wisi/NEWS |   15 +
 packages/wisi/README   |   13 +-
 packages/wisi/wisi-compile.el  |   13 +-
 packages/wisi/wisi-parse.el|2 -
 packages/wisi/wisi.el  |  142 +-
 51 files changed, 12840 insertions(+), 1346 deletions(-)
 mode change 100644 => 100755 packages/ada-mode/NEWS
 mode change 100644 => 100755 packages/ada-mode/ada-gnat-compile.el
 mode change 100644 => 100755 packages/ada-mode/ada-gnat-xref.el
 create mode 100755 packages/ada-mode/ada-gps.el
 mode change 100644 => 100755 packages/ada-mode/ada-grammar-wy.el
 mode change 100644 => 100755 packages/ada-mode/ada-indent-user-options.el
 delete mode 100644 packages/ada-mode/ada-mode-compat-24.2.el
 copy packages/{company/test/all.el => ada-mode/ada-mode-compat.el} (61%)
 mode change 100644 => 100755 packages/ada-mode/ada-mode.el
 mode change 100644 => 100755 packages/ada-mode/ada-skel.el
 mode change 100644 => 100755 packages/ada-mode/ada-wisi-opentoken.el
 mode change 100644 => 100755 packages/ada-mode/ada-wisi.el
 create mode 100755 packages/ada-mode/ada_mode_gps_indent.adb
 copy packages/ada-mode/{gpr_query.gpr => ada_mode_gps_indent.gpr} (63%)
 create mode 100755 packages/ada-mode/debug_gps_indent.adb
 mode change 100644 => 100755 packages/ada-mode/gnat-core.el
 mode change 100644 => 100755 packages/ada-mode/gpr-grammar-wy.el
 mode change 100644 => 100755 packages/ada-mode/gpr-mode.el
 mode change 100644 => 100755 packages/ada-mode/gpr-query.el
 create mode 100755 packages/ada-mode/gpr_query-process_refresh.adb.gp
 rename packages/ada-mode/{gpr_query.gpr => gpr_query.gpr.gp} (97%)
 create mode 100755 packages/ada-mode/gps_source/ada_analyzer.adb
 create 

[elpa] master 4909702 1/2: * packages/other-frame-window/other-frame-window.el: improve description

2017-07-09 Thread Stephen Leake
branch: master
commit 4909702cf01a96cebf4d5d8f5454ccb6bb9b8cc9
Author: Stephen Leake <stephen_le...@stephe-leake.org>
Commit: Stephen Leake <stephen_le...@stephe-leake.org>

* packages/other-frame-window/other-frame-window.el: improve description
---
 packages/other-frame-window/other-frame-window.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index 3892bec..47729da 100644
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -5,7 +5,7 @@
 ;; Author: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Maintainer: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Keywords: frame window
-;; Version: 1.0.3
+;; Version: 1.0.4
 ;; Package-Requires: ((emacs "24.4"))
 ;;
 ;; This file is part of GNU Emacs.
@@ -56,7 +56,7 @@
 ;;
 ;; m - compose mail in another window/frame.
 ;;
-;; o - move to another window/frame.
+;; o - select another window/frame.
 ;;
 ;; r - find-file-read-only in another window/frame.
 ;;
@@ -293,7 +293,7 @@ f - find-file in another window/frame.
 
 m - compose mail in another window/frame.
 
-o - move to another window/frame.
+o - select another window/frame.
 
 r - find-file-read-only in another window/frame.
 



[elpa] master 6577f20: * packages/other-frame-window: add text for list-packages long description

2017-05-14 Thread Stephen Leake
branch: master
commit 6577f206f9db7cb9cdbe2a6c7f6de792b7410eea
Author: Stephen Leake <stephen_le...@stephe-leake.org>
Commit: Stephen Leake <stephen_le...@stephe-leake.org>

* packages/other-frame-window: add text for list-packages long description
---
 packages/other-frame-window/other-frame-window.el | 48 ++-
 1 file changed, 39 insertions(+), 9 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index bb55535..3892bec 100644
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -24,6 +24,43 @@
 ;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 ;;
 ;;; Commentary:
+;;
+;; C-x 7  causes a buffer displayed by 
+;; to appear in another window in the same frame; a window
+;; is created if necessary.
+;;
+;; C-x 9  causes a buffer displayed by 
+;; to appear in another frame; a frame is created if necessary.
+;;
+;; C-x W moves the current buffer to another window in the same frame.
+;;
+;; C-x F moves the current buffer to another frame.
+;;
+;; In addition, C-x 7 and C-x 9 can be followed by these keys:
+;;
+;; 0 - deletes the current window.
+;;
+;; 1 - deletes the other windows/frames.
+;;
+;; 2 - shows another view of the current buffer in a new
+;; window/frame.
+;;
+;; a - creates a commit log entry for the current defun in
+;; another window/frame.
+;;
+;; b - switches to another buffer in another window/frame.
+;;
+;; d - start dired in another window/frame.
+;;
+;; f - find-file in another window/frame.
+;;
+;; m - compose mail in another window/frame.
+;;
+;; o - move to another window/frame.
+;;
+;; r - find-file-read-only in another window/frame.
+;;
+;; To extend this list, add key bindings to ‘ofw-transient-map’.
 
  Usage:
 ;;
@@ -35,11 +72,6 @@
 ;;
 ;; (other-frame-window-mode t)
 ;;
-;; C-x 7  causes a buffer displayed by  to appear in
-;; another window in the same frame; a window is created if necessary.
-;;
-;; C-x 9  causes a buffer displayed by  to appear in
-;; another frame; a frame is created if necessary.
 
  Design:
 ;;
@@ -235,10 +267,6 @@ is created if necessary.
 \\[ofw-other-frame]  causes a buffer displayed by 
 to appear in another frame; a frame is created if necessary.
 
-\\[ofw-other-window] 0 deletes the current window.
-
-\\[ofw-other-frame] 0 deletes the current frame.
-
 \\[ofw-move-to-other-window] moves the current buffer to another
 window in the same frame.
 
@@ -247,6 +275,8 @@ frame.
 
 In addition, \\[ofw-other-window] and \\[ofw-other-frame] can be followed by 
these keys:
 
+0 - deletes the current window/frame
+
 1 - deletes the other windows/frames.
 
 2 - shows another view of the current buffer in a new



[elpa] master e2dd351: * packages/other-frame-window: bump version; improve minor mode doc string

2017-05-13 Thread Stephen Leake
branch: master
commit e2dd35102b127e6bf0471482d13a69c06579ea39
Author: Stephen Leake <stephen_le...@stephe-leake.org>
Commit: Stephen Leake <stephen_le...@stephe-leake.org>

* packages/other-frame-window: bump version; improve minor mode doc string
---
 packages/other-frame-window/other-frame-window.el | 48 +--
 1 file changed, 45 insertions(+), 3 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index 979d18f..bb55535 100644
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -1,11 +1,11 @@
 ;;; other-frame-window.el --- Minor mode to enable global prefix keys for 
other frame/window buffer placement  -*- lexical-binding: t -*-
 ;;
-;; Copyright (C) 2015  Free Software Foundation, Inc.
+;; Copyright (C) 2015, 2017  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Maintainer: Stephen Leake <stephen_le...@member.fsf.org>
 ;; Keywords: frame window
-;; Version: 1.0.2
+;; Version: 1.0.3
 ;; Package-Requires: ((emacs "24.4"))
 ;;
 ;; This file is part of GNU Emacs.
@@ -226,7 +226,49 @@ Point stays in moved buffer."
 ;;;###autoload
 (define-minor-mode other-frame-window-mode
   "Minor mode for other frame/window buffer placement.
-Enable mode if ARG is positive."
+Enable mode if ARG is positive.
+
+\\[ofw-other-window]  causes a buffer displayed by 
+to appear in another window in the same frame; a window
+is created if necessary.
+
+\\[ofw-other-frame]  causes a buffer displayed by 
+to appear in another frame; a frame is created if necessary.
+
+\\[ofw-other-window] 0 deletes the current window.
+
+\\[ofw-other-frame] 0 deletes the current frame.
+
+\\[ofw-move-to-other-window] moves the current buffer to another
+window in the same frame.
+
+\\[ofw-move-to-other-frame] moves the current buffer to another
+frame.
+
+In addition, \\[ofw-other-window] and \\[ofw-other-frame] can be followed by 
these keys:
+
+1 - deletes the other windows/frames.
+
+2 - shows another view of the current buffer in a new
+window/frame.
+
+a - creates a commit log entry for the current defun in
+another window/frame.
+
+b - switches to another buffer in another window/frame.
+
+d - start dired in another window/frame.
+
+f - find-file in another window/frame.
+
+m - compose mail in another window/frame.
+
+o - move to another window/frame.
+
+r - find-file-read-only in another window/frame.
+
+To extend this list, add key bindings to ‘ofw-transient-map’.
+"
   :global t
 
   (remove-hook 'pre-command-hook #'ofw--reset-prefix)



[elpa] master 2c94f6f: Add ada-ref-man/build directory for the Makefile

2017-09-22 Thread Stephen Leake
branch: master
commit 2c94f6f256fea850448106d4d492e22bf189b06f
Author: Stephen Leake <stephen_le...@stephe-leake.org>
Commit: Stephen Leake <stephen_le...@stephe-leake.org>

Add ada-ref-man/build directory for the Makefile

* packages/ada-ref-man/build/: New directory.
---
 packages/ada-ref-man/.elpaignore |   3 +-
 packages/ada-ref-man/README  |   3 +
 packages/ada-ref-man/build/Makefile  | 211 +++
 packages/ada-ref-man/build/arm_info.gpr  | 108 
 packages/ada-ref-man/build/arm_info.prj  |   3 +
 packages/ada-ref-man/build/download.py   | 144 
 packages/ada-ref-man/build/emacs_case_exceptions |   2 +
 7 files changed, 473 insertions(+), 1 deletion(-)

diff --git a/packages/ada-ref-man/.elpaignore b/packages/ada-ref-man/.elpaignore
index 4c65740..1f5e996 100755
--- a/packages/ada-ref-man/.elpaignore
+++ b/packages/ada-ref-man/.elpaignore
@@ -1,2 +1,3 @@
-source_2012
+build
 progs
+source_2012
diff --git a/packages/ada-ref-man/README b/packages/ada-ref-man/README
index f33558c..02ce58c 100644
--- a/packages/ada-ref-man/README
+++ b/packages/ada-ref-man/README
@@ -8,4 +8,7 @@ in the ada-france monotone repository; access information is 
given at
 http://stephe-leake.org/ada/arm.html. ELPA git copy in
 packages/ada-ref-man/progs.
 
+packages/ada-ref-man/build/Makefile will compile the program and
+produce the .info files.
+
 
diff --git a/packages/ada-ref-man/build/Makefile 
b/packages/ada-ref-man/build/Makefile
new file mode 100755
index 000..ab564ed
--- /dev/null
+++ b/packages/ada-ref-man/build/Makefile
@@ -0,0 +1,211 @@
+# Compilation of the Scribe formatter written for the Ada Reference
+# Manual, translating .ms[ms] files into various formats. Also build
+# tar.gz for the web page.
+
+# Copyright (c) 2010, 2013 Stephen Leake <stephen_le...@stephe-leake.org>
+# Copyright (c) 2013   Nicolas Boulenguez <nico...@debian.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, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+# Specific targets generate every $document$year.$format combination.
+# Ex: make arm2012.pdf
+AVAILABLE_DOCUMENTS := aarm arm
+AVAILABLE_YEARS := 2005 2012
+AVAILABLE_FORMATS   := html info texinfo txt pdf
+
+# 'all' builds all versions except pdf; to build a subset, override these on 
the command line.
+DOCUMENTS := $(AVAILABLE_DOCUMENTS)
+YEARS := $(AVAILABLE_YEARS)
+FORMATS   := $(filter-out pdf texinfo, $(AVAILABLE_FORMATS))
+# Texinfo is an intermediate, and is built as necessary.
+# Pdf requires installation of many huge formatting tools; we assume they are 
not installed.
+
+# see ../README.txt for list of things to change when Scribe or Ada source 
changes.
+#
+# Cygwin texi2dvi (GNU Texinfo 4.13) 1.135 fails silently!
+
+# Debian standard build flags for Ada projects
+BUILDER_OPTIONS := -k
+ADAFLAGS:=
+LDFLAGS :=
+# arm_info.gpr sets its own flags, then appends these variables so
+# that they take precedence.  The intent is that you may configure the
+# build with a simple variable override.
+
+.PHONY: all clean publish
+
+all: $(foreach d,$(DOCUMENTS),\
+ $(foreach y,$(YEARS),\
+ $(foreach f,$(FORMATS),\
+   $(d)$(y).$(f
+
+# We have been unable to get rid of all the section ref violations, so we
+# specify --no-validate. Delete that to see the errors.
+TEXI_INFO_OPTS := --no-split --no-number-sections --no-validate
+TEXI_PDF_OPTS := --quiet
+
+SOURCE_DIR_2005 := ../source_2005
+SOURCE_DIR_2012 := ../source_2012
+
+# See progs/command.txt.
+CHANGES  := New-Only
+# See arm_form.exe help for possible values
+VERSION_2005 := 2
+VERSION_2012 := 4
+
+# Mapping from document acronyms to Randy's file names
+MASTER_arm  := rm.msm
+MASTER_aarm := aarm.msm
+
+# Rough dependency, but Scribe files should not change often.
+SOURCES_2005 := $(wildcard $(SOURCE_DIR_2005)/*.ms[ms])
+SOURCES_2012 := $(wildcard $(SOURCE_DIR_2012)/*.ms[ms])
+define doc_year_build
+
+  # Non-unique intermediate paths would create a race condition, so we
+  # store the temporary result into the versioned source directory.
+  $(d)$(y).texinfo: arm_form.exe $(SOURCES_$(y))
+   cd $(SOURCE_DIR_$(y)); \
+$(CURDIR)/$$< $(MASTER_$(d)) info $(CHANGES) $(VERSION_$(y)) 
$(VERSION_$(y)) ./; \
+   

[elpa] master 0eb0daf: * packages/ada-ref-man/README: add copyright, license info; add make command

2017-09-23 Thread Stephen Leake
branch: master
commit 0eb0daf9fe4b2cca50778b37b4130019f8eac36d
Author: Stephen Leake <stephen_le...@stephe-leake.org>
Commit: Stephen Leake <stephen_le...@stephe-leake.org>

* packages/ada-ref-man/README: add copyright, license info; add make command
---
 packages/ada-ref-man/README | 27 ++-
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/packages/ada-ref-man/README b/packages/ada-ref-man/README
index 02ce58c..5bb6cec 100644
--- a/packages/ada-ref-man/README
+++ b/packages/ada-ref-man/README
@@ -1,14 +1,31 @@
 Emacs info version of Ada Reference Manual 2012 TC1
 
 The upstream source for the ARM is http://www.ada-auth.org/arm-files/;
-ELPA git copy in packages/ada-ref-man/source_2012.
+ELPA git copy in packages/ada-ref-man/source_2012. Those files are
+copyright various companies/organisations (not including the FSF),
+with the following license (see title.mss, Version=[5], or
+arm2012.info, Front Matter):
+
+   This document may be copied, in whole or in part, in any form or by
+   any means, as is, or with alterations, provided that (1)
+   alterations are clearly marked as alterations and (2) this
+   copyright notice is included unmodified in any copy. Any other use
+   or distribution of this document is prohibited without the prior
+   express permission of AXE.
+
+   You use this document on the condition that you indemnify and hold
+   harmless AXE, its board, officers, agents, and employees, from any
+   and all liability or damages to yourself or your hardware or
+   software, or third parties, including attorneys' fees, court costs,
+   and other related costs and expenses, arising out of your use of
+   this document irrespective of the cause of said liability.
 
 The upstream source for the Ada code that processes the ARM source is
 in the ada-france monotone repository; access information is given at
 http://stephe-leake.org/ada/arm.html. ELPA git copy in
-packages/ada-ref-man/progs.
+packages/ada-ref-man/progs. Those files are copyright AXE Consultants
+or Stephen Leake, with GPL 3+ license.
 
 packages/ada-ref-man/build/Makefile will compile the program and
-produce the .info files.
-
-
+produce the .info files; command line is 'make all'. It assumes you
+have an Ada compiler and texinfo tools installed.



[elpa] master d5a2675: Minor improvements in other-frame-window

2018-07-30 Thread Stephen Leake
branch: master
commit d5a26757c4c15d1016c6dfabc46c261f0614a939
Author: Stephen Leake 
Commit: Stephen Leake 

Minor improvements in other-frame-window

* packages/other-frame-window/other-frame-window.el: Bump version.
(ofw--echo-keystrokes): Check structure of
'display-buffer-overriding-action' before accessing.
(other-frame-window-mode): Doc setting display-buffer-overriding-action
in init file.
---
 packages/other-frame-window/other-frame-window.el | 31 ++-
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index 47729da..dfa40e6 100644
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -1,11 +1,11 @@
 ;;; other-frame-window.el --- Minor mode to enable global prefix keys for 
other frame/window buffer placement  -*- lexical-binding: t -*-
 ;;
-;; Copyright (C) 2015, 2017  Free Software Foundation, Inc.
+;; Copyright (C) 2015, 2017, 2018  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: frame window
-;; Version: 1.0.4
+;; Version: 1.0.5
 ;; Package-Requires: ((emacs "24.4"))
 ;;
 ;; This file is part of GNU Emacs.
@@ -61,6 +61,14 @@
 ;; r - find-file-read-only in another window/frame.
 ;;
 ;; To extend this list, add key bindings to ‘ofw-transient-map’.
+;;
+;; Some code in Emacs uses an explicit list of actions in a call to
+;; display-buffer, which can defeat the purpose of
+;; other-frame-window. To override that, add:
+;;
+;; (setq display-buffer-overriding-action (cons (list 
'display-buffer-same-window) nil))
+;;
+;; to your Emacs init file.
 
  Usage:
 ;;
@@ -137,10 +145,14 @@
 (set-transient-map ofw-transient-map)))
 
 (defun ofw--echo-keystrokes ()
-  (let ((funs (car display-buffer-overriding-action)))
-(cond
- ((memq #'ofw-display-buffer-other-frame funs) "[other-frame]")
- ((memq #'ofw-display-buffer-other-window funs) "[other-window]"
+  ;; Sometimes people abuse ‘display-buffer-overriding-action’, and
+  ;; that crashes emacs, so be careful.
+  (when (and (consp display-buffer-overriding-action)
+(listp (car display-buffer-overriding-action)))
+(let ((funs (car display-buffer-overriding-action)))
+  (cond
+   ((memq #'ofw-display-buffer-other-frame funs) "[other-frame]")
+   ((memq #'ofw-display-buffer-other-window funs) "[other-window]")
 
 (when (boundp 'prefix-command-echo-keystrokes-functions)
   (add-hook 'prefix-command-echo-keystrokes-functions
@@ -298,6 +310,13 @@ o - select another window/frame.
 r - find-file-read-only in another window/frame.
 
 To extend this list, add key bindings to ‘ofw-transient-map’.
+
+To override default Emacs behavior in the absence of a prefix, do:
+
+\(setq display-buffer-overriding-action
+  (cons (list 'display-buffer-same-window) nil))
+
+in your init file.
 "
   :global t
 



[elpa] master 9195592: Package other-frame-window; improve description

2018-08-20 Thread Stephen Leake
branch: master
commit 91955926a420f62394af56d9264341e344abfcdf
Author: Stephen Leake 
Commit: Stephen Leake 

Package other-frame-window; improve description

* packages/other-frame-window/other-frame-window.el: Improve description
in Commentary, for list-packages. Mention display-buffer-alist, not
display-buffer-overriding-action.
---
 packages/other-frame-window/other-frame-window.el | 40 +++
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index dfa40e6..9c1f9ba 100644
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -25,17 +25,33 @@
 ;;
 ;;; Commentary:
 ;;
-;; C-x 7  causes a buffer displayed by 
-;; to appear in another window in the same frame; a window
+;; other-frame-window provides prefix key sequences to control where a
+;; new buffer is created by a subsequent command. With no prefix, the
+;; buffer is created where the command decides (nominally the currently
+;; selected window). Prefix C-x 7 causes the buffer to appear in
+;; another window in the same frame; a window is created if necessary.
+;; Prefix C-x 9 causes the buffer to appear in another frame; a frame
 ;; is created if necessary.
 ;;
-;; C-x 9  causes a buffer displayed by 
-;; to appear in another frame; a frame is created if necessary.
+;; Some commands display new buffers in other than the currently
+;; selected window, which defeats the purpose of ‘other-frame-window’ in
+;; the absense of a prefix. To override that, customize
+;; ‘display-buffer-alist’ for those commands. For example, to override
+;; ‘gud-gdb’:
+;;
+;; (add-to-list
+;;  'display-buffer-alist
+;;  (cons "\\*gud"
+;;  (cons 'display-buffer-same-window nil)))
+;; )
+;;
+;; Other key bindings provided by other-frame-window:
 ;;
 ;; C-x W moves the current buffer to another window in the same frame.
 ;;
 ;; C-x F moves the current buffer to another frame.
 ;;
+;;
 ;; In addition, C-x 7 and C-x 9 can be followed by these keys:
 ;;
 ;; 0 - deletes the current window.
@@ -62,13 +78,6 @@
 ;;
 ;; To extend this list, add key bindings to ‘ofw-transient-map’.
 ;;
-;; Some code in Emacs uses an explicit list of actions in a call to
-;; display-buffer, which can defeat the purpose of
-;; other-frame-window. To override that, add:
-;;
-;; (setq display-buffer-overriding-action (cons (list 
'display-buffer-same-window) nil))
-;;
-;; to your Emacs init file.
 
  Usage:
 ;;
@@ -308,15 +317,6 @@ m - compose mail in another window/frame.
 o - select another window/frame.
 
 r - find-file-read-only in another window/frame.
-
-To extend this list, add key bindings to ‘ofw-transient-map’.
-
-To override default Emacs behavior in the absence of a prefix, do:
-
-\(setq display-buffer-overriding-action
-  (cons (list 'display-buffer-same-window) nil))
-
-in your init file.
 "
   :global t
 



[elpa] master 1b70802: Other-frame-window: bump version to publish changes

2018-08-28 Thread Stephen Leake
branch: master
commit 1b708022c13e87124198c23118809e3f699f41fd
Author: Stephen Leake 
Commit: Stephen Leake 

Other-frame-window: bump version to publish changes
---
 packages/other-frame-window/other-frame-window.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/other-frame-window/other-frame-window.el 
b/packages/other-frame-window/other-frame-window.el
index 9c1f9ba..794d2bc 100644
--- a/packages/other-frame-window/other-frame-window.el
+++ b/packages/other-frame-window/other-frame-window.el
@@ -5,7 +5,7 @@
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: frame window
-;; Version: 1.0.5
+;; Version: 1.0.6
 ;; Package-Requires: ((emacs "24.4"))
 ;;
 ;; This file is part of GNU Emacs.



[elpa] master 170394c: * packages/ada-mode/ada-mode.el (ada-mode): emacs 26 vs hack-local-variables

2018-11-14 Thread Stephen Leake
branch: master
commit 170394cefd5bf4512337b1114c1d5f8a80a549e3
Author: Stephen Leake 
Commit: Stephen Leake 

* packages/ada-mode/ada-mode.el (ada-mode): emacs 26 vs hack-local-variables
---
 packages/ada-mode/ada-mode.el | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index efd2c4f..5e86e14 100755
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -1,12 +1,12 @@
 ;;; ada-mode.el --- major-mode for editing Ada sources  -*- lexical-binding:t 
-*-
 ;;
-;; Copyright (C) 1994, 1995, 1997 - 2017  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995, 1997 - 2018  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
-;; Version: 5.3.1
+;; Version: 5.3.2
 ;; package-requires: ((wisi "1.1.6") (cl-lib "0.4") (emacs "24.3"))
 ;; url: http://www.nongnu.org/ada-mode/
 ;;
@@ -2933,7 +2933,11 @@ The paragraph is indented on the first line."
 
   (when (< emacs-major-version 25) (syntax-propertize (point-max)))
 
-  (add-hook 'hack-local-variables-hook 'ada-mode-post-local-vars nil t)
+  (if (<= emacs-major-version 25)
+  ;; run-mode-hooks does _not_ call hack-local-variables
+  (add-hook 'hack-local-variables-hook 'ada-mode-post-local-vars nil t)
+;; >= 26; run-mode-hooks _does_ call hack-local-variables
+(ada-mode-post-local-vars))
   )
 
 (defun ada-mode-post-local-vars ()



[elpa] master 5511be7: Add new files in ada-mode; package version not bumped

2019-01-16 Thread Stephen Leake
branch: master
commit 5511be7a40e4c02c1ea38f24c6ce92c5aee32a11
Author: Stephen Leake 
Commit: Stephen Leake 

Add new files in ada-mode; package version not bumped

* packages/ada-mode/ada-project.el: New file.
* packages/ada-mode/env-project.el: New file.
---
 packages/ada-mode/ada-project.el | 81 
 packages/ada-mode/env-project.el | 70 ++
 2 files changed, 151 insertions(+)

diff --git a/packages/ada-mode/ada-project.el b/packages/ada-mode/ada-project.el
new file mode 100644
index 000..e917ec3
--- /dev/null
+++ b/packages/ada-mode/ada-project.el
@@ -0,0 +1,81 @@
+;; ada-project.el - project.el backend for ada-mode projects -*- 
lexical-binding: t =*-
+;;
+;; Copyright (C) 2017, 2018, 2019  Free Software Foundation, Inc.
+;;
+;; Author: Stephen Leake 
+;; Maintainer: Stephen Leake 
+;; Keywords: projects
+;; Version: 1.0.0
+;; package-requires: ((emacs "25.0"))
+;;
+;; This file is part of GNU Emacs.
+;;
+;; GNU Emacs 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.
+;;
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+(require 'ada-mode)
+(require 'project-patches)
+(require 'env-project)
+(require 'uniquify-files)
+
+(cl-defstruct (ada-project
+  (:include env-project)
+  (:constructor nil) ;; no default
+  (:constructor make-ada-project
+(
+ env-vars
+ ada-prj-file
+ 
+ (ada-prj (expand-file-name ada-prj-file
+  )
+  ada-prj
+  ;; The ada-mode project file name (absolute).
+  )
+
+(cl-defmethod project-id ((prj ada-project))
+  ;; project-id is experimental
+  (ada-project-ada-prj prj))
+
+(cl-defmethod project-library-roots ((prj ada-project))
+  ;; Called from project-find-file; result is passed to
+  ;; project--file-completion-table, where it is ignored.
+  nil)
+
+(cl-defmethod project-roots ((prj ada-project))
+  ;; Called from project-find-file; result is passed to
+  ;; project--file-completion-table, where it is ignored.
+  nil)
+
+(cl-defmethod project-file-completion-table ((prj ada-project) _dirs)
+  ;; (ada-prj-get 'src_dir) is more accurate than project-*roots
+  (let ((iter (make-path-iterator
+  :user-path-non-recursive (ada-prj-get 'src_dir)
+  :user-path-recursive nil
+  :ignore-function nil)))
+(apply-partially #'uniq-file-completion-table iter)
+))
+
+(cl-defmethod project-select :after ((prj ada-project))
+  ;; :after ensures env-project project-select is run first, setting env vars.
+  (ada-select-prj-file (ada-project-ada-prj prj)))
+
+(cl-defmethod project-deselect :before ((prj ada-project))
+  ;; :before ensures env vars are not erased before we are done with them.
+  (ada-deselect-prj (ada-project-ada-prj prj)))
+
+(cl-defmethod project-refresh ((_prj ada-project))
+  ;; assume prj is current
+  (ada-refresh-prj-file))
+(provide 'ada-project)
+
+;; end of file
diff --git a/packages/ada-mode/env-project.el b/packages/ada-mode/env-project.el
new file mode 100644
index 000..53dc99b
--- /dev/null
+++ b/packages/ada-mode/env-project.el
@@ -0,0 +1,70 @@
+;;; env-project.el --- provide a root project type that holds a list of env 
vars  -*- lexical-binding:t -*-
+;;
+;; Copyright (C) 2017, 2019  Free Software Foundation, Inc.
+;;
+;; Author: Stephen Leake 
+;; Maintainer: Stephen Leake 
+;; Keywords: projects
+;; Version: 0
+;; package-requires: ((emacs "25.0"))
+;;
+;; This file is part of GNU Emacs.
+;;
+;; GNU Emacs 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.
+;;
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+(require 'cl-lib)
+(require 'cl-generic)
+(require 'project)
+
+(eval-and-compile
+  (unless (fboundp 'refresh-project)
+  ;; In emacs 27
+
+  (cl

[elpa] master de19c24 2/3: Merge commit 'facd92f4c026525706a48b96b4e0b24543ce1d94'

2019-01-16 Thread Stephen Leake
branch: master
commit de19c24465f304c440157971fcf34c8072b057ce
Merge: 99e418d facd92f
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit 'facd92f4c026525706a48b96b4e0b24543ce1d94'
---
 .gitignore|   8 +
 GNUmakefile   |   8 +-
 README|   2 +-
 admin/archive-contents.el |  22 ++-
 externals-list|   4 +
 packages/counsel-ebdb/counsel-ebdb.el |  66 ---
 packages/el-search/NEWS   |   5 +
 packages/el-search/el-search-x.el |   2 +-
 packages/el-search/el-search.el   | 335 +-
 packages/helm-ebdb/helm-ebdb.el   |  83 -
 packages/iterators/iterators.el   |   2 +-
 packages/on-screen/on-screen.el   |   2 +-
 packages/smart-yank/smart-yank.el |   2 +-
 packages/stream/stream-x.el   |   2 +-
 14 files changed, 332 insertions(+), 211 deletions(-)

diff --git a/.gitignore b/.gitignore
index 363f7e4..7fcb315 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,27 +14,35 @@ packages/auctex/
 packages/bbdb/
 packages/chess/
 packages/cl-print/
+packages/clipboard-collector/
 packages/dash/
 packages/dismal/
 packages/ebdb/
 packages/eglot/
 packages/ergoemacs-mode/
 packages/exwm/
+packages/flymake/
 packages/fountain-mode/
+packages/gpastel/
 packages/hyperbole/
+packages/ivy-explorer/
 packages/jsonrpc/
 packages/let-alist/
+packages/map/
 packages/mmm-mode/
 packages/ntlm/
+packages/objed/
 packages/omn-mode/
 packages/orgalist/
 packages/pabbrev/
+packages/posframe/
 packages/psgml/
 packages/python/
 packages/rudel/
 packages/soap-client/
 packages/sql-indent/
 packages/ssh-deploy/
+packages/system-packages/
 packages/w3/
 packages/xelb/
 packages/zones/
diff --git a/GNUmakefile b/GNUmakefile
index 79e252f..8bfd49b 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -171,9 +171,11 @@ elcs := $(call SET-diff, $(naive_elcs), $(patsubst %.el, 
%.elc, $(nbc_els)))
 # '(dolist (al (quote ($(patsubst %, "%", $(autoloads) (load 
(expand-file-name al) nil t))'
 %.elc: %.el
@echo 'Byte compiling $<'
-   @$(EMACS) \
-   --eval "(setq package-directory-list nil package-user-dir 
\"$(abspath packages)\")" \
-   -f package-initialize \
+   @$(EMACS)\
+   --eval "(setq package-directory-list nil \
+ load-prefer-newer t\
+  package-user-dir \"$(abspath packages)\")" \
+   -f package-initialize\
-L $(dir $@) -f batch-byte-compile $<
 
 .PHONY: elcs
diff --git a/README b/README
index b827780..e0c9faf 100644
--- a/README
+++ b/README
@@ -229,7 +229,7 @@ In the `external' case, the copy of the code is not kept in 
`master` but in the
 
 To add a new externals package, first add this `elpa.git' repository as a
 new remote in your existing repository.  Then push a local branch to a
-new remote branch in `elpa.git', named externals/.  For example:
+new remote branch in `elpa.git', named `externals/`.  For example:
 
git push elpa :externals/
 
diff --git a/admin/archive-contents.el b/admin/archive-contents.el
index 17909b9..32f5285 100644
--- a/admin/archive-contents.el
+++ b/admin/archive-contents.el
@@ -1,6 +1,6 @@
 ;;; archive-contents.el --- Auto-generate an Emacs Lisp package archive.  -*- 
lexical-binding:t -*-
 
-;; Copyright (C) 2011-2018  Free Software Foundation, Inc
+;; Copyright (C) 2011-2019  Free Software Foundation, Inc
 
 ;; Author: Stefan Monnier 
 
@@ -626,14 +626,20 @@ Rename DIR/ to PKG-VERS/, and return the descriptor."
 (message "Running git pull in %S" default-directory)
 (archive-call t "git" "pull"))
((file-exists-p ".git")
-(message "Updating worktree in %S" default-directory)
-(archive-call t "git" "merge"))
+(unless (with-temp-buffer
+  (archive-call t "git" "status" "--branch" "--porcelain=2")
+  (goto-char (point-min))
+  ;; Nothing to pull (nor push, actually).
+  (search-forward "\n# branch.ab +0 -0" nil t))
+  (message "Updating worktree in %S" default-directory)
+  (archive-call t "git" "merge")))
(t (error "No .git in %S" default-directory)))
-  (message "Updated %s:%s%s" dirname
-   (if (and (eobp) (bolp)
-(eq (line-beginning-position 0) (point-min)))
-   " " "\n")
-   (buffer-string)
+  (unless (and (eobp) (bobp))
+(message "Updated %s:%s%s" dirname
+ (if (and (eobp) (

[elpa] master updated (facd92f -> 4d339f7)

2019-01-16 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  facd92f   Update copyrights of some packages
   new  99e418d   Add package path-iterator, version 0
   new  de19c24   Merge commit 'facd92f4c026525706a48b96b4e0b24543ce1d94'
   new  4d339f7   Add package uniquify-files


Summary of changes:
 packages/path-iterator/path-iterator.el   | 248 +++
 packages/uniquify-files/uniquify-files.el | 711 ++
 2 files changed, 959 insertions(+)
 create mode 100644 packages/path-iterator/path-iterator.el
 create mode 100644 packages/uniquify-files/uniquify-files.el



[elpa] master 4d339f7 3/3: Add package uniquify-files

2019-01-16 Thread Stephen Leake
branch: master
commit 4d339f789d6e3ce76f12c9354744d11edec44f33
Author: Stephen Leake 
Commit: Stephen Leake 

Add package uniquify-files
---
 packages/uniquify-files/uniquify-files.el | 711 ++
 1 file changed, 711 insertions(+)

diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
new file mode 100644
index 000..ee2ef25
--- /dev/null
+++ b/packages/uniquify-files/uniquify-files.el
@@ -0,0 +1,711 @@
+;; uniquify-files.el --- Completion style for files in a path  -*- 
lexical-binding:t -*-
+;;
+;; Copyright (C) 2017, 2019  Free Software Foundation, Inc.
+;;
+;; Author: Stephen Leake 
+;; Maintainer: Stephen Leake 
+;; Keywords: completion table
+;;   uniquify
+;; Version: 0
+;; package-requires: ((emacs "25.0"))
+;;
+;; This file is part of GNU Emacs.
+;;
+;; GNU Emacs 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.
+;;
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+
+;;; Discussion
+;;;
+;; These are the driving requirements for this completion style:
+;;
+;; - Allow the strings entered by the user and displayed in the
+;;   completion list to be rearranged abbreviations of the absolute
+;;   file name returned by `completing-read'.
+;;
+;; - Allow partial completion on the directory and filename portions
+;;   of the abbreviated strings.
+;;
+;;   "partial completion" means file names are partitioned at "_-/"
+;;   characters, so "fo-ba" completes to "foo-bar".
+;;
+;; - There should be no style-dependent code in the completion table
+;;   function; all code that deals with converting between the
+;;   abbreviated strings and the absolute strings should be in
+;;   higher-level functions, under the control of
+;;   `completion-styles-alist'.
+
+;; The first requirement has the most effect on the design. There are
+;; two common ways to select the result of a completion:
+;;
+;; - `minibuffer-complete-and-exit' - by default bound to  in the
+;;   minibuffer when `icomplete-mode' is enabled.
+;;
+;; - `minibuffer-force-complete-and-exit' - some users bind this to
+;; or other keys, so that it is easier to select the first
+;;completion.
+;;
+;; One possible design is to have `completion-try-completion' return
+;; an absolute file name (rather than an abbreviated file name) when
+;; the completed string is a valid completion. That sometimes works
+;; with `minibuffer-complete-and-exit', but it does not work with
+;; `minibuffer-force-complete-and-exit'; details follow.
+
+;; The nominal path thru `minibuffer-complete-and-exit' in effect
+;; calls `test-completion'. If that returns nil, it calls
+;; `completion-try-completion' with the same string, and then
+;; `test-completion' on that result. If that returns non-nil, the
+;; completed string is returned as the result of
+;; `completing-read'. Thus `test-completion' could return nil for user
+;; format strings, and t for data format strings; and `try-completion'
+;; could convert user format strings that are valid completions to data
+;; format strings. However, the full logic is complex (see the code in
+;; minibuffer.el for more details), and often ends up not converting
+;; the user string to a data string.
+;;
+;; `minibuffer-force-complete-and-exit' calls
+;; `minibuffer-force-complete', which replaces the buffer text with
+;; the first completion. Then it calls `test-completion', but _not_
+;; `try-completion' if that fails. So there is no opportunity to
+;; convert the user string to a data string.
+;;
+;; Thus the design we use here adds an explicit conversion from user
+;; to data format, via advice on completing-read.
+;;
+;; We did not meet the third requirement; the completion table
+;; implements part of the completion style.
+
+;;; Design
+;;
+;; There are three string formats involved in completion. For most
+;; styles, they are all the same; the following table describes them
+;; for the uniquify-file style.
+;;
+;; - user
+;;
+;;   The format typed by the user in the minibuffer, and shown in the
+;;   displayed completion list.
+;;
+;;   The user input is passed to `completion-try-completion', so it must
+;;   accept this format.
+;;
+;;   The string returned by `completion-try-completion' when it extends
+;;   the string replaces the string typed by the user, so it must be
+;;   in this format.
+;;
+;;   The displayed completion list consists of the strings return

[elpa] master 99e418d 1/3: Add package path-iterator, version 0

2019-01-16 Thread Stephen Leake
branch: master
commit 99e418d23913c865215ddcde2944906be30f533b
Author: Stephen Leake 
Commit: Stephen Leake 

Add package path-iterator, version 0
---
 packages/path-iterator/path-iterator.el | 248 
 1 file changed, 248 insertions(+)

diff --git a/packages/path-iterator/path-iterator.el 
b/packages/path-iterator/path-iterator.el
new file mode 100644
index 000..abfdff1
--- /dev/null
+++ b/packages/path-iterator/path-iterator.el
@@ -0,0 +1,248 @@
+;; path-iterator.el --- An iterator for traversing a directory path.  
-*-lexical-binding:t-*-
+
+;; Copyright (C) 2015 - 2017 Free Software Foundation, Inc.
+;;
+;; Author: Stephen Leake 
+;; Maintainer: Stephen Leake 
+;; Version: 0
+;; package-requires: ((emacs "25.0"))
+;;
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs 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.
+
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'cl-generic)
+
+(cl-defstruct
+(path-iterator
+ (:conc-name path-iter-)
+ (:copier nil)
+ (:constructor nil)
+ (:constructor make-path-iterator
+  (
+   user-path-non-recursive
+   user-path-recursive
+   ignore-function
+   
+   (path-non-recursive-init (path-iter-to-truename 
user-path-non-recursive))
+   (path-non-recursive path-non-recursive-init)
+   (path-recursive-init (path-iter-to-truename 
user-path-recursive))
+   (path-recursive path-recursive-init)
+   (visited nil)
+   (current nil)
+   (state nil))
+  ))
+
+  path-non-recursive-init ;; absolute directory file truenames, no recursion
+  path-recursive-init ;; absolute directory file truenames, recurse into 
subdirectories
+
+  path-non-recursive ;; temp storage while iterating
+  path-recursive ;; "
+
+  ignore-function
+  ;; Function called with absolute directory name; return non-nil
+  ;; if it should be ignored.
+
+  visited
+  ;; During first iteration - list of directories already visited.
+  ;; During subsequent iterations - vector of directories to visit
+  ;;
+  ;; We have to populate the visited list during the first iteration
+  ;; in order to avoid visiting a directory twice, so we might as well
+  ;; use it for subsequent iterations.
+
+  current ;; index into `visited' during subsequent iterations
+
+  state ;; one of nil, 'started, 'complete. Allows detecting interrupted 
computation.
+  )
+
+(cl-defmethod path-iter-contains-root ((iter path-iterator) root)
+  "Return non-nil if ITER roots contain ROOT."
+  (or (member root (path-iter-path-recursive-init iter))
+  (member root (path-iter-path-non-recursive-init iter))
+  ))
+
+(defun path-iter-to-truename (path)
+  "Convert each existing element of PATH to an absolute directory file 
truename,
+return the resulting list.  Elements of PATH are either absolute or
+relative to `default-directory'.
+
+If an element of PATH is nil, `default-directory' is used."
+  ;; The nil handling is as defined by the `load-path' doc string.
+  (let (result)
+(cl-mapc
+ (lambda (name)
+   (let ((absname (if name
+ (expand-file-name name)
+   default-directory)))
+(when (file-directory-p absname)
+  (push (file-truename absname) result))
+))
+ path)
+(nreverse result)))
+
+(cl-defmethod path-iter-done ((iter path-iterator))
+"Return non-nil if ITER is done."
+  (cond
+   ((listp (path-iter-visited iter))
+;; First iteration
+(and (null (car (path-iter-path-non-recursive iter)))
+(null (car (path-iter-path-recursive iter)
+
+   (t
+;; Subsequent iterations
+(= (1+ (path-iter-current iter)) (length (path-iter-visited iter
+   ))
+
+(cl-defmethod path-iter-next ((iter path-iterator))
+  "Return the next directory to visit, or nil if there are no more.
+
+The iterator will first visit all elements of the non-recursive
+path, then all elements of the recursive path, and visit all
+subdirectories of the recursive path for which `ignore-function'
+returns nil, in depth-first order (parent directories are visited
+before their subdirectories; sibling directories are visited
+after subdirectories), but will not visit any directory more than
+once.

[elpa] master 29c1537: Improve uniquify-files; add tests. Add path-iterator tests

2019-01-22 Thread Stephen Leake
branch: master
commit 29c1537360536d53c0eb156760c490d5d273a977
Author: Stephen Leake 
Commit: Stephen Leake 

Improve uniquify-files; add tests. Add path-iterator tests

* packages/uniquify-files/uniquify-files-resources/: New directory.

* packages/uniquify-files/uniquify-files-test.el: New file.

* packages/uniquify-files/uniquify-files.el: Delete uniquify-files-style;
not useful.

* packages/path-iterator/path-iterator-resources/: New directory.

* packages/path-iterator/path-iterator-test.el: New file.
---
 .../path-iterator-resources/file-0.text|   1 +
 packages/path-iterator/path-iterator-test.el   | 172 ++
 .../Alice/alice-1/bar-file1.text   |   1 +
 .../Alice/alice-1/bar-file2.text   |   1 +
 .../Alice/alice-1/foo-file1.text   |   1 +
 .../Alice/alice-1/foo-file2.text   |   1 +
 .../Alice/alice-2/bar-file1.text   |   1 +
 .../Alice/alice-2/bar-file2.text   |   1 +
 .../Alice/alice-2/foo-file1.text   |   1 +
 .../Alice/alice-2/foo-file3.text   |   1 +
 .../Alice/alice-2/foo-file3.texts  |   1 +
 .../Bob/bob-1/foo-file1.text   |   1 +
 .../Bob/bob-1/foo-file2.text   |   1 +
 .../Bob/bob-2/foo-file1.text   |   1 +
 .../Bob/bob-2/foo-file5.text   |   1 +
 .../uniquify-files-resources/foo-file1.text|   1 +
 .../uniquify-files-resources/foo-file3.texts2  |   1 +
 packages/uniquify-files/uniquify-files-test.el | 643 +
 packages/uniquify-files/uniquify-files.el  | 100 ++--
 19 files changed, 869 insertions(+), 62 deletions(-)

diff --git a/packages/path-iterator/path-iterator-resources/file-0.text 
b/packages/path-iterator/path-iterator-resources/file-0.text
new file mode 100644
index 000..0c7a9ac
--- /dev/null
+++ b/packages/path-iterator/path-iterator-resources/file-0.text
@@ -0,0 +1 @@
+just a file
diff --git a/packages/path-iterator/path-iterator-test.el 
b/packages/path-iterator/path-iterator-test.el
new file mode 100644
index 000..09c01da
--- /dev/null
+++ b/packages/path-iterator/path-iterator-test.el
@@ -0,0 +1,172 @@
+;;; path-iterator-test.el --- test for path-iterator.el.  
-*-lexical-binding:t-*-
+
+;; Copyright (C) 2015, 2019 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs 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.
+
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+(require 'path-iterator)
+
+(defconst path-iter-root-dir
+  (concat
+   (file-name-directory (or load-file-name (buffer-file-name)))
+   "path-iterator-resources"))
+
+(defmacro path-iter-deftest (name-suffix path-non-recursive path-recursive 
expected-dirs  ignore-function)
+  "Define an ert test for path-iterator.
+EXPECTED-DIRS is a list of directory file names; it is compared
+with `equal' to a list of the results of running the path
+iterator built from PATH-NON-RECURSIVE, PATH-RECURSIVE, IGNORE-FUNCTION."
+  (declare (indent defun)
+   (debug (symbolp "name-suffix")))
+  `(ert-deftest ,(intern (concat "path-iter-test-" (symbol-name name-suffix))) 
()
+ (path-iter-test-run ,path-non-recursive ,path-recursive ,expected-dirs 
,ignore-function)
+ ))
+
+(defun path-iter-test-run-1 (iter expected-dirs)
+  (let (computed-dirs)
+(while (not (path-iter-done iter))
+  (push (path-iter-next iter) computed-dirs))
+(should (null (path-iter-next iter)))
+(setq computed-dirs (nreverse computed-dirs))
+(should (equal computed-dirs expected-dirs))
+))
+
+(defun path-iter-test-run (path-non-recursive path-recursive expected-dirs 
ignore-function)
+  (let ((iter (make-path-iterator
+  :user-path-non-recursive path-non-recursive
+  :user-path-recursive path-recursive
+  :ignore-function ignore-function)))
+(path-iter-test-run-1 iter expected-dirs)
+(path-iter-restart iter)
+(path-iter-test-run-1 iter expected-dirs)
+))
+
+(path-iter-deftest recursive
+  nil ;; non-recursive
+  (list path-iter-root-dir)
+  (list
+   path-iter-root-dir
+   (concat path-iter-root-dir "/alice-1")
+   (concat path-iter-root-dir "/bob-1")
+   (concat path-iter-root-dir "/bob-1/bob-2")
+  

[elpa] master aed66bd: In path-iterator, fix header comment syntax, add Commentary

2019-01-19 Thread Stephen Leake
branch: master
commit aed66bd7124bce35185c23c0ac82c65d9fa3a9cb
Author: Stephen Leake 
Commit: Stephen Leake 

In path-iterator, fix header comment syntax, add Commentary

* packages/path-iterator/path-iterator.el: Fix comment syntax, add 
Commentary.
(path-iter--to-truename): Rename with --; not part of public API.
---
 packages/path-iterator/path-iterator.el | 57 -
 1 file changed, 49 insertions(+), 8 deletions(-)

diff --git a/packages/path-iterator/path-iterator.el 
b/packages/path-iterator/path-iterator.el
index abfdff1..ca208e4 100644
--- a/packages/path-iterator/path-iterator.el
+++ b/packages/path-iterator/path-iterator.el
@@ -1,6 +1,6 @@
-;; path-iterator.el --- An iterator for traversing a directory path.  
-*-lexical-binding:t-*-
+;;; path-iterator.el --- An iterator for traversing a directory path.  
-*-lexical-binding:t-*-
 
-;; Copyright (C) 2015 - 2017 Free Software Foundation, Inc.
+;; Copyright (C) 2015 - 2017, 2019 Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
@@ -23,9 +23,50 @@
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
-;;; Code:
+;;; Commentary:
 
-(require 'cl-generic)
+;; A path-iterator object is created by `make-path-iterator', which
+;; takes keyword arguments:
+;;
+;; user-path-non-recursive: list of directories to return, in order given
+;;
+;; user-path-recursive: list of root directory trees to return; trees
+;; are explored in depth-first order, after all directories in
+;; `user-path-non-recursive' are returned.
+;;
+;; ignore-function: a function that takes one argument (an absolute
+;; directory name), and returns nil if directory should be returned,
+;; non-nil if not.
+;;
+;; Other functions:
+;;
+;; path-iter-done: non-nil if the iterator is done (all directories
+;; have been returned).
+;;
+;; path-iter-next: return the next directory, or nil if done.
+;;
+;; path-iter-restart: restart iterator; next call to `path-iter-next'
+;; will return the first directory.
+;;
+;; path-iter-reset: clear internal caches; recompute the path. In
+;; normal operation, the directories returned from both the
+;; non-recursive and recursive path are cached in an array in the
+;; first iteration, and subsequent iterations just return items in
+;; that array. This avoids calling `directory-files' and the
+;; ignore-function on iterations after the first. `path-iter-reset'
+;; should be called if directories are added/deleted in the recursive
+;; path, or if the ignore-function is changed,
+;;
+;; path-iter-contains-root: non-nil if the iterator directory lists
+;; contain the given directory. For both the non-recursive and
+;; recursive lists, the given directory must be in the list; nested
+;; directories return nil.
+;;
+;; path-iter-expand-filename: expand a given filename against all the
+;; directories returned by the iterator, return the first one that
+;; exists, or nil if the filename exists in none of the directories.
+
+;;; Code:
 
 (cl-defstruct
 (path-iterator
@@ -38,9 +79,9 @@
user-path-recursive
ignore-function

-   (path-non-recursive-init (path-iter-to-truename 
user-path-non-recursive))
+   (path-non-recursive-init (path-iter--to-truename 
user-path-non-recursive))
(path-non-recursive path-non-recursive-init)
-   (path-recursive-init (path-iter-to-truename 
user-path-recursive))
+   (path-recursive-init (path-iter--to-truename 
user-path-recursive))
(path-recursive path-recursive-init)
(visited nil)
(current nil)
@@ -76,7 +117,7 @@
   (member root (path-iter-path-non-recursive-init iter))
   ))
 
-(defun path-iter-to-truename (path)
+(defun path-iter--to-truename (path)
   "Convert each existing element of PATH to an absolute directory file 
truename,
 return the resulting list.  Elements of PATH are either absolute or
 relative to `default-directory'.
@@ -245,4 +286,4 @@ Return a list of absolute filenames or nil if none found."
 result))
 
 (provide 'path-iterator)
-;; path-iterator.el ends here
+;;; path-iterator.el ends here.



[elpa] master 508e062: In ada-ref-man; indicated italics in syntax element names

2019-01-03 Thread Stephen Leake
branch: master
commit 508e062d29a7a00c02158ecabd54a2afe3a958ea
Author: Stephen Leake 
Commit: Stephen Leake 

In ada-ref-man; indicated italics in syntax element names

* packages/ada-ref-man/NEWS: New file.

* packages/ada-ref-man/README: Use '<' '>' to indicate italics.
Document web site for other formats.

* packages/ada-ref-man/ada-ref-man.el: Bump version.
---
 packages/ada-ref-man/NEWS   | 36 
 packages/ada-ref-man/README |  3 +++
 packages/ada-ref-man/ada-ref-man.el |  4 ++--
 3 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/packages/ada-ref-man/NEWS b/packages/ada-ref-man/NEWS
new file mode 100644
index 000..41f264d
--- /dev/null
+++ b/packages/ada-ref-man/NEWS
@@ -0,0 +1,36 @@
+ada-ref-man NEWS -- history of user-visible changes.
+
+Copyright (C) 2018 Free Software Foundation, Inc.
+See the end of the file for license conditions.
+
+
+* 2012.4
+16 Sep 2018
+
+** Mark italics with <>. Italics is used in names to convey semantic
+   information; the syntax name is the non-italized part (see LRM
+   1.1.5 14). In previous ada-ref-man releases, it was not possible to
+   distinguish the italicized part.
+
+--
+This file is part of GNU Emacs.
+
+GNU Emacs 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.
+
+GNU Emacs 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 GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+
+Local variables:
+coding: utf-8
+mode: outline
+paragraph-separate: "[ ]*$"
+end:
diff --git a/packages/ada-ref-man/README b/packages/ada-ref-man/README
index 536b7b1..2c04353 100644
--- a/packages/ada-ref-man/README
+++ b/packages/ada-ref-man/README
@@ -1,3 +1,6 @@
 Emacs info version of Ada Reference Manual 2012 TC1
 
+Italics in syntax element names are indicated by <>.
 
+Other formats are available at
+http://www.adaic.org/ada-resources/standards/
diff --git a/packages/ada-ref-man/ada-ref-man.el 
b/packages/ada-ref-man/ada-ref-man.el
index 5400c03..9193399 100644
--- a/packages/ada-ref-man/ada-ref-man.el
+++ b/packages/ada-ref-man/ada-ref-man.el
@@ -1,13 +1,13 @@
 ;;; ada-ref-man.el --- Ada Reference Manual 2012
 ;;
-;;; Copyright (C) 2014, 2017  Free Software Foundation, Inc.
+;;; Copyright (C) 2014, 2017, 2019  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
 ;; Package-Type: multi
-;; Version: 2012.3
+;; Version: 2012.4
 ;; url: http://stephe-leake.org/ada/arm.html
 
 ;;; ada-ref-man.el ends here



[elpa] master e9db4b4 3/3: In uniquify-files, improve completion table to work with other styles

2019-03-22 Thread Stephen Leake
branch: master
commit e9db4b499b88fd43f2df4f3e449329fc652bfed3
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files, improve completion table to work with other styles

* packages/uniquify-files/uniquify-files.el (uniq-file--pcm-pattern): Use
completion-current-style to control dir-regex result.
(uniq-file--set-style): Delete; no longer used.
(uniq-file-all-completions): No longer set text property on result
strings.
(uniq-file-completion-table): Implement try-completion. If current
completion style is not uniquify-file, allow non-directory part of string
to match a directory (as other styles require).
(locate-file-iter): New; demonstrates using completion table with default
file completion styles.

* packages/uniquify-files/uniquify-files-test.el: Update all tests, add
non-uniquify-file style tests.
---
 packages/uniquify-files/uniquify-files-test.el | 228 +++--
 packages/uniquify-files/uniquify-files.el  | 116 ++---
 2 files changed, 190 insertions(+), 154 deletions(-)

diff --git a/packages/uniquify-files/uniquify-files-test.el 
b/packages/uniquify-files/uniquify-files-test.el
index 13214a4..dd64d6c 100644
--- a/packages/uniquify-files/uniquify-files-test.el
+++ b/packages/uniquify-files/uniquify-files-test.el
@@ -76,121 +76,160 @@
 uft-bob2)))
 
 (ert-deftest test-uniq-file-completion-table ()
-  "Test basic functions of table."
+  "Test basic functions of table, with 'uniquify-file completion style."
   ;; grouped by action
-  (should (equal (uniq-file-completion-table uft-iter "fi" nil '(boundaries . 
".text"))
+  (let ((completion-current-style 'uniquify-file))
+(should (equal (uniq-file-completion-table uft-iter "fi" nil '(boundaries 
. ".text"))
   '(boundaries . (0 . 5
 
-  (should (equal (uniq-file-completion-table uft-iter "fi" nil 'metadata)
-(cons 'metadata
-  (list
-   '(category . project-file)
-   '(styles   . (uniquify-file))
+(should (equal (uniq-file-completion-table uft-iter "fi" nil 'metadata)
+  (cons 'metadata
+(list
+ '(category . project-file)
+ '(styles   . (uniquify-file))
 
-  ;; all-completions. We sort the results here to make the test stable
-  (should (equal (sort (uniq-file-completion-table uft-iter "-fi" nil t) 
#'string-lessp)
-(list
- (concat uft-alice1 "/bar-file1.text")
- (concat uft-alice1 "/bar-file2.text")
- (concat uft-alice1 "/foo-file1.text")
- (concat uft-alice1 "/foo-file2.text")
- (concat uft-alice2 "/bar-file1.text")
- (concat uft-alice2 "/bar-file2.text")
- (concat uft-alice2 "/foo-file1.text")
- (concat uft-alice2 "/foo-file3.text")
- (concat uft-alice2 "/foo-file3.texts")
- (concat uft-Alice-alice3 "/foo-file4.text")
- (concat uft-Bob-alice3   "/foo-file4.text")
- (concat uft-bob1 "/foo-file1.text")
- (concat uft-bob1 "/foo-file2.text")
- (concat uft-bob2 "/foo-file1.text")
- (concat uft-bob2 "/foo-file5.text")
- (concat uft-root "/foo-file1.text")
- (concat uft-root "/foo-file3.texts2")
- )))
-
-  (should (equal (sort (uniq-file-completion-table uft-iter "a-1/f-fi" nil t) 
#'string-lessp)
-(list
- (concat uft-alice1 "/foo-file1.text")
- (concat uft-alice1 "/foo-file2.text")
- )))
+;; all-completions. We sort the results here to make the test stable
+(should (equal (sort (uniq-file-completion-table uft-iter "-fi" nil t) 
#'string-lessp)
+  (list
+   (concat uft-alice1 "/bar-file1.text")
+   (concat uft-alice1 "/bar-file2.text")
+   (concat uft-alice1 "/foo-file1.text")
+   (concat uft-alice1 "/foo-file2.text")
+   (concat uft-alice2 "/bar-file1.text")
+   (concat uft-alice2 "/bar-file2.text")
+   (concat uft-alice2 "/foo-file1.text")
+   (concat uft-alice2 "/foo-file3.text")
+   (concat uft-alice2 "/foo-file3.texts")
+   (concat uft-Alice-alice3 "/foo-file4.text")
+   (concat uft-Bob-alice3   &q

[elpa] master d0c6b0c 1/3: Improve uniquify-files

2019-03-22 Thread Stephen Leake
branch: master
commit d0c6b0cff6588fa1e13c7bbb7c42d756c13f386c
Author: Stephen Leake 
Commit: Stephen Leake 

Improve uniquify-files

* packages/uniquify-files/file-complete-root-relative.el:
(fc-root-rel-all-completions): Fix paren bug.

* packages/uniquify-files/uniquify-files.el:
(completion-current-style):New.
(uniq-file-try-completion, uniq-file-all-completions): Set it.
(uniq-file-all-completions): Fix bug.
(completion-get-data-string, completion-to-table-input): Use
completion-current-style.
(uniq-file-completing-read-default-advice): Let-bind
completion-current-style.
(locate-uniquified-file): Use completion table style metadata.
---
 .../uniquify-files/file-complete-root-relative.el  |  4 +-
 packages/uniquify-files/uniquify-files.el  | 71 ++
 2 files changed, 46 insertions(+), 29 deletions(-)

diff --git a/packages/uniquify-files/file-complete-root-relative.el 
b/packages/uniquify-files/file-complete-root-relative.el
index e09baa8..1724ecc 100644
--- a/packages/uniquify-files/file-complete-root-relative.el
+++ b/packages/uniquify-files/file-complete-root-relative.el
@@ -190,9 +190,9 @@ character after each completion field."
 
 (when all
   (setq all (fc-root-rel-to-user all (fc-root-rel--root table)))
-  (fc-root-rel--hilit user-string all point))
+  (fc-root-rel--hilit user-string all point)
   (uniq-file--set-style all 'file-root-rel)
-))
+  )))
 
 (defun fc-root-rel--valid-completion (string all root)
   "Return non-nil if STRING is a valid completion in ALL,
diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
index dc6c491..9c8ffc7 100644
--- a/packages/uniquify-files/uniquify-files.el
+++ b/packages/uniquify-files/uniquify-files.el
@@ -176,6 +176,9 @@
 (require 'cl-lib)
 (require 'path-iterator)
 
+(defvar completion-current-style nil
+  "Current active completion style.")
+
 (defconst uniq-file--regexp "^\\(.*\\)<\\([^>]*\\)>?$"
   ;; The trailing '>' is optional so the user can type "

[elpa] master updated (c304ac9 -> e9db4b4)

2019-03-22 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  c304ac9   Release ada-mode 6.1.0, wisi 2.1.0
   new  d0c6b0c   Improve uniquify-files
   new  c0a1993   Merge commit 'c304ac9a80ab7e96f705771a3842a48bf5a32c8a'
   new  e9db4b4   In uniquify-files, improve completion table to work with 
other styles


Summary of changes:
 .../uniquify-files/file-complete-root-relative.el  |   4 +-
 packages/uniquify-files/uniquify-files-test.el | 228 -
 packages/uniquify-files/uniquify-files.el  | 181 
 3 files changed, 233 insertions(+), 180 deletions(-)



[elpa] master 5436d24: In packages/ada-ref-man: fix dir, bump version

2019-03-10 Thread Stephen Leake
branch: master
commit 5436d2486e475fc91f16682697a692e21387e22d
Author: Stephen Leake 
Commit: Stephen Leake 

In packages/ada-ref-man: fix dir, bump version
---
 packages/ada-ref-man/NEWS   | 6 ++
 packages/ada-ref-man/ada-ref-man.el | 2 +-
 packages/ada-ref-man/dir| 6 ++
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/packages/ada-ref-man/NEWS b/packages/ada-ref-man/NEWS
index 41f264d..428d2ab 100644
--- a/packages/ada-ref-man/NEWS
+++ b/packages/ada-ref-man/NEWS
@@ -4,6 +4,12 @@ Copyright (C) 2018 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
+* 2012.5
+3 Mar 2019
+
+** Fix 'dir' file; it refered to arm2005, which is no longer in this
+   package.
+
 * 2012.4
 16 Sep 2018
 
diff --git a/packages/ada-ref-man/ada-ref-man.el 
b/packages/ada-ref-man/ada-ref-man.el
index 9193399..7c7cbf7 100644
--- a/packages/ada-ref-man/ada-ref-man.el
+++ b/packages/ada-ref-man/ada-ref-man.el
@@ -7,7 +7,7 @@
 ;; Keywords: languages
 ;;  ada
 ;; Package-Type: multi
-;; Version: 2012.4
+;; Version: 2012.5
 ;; url: http://stephe-leake.org/ada/arm.html
 
 ;;; ada-ref-man.el ends here
diff --git a/packages/ada-ref-man/dir b/packages/ada-ref-man/dir
index 8957649..06fae3a 100644
--- a/packages/ada-ref-man/dir
+++ b/packages/ada-ref-man/dir
@@ -15,7 +15,5 @@ File: dir,Node: Top   This is the top of the INFO tree
 * Menu:
 
 GNU Ada tools
-* Ada Reference Manual: (arm2005).
-* Ada Reference Manual TC1: (arm2012).
-* Annotated ARM: (arm2005).
-* Annotated ARM TC1: (arm2012).
+* Ada Reference Manual: (arm2012).
+* Annotated ARM: (aarm2012).



[elpa] master 36043c1 2/2: Merge commit '11843e2db4a24aaec2ad9a827ed4f079588dcf58'

2019-02-15 Thread Stephen Leake
branch: master
commit 36043c1d768b309ba3471d5b3aa79b0520e0e34b
Merge: 9f5c4e0 11843e2
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit '11843e2db4a24aaec2ad9a827ed4f079588dcf58'
---
 externals-list  |   3 +-
 packages/el-search/NEWS |  15 +
 packages/el-search/el-search.el | 676 +++-
 packages/sokoban/sokoban.el |  99 --
 4 files changed, 542 insertions(+), 251 deletions(-)

diff --git a/externals-list b/externals-list
index b2dd210..b6459a7 100644
--- a/externals-list
+++ b/externals-list
@@ -83,8 +83,7 @@
  ("gnome-c-style"  :subtree "https://github.com/ueno/gnome-c-style.git;)
  ("gnorb"   :subtree "https://github.com/girzel/gnorb;)
  ("gpastel":external 
"https://gitlab.petton.fr/DamienCassou/gpastel;)
- ;; FIXME: Waiting for copyright paperwork
- ;; ("greader" :external 
"https://gitlab.com/michelangelo-rodriguez/greader;)
+ ("greader":external 
"https://gitlab.com/michelangelo-rodriguez/greader;)
  ("highlight-escape-sequences" :subtree 
"https://github.com/dgutov/highlight-escape-sequences/;)
  ("hyperbole"   :external 
"http://git.savannah.gnu.org/r/hyperbole.git;)
  ("ioccur" :subtree 
"https://github.com/thierryvolpiatto/ioccur.git;)
diff --git a/packages/el-search/NEWS b/packages/el-search/NEWS
index e158df9..07bea82 100644
--- a/packages/el-search/NEWS
+++ b/packages/el-search/NEWS
@@ -1,6 +1,21 @@
 Some of the user visible news were:
 
 
+Version: 1.9.7
+
+  Changed default binding schemes: For reasons of harmonization, in
+  both searches and in el-search-occur both of basic keys s, r and n, p
+  now move to the next or previous match.
+
+  The default binding of 'el-search-continue-in-next-buffer' therefore
+  has been moved from n to x respectively.
+
+Version: 1.9.5
+
+  'string' and derived pattern types now support expressions evaluting
+  to regexps as arguments.  This means you can use 'rx' to construct
+  regexps in 'string' patterns, for example.
+
 Version: 1.9.0
 
   This version adds some help commands available through the C-h help
diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index c85197c..b4981fe 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -7,7 +7,7 @@
 ;; Created: 29 Jul 2015
 ;; Keywords: lisp
 ;; Compatibility: GNU Emacs 25
-;; Version: 1.9.4
+;; Version: 1.9.7
 ;; Package-Requires: ((emacs "25") (stream "2.2.4") (cl-print "1.0"))
 
 
@@ -119,7 +119,7 @@
 ;;   C-O or M-RET (from a search pattern prompt)
 ;; Execute this search command as occur.
 ;;
-;;   C-N, M-s e n (`el-search-continue-in-next-buffer')
+;;   C-X, M-s e x (`el-search-continue-in-next-buffer')
 ;; Skip over current buffer or file.
 ;;
 ;;   C-D, M-s e d (`el-search-skip-directory')
@@ -249,7 +249,7 @@
 ;; `el-search-jump-to-search-head' (C-J; M-s e j): this command jumps
 ;; to the last match and re-activates the search.
 ;;
-;; `el-search-continue-in-next-buffer' (C-N; n) skips all remaining
+;; `el-search-continue-in-next-buffer' (C-X; x) skips all remaining
 ;; matches in the current buffer and continues searching in the next
 ;; buffer.  `el-search-skip-directory' (C-D; d) even skips all
 ;; subsequent files under a specified directory.
@@ -474,6 +474,21 @@
   "Expression based search and replace for Emacs Lisp."
   :group 'lisp)
 
+(defcustom el-search-display-mb-hints t
+  "Whether to show hints in the search pattern prompt."
+  :type 'boolean)
+
+(defcustom el-search-mb-hints-delay 0.8
+  "Time before displaying minibuffer hints.
+
+Setting this has only an effect if `el-search-display-mb-hints'
+is non-nil."
+  :type 'number)
+
+(defcustom el-search-mb-hints-timeout 15
+  "How long to display minibuffer hints."
+  :type 'number)
+
 (defface el-search-match 'class color) (min-colors 88) (background dark))
 (:background "#60"))
   (((class color) (min-colors 88) (background light))
@@ -788,11 +803,18 @@ nil."
  (unless ,done
,@unwindforms)
 
+(defvar el-search--last-message nil
+  "Internal var helping to avoid echo area stuttering ")
+
 (defun el-search--message-no-log (format-string  args)
   "Like `message' but with `message-log-max' bound to nil."
   (let ((message-log-max nil))
 (apply #'message format-string args)))
 
+(defun el-search--set-this-command-refresh-message-maybe ()
+  (when (eq (setq this-command 'el-search-pattern) last-command)
+(message "%s" el-search--last-message)))
+
 (defalias 'el-search-read
   (if (boundp 'force-new-style-backquotes)
   (lambda ( stream)
@@ -863,10 +885,13 @@ nil."
   input)

[elpa] master 9f5c4e0 1/2: In uniquify-files, use text property to pass completion style

2019-02-15 Thread Stephen Leake
branch: master
commit 9f5c4e0fc0e34540f28a84fcf3fcb53592d8ad05
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files, use text property to pass completion style

* packages/uniquify-files/uniquify-files.el:
(uniq-file--regexp, uniq-file--conflicts, uniq-file--hilit): Rename from
uniq-files-*.
(uniq-file--set-style): New.
(uniq-file-all-completions): Use it.
(completion-get-data-string, completion-to-table-input): Use
'completion-style text property.

* packages/uniquify-files/uniquify-files-test.el: Match code changes.

* packages/uniquify-files/file-complete-root-relative.el:
(fc-root-rel-all-completions): Set 'completion-style text property.

* packages/uniquify-files/file-complete-root-relative-test.el:
(test-fc-root-rel-test-completion-1): Match code changes.
---
 .../file-complete-root-relative-test.el| 43 ++-
 .../uniquify-files/file-complete-root-relative.el  |  1 +
 packages/uniquify-files/uniquify-files-test.el | 45 +++-
 packages/uniquify-files/uniquify-files.el  | 84 ++
 4 files changed, 90 insertions(+), 83 deletions(-)

diff --git a/packages/uniquify-files/file-complete-root-relative-test.el 
b/packages/uniquify-files/file-complete-root-relative-test.el
index f696288..ddf863e 100644
--- a/packages/uniquify-files/file-complete-root-relative-test.el
+++ b/packages/uniquify-files/file-complete-root-relative-test.el
@@ -174,33 +174,38 @@
   )
 
 (defun test-fc-root-rel-test-completion-1 (table)
-  (should (equal (test-completion "foo-fi" table)
-nil))
+  ;; In normal operation, 'all-completions' is called before
+  ;; test-completion, and it sets the 'completion-style text property.
+  (cl-flet ((ss (str)
+   (put-text-property 0 1 'completion-style 'file-root-rel str)
+   str))
+(should (equal (test-completion (ss "foo-fi") table)
+  nil))
 
-  (should (equal (test-completion "dir/f-fi" table)
-nil))
+(should (equal (test-completion (ss "dir/f-fi") table)
+  nil))
 
-  (should (equal (test-completion "foo-file1.text" table)
-t)) ;; starts at root
+(should (equal (test-completion (ss "foo-file1.text") table)
+  t)) ;; starts at root
 
-  (should (equal (test-completion "alice-1/foo-file1.text" table)
-nil)) ;; does not start at root
+(should (equal (test-completion (ss "alice-1/foo-file1.text") table)
+  nil)) ;; does not start at root
 
-  (should (equal (test-completion "Alice/alice-1/foo-file1.text" table)
-t)) ;; starts at root
+(should (equal (test-completion (ss "Alice/alice-1/foo-file1.text") table)
+  t)) ;; starts at root
 
-  (should (equal (test-completion "foo-file3.text" table)
-nil))
+(should (equal (test-completion (ss "foo-file3.text") table)
+  nil))
 
-  (should (equal (test-completion "foo-file3.texts2" table)
-t))
+(should (equal (test-completion (ss "foo-file3.texts2") table)
+  t))
 
-  (should (equal (test-completion "Alice/alice-/bar-file2.text" table)
-nil))
+(should (equal (test-completion (ss "Alice/alice-/bar-file2.text") table)
+  nil))
 
-  (should (equal (test-completion "Alice/alice-1/bar-file2.text" table)
-t))
-  )
+(should (equal (test-completion (ss "Alice/alice-1/bar-file2.text") table)
+  t))
+))
 
 (ert-deftest test-fc-root-rel-test-completion-iter ()
   (let ((table (apply-partially 'fc-root-rel-completion-table-iter 
fc-root-rel-iter))
diff --git a/packages/uniquify-files/file-complete-root-relative.el 
b/packages/uniquify-files/file-complete-root-relative.el
index 929afdc..e3ece9a 100644
--- a/packages/uniquify-files/file-complete-root-relative.el
+++ b/packages/uniquify-files/file-complete-root-relative.el
@@ -191,6 +191,7 @@ character after each completion field."
 (when all
   (setq all (fc-root-rel-to-user all (fc-root-rel--root table)))
   (fc-root-rel--hilit user-string all point))
+  (uniq-file--set-style all 'file-root-rel))
 ))
 
 (defun fc-root-rel--valid-completion (string all root)
diff --git a/packages/uniquify-files/uniquify-files-test.el 
b/packages/uniquify-files/uniquify-files-test.el
index 4dc1923..13214a4 100644
--- a/packages/uniquify-files/uniquify-files-test.el
+++ b/packages/uniquify-files/uniquify-files-test.el
@@ -159,30 +159,35 @@
   )
 
 (defun test-uniq-file-test-completion-1 (table)
-  (should (equal (test-completion "foo-fi" table)
-nil))
+  ;; In normal operation, 'all-completions' is called before
+  ;; test-complet

[elpa] master 560e7a5 2/2: Merge commit 'a91ad330a8ee5e196e7ecfe48cbfccd6e65d3c83'

2019-02-16 Thread Stephen Leake
branch: master
commit 560e7a55d8de2709b9515fed14f9edc66085dfa0
Merge: 1cbc57f a91ad33
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit 'a91ad330a8ee5e196e7ecfe48cbfccd6e65d3c83'
---
 packages/el-search/el-search.el | 44 -
 1 file changed, 30 insertions(+), 14 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index b4981fe..1fcf81e 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -811,6 +811,10 @@ nil."
   (let ((message-log-max nil))
 (apply #'message format-string args)))
 
+(defun el-search--byte-compile (form)
+  (let ((byte-compile-log-warning-function #'ignore))
+(byte-compile form)))
+
 (defun el-search--set-this-command-refresh-message-maybe ()
   (when (eq (setq this-command 'el-search-pattern) last-command)
 (message "%s" el-search--last-message)))
@@ -1232,7 +1236,7 @@ N times."
(pattern-is-symbol   (and (symbolp pattern)
  (not (or (keywordp pattern)
   (null pattern))
-   (byte-compile
+   (el-search--byte-compile
 `(lambda (,(if pattern-is-catchall '_ expression))
,(cond
  (pattern-is-catchall (if result-specified result-expr t))
@@ -2277,7 +2281,7 @@ argument (that should be a string)."
(lambda (bindings body)
  (if (null bindings) body
`(let ,bindings ,body)
-  (byte-compile
+  (el-search--byte-compile
(let ((string (make-symbol "string")))
  `(lambda (,string)
 ,(wrap-let
@@ -2708,17 +2712,25 @@ don't display anything"
 buffer-or-file
 matches-<=-here
 total-matches
-(propertize
- (format (pcase (save-excursion
-  (goto-char (car 
defun-bounds))
-  (el-search-read 
(current-buffer)))
-   (`(,a ,b . ,_) (format "(%s  
%%d/%%d)"
-  
(truncate-string-to-width
-   (format 
"%S %S" a b)
-   40 nil 
nil 'ellipsis)))
-   (_ "(%d/%d)"))
- matches-<=-here-in-defun 
total-matches-in-defun)
- 'face 'shadow
+(format
+ (pcase (save-excursion
+  (goto-char (car defun-bounds))
+  (and (el-search-looking-at '`(,_ 
,_ . ,_))
+   (looking-at "(") ;exclude 
toplevel `ATOM and sim.
+   (let ((region (list
+  (progn 
(down-list) (point))
+  (min 
(line-end-position)
+   
(scan-sexps (point) 2)
+ (when (bound-and-true-p 
jit-lock-mode)
+   (apply 
#'jit-lock-fontify-now region))
+ (apply #'buffer-substring 
region
+   ((and (pred stringp) signature)
+(format "(%s  %%d/%%d)"
+(truncate-string-to-width
+ signature
+ 40 nil nil 'ellipsis)))
+   (_ "(%d/%d)"))
+ matches-<=-here-in-defun 
total-matches-in-defun
  (list
   (concat (if (not just-count) "[Not at a match]   
" "")
   (if (= matches-<=-here total-matches)
@@ -4033,7 +4045,11 @@ text."
   (with-temp-buffer
 (emacs-lisp-mode)
 (insert (if splice
-(mapconcat #'el-search--pp-to-string replacement " ")
+(let ((insertions (mapcar #'el-search--pp-to-string 
replacement)))
+ 

[elpa] master 1cbc57f 1/2: In uniquify-files/file-complete-root-relative.el, delete extra paren

2019-02-16 Thread Stephen Leake
branch: master
commit 1cbc57fdc5c96d7b7224029c39eaa0c8eca2dce0
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files/file-complete-root-relative.el, delete extra paren
---
 packages/uniquify-files/file-complete-root-relative.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/uniquify-files/file-complete-root-relative.el 
b/packages/uniquify-files/file-complete-root-relative.el
index e3ece9a..e09baa8 100644
--- a/packages/uniquify-files/file-complete-root-relative.el
+++ b/packages/uniquify-files/file-complete-root-relative.el
@@ -191,7 +191,7 @@ character after each completion field."
 (when all
   (setq all (fc-root-rel-to-user all (fc-root-rel--root table)))
   (fc-root-rel--hilit user-string all point))
-  (uniq-file--set-style all 'file-root-rel))
+  (uniq-file--set-style all 'file-root-rel)
 ))
 
 (defun fc-root-rel--valid-completion (string all root)



[elpa] master be1367a 3/4: Fix bugs in uniquify-files

2019-02-06 Thread Stephen Leake
branch: master
commit be1367a01d4e322ab592d1882371852005f773c4
Author: Stephen Leake 
Commit: Stephen Leake 

Fix bugs in uniquify-files

* packages/uniquify-files/file-complete-root-relative.el:
(fc-root-rel-completion-table-list): Enforce directory-file-name for
root.

* packages/uniquify-files/uniquify-files.el:
(locate-uniquified-file-iter-2): Set completion-category-overrides.
---
 packages/uniquify-files/file-complete-root-relative.el | 6 +++---
 packages/uniquify-files/uniquify-files.el  | 6 --
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/packages/uniquify-files/file-complete-root-relative.el 
b/packages/uniquify-files/file-complete-root-relative.el
index 3f66809..929afdc 100644
--- a/packages/uniquify-files/file-complete-root-relative.el
+++ b/packages/uniquify-files/file-complete-root-relative.el
@@ -368,7 +368,7 @@ STRING, PRED, ACTION are completion table arguments."
  (list
   '(category . project-file)
   '(styles . (file-root-rel))
-  (cons 'root root
+  (cons 'root (directory-file-name root)
 
((null action)
 ;; Called from `try-completion'; should never get here (see
@@ -379,7 +379,7 @@ STRING, PRED, ACTION are completion table arguments."
  '(lambda ;; Called from `test-completion'
 t))   ;; Called from all-completions
 
-(let ((regex (fc-root-rel--pcm-pattern-list string root))
+(let ((regex (fc-root-rel--pcm-pattern-list string (directory-file-name 
root)))
  (result nil)
  (case-fold-search completion-ignore-case))
 
@@ -394,7 +394,7 @@ STRING, PRED, ACTION are completion table arguments."
   (cond
((eq action 'lambda)
;; Called from `test-completion'
-   (fc-root-rel--valid-completion string result root))
+   (fc-root-rel--valid-completion string result (directory-file-name 
root)))
 
((eq action t)
;; Called from all-completions
diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
index 59575c2..a281ebb 100644
--- a/packages/uniquify-files/uniquify-files.el
+++ b/packages/uniquify-files/uniquify-files.el
@@ -808,8 +808,10 @@ In the user input string, `*' is treated as a wildcard."
 (defun locate-uniquified-file-iter-2 (iter  predicate default prompt)
   "Same as `locate-uniquified-file-iter', but the internal
 completion table is the list returned by `path-iter-all-files'."
-  (let ((table (path-iter-all-files iter))
-   (completion-styles '(uniquify-file)))
+  (let* ((table (path-iter-all-files iter))
+(table-styles (cdr (assq 'styles (completion-metadata "" table nil
+(completion-category-overrides
+ (list (list 'project-file (cons 'styles table-styles)
 (completing-read (format (concat (or prompt "file") " (%s): ") default)
 table
 predicate t nil nil default)



[elpa] master updated (83aa409 -> be18c4d)

2019-02-06 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  83aa409   * externals-list (xr): New package
   new  652f07b   Improve path-iterator handline of duplicate directories
   new  1ed6707   Improve uniquify-files in corner case
   new  be1367a   Fix bugs in uniquify-files
   new  be18c4d   Merge commit '83aa4099b048ff883071b4598d88a084de47d3bf'


Summary of changes:
 packages/path-iterator/path-iterator-test.el   |  19 +++-
 packages/path-iterator/path-iterator.el| 121 +
 .../uniquify-files/file-complete-root-relative.el  |   6 +-
 packages/uniquify-files/uniquify-files-test.el |   4 +
 packages/uniquify-files/uniquify-files.el  |  30 +++--
 5 files changed, 96 insertions(+), 84 deletions(-)



[elpa] master 1ed6707 2/4: Improve uniquify-files in corner case

2019-02-06 Thread Stephen Leake
branch: master
commit 1ed670767339d2300f6818c2b7df4df6b36723c0
Author: Stephen Leake 
Commit: Stephen Leake 

Improve uniquify-files in corner case

* packages/uniquify-files/uniquify-files.el (uniq-file--dir-match):
Include trailing directories.
(locate-uniquified-file-iter, -2): Set completion-category-overrides.

* packages/uniquify-files/uniquify-files-test.el:
(test-uniq-file-all-completions-noface-1): Add test of corner case.
---
 packages/uniquify-files/uniquify-files-test.el |  4 
 packages/uniquify-files/uniquify-files.el  | 24 
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/packages/uniquify-files/uniquify-files-test.el 
b/packages/uniquify-files/uniquify-files-test.el
index 8950cbd..4dc1923 100644
--- a/packages/uniquify-files/uniquify-files-test.el
+++ b/packages/uniquify-files/uniquify-files-test.el
@@ -356,6 +356,10 @@
  "foo-file4.text"
  "foo-file4.text")))
 
+  (should (equal (sort (uniq-file-all-completions "foo-file4.text")))
+
   (should (equal (uniq-file-all-completions "f-file5" table nil nil)
 (list "foo-file5.text")))
 
diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
index b36ec11..59575c2 100644
--- a/packages/uniquify-files/uniquify-files.el
+++ b/packages/uniquify-files/uniquify-files.el
@@ -191,17 +191,20 @@ Match 1 is the filename, match 2 is the relative 
directory.")
   (regex (completion-pcm--pattern->regex pattern)))
 
   ;; `regex' is anchored at the beginning; delete the anchor to
-  ;; match a directory in the middle of ABS.  Also extend
-  ;; the match to the bounding '/'.
+  ;; match a directory in the middle of ABS.
   (setq regex (substring regex 2))
+
+  ;; Include the preceding and following '/' .
   (unless (= ?/ (aref regex 0))
(setq regex (concat "/" regex)))
   (unless (= ?/ (aref regex (1- (length regex
(setq regex (concat regex "[^/]*/" )))
 
   (when (string-match regex abs);; Should never fail, but gives obscure 
error if it does
-   ;; Drop the leading '/'
-   (substring (match-string 0 abs) 1))
+
+   ;; Drop the leading '/', include all trailing directories;
+   ;; consider Bob/alice-3/foo, Alice/alice-3/foo.
+   (substring abs (1+ (match-beginning 0
   ))
 
(t
@@ -792,10 +795,15 @@ file name is included in the result if PRED returns
 non-nil. DEFAULT is the default for completion.
 
 In the user input string, `*' is treated as a wildcard."
-  (completing-read (format (concat (or prompt "file") " (%s): ") default)
-  (apply-partially #'uniq-file-completion-table iter)
-  predicate t nil nil default)
-  )
+  (let* ((table (apply-partially #'uniq-file-completion-table iter))
+(table-styles (cdr (assq 'styles (completion-metadata "" table nil
+(completion-category-overrides
+ (list (list 'project-file (cons 'styles table-styles)
+
+(completing-read (format (concat (or prompt "file") " (%s): ") default)
+table
+predicate t nil nil default)
+))
 
 (defun locate-uniquified-file-iter-2 (iter  predicate default prompt)
   "Same as `locate-uniquified-file-iter', but the internal



[elpa] master be18c4d 4/4: Merge commit '83aa4099b048ff883071b4598d88a084de47d3bf'

2019-02-06 Thread Stephen Leake
branch: master
commit be18c4daccf08d8db9a4603a575322aca7035942
Merge: be1367a 83aa409
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit '83aa4099b048ff883071b4598d88a084de47d3bf'
---
 externals-list | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/externals-list b/externals-list
index 2098587..b2dd210 100644
--- a/externals-list
+++ b/externals-list
@@ -83,6 +83,8 @@
  ("gnome-c-style"  :subtree "https://github.com/ueno/gnome-c-style.git;)
  ("gnorb"   :subtree "https://github.com/girzel/gnorb;)
  ("gpastel":external 
"https://gitlab.petton.fr/DamienCassou/gpastel;)
+ ;; FIXME: Waiting for copyright paperwork
+ ;; ("greader" :external 
"https://gitlab.com/michelangelo-rodriguez/greader;)
  ("highlight-escape-sequences" :subtree 
"https://github.com/dgutov/highlight-escape-sequences/;)
  ("hyperbole"   :external 
"http://git.savannah.gnu.org/r/hyperbole.git;)
  ("ioccur" :subtree 
"https://github.com/thierryvolpiatto/ioccur.git;)
@@ -157,6 +159,7 @@
  ("websocket"  :subtree 
"https://github.com/ahyatt/emacs-websocket.git;)
  ("which-key"   :subtree "https://github.com/justbur/emacs-which-key;)
  ("xelb"   :external "https://github.com/ch11ng/xelb.git;)
+ ("xr" :external "https://github.com/mattiase/xr;)
  ("yasnippet"  :subtree 
"https://github.com/capitaomorte/yasnippet.git;)
  ("zones"  :external nil)  
;https://www.emacswiki.org/emacs/zones.el
  ("ztree"  :subtree "https://github.com/fourier/ztree;)



[elpa] master 652f07b 1/4: Improve path-iterator handline of duplicate directories

2019-02-06 Thread Stephen Leake
branch: master
commit 652f07b2289c41139e810aacd0d73b7c2ae60e2b
Author: Stephen Leake 
Commit: Stephen Leake 

Improve path-iterator handline of duplicate directories

* packages/path-iterator/path-iterator.el (path-iter-done): Delete; not
correct when non-recursive path contains duplicate directories, or
directories included in the recursive path.
(path-iter-next): Do recursive first, to properly handle duplicates in
non-recursive. Don't push nil onto visited for duplicates.
(path-iter-all-files): Don't use path-iter-done.

* packages/path-iterator/path-iterator-test.el: Match code changes, test
duplicate.
---
 packages/path-iterator/path-iterator-test.el |  19 -
 packages/path-iterator/path-iterator.el  | 121 ---
 2 files changed, 69 insertions(+), 71 deletions(-)

diff --git a/packages/path-iterator/path-iterator-test.el 
b/packages/path-iterator/path-iterator-test.el
index 780e744..4986842 100644
--- a/packages/path-iterator/path-iterator-test.el
+++ b/packages/path-iterator/path-iterator-test.el
@@ -37,9 +37,9 @@ iterator built from PATH-NON-RECURSIVE, PATH-RECURSIVE, 
IGNORE-FUNCTION."
  ))
 
 (defun path-iter-test-run-1 (iter expected-dirs)
-  (let (computed-dirs)
-(while (not (path-iter-done iter))
-  (push (path-iter-next iter) computed-dirs))
+  (let (dir computed-dirs)
+(while (setq dir (path-iter-next iter))
+  (push dir computed-dirs))
 (should (null (path-iter-next iter)))
 (setq computed-dirs (nreverse computed-dirs))
 (should (equal computed-dirs expected-dirs))
@@ -86,10 +86,23 @@ iterator built from PATH-NON-RECURSIVE, PATH-RECURSIVE, 
IGNORE-FUNCTION."
   (list
(concat path-iter-root-dir "/bob-1"))
   (list
+   (concat path-iter-root-dir "/bob-1")
+   (concat path-iter-root-dir "/bob-1/bob-2")
+   (concat path-iter-root-dir "/bob-1/bob-3")
+   (concat path-iter-root-dir "/alice-1")
+   ))
+
+(path-iter-deftest dup
+  (list
(concat path-iter-root-dir "/alice-1")
+   (concat path-iter-root-dir "/bob-1")) ;; non-recursive
+  (list
+   (concat path-iter-root-dir "/bob-1")) ;; recursive
+  (list
(concat path-iter-root-dir "/bob-1")
(concat path-iter-root-dir "/bob-1/bob-2")
(concat path-iter-root-dir "/bob-1/bob-3")
+   (concat path-iter-root-dir "/alice-1")
))
 
 (defvar path-iter-ignore-bob nil
diff --git a/packages/path-iterator/path-iterator.el 
b/packages/path-iterator/path-iterator.el
index 6bd3504..5598e57 100644
--- a/packages/path-iterator/path-iterator.el
+++ b/packages/path-iterator/path-iterator.el
@@ -40,9 +40,6 @@
 ;;
 ;; Other functions:
 ;;
-;; path-iter-done: non-nil if the iterator is done (all directories
-;; have been returned).
-;;
 ;; path-iter-next: return the next directory, or nil if done.
 ;;
 ;; path-iter-restart: restart iterator; next call to `path-iter-next'
@@ -136,30 +133,17 @@ If an element of PATH is nil, `default-directory' is 
used."
  path)
 (nreverse result)))
 
-(cl-defmethod path-iter-done ((iter path-iterator))
-"Return non-nil if ITER is done."
-  (cond
-   ((listp (path-iter-visited iter))
-;; First iteration
-(and (null (car (path-iter-path-non-recursive iter)))
-(null (car (path-iter-path-recursive iter)
-
-   (t
-;; Subsequent iterations
-(= (1+ (path-iter-current iter)) (length (path-iter-visited iter
-   ))
-
 (cl-defmethod path-iter-next ((iter path-iterator))
   "Return the next directory to visit, or nil if there are no more.
 
-The iterator will first visit all elements of the non-recursive
-path, then all elements of the recursive path, and visit all
-subdirectories of the recursive path for which `ignore-function'
-returns nil, in depth-first order (parent directories are visited
-before their subdirectories; sibling directories are visited
-after subdirectories), but will not visit any directory more than
-once. The order of subdirectories within a directory is given by
-`directory-files'.
+The iterator will first visit all elements of the recursive path,
+visiting all subdirectories of the recursive path for which
+`ignore-function' returns nil, in depth-first order (parent
+directories are visited before their subdirectories; sibling
+directories are visited after subdirectories); then visit all
+directories in the non-recursive path, but will not visit any
+directory more than once. The order of subdirectories within a
+directory is given by `directory-files'.
 
 `ignore-function' is passed one argument; the directory file
 name. Symlinks in the directory part are resolved, but the
@@ -171,51 +155,53 @@ not end in a slash, have casing that matches the existing
 directory file name, and resolve simlinks (see `file-truename')."
   (cond
((and (listp (path-iter-visited iter))
-(not (null (path-iter-path-

[elpa] master 02bca66: In uniquify-files, add another file completion style

2019-02-01 Thread Stephen Leake
branch: master
commit 02bca667fd4413918dbb9772622834f57f4356be
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files, add another file completion style

* packages/uniquify-files/file-complete-root-relative.el: New file.
* packages/uniquify-files/file-complete-root-relative-test.el: New file.
---
 .../file-complete-root-relative-test.el| 321 
 .../uniquify-files/file-complete-root-relative.el  | 414 +
 2 files changed, 735 insertions(+)

diff --git a/packages/uniquify-files/file-complete-root-relative-test.el 
b/packages/uniquify-files/file-complete-root-relative-test.el
new file mode 100644
index 000..66bdf43
--- /dev/null
+++ b/packages/uniquify-files/file-complete-root-relative-test.el
@@ -0,0 +1,321 @@
+;;; file-complete-root-relative-test.el - Test for 
file-complete-root-relative.el -*- lexical-binding:t no-byte-compile:t -*-
+;;
+;; Copyright (C) 2017, 2019  Free Software Foundation, Inc.
+;;
+;; Author: Stephen Leake 
+;; Maintainer: Stephen Leake 
+;;
+;; This file is part of GNU Emacs.
+;;
+;; GNU Emacs 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.
+;;
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+(require 'ert)
+(require 'uniquify-files-test) ;; We share the test directory tree.
+(require 'file-complete-root-relative)
+
+(defconst fc-root-rel-iter (make-path-iterator :user-path-recursive (list 
uft-root)))
+
+(defconst fc-root-rel-file-list
+  (list
+(concat uft-root "/foo-file1.text")
+(concat uft-root "/foo-file3.texts2")
+(concat uft-root "/Alice/alice-1/bar-file1.text")
+(concat uft-root "/Alice/alice-1/bar-file2.text")
+(concat uft-root "/Alice/alice-1/foo-file1.text")
+(concat uft-root "/Alice/alice-1/foo-file2.text")
+(concat uft-root "/Alice/alice-2/bar-file1.text")
+(concat uft-root "/Alice/alice-2/bar-file2.text")
+(concat uft-root "/Alice/alice-2/foo-file1.text")
+(concat uft-root "/Alice/alice-2/foo-file3.text")
+(concat uft-root "/Alice/alice-2/foo-file3.texts")
+(concat uft-root "/Alice/alice-3/foo-file4.text")
+(concat uft-root "/Bob/alice-3/foo-file4.text")
+(concat uft-root "/Bob/bob-1/foo-file1.text")
+(concat uft-root "/Bob/bob-1/foo-file2.text")
+(concat uft-root "/Bob/bob-2/foo-file1.text")
+(concat uft-root "/Bob/bob-2/foo-file5.text")
+))
+
+(ert-deftest test-fc-root-rel-completion-table-iter ()
+  "Test basic functions of table."
+  ;; grouped by action
+  (should (equal (fc-root-rel-completion-table-iter fc-root-rel-iter "fi" nil 
'(boundaries . ".text"))
+  '(boundaries . (0 . 5
+
+  (should (equal (fc-root-rel-completion-table-iter fc-root-rel-iter "fi" nil 
'metadata)
+(cons 'metadata
+  (list
+   '(category . project-file)
+   (cons 'root uft-root)
+
+  ;; all-completions. We sort the results here to make the test stable
+  (should (equal (sort (fc-root-rel-completion-table-iter fc-root-rel-iter "" 
nil t) #'string-lessp)
+(list
+ (concat uft-alice1 "/bar-file1.text")
+ (concat uft-alice1 "/bar-file2.text")
+ (concat uft-alice1 "/foo-file1.text")
+ (concat uft-alice1 "/foo-file2.text")
+ (concat uft-alice2 "/bar-file1.text")
+ (concat uft-alice2 "/bar-file2.text")
+ (concat uft-alice2 "/foo-file1.text")
+ (concat uft-alice2 "/foo-file3.text")
+ (concat uft-alice2 "/foo-file3.texts")
+ (concat uft-Alice-alice3 "/foo-file4.text")
+ (concat uft-Bob-alice3 "/foo-file4.text")
+ (concat uft-bob1 "/foo-file1.text")
+ (concat uft-bob1 "/foo-file2.text")
+ (concat uft-bob2 "/foo-file1.text")
+ (concat uft-bob2 "/foo-file5.text")
+ (concat uft-root "/foo-file1.text")
+ (concat uft-root "/foo-file3.texts2")
+ ))

[elpa] master a323e93 2/5: In uniquify-files, handle list tables, refactor code, update tests

2019-02-01 Thread Stephen Leake
branch: master
commit a323e93c85bb7daca288ea566db2f0937adcaac9
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files, handle list tables, refactor code, update tests

* packages/uniquify-files/uniquify-files-test.el: Match code changes.
(test-uniq-file-test-completion-1): Test function and list completion 
tables.

* packages/uniquify-files/uniquify-files.el: Improve header comments;
table can be a function or a list. Rename internal functions with '--'.
(uniq-file-to-table-input): Rename from uniq-file-normalize.
(uniq-file--valid-regexp, uniq-file--pcm-pattern,
uniq-file--pcm-merged-pat): New, factored out.
(uniq-file-try-completion): Renamed from
completion-uniquify-file-try-completion, use factored out functions,
handle list table.
(uniq-files--hilit): Rename with '--', use factored out functions.
(uniq-file--match-list): New, factored out.
(uniq-file-all-completions): Renamed from
completion-uniquify-file-all-completions. Handle list table.
(uniq-file-get-data-string): Renamed from
completion-uniquify-file-get-data-string. Handle list table.
(completion-get-data-string): Improve to handle other styles.
(completion-to-table-input): Rename from
uniq-file-test-completion-advice. Use additional completion-styles-alist
fields.
(uniq-file-completion-table): Improve comments. Handle test-completion,
use factored out functions.
(locate-uniquified-file-iter-2): New; example of list table usage.
---
 packages/uniquify-files/uniquify-files-test.el | 164 
 packages/uniquify-files/uniquify-files.el  | 522 +++--
 2 files changed, 392 insertions(+), 294 deletions(-)

diff --git a/packages/uniquify-files/uniquify-files-test.el 
b/packages/uniquify-files/uniquify-files-test.el
index 59e4d47..935814b 100644
--- a/packages/uniquify-files/uniquify-files-test.el
+++ b/packages/uniquify-files/uniquify-files-test.el
@@ -80,7 +80,7 @@
   (should (equal (uniq-file-completion-table uft-iter "fi" nil 'metadata)
 (cons 'metadata
   (list
-   '(category . uniq-file)
+   '(category . project-file)
 
   ;; all-completions. We sort the results here to make the test stable
   (should (equal (sort (uniq-file-completion-table uft-iter "-fi" nil t) 
#'string-lessp)
@@ -117,9 +117,9 @@
   (should (equal (uniq-file-completion-table uft-iter "fi" nil nil)
 nil))
 
-  ;; This table does not implement test-completion
-  (should (equal (uniq-file-completion-table uft-iter "fi" nil 'lambda)
-nil))
+  ;; test-completion
+  (should (equal (uniq-file-completion-table uft-iter 
(uniq-file-to-table-input "foo-file1.text") nil 'lambda)
+t))
 
   )
 
@@ -151,43 +151,46 @@
 
   )
 
-(ert-deftest test-uniq-file-test-completion ()
-  (let ((table (apply-partially 'uniq-file-completion-table uft-iter)))
-
-(should (equal (test-completion "foo-fi" table)
-  nil))
+(defun test-uniq-file-test-completion-1 (table)
+  (should (equal (test-completion "foo-fi" table)
+nil))
 
-(should (equal (test-completion "f-fi" table)
-  t))
+  (should (equal (test-completion "foo-file1.text<>" table)
+t))
 
-(should (equal (test-completion "foo-file1.text" table)
-  t))
+  (should (equal (test-completion "foo-file1.text" table)
+t))
 
-(should (equal (test-completion "foo-file1.text" table)
-  t))
+  (should (equal (test-completion "foo-file1.text" table)
+t))
 
-(should (equal (test-completion "foo-file3.text" table)
-  t))
+  (should (equal (test-completion "foo-file3.text" table)
+nil))
 
-(should (equal (test-completion "foo-file3.texts" table)
-  t))
+  (should (equal (test-completion "foo-file3.texts2" table)
+t))
 
-(should (equal (test-completion "foo-file3.texts2" table)
-  t))
+  (should (equal (test-completion "bar-file2.text"
  "bar-file1.text"
@@ -207,7 +210,7 @@
  )))
 
 (should (equal
-(sort (completion-uniquify-file-all-completions "*-fi" table nil 
nil) #'string-lessp)
+(sort (uniq-file-all-completions "*-fi" table nil nil) 
#'string-lessp)
 (list
  "bar-file1.text"
  "bar-file1.text"
@@ -227,7 +230,7 @@
  )))
 
 (should (equal
-(sort (completion-uniquify-file-all-completions "b" table nil nil) 
#'string-lessp)
+(sort (uniq-file-all-completions "b" tab

[elpa] master 16390ac 1/5: In path-iterator, add new function and test

2019-02-01 Thread Stephen Leake
branch: master
commit 16390ac2b8c0622ae94d6917f2df0ca90d61ec55
Author: Stephen Leake 
Commit: Stephen Leake 

In path-iterator, add new function and test

* packages/path-iterator/path-iterator-test.el (path-iter-all-files): New
test.

* packages/path-iterator/path-iterator.el (path-iter-all-files): New.
---
 .../path-iterator-resources/alice-1/foo-file1.text|  1 +
 .../bob-1/bob-2/foo-file2.text|  1 +
 .../bob-1/bob-3/foo-file3.text|  1 +
 packages/path-iterator/path-iterator-test.el  | 19 ++-
 packages/path-iterator/path-iterator.el   | 17 +
 5 files changed, 38 insertions(+), 1 deletion(-)

diff --git 
a/packages/path-iterator/path-iterator-resources/alice-1/foo-file1.text 
b/packages/path-iterator/path-iterator-resources/alice-1/foo-file1.text
new file mode 100644
index 000..d83a9f4
--- /dev/null
+++ b/packages/path-iterator/path-iterator-resources/alice-1/foo-file1.text
@@ -0,0 +1 @@
+alice-1/foo-file1.text
diff --git 
a/packages/path-iterator/path-iterator-resources/bob-1/bob-2/foo-file2.text 
b/packages/path-iterator/path-iterator-resources/bob-1/bob-2/foo-file2.text
new file mode 100644
index 000..6bd9bdb
--- /dev/null
+++ b/packages/path-iterator/path-iterator-resources/bob-1/bob-2/foo-file2.text
@@ -0,0 +1 @@
+bob-1/foo-file2.text
diff --git 
a/packages/path-iterator/path-iterator-resources/bob-1/bob-3/foo-file3.text 
b/packages/path-iterator/path-iterator-resources/bob-1/bob-3/foo-file3.text
new file mode 100644
index 000..2a3b1e9
--- /dev/null
+++ b/packages/path-iterator/path-iterator-resources/bob-1/bob-3/foo-file3.text
@@ -0,0 +1 @@
+bob-2/foo-file5.text
diff --git a/packages/path-iterator/path-iterator-test.el 
b/packages/path-iterator/path-iterator-test.el
index 09c01da..780e744 100644
--- a/packages/path-iterator/path-iterator-test.el
+++ b/packages/path-iterator/path-iterator-test.el
@@ -158,7 +158,7 @@ iterator built from PATH-NON-RECURSIVE, PATH-RECURSIVE, 
IGNORE-FUNCTION."
   (let ((default-directory path-iter-root-dir))
 (should
  (equal
-  (path-iter-to-truename
+  (path-iter--to-truename
(list
nil
(concat path-iter-root-dir "/alice-1")))
@@ -168,5 +168,22 @@ iterator built from PATH-NON-RECURSIVE, PATH-RECURSIVE, 
IGNORE-FUNCTION."
 
   )))
 
+(ert-deftest path-iter-all-files ()
+  (let ((iter
+(make-path-iterator
+ :user-path-non-recursive nil
+ :user-path-recursive (list path-iter-root-dir
+
+(should
+ (equal
+  (path-iter-all-files iter)
+  (list
+   (concat path-iter-root-dir "/bob-1/bob-3/foo-file3.text")
+   (concat path-iter-root-dir "/bob-1/bob-2/foo-file2.text")
+   (concat path-iter-root-dir "/alice-1/foo-file1.text")
+   (concat path-iter-root-dir "/file-0.text")
+   )))
+))
+
 (provide 'path-iterator-test)
 ;;; path-iterator.el ends here
diff --git a/packages/path-iterator/path-iterator.el 
b/packages/path-iterator/path-iterator.el
index ca208e4..1c57ce3 100644
--- a/packages/path-iterator/path-iterator.el
+++ b/packages/path-iterator/path-iterator.el
@@ -285,5 +285,22 @@ Return a list of absolute filenames or nil if none found."
(file-name-all-completions filename dir)))
 result))
 
+(defun path-iter-all-files (iter)
+  "Return all filenames in ITER (a `path-iterator' object."
+  (let (result)
+(path-iter-restart iter)
+
+(while (not (path-iter-done iter))
+  (let ((dir (path-iter-next iter)))
+   (mapc
+(lambda (absfile)
+  (when (and (not (string-equal "." (substring absfile -1)))
+ (not (string-equal ".." (substring absfile -2)))
+ (not (file-directory-p absfile)))
+(push absfile result)))
+(directory-files dir t))
+   ))
+result))
+
 (provide 'path-iterator)
 ;;; path-iterator.el ends here.



[elpa] master updated (53bcfc9 -> 4a83f36)

2019-02-01 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  53bcfc9   [javaimp] Bump version to 0.6.1
   new  16390ac   In path-iterator, add new function and test
   new  a323e93   In uniquify-files, handle list tables, refactor code, 
update tests
   new  3b3ca82   Fix bugs, add tests in uniquify-files
   new  02764f9   Improve uniquify-files-test.el, improve uniquify-files to 
handle new tests
   new  4a83f36   Merge commit '53bcfc9e49f6306ac3e911a9de3d4a2a74c70f95'


Summary of changes:
 .../alice-1/foo-file1.text |   0
 .../bob-1/bob-2}/foo-file2.text|   0
 .../bob-1/bob-3/foo-file3.text}|   0
 packages/path-iterator/path-iterator-test.el   |  19 +-
 packages/path-iterator/path-iterator.el|  17 +
 .../Alice/alice-1/bar-file1.text   |   2 +-
 .../Alice/alice-1/bar-file2.text   |   2 +-
 .../Alice/alice-1/foo-file1.text   |   2 +-
 .../Alice/alice-1/foo-file2.text   |   2 +-
 .../Alice/alice-3/foo-file4.text   |   1 +
 .../Bob/alice-3/foo-file4.text |   1 +
 packages/uniquify-files/uniquify-files-test.el | 529 +---
 packages/uniquify-files/uniquify-files.el  | 665 -
 13 files changed, 754 insertions(+), 486 deletions(-)
 copy packages/{uniquify-files/uniquify-files-resources/Alice => 
path-iterator/path-iterator-resources}/alice-1/foo-file1.text (100%)
 copy packages/{uniquify-files/uniquify-files-resources/Bob/bob-1 => 
path-iterator/path-iterator-resources/bob-1/bob-2}/foo-file2.text (100%)
 copy 
packages/{uniquify-files/uniquify-files-resources/Bob/bob-2/foo-file5.text => 
path-iterator/path-iterator-resources/bob-1/bob-3/foo-file3.text} (100%)
 create mode 100644 
packages/uniquify-files/uniquify-files-resources/Alice/alice-3/foo-file4.text
 create mode 100644 
packages/uniquify-files/uniquify-files-resources/Bob/alice-3/foo-file4.text



[elpa] master 3b3ca82 3/5: Fix bugs, add tests in uniquify-files

2019-02-01 Thread Stephen Leake
branch: master
commit 3b3ca829a98f91e475574cfd8b59d607c76cebec
Author: Stephen Leake 
Commit: Stephen Leake 

Fix bugs, add tests in uniquify-files

* packages/uniquify-files/uniquify-files.el: Fix bugs.

* packages/uniquify-files/uniquify-files-test.el:
(test-uniquify-file-all-completions-noface-func): Rename from
test-uniquify-file-all-completions-noface, take table input.
(test-uniquify-file-all-completions-noface-func)
(test-uniquify-file-all-completions-noface-list): New; test function and
list tables.
(test-uniq-file-try-completion-1): Rename from
test-uniq-file-try-completion, take table input, add tests on
case-fold-search nil and t.
(test-uniq-file-try-completion-func, test-uniq-file-try-completion-list):
New; test function and list tables.
---
 packages/uniquify-files/uniquify-files-test.el | 369 ++---
 packages/uniquify-files/uniquify-files.el  |  67 ++---
 2 files changed, 235 insertions(+), 201 deletions(-)

diff --git a/packages/uniquify-files/uniquify-files-test.el 
b/packages/uniquify-files/uniquify-files-test.el
index 935814b..0375749 100644
--- a/packages/uniquify-files/uniquify-files-test.el
+++ b/packages/uniquify-files/uniquify-files-test.el
@@ -167,7 +167,7 @@
   (should (equal (test-completion "foo-file1.text" table)
 t))
 
-  (should (equal (test-completion "foo-file3.text" table)
+  (should (equal (test-completion "foo-file3.tex" table) ;; partial file name
 nil))
 
   (should (equal (test-completion "foo-file3.texts2" table)
@@ -186,153 +186,160 @@
(completion-styles '(uniquify-file))) ;; FIXME: need a way to specify 
category
 (test-uniq-file-test-completion-1 table)))
 
-(ert-deftest test-uniquify-file-all-completions-noface ()
-  (let ((table (apply-partially 'uniq-file-completion-table uft-iter)))
-
-(should (equal
-(sort (uniq-file-all-completions "" table nil nil) #'string-lessp)
-(list
- "bar-file1.text"
- "bar-file1.text"
- "bar-file2.text"
- "bar-file2.text"
- "foo-file1.text<>"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file2.text"
- "foo-file2.text"
- "foo-file3.text"
- "foo-file3.texts"
- "foo-file3.texts2"
- "foo-file5.text"
- )))
-
-(should (equal
-(sort (uniq-file-all-completions "*-fi" table nil nil) 
#'string-lessp)
-(list
- "bar-file1.text"
- "bar-file1.text"
- "bar-file2.text"
- "bar-file2.text"
- "foo-file1.text<>"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file2.text"
- "foo-file2.text"
- "foo-file3.text"
- "foo-file3.texts"
- "foo-file3.texts2"
- "foo-file5.text"
- )))
-
-(should (equal
-(sort (uniq-file-all-completions "b" table nil nil) #'string-lessp)
-(list
- "bar-file1.text"
- "bar-file1.text"
- "bar-file2.text"
- "bar-file2.text"
- )))
-
-(should (equal
-(sort (uniq-file-all-completions "foo" table nil nil) 
#'string-lessp)
-(list
- "foo-file1.text<>"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file1.text"
- "foo-file2.text"
- "foo-file2.text"
- "foo-file3.text"
- "foo-file3.texts"
- "foo-file3.texts2"
- "foo-file5.text"
- )))
-
-(should (equal
-(sort (uniq-file-all-completions "f-file2" table nil nil) 
#'string-lessp)
-(list
- "foo-file2.text"
- "foo-file2.text"
- )))
-
-(should (equal
-(sort (uniq-file-all-completions "b-fi<" table nil nil) 
#'string-lessp)
-(list
- "bar-file1.text"
- "bar-file1.text"
- "bar-file2.text"
- "bar-file2.text"
- )))
-
-  

[elpa] master 02764f9 4/5: Improve uniquify-files-test.el, improve uniquify-files to handle new tests

2019-02-01 Thread Stephen Leake
branch: master
commit 02764f93d4fdf8493aa093e4cb32cb822ebe5a48
Author: Stephen Leake 
Commit: Stephen Leake 

Improve uniquify-files-test.el, improve uniquify-files to handle new tests

* packages/uniquify-files/uniquify-files-resources/*.text: Adjust content
to match location.

* packages/uniquify-files/uniquify-files-resources/Alice/alice-3/: New
directory.

* packages/uniquify-files/uniquify-files-resources/Bob/alice-3/: New
directory.

* packages/uniquify-files/uniquify-files-test.el (uft-Alice-alice3)
(uft-Bob-alice3): New.
(uft-iter): Add Alice/alice-3, Bob/alice-3.
(test-uniq-file-completion-table): Renamed from
test-uniq-file-path-completion-table. Add new test files to results.
(test-uniq-file-all-completions-noface-1): Renamed from
test-uniquify-file-all-completions-noface-1.
(test-uniq-file-all-completions-noface-1): Add new test files to results.
Add completion-ignore-case t to cases where it matters. Add test using
Alice/alice-3, Bob/alice-3.
(test-uniq-file-all-completions-noface-func): Renamed from
test-uniquify-file-all-completions-noface-func. Add
completion-ignore-case nil.
(test-uniq-file-all-completions-noface-list): Renamed from
test-uniquify-file-all-completions-noface-list. Add
completion-ignore-case nil.
(test-uniq-file-all-completions-face): Add completion-ignore-case nil.
Add new test files to results.
(test-uniq-file-try-completion-1): Add completion-ignore-case t to cases
where it matters. Replace case-fold-search with completion-ignore-case.

* packages/uniquify-files/uniquify-files.el (uniq-files--conflicts):
Improve to handle new test.
(uniq-file--uniquify): Set case-fold-search.
(uniq-file--pcm-merged-pat): Delete extra-delim arg; no longer shared
with other style. Set case-fold-search.
(uniq-file--pcm-merged-pat): Allow uniquifying directories.
---
 .../Alice/alice-1/bar-file1.text   |   2 +-
 .../Alice/alice-1/bar-file2.text   |   2 +-
 .../Alice/alice-1/foo-file1.text   |   2 +-
 .../Alice/alice-1/foo-file2.text   |   2 +-
 .../Alice/alice-3/foo-file4.text   |   1 +
 .../Bob/alice-3/foo-file4.text |   1 +
 packages/uniquify-files/uniquify-files-test.el | 132 +
 packages/uniquify-files/uniquify-files.el  | 156 -
 8 files changed, 200 insertions(+), 98 deletions(-)

diff --git 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file1.text 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file1.text
index 86a25bf..fa6dc6c 100644
--- 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file1.text
+++ 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file1.text
@@ -1 +1 @@
-alice-1/bar-file1.text
+Alice/alice-1/bar-file1.text
diff --git 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file2.text 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file2.text
index ede9208..a1379dc 100644
--- 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file2.text
+++ 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/bar-file2.text
@@ -1 +1 @@
-alice-1/bar-file2.text
+Alice/alice-1/bar-file2.text
diff --git 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file1.text 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file1.text
index d83a9f4..6ca3f4a 100644
--- 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file1.text
+++ 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file1.text
@@ -1 +1 @@
-alice-1/foo-file1.text
+Alice/alice-1/foo-file1.text
diff --git 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file2.text 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file2.text
index 70af0ae..0c46e78 100644
--- 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file2.text
+++ 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-1/foo-file2.text
@@ -1 +1 @@
-alice-1/foo-file2.text
+Alice/alice-1/foo-file2.text
diff --git 
a/packages/uniquify-files/uniquify-files-resources/Alice/alice-3/foo-file4.text 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-3/foo-file4.text
new file mode 100644
index 000..5af2740
--- /dev/null
+++ 
b/packages/uniquify-files/uniquify-files-resources/Alice/alice-3/foo-file4.text
@@ -0,0 +1 @@
+Alice/alice-3/foo-file4.text
diff --git 
a/packages/uniquify-files/uniquify-files-resources/Bob/alice-3/foo-file4.text 
b/packages/uniquify-files/uniquify-files-resources/Bob/alice-3/foo-file4.text
new file mode 100644
index 000..5893d49
--- /dev/null
+++ 
b/packages/uniquify-files/uniquify-files-resources/Bob/alice-3/foo-file4.text
@@ -0,0 +1 @@
+Bob/alice-3/foo

[elpa] master 4a83f36 5/5: Merge commit '53bcfc9e49f6306ac3e911a9de3d4a2a74c70f95'

2019-02-01 Thread Stephen Leake
branch: master
commit 4a83f363e201198a098f347cdc8a12bc1047470e
Merge: 02764f9 53bcfc9
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit '53bcfc9e49f6306ac3e911a9de3d4a2a74c70f95'
---
 packages/javaimp/javaimp.el | 52 ++---
 1 file changed, 25 insertions(+), 27 deletions(-)

diff --git a/packages/javaimp/javaimp.el b/packages/javaimp/javaimp.el
index e00c956..8a3f4f3 100644
--- a/packages/javaimp/javaimp.el
+++ b/packages/javaimp/javaimp.el
@@ -4,7 +4,7 @@
 
 ;; Author: Filipp Gunbin 
 ;; Maintainer: Filipp Gunbin 
-;; Version: 0.6
+;; Version: 0.6.1
 ;; Keywords: java, maven, programming
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -94,7 +94,7 @@
   "Add and reorder Java import statements in Maven projects"
   :group 'c)
 
-(defcustom javaimp-import-group-alist '(("\\`javax?\\." . 10))
+(defcustom javaimp-import-group-alist '(("\\`java\\." . 10) ("\\`javax\\." . 
15))
   "Specifies how to group classes and how to order resulting
 groups in the imports list.
 
@@ -568,31 +568,29 @@ duplicated.  Completion alternatives are constructed 
based on
 this module's dependencies' classes, JDK classes and top-level
 classes in the current module."
   (interactive
-   (progn
- (barf-if-buffer-read-only)
- (let* ((file (expand-file-name
-  (or buffer-file-name
-  (error "Buffer is not visiting a file!"
-   (node (or (javaimp--find-node
-  (lambda (m)
-(or (string-prefix-p (javaimp-module-source-dir m) 
file)
-(string-prefix-p (javaimp-module-test-source-dir 
m) file
- (error "Cannot find module by file: %s" file
-   (javaimp--maven-update-module-maybe node)
-   (let ((module (javaimp-node-contents node)))
-(list (completing-read
-   "Import: "
-   (append
-;; we're not caching full list of classes coming from module
-;; dependencies because jars may change and we need to reload
-;; them
-(let ((jars (append (javaimp-module-dep-jars module)
-(javaimp--get-jdk-jars
-  (apply #'seq-concatenate 'list
- (mapcar #'javaimp--get-jar-classes jars)))
-(and javaimp-include-current-module-classes
- (javaimp--get-module-classes module)))
-   nil t nil nil (symbol-name (symbol-at-point
+   (let* ((file (expand-file-name (or buffer-file-name
+ (error "Buffer is not visiting a 
file!"
+ (node (or (javaimp--find-node
+(lambda (m)
+  (or (string-prefix-p (javaimp-module-source-dir m) file)
+  (string-prefix-p (javaimp-module-test-source-dir m) 
file
+   (error "Cannot find module by file: %s" file
+ (javaimp--maven-update-module-maybe node)
+ (let ((module (javaimp-node-contents node)))
+   (list (completing-read
+ "Import: "
+ (append
+  ;; we're not caching full list of classes coming from module
+  ;; dependencies because jars may change and we need to reload
+  ;; them
+  (let ((jars (append (javaimp-module-dep-jars module)
+  (javaimp--get-jdk-jars
+(apply #'seq-concatenate 'list
+   (mapcar #'javaimp--get-jar-classes jars)))
+  (and javaimp-include-current-module-classes
+   (javaimp--get-module-classes module)))
+ nil t nil nil (symbol-name (symbol-at-point)))
+  (barf-if-buffer-read-only)
   (javaimp-organize-imports (cons classname 'ordinary)))
 
 (defun javaimp--get-module-classes (module)



[elpa] master 5eaa2d2 1/3: Improve path-iterator

2019-02-03 Thread Stephen Leake
branch: master
commit 5eaa2d2e7197f530ad7b962e5255718182bfcc40
Author: Stephen Leake 
Commit: Stephen Leake 

Improve path-iterator

* packages/path-iterator/path-iterator.el (path-iter--to-truename):
Enforce directory-file-name.
---
 packages/path-iterator/path-iterator.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/path-iterator/path-iterator.el 
b/packages/path-iterator/path-iterator.el
index 1c57ce3..6bd3504 100644
--- a/packages/path-iterator/path-iterator.el
+++ b/packages/path-iterator/path-iterator.el
@@ -131,7 +131,7 @@ If an element of PATH is nil, `default-directory' is used."
  (expand-file-name name)
default-directory)))
 (when (file-directory-p absname)
-  (push (file-truename absname) result))
+  (push (directory-file-name (file-truename absname)) result))
 ))
  path)
 (nreverse result)))



[elpa] master updated (4cfbe69 -> 04291f9)

2019-02-03 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  4cfbe69   Merge commit '5289910f860a9676b1ab9dd450e8ff82308e91a4'
   new  5eaa2d2   Improve path-iterator
   new  433cca5   Improve uniquify-files
   new  04291f9   Merge commit '4cfbe698f4bee8de43ce10ba2392025e6f49f28d'


Summary of changes:
 packages/path-iterator/path-iterator.el|  2 +-
 .../file-complete-root-relative-test.el|  2 +
 .../uniquify-files/file-complete-root-relative.el  | 22 +++
 .../uniquify-files-resources/foo-file3.texts2  |  2 +-
 packages/uniquify-files/uniquify-files-test.el |  3 +-
 packages/uniquify-files/uniquify-files.el  | 71 +++---
 6 files changed, 53 insertions(+), 49 deletions(-)



[elpa] master 04291f9 3/3: Merge commit '4cfbe698f4bee8de43ce10ba2392025e6f49f28d'

2019-02-03 Thread Stephen Leake
branch: master
commit 04291f98972a5e7b26c5e6a9986a9128cfddd869
Merge: 433cca5 4cfbe69
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit '4cfbe698f4bee8de43ce10ba2392025e6f49f28d'
---
 packages/org-edna/org-edna-tests.el  |  22 +--
 packages/org-edna/org-edna-tests.org |  12 ++
 packages/org-edna/org-edna.el| 104 +--
 packages/org-edna/org-edna.info  | 251 +--
 packages/org-edna/org-edna.org   |  37 +-
 5 files changed, 303 insertions(+), 123 deletions(-)

diff --git a/packages/org-edna/org-edna-tests.el 
b/packages/org-edna/org-edna-tests.el
index 331438f..c877321 100644
--- a/packages/org-edna/org-edna-tests.el
+++ b/packages/org-edna/org-edna-tests.el
@@ -1210,11 +1210,7 @@ This avoids org-id digging into its internal database."
 ;; The second Monday after Mar 12th, 2000 (Mar 20th)
 (org-edna-action/scheduled! nil "float 2 monday Mar 12")
 (should (string-equal (org-entry-get nil "SCHEDULED")
-  "<2000-03-20 Mon 00:00>"))
-;; Back to Saturday for other tests
-(org-edna-action/scheduled! nil "2000-01-15 Sat 00:00")
-(should (string-equal (org-entry-get nil "SCHEDULED")
-  "<2000-01-15 Sat 00:00>"
+  "<2000-03-20 Mon 00:00>"
 
 (ert-deftest org-edna-action-deadline/wkdy ()
   (org-edna-with-test-heading "0d491588-7da3-43c5-b51a-87fbd34f79f7"
@@ -1360,18 +1356,14 @@ This avoids org-id digging into its internal database."
 ;; The second Monday after Mar 12th, 2000 (Mar 20th)
 (org-edna-action/deadline! nil "float 2 monday Mar 12")
 (should (string-equal (org-entry-get nil "DEADLINE")
-  "<2000-03-20 Mon 00:00>"))
-;; Back to Saturday for other tests
-(org-edna-action/deadline! nil "2000-01-15 Sat 00:00")
-(should (string-equal (org-entry-get nil "DEADLINE")
-  "<2000-01-15 Sat 00:00>"
+  "<2000-03-20 Mon 00:00>"
 
 (ert-deftest org-edna-action-tag ()
   (org-edna-with-test-heading org-edna-test-id-heading-one
 (org-edna-action/tag! nil "tag")
 (should (equal (org-get-tags) '("tag")))
 (org-edna-action/tag! nil "")
-(should (equal (org-get-tags) '("")
+(should (equal (org-get-tags) nil
 
 (ert-deftest org-edna-action-property ()
   (org-edna-with-test-heading org-edna-test-id-heading-one
@@ -2037,6 +2029,14 @@ the relative finders all still work while cache is 
enabled."
   ;; Verify that 3 is no longer blocked.
   (should (not (org-edna-test-check-block third-pom "Check after 
Both"))
 
+(ert-deftest org-edna-user-test/time-spec ()
+  (org-edna-doc-test-setup "5b63293c-23ef-40e7-ad8e-093e4c1e1464"
+(pcase-let* ((`(,first-pom ,second-pom ,third-pom) 
(org-edna-test-children-marks)))
+  (org-edna-test-mark-done first-pom)
+  ;; Test time is 2000-01-15, so this should be a week later
+  (should (string-equal (org-entry-get second-pom "SCHEDULED")
+"<2000-01-22 Sat>")
+
 (provide 'org-edna-tests)
 
 ;;; org-edna-tests.el ends here
diff --git a/packages/org-edna/org-edna-tests.org 
b/packages/org-edna/org-edna-tests.org
index 8553cc4..e58ac0f 100644
--- a/packages/org-edna/org-edna-tests.org
+++ b/packages/org-edna/org-edna-tests.org
@@ -361,3 +361,15 @@ DEADLINE: <2000-01-15 Sat +1d>
 :PROPERTIES:
 :BLOCKER:  previous-sibling !done? ids(1942caf2-caad-4757-b689-3c0029c1d8a5) 
!done?
 :END:
+* User Examples
+** Test to show undesired time spec added to generated SCHEDULED datestamp
+:PROPERTIES:
+:ID:   5b63293c-23ef-40e7-ad8e-093e4c1e1464
+:END:
+*** TODO task 1
+DEADLINE: <2019-02-15 Fri +1y -2w>
+:PROPERTIES:
+:TRIGGER:  next-sibling scheduled!("++7d")
+:END:
+*** TODO task 2
+*** TODO task 3
diff --git a/packages/org-edna/org-edna.el b/packages/org-edna/org-edna.el
index d9ebc2b..1cdc52b 100644
--- a/packages/org-edna/org-edna.el
+++ b/packages/org-edna/org-edna.el
@@ -7,7 +7,7 @@
 ;; Keywords: convenience, text, org
 ;; URL: https://savannah.nongnu.org/projects/org-edna-el/
 ;; Package-Requires: ((emacs "25.1") (seq "2.19") (org "9.0.5"))
-;; Version: 1.0.1
+;; Version: 1.0.2
 
 ;; This file is part of GNU Emacs.
 
@@ -62,6 +62,35 @@ properties used during actions or conditions."
   :group 'org-edna
   :type 'boolean)
 
+(defcustom org-edna-timestamp-format 'short
+  "Default timestamp format for scheduling and deadlines.
+
+This is either 'short for short format (no time spec), or
+'long (includes time spec).
+
+When using the schedule! or deadline! actions with the ++
+modifier, 

[elpa] master 433cca5 2/3: Improve uniquify-files

2019-02-03 Thread Stephen Leake
branch: master
commit 433cca5adf8e6828e47f0efd9637aee4b4609f37
Author: Stephen Leake 
Commit: Stephen Leake 

Improve uniquify-files

* packages/uniquify-files/file-complete-root-relative.el
(fc-root-rel-to-table-input): Match completion table arg list.
(fc-root-rel-completion-table-iter): add 'styles to metadata
(fc-root-rel-completion-table-list): add 'styles to metadata
(completion-styles-alist): Add file-root-rel.

* packages/uniquify-files/file-complete-root-relative-test.el
(test-fc-root-rel-completion-table-iter): Match code change.
(test-fc-root-rel-completion-table-list): Match code change.

* packages/uniquify-files/uniquify-files-resources/foo-file-3.texts2:
Match content to file name.

* packages/uniquify-files/uniquify-files.el:
(completion-get-data-string, completion-to-table-input): Use 'styles
metadata.
(top level): Don't modify completion-category-defaults; use
completion-category-overrides in project-find-files.
(uniq-file-completion-table): Add styles metadata.

* packages/uniquify-files/uniquify-files-test.el:
(test-uniq-file-completion-table): Match code change.
---
 .../file-complete-root-relative-test.el|  2 +
 .../uniquify-files/file-complete-root-relative.el  | 22 +++
 .../uniquify-files-resources/foo-file3.texts2  |  2 +-
 packages/uniquify-files/uniquify-files-test.el |  3 +-
 packages/uniquify-files/uniquify-files.el  | 71 +++---
 5 files changed, 52 insertions(+), 48 deletions(-)

diff --git a/packages/uniquify-files/file-complete-root-relative-test.el 
b/packages/uniquify-files/file-complete-root-relative-test.el
index 66bdf43..f696288 100644
--- a/packages/uniquify-files/file-complete-root-relative-test.el
+++ b/packages/uniquify-files/file-complete-root-relative-test.el
@@ -57,6 +57,7 @@
 (cons 'metadata
   (list
'(category . project-file)
+   '(styles   . (file-root-rel))
(cons 'root uft-root)
 
   ;; all-completions. We sort the results here to make the test stable
@@ -119,6 +120,7 @@
 (cons 'metadata
   (list
'(category . project-file)
+   '(styles   . (file-root-rel))
(cons 'root uft-root)
 
   ;; all-completions. We sort the results here to make the test stable
diff --git a/packages/uniquify-files/file-complete-root-relative.el 
b/packages/uniquify-files/file-complete-root-relative.el
index 86b1459..3f66809 100644
--- a/packages/uniquify-files/file-complete-root-relative.el
+++ b/packages/uniquify-files/file-complete-root-relative.el
@@ -50,7 +50,7 @@
   "Return root from TABLE."
   (cdr (assoc 'root (completion-metadata "" table nil
 
-(defun fc-root-rel-to-table-input (user-string)
+(defun fc-root-rel-to-table-input (user-string  _table _pred _point)
   "Implement `completion-to-table-input' for file-root-rel."
   user-string)
 
@@ -289,12 +289,8 @@ STRING, PRED, ACTION are completion table arguments."
((eq action 'metadata)
 (cons 'metadata
  (list
-  ;; We specify the category 'project-file here, to match the
-  ;; `completion-category-defaults' setting above.  We use
-  ;; the default sort order, which is shortest first, so
-  ;; "project.el" is easier to complete when it also matches
-  ;; "project-am.el".
   '(category . project-file)
+  '(styles . (file-root-rel))
   (cons 'root (car (path-iter-path-recursive-init path-iter))
 
((null action)
@@ -370,12 +366,8 @@ STRING, PRED, ACTION are completion table arguments."
((eq action 'metadata)
 (cons 'metadata
  (list
-  ;; We specify the category 'project-file here, to match the
-  ;; `completion-category-defaults' setting above.  We use
-  ;; the default sort order, which is shortest first, so
-  ;; "project.el" is easier to complete when it also matches
-  ;; "project-am.el".
   '(category . project-file)
+  '(styles . (file-root-rel))
   (cons 'root root
 
((null action)
@@ -410,5 +402,13 @@ STRING, PRED, ACTION are completion table arguments."
)))
))
 
+(add-to-list 'completion-styles-alist
+'(file-root-rel
+  fc-root-rel-try-completion
+  fc-root-rel-all-completions
+  "root relative hierarchical filenames."
+  fc-root-rel-to-table-input;; 4 user to table input format
+  fc-root-rel-to-data)) ;; 5 user to data format
+
 (provide 'file-complete-root-relative)
 ;;; file-complete-root-relative.el ends here
diff --git a/packages/uniquify-files/uniquify-files-resources/foo-file3.texts2 
b/packages/uniqui

[elpa] master b3034e0 3/5: In uniquify-files, rewrite to use an alist, clean up tests to match

2019-07-11 Thread Stephen Leake
branch: master
commit b3034e07ecac291b2d368c4a9ba115986dd4797c
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files, rewrite to use an alist, clean up tests to match

* packages/uniquify-files/file-complete-root-relative-test.el: Delete.
* packages/uniquify-files/file-complete-root-relative.el: Delete.
* packages/uniquify-files/file-complete.el: Delete.

* packages/uniquify-files/uniquify-files-resources/
wisitoken-generate-packrat-test.text: New file.

* packages/uniquify-files/uniquify-files-resources/
wisitoken-syntax_trees-test.text: New file.

* packages/uniquify-files/uniquify-files-resources/
wisitoken-text_io_trace.text: New file.

* packages/uniquify-files/uniquify-files-test.el (uft-path): Delete
dependence on path-iterator. Simplify tests to work with rewritten
uniquify-files.

* packages/uniquify-files/uniquify-files.el: Rewrite to use alist of abs
. uniquified.
(uniq-file-read): New for Emacs 27 project.el.
---
 .../file-complete-root-relative-test.el| 271 -
 .../uniquify-files/file-complete-root-relative.el  | 324 --
 packages/uniquify-files/file-complete.el   | 192 --
 .../wisitoken-generate-packrat-test.text   |   1 +
 .../wisitoken-syntax_trees-test.text   |   1 +
 .../wisitoken-text_io_trace.text   |   1 +
 packages/uniquify-files/uniquify-files-test.el | 672 -
 packages/uniquify-files/uniquify-files.el  | 598 --
 8 files changed, 350 insertions(+), 1710 deletions(-)

diff --git a/packages/uniquify-files/file-complete-root-relative-test.el 
b/packages/uniquify-files/file-complete-root-relative-test.el
deleted file mode 100644
index 8b44d92..000
--- a/packages/uniquify-files/file-complete-root-relative-test.el
+++ /dev/null
@@ -1,271 +0,0 @@
-;;; file-complete-root-relative-test.el - Test for 
file-complete-root-relative.el -*- lexical-binding:t no-byte-compile:t -*-
-;;
-;; Copyright (C) 2017, 2019  Free Software Foundation, Inc.
-;;
-;; Author: Stephen Leake 
-;; Maintainer: Stephen Leake 
-;;
-;; This file is part of GNU Emacs.
-;;
-;; GNU Emacs 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.
-;;
-;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-(require 'ert)
-(require 'uniquify-files-test) ;; We share the test directory tree.
-(require 'file-complete-root-relative)
-
-(defconst fc-root-rel-iter (make-path-iterator :user-path-recursive (list 
uft-root)))
-
-(defconst fc-root-rel-file-list
-  (list
-(concat uft-root "/foo-file1.text")
-(concat uft-root "/foo-file3.texts2")
-(concat uft-root "/Alice/alice-1/bar-file1.text")
-(concat uft-root "/Alice/alice-1/bar-file2.text")
-(concat uft-root "/Alice/alice-1/foo-file1.text")
-(concat uft-root "/Alice/alice-1/foo-file2.text")
-(concat uft-root "/Alice/alice-2/bar-file1.text")
-(concat uft-root "/Alice/alice-2/bar-file2.text")
-(concat uft-root "/Alice/alice-2/foo-file1.text")
-(concat uft-root "/Alice/alice-2/foo-file3.text")
-(concat uft-root "/Alice/alice-2/foo-file3.texts")
-(concat uft-root "/Alice/alice-3/foo-file4.text")
-(concat uft-root "/Bob/alice-3/foo-file4.text")
-(concat uft-root "/Bob/bob-1/foo-file1.text")
-(concat uft-root "/Bob/bob-1/foo-file2.text")
-(concat uft-root "/Bob/bob-2/foo-file1.text")
-(concat uft-root "/Bob/bob-2/foo-file5.text")
-))
-
-(ert-deftest test-fc-root-rel-completion-table-iter ()
-  "Test added functions of table."
-  (should (equal (fc-root-rel-completion-table-iter fc-root-rel-iter "fi" nil 
'metadata)
-(cons 'metadata
-  (list
-   '(category . project-file)
-   '(styles   . (file-root-rel))
-   (cons 'root (file-name-as-directory uft-root))
-  )
-
-(ert-deftest test-fc-root-rel-completion-table-list ()
-  "Test basic functions of table."
-  ;; grouped by action
-  (should (equal (fc-root-rel-completion-table-list fc-root-rel-file-list 
uft-root "fi" nil '(boundaries . ".text"))
-  '(boundaries . (0 . 5
-
-  (should (equal (fc-ro

[elpa] master b13820c 2/5: Merge commit '98405112baa5ce2a118d1c65184c005d8ddaa1a9'

2019-07-11 Thread Stephen Leake
branch: master
commit b13820c6bd44822db5b8ce369d4f624f0f8bbda2
Merge: 9aad8f1 9840511
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit '98405112baa5ce2a118d1c65184c005d8ddaa1a9'
---
 admin/archive-contents.el | 10 ++
 externals-list|  1 +
 packages/xclip/xclip.el   | 16 
 3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/admin/archive-contents.el b/admin/archive-contents.el
index 32f5285..3024543 100644
--- a/admin/archive-contents.el
+++ b/admin/archive-contents.el
@@ -41,8 +41,10 @@
   l)))
 
 (defun archive--convert-require (elt)
-  (list (car elt)
-   (archive--version-to-list (car (cdr elt)
+  (let ((vers (archive--version-to-list (car (cdr elt)
+(if vers
+(list (car elt) vers)
+  (list (car elt)
 
 (defun archive--dirname (dir  base)
   (file-name-as-directory (expand-file-name dir base)))
@@ -200,7 +202,7 @@ PKG is the name of the package and DIR is the directory 
where it is."
   (format archive-default-url-format pkg)))
  (req
   (and requires-str
-   (mapcar 'archive--convert-require
+   (mapcar #'archive--convert-require
(car (read-from-string requires-str))
 (list simple version description req
   ;; extra parameters
@@ -292,7 +294,7 @@ Rename DIR/ to PKG-VERS/, and return the descriptor."
   (let* ((exp (archive--multi-file-package-def dir pkg))
 (vers (nth 2 exp))
  (req-exp (nth 4 exp))
-(req (mapcar 'archive--convert-require
+(req (mapcar #'archive--convert-require
   (if (eq 'quote (car-safe req-exp)) (nth 1 req-exp)
 (when req-exp
   (error "REQ should be a quoted constant: %S"
diff --git a/externals-list b/externals-list
index 52019c2..cedce15 100644
--- a/externals-list
+++ b/externals-list
@@ -82,6 +82,7 @@
  ("f90-interface-browser" :subtree "https://github.com/wence-/f90-iface;)
  ("flymake":core "lisp/progmodes/flymake.el")
  ("fountain-mode"  :external "https://github.com/rnkn/fountain-mode;)
+ ("frog-menu" :external "https://github.com/clemera/frog-menu;)
  ("ggtags" :subtree "https://github.com/leoliu/ggtags;)
  ("gnome-c-style"  :subtree "https://github.com/ueno/gnome-c-style.git;)
  ("gnorb"   :subtree "https://github.com/girzel/gnorb;)
diff --git a/packages/xclip/xclip.el b/packages/xclip/xclip.el
index 6302ff9..2c7be8c 100644
--- a/packages/xclip/xclip.el
+++ b/packages/xclip/xclip.el
@@ -74,6 +74,7 @@ If non-nil `xclip-program' is ignored.")
(and (eq system-type 'cygwin) (executable-find "getclip") 'getclip)
(and (executable-find "xclip") 'xclip)
(and (executable-find "xsel") 'xsel)
+   (and (executable-find "wl-copy") 'wl-copy) ;github.com/bugaevc/wl-clipboard
(and (fboundp 'x-create-frame) (getenv "DISPLAY") 'emacs)
'xclip)
   "Method to use to access the GUI's clipboard.
@@ -84,6 +85,7 @@ and `getclip' under Cygwin, or `emacs' to use Emacs's GUI 
code for that."
   (const :tag "Cygwin: getclip/putclip" getclip)
   (const :tag "X11: xclip" xclip)
   (const :tag "X11: xsel" xsel)
+  (const :tag "Wayland: wl-copy" wl-copy)
   (const :tag "X11: Emacs" emacs)))
 
 (defcustom xclip-program (symbol-name xclip-method)
@@ -128,6 +130,12 @@ See also `x-set-selection'."
  (start-process
   "xsel" nil xclip-program
   "-i" (concat "--" (downcase (symbol-name type))
+  (`wl-copy
+   (when (and (getenv "WAYLAND_DISPLAY")
+  (memq type '(clipboard CLIPBOARD primary PRIMARY)))
+ (apply #'start-process
+"wl-copy" nil xclip-program
+(if (memq type '(primary PRIMARY)) '("-p")
   (method (error "Unknown `xclip-method': %S" method)
   (when proc
 (process-send-string proc data)
@@ -160,6 +168,14 @@ See also `x-set-selection'."
  secondary SECONDARY)))
(call-process xclip-program nil standard-output nil
  "-o" (concat "--" (downcase (symbol-name type))
+(`wl-copy
+ (when (and (getenv "WAYLAND_DISPLAY")
+(memq type '(clipboard CLIPBOARD primary PRIMARY)))
+   (apply #'call-process
+  (replace-regexp-in-string "\\(.*\\)copy" "\\1paste"
+xclip-program 'fixedcase)
+  nil standard-output nil
+  (if (memq type '(primary PRIMARY)) '("-p")
 (method (error "Unknown `xclip-method': %S" method))
 
 ;;;###autoload



[elpa] master 9aad8f1 1/5: In uniquify-files, factor out file-complete.el

2019-07-11 Thread Stephen Leake
branch: master
commit 9aad8f126de50c0331ca24149c824a80698b1b5a
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files, factor out file-complete.el

* packages/path-iterator/path-iterator-resources/alice-1/bar-file1.text:
New file.

* packages/path-iterator/path-iterator-test.el: Add trailing "/" where
needed; anything that is known to be a directory ends in "/".

* packages/uniquify-files/file-complete-root-relative-test.el:
(test-fc-root-rel-test-completion-1): Update to use 
completion-current-style.

* packages/uniquify-files/file-complete.el: New file, factored out from
uniquify-file.el, file-complete-root-relative.el.

* packages/path-iterator/path-iterator.el: Add trailing "/" where needed;
anything that is known to be a directory ends in "/".
(path-iter--to-truename): Handle users passing a single string.

* packages/uniquify-files/file-complete-root-relative.el: Use
file-complete functions. Use completion-current-style.
(fc-root-rel-completion-table-iter): Call file-complete-completion-table.
(fc-root-rel--pcm-regex-list): Rename from fc-root-rel--pcm-pattern-list.
(fc-root-rel-completion-table-list): Implement test-completion. Use
test-completion, try-completion.

* packages/uniquify-files/uniquify-files-test.el (uft-iter): Add Alice,
Bob directories.
(test-uniq-file-completion-table): Delete; tested in
file-complete-test.el.
(test-uniq-file-all-completions-noface-1): Add a test.
(test-uniq-file-try-completion-1): Update tests.

* packages/uniquify-files/uniquify-files.el: Use file-complete.
(uniq-file--pcm-pat): New, factored out of uniq-file--pcm-merged-pat.
(uniq-file--pcm-pattern): Delete; use file-complete-pcm-regex.
(uniq-file-completion-table): Use file-complete-completion-table.
---
 .../path-iterator-resources/alice-1/bar-file1.text |   1 +
 packages/path-iterator/path-iterator-test.el   |  83 +++---
 packages/path-iterator/path-iterator.el|  14 +-
 .../file-complete-root-relative-test.el|  83 +-
 .../uniquify-files/file-complete-root-relative.el  | 293 +++--
 packages/uniquify-files/file-complete.el   | 192 ++
 packages/uniquify-files/uniquify-files-test.el | 163 ++--
 packages/uniquify-files/uniquify-files.el  | 183 ++---
 8 files changed, 408 insertions(+), 604 deletions(-)

diff --git 
a/packages/path-iterator/path-iterator-resources/alice-1/bar-file1.text 
b/packages/path-iterator/path-iterator-resources/alice-1/bar-file1.text
new file mode 100644
index 000..fa6dc6c
--- /dev/null
+++ b/packages/path-iterator/path-iterator-resources/alice-1/bar-file1.text
@@ -0,0 +1 @@
+Alice/alice-1/bar-file1.text
diff --git a/packages/path-iterator/path-iterator-test.el 
b/packages/path-iterator/path-iterator-test.el
index 4986842..cf50461 100644
--- a/packages/path-iterator/path-iterator-test.el
+++ b/packages/path-iterator/path-iterator-test.el
@@ -23,7 +23,7 @@
 (defconst path-iter-root-dir
   (concat
(file-name-directory (or load-file-name (buffer-file-name)))
-   "path-iterator-resources"))
+   "path-iterator-resources/"))
 
 (defmacro path-iter-deftest (name-suffix path-non-recursive path-recursive 
expected-dirs  ignore-function)
   "Define an ert test for path-iterator.
@@ -60,49 +60,49 @@ iterator built from PATH-NON-RECURSIVE, PATH-RECURSIVE, 
IGNORE-FUNCTION."
   (list path-iter-root-dir)
   (list
path-iter-root-dir
-   (concat path-iter-root-dir "/alice-1")
-   (concat path-iter-root-dir "/bob-1")
-   (concat path-iter-root-dir "/bob-1/bob-2")
-   (concat path-iter-root-dir "/bob-1/bob-3")
+   (concat path-iter-root-dir "alice-1/")
+   (concat path-iter-root-dir "bob-1/")
+   (concat path-iter-root-dir "bob-1/bob-2/")
+   (concat path-iter-root-dir "bob-1/bob-3/")
))
 
 (path-iter-deftest non-recursive
   (list
-   (concat path-iter-root-dir "/alice-1")
-   (concat path-iter-root-dir "/bob-1/bob-2")
-   (concat path-iter-root-dir "/bob-1/bob-3")
-   (concat path-iter-root-dir "/bob-1/bob-4") ;; does not exist
+   (concat path-iter-root-dir "alice-1/")
+   (concat path-iter-root-dir "bob-1/bob-2/")
+   (concat path-iter-root-dir "bob-1/bob-3/")
+   (concat path-iter-root-dir "bob-1/bob-4/") ;; does not exist
)
   nil ;; recursive
   (list
-   (concat path-iter-root-dir "/alice-1")
-   (concat path-iter-root-dir "/bob-1/bob-2")
-   (concat path-iter-root-dir "/bob-1/bob-3")
+   (concat path-iter-root-dir "alice-1/")
+   (concat path-iter-root-dir "bob-1/bob-2/")
+   (concat path-iter-root-dir "bob-1/bob-3/")
))
 
 (path-iter-deftest

[elpa] master updated (5b562e4 -> 67dcbc4)

2019-07-11 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  5b562e4   Also accept octet parts in debbugs-gnu patches
   new  9aad8f1   In uniquify-files, factor out file-complete.el
   new  b13820c   Merge commit '98405112baa5ce2a118d1c65184c005d8ddaa1a9'
   new  b3034e0   In uniquify-files, rewrite to use an alist, clean up 
tests to match
   new  280522c   Merge commit '5b562e4ddfc449cd61c82ef7646a6c501b913b6c'
   new  67dcbc4   In ada-mode, wisi; release ada-mode 6.1.1, wisi 2.1.1


Summary of changes:
 packages/ada-mode/NEWS |   26 +-
 packages/ada-mode/README   |2 +-
 packages/ada-mode/ada-lalr-elisp.el| 1506 ++---
 packages/ada-mode/ada-mode.el  |   98 +-
 packages/ada-mode/ada-mode.info|  241 +-
 packages/ada-mode/ada-mode.texi|  154 +-
 packages/ada-mode/ada-process.el   |  125 +
 packages/ada-mode/ada-wisi-elisp-parse.el  |   10 +-
 packages/ada-mode/ada-wisi.el  |  270 +-
 packages/ada-mode/ada.wy   | 2740 +
 packages/ada-mode/ada_lr1_parse_table.txt.gz   |  Bin 2831194 -> 2955113 
bytes
 packages/ada-mode/ada_mode_wisi_lalr_parse.ads |   17 +-
 packages/ada-mode/ada_mode_wisi_lr1_parse.ads  |   19 +-
 packages/ada-mode/ada_process_actions.adb  | 1230 ++--
 packages/ada-mode/ada_process_actions.ads  |   31 +-
 packages/ada-mode/ada_process_lalr_main.adb| 5849 ++--
 packages/ada-mode/ada_process_lalr_main.ads|9 +-
 packages/ada-mode/ada_process_lr1_main.adb | 1268 ++---
 packages/ada-mode/ada_process_lr1_main.ads |9 +-
 packages/ada-mode/ada_re2c.c   | 3157 +--
 packages/ada-mode/build.sh |2 +-
 packages/ada-mode/emacs_wisi_common_parse.adb  |   29 +-
 packages/ada-mode/emacs_wisi_common_parse.ads  |   31 +-
 packages/ada-mode/gen_emacs_wisi_lr_parse.adb  |4 +-
 packages/ada-mode/gen_emacs_wisi_lr_parse.ads  |   26 +-
 .../ada-mode/gen_emacs_wisi_lr_text_rep_parse.adb  |4 +-
 .../ada-mode/gen_emacs_wisi_lr_text_rep_parse.ads  |   30 +-
 packages/ada-mode/gen_run_wisi_lr_parse.adb|2 +-
 packages/ada-mode/gen_run_wisi_lr_parse.ads|   23 +-
 .../ada-mode/gen_run_wisi_lr_text_rep_parse.adb|2 +-
 .../ada-mode/gen_run_wisi_lr_text_rep_parse.ads|   27 +-
 packages/ada-mode/gnat-core.el |1 +
 packages/ada-mode/gpr-lalr-elisp.el|   64 +-
 packages/ada-mode/gpr-mode.el  |3 +-
 packages/ada-mode/gpr-process.el   |   54 +
 packages/ada-mode/gpr-query.el |4 +-
 packages/ada-mode/gpr-wisi.el  |5 +
 packages/ada-mode/gpr.wy   |  369 ++
 packages/ada-mode/gpr_mode_wisi_parse.ads  |   17 +-
 packages/ada-mode/gpr_process_actions.adb  |   39 +-
 packages/ada-mode/gpr_process_actions.ads  |   37 +-
 packages/ada-mode/gpr_process_lr1_main.adb | 3567 ++--
 packages/ada-mode/gpr_process_lr1_main.ads |9 +-
 packages/ada-mode/gpr_re2c.c   | 1878 ---
 packages/ada-mode/run_ada_lalr_parse.ads   |4 +-
 packages/ada-mode/run_ada_lr1_parse.ads|4 +-
 packages/ada-mode/run_wisi_common_parse.adb|7 -
 packages/ada-mode/wisi-ada.adb | 1017 ++--
 packages/ada-mode/wisi-ada.ads |9 +
 packages/ada-mode/wisi-gpr.adb |7 +
 packages/ada-mode/wisi-gpr.ads |6 +
 .../wisitoken-parse-lr-mckenzie_recover-ada.adb| 2276 
 .../wisitoken-parse-lr-mckenzie_recover-ada.ads|   13 +-
 packages/ada-mode/xref-ada.el  |  120 +-
 .../alice-1/bar-file1.text |0
 packages/path-iterator/path-iterator-test.el   |   83 +-
 packages/path-iterator/path-iterator.el|   30 +-
 .../file-complete-root-relative-test.el|  328 --
 .../uniquify-files/file-complete-root-relative.el  |  415 --
 .../wisitoken-generate-packrat-test.text   |1 +
 .../wisitoken-syntax_trees-test.text   |1 +
 .../wisitoken-text_io_trace.text   |1 +
 packages/uniquify-files/uniquify-files-test.el |  787 +--
 packages/uniquify-files/uniquify-files.el  |  729 +--
 packages/wisi/NEWS |   37 +-
 packages/wisi/README   |2 +-
 ...a_containers-gen_doubly_linked_lists_image.adb} |   13 +-
 ...a_containers-gen_doubly_linked_lists_image.ads} |   10 +-
 ...entary_functions.ads => sal-ada_containers.ads} |8 +-
 packages/wisi/sal-gen_bounded_definite_queues.adb  |  154 +
 packages/wisi/sal-gen_bounded_definite_queues.ads  

[elpa] master bf472d6: In packages/uniquify-files/uniquify-files.el: fix typo

2019-07-12 Thread Stephen Leake
branch: master
commit bf472d6aec65c6534838868bf2ae9ad4ca48ae6d
Author: Stephen Leake 
Commit: Stephen Leake 

In packages/uniquify-files/uniquify-files.el: fix typo
---
 packages/uniquify-files/uniquify-files.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
index a74a450..aff8c22 100644
--- a/packages/uniquify-files/uniquify-files.el
+++ b/packages/uniquify-files/uniquify-files.el
@@ -1,4 +1,4 @@
-4;;; uniquify-files.el --- Completion style for files, minimizing directories  
-*- lexical-binding:t -*-
+;;; uniquify-files.el --- Completion style for files, minimizing directories  
-*- lexical-binding:t -*-
 ;;
 ;; Copyright (C) 2019  Free Software Foundation, Inc.
 ;;



[elpa] master ab6a47b 1/2: * externals-list: add wisitoken-grammar-mode

2019-08-13 Thread Stephen Leake
branch: master
commit ab6a47bdb1bfc7b5f8563187b7f81191787bcdcc
Author: Stephen Leake 
Commit: Stephen Leake 

* externals-list: add wisitoken-grammar-mode
---
 externals-list | 1 +
 1 file changed, 1 insertion(+)

diff --git a/externals-list b/externals-list
index c2061f9..638e2e5 100644
--- a/externals-list
+++ b/externals-list
@@ -150,6 +150,7 @@
  ("web-server" :subtree 
"https://github.com/eschulte/emacs-web-server.git;)
  ("webfeeder"  :external 
"https://gitlab.com/ambrevar/emacs-webfeeder.git;)
  ("websocket"  :subtree 
"https://github.com/ahyatt/emacs-websocket.git;)
+ ("wisitoken-grammar-mode" :external nil)
  ("which-key"   :subtree "https://github.com/justbur/emacs-which-key;)
  ("xelb"   :external "https://github.com/ch11ng/xelb.git;)
  ("xr" :external "https://github.com/mattiase/xr;)



[elpa] master updated (653afd9 -> b8e3ab9)

2019-08-13 Thread Stephen Leake
stephen_leake pushed a change to branch master.

  from  653afd9   * gited.el: Bump version to 0.5.4
   new  ab6a47b   * externals-list: add wisitoken-grammar-mode
   new  b8e3ab9   In ada-mode, wisi: release Ada mode 6.2.0, wisi 1.2.0.


Summary of changes:
 externals-list |1 +
 packages/ada-mode/NEWS |   28 +-
 packages/ada-mode/README   |2 +-
 packages/ada-mode/ada-build.el |6 +-
 packages/ada-mode/ada-fix-error.el |3 +-
 packages/ada-mode/ada-gnat-compile.el  |   76 +-
 packages/ada-mode/ada-lalr-elisp.el| 4373 -
 packages/ada-mode/ada-mode.el  | 5977 ++--
 packages/ada-mode/ada-mode.info|  259 +-
 packages/ada-mode/ada-mode.texi|  141 +-
 packages/ada-mode/ada-process.el   |  227 +-
 packages/ada-mode/ada-skel.el  |   34 +-
 packages/ada-mode/ada-wisi-elisp-parse.el  |  337 -
 packages/ada-mode/ada-wisi-opentoken.el|   99 -
 packages/ada-mode/ada-wisi.el  | 1762 ++--
 packages/ada-mode/ada.wy   |  304 +-
 packages/ada-mode/ada_lr1_parse_table.txt.gz   |  Bin 2955113 -> 3170831 
bytes
 packages/ada-mode/ada_process_actions.adb  |  417 +-
 packages/ada-mode/ada_process_actions.ads  |   40 +-
 packages/ada-mode/ada_process_lalr_main.adb| 9791 +++-
 packages/ada-mode/ada_process_lr1_main.adb |   18 +-
 packages/ada-mode/ada_re2c.c   |4 +-
 packages/ada-mode/build.sh |2 +-
 packages/ada-mode/dir  |6 +
 packages/ada-mode/gnat-core.el |1 +
 packages/ada-mode/gpr-lalr-elisp.el|  542 --
 packages/ada-mode/gpr-mode.info|   38 +-
 packages/ada-mode/gpr-mode.texi|9 +-
 packages/ada-mode/gpr-process.el   |   86 +-
 packages/ada-mode/gpr-wisi.el  |  283 +-
 packages/ada-mode/gpr.wy   |  742 +-
 packages/ada-mode/gpr_mode_wisi_parse.ads  |4 +-
 packages/ada-mode/gpr_process_actions.adb  |   12 +-
 ...r_process_lr1_main.adb => gpr_process_main.adb} |  586 +-
 ...r_process_lr1_main.ads => gpr_process_main.ads} |4 +-
 packages/ada-mode/run_ada_lalr_parse.ads   |   32 -
 packages/ada-mode/run_ada_libadalang_parse.ads |   25 -
 packages/ada-mode/run_ada_lr1_parse.ads|   33 -
 packages/ada-mode/run_gpr_parse.ads|   31 -
 packages/ada-mode/run_wisi_common_parse.adb|  293 -
 packages/ada-mode/wisi-ada.adb |  394 +-
 packages/ada-mode/wisi-ada.ads |   12 +-
 packages/ada-mode/wisi-gpr.adb |5 +-
 packages/ada-mode/wisi-gpr.ads |3 +-
 .../wisitoken-parse-lr-mckenzie_recover-ada.adb|   39 +-
 packages/wisi/NEWS |   45 +-
 packages/wisi/README   |2 +-
 .../{ada-mode => wisi}/emacs_wisi_common_parse.adb |  126 +-
 .../{ada-mode => wisi}/emacs_wisi_common_parse.ads |  275 +-
 .../{ada-mode => wisi}/gen_emacs_wisi_lr_parse.adb |2 +-
 .../{ada-mode => wisi}/gen_emacs_wisi_lr_parse.ads |0
 .../gen_emacs_wisi_lr_text_rep_parse.adb   |2 +-
 .../gen_emacs_wisi_lr_text_rep_parse.ads   |0
 .../gen_emacs_wisi_packrat_parse.adb   |0
 .../gen_emacs_wisi_packrat_parse.ads   |0
 .../gen_run_wisi_libadalang_parse.adb  |0
 .../gen_run_wisi_libadalang_parse.ads  |0
 .../{ada-mode => wisi}/gen_run_wisi_lr_parse.adb   |0
 .../{ada-mode => wisi}/gen_run_wisi_lr_parse.ads   |0
 .../gen_run_wisi_lr_text_rep_parse.adb |0
 .../gen_run_wisi_lr_text_rep_parse.ads |0
 .../gen_run_wisi_packrat_parse.adb |0
 .../gen_run_wisi_packrat_parse.ads |0
 packages/wisi/run_wisi_common_parse.adb|  343 +
 .../{ada-mode => wisi}/run_wisi_common_parse.ads   |  128 +-
 packages/wisi/sal-gen_bounded_definite_queues.adb  |  119 +-
 packages/wisi/sal-gen_bounded_definite_queues.ads  |  106 +-
 ...-gen_bounded_definite_stacks-gen_image_aux.adb} |6 +-
 ...-gen_bounded_definite_stacks-gen_image_aux.ads} |   54 +-
 packages/wisi/sal-gen_bounded_definite_stacks.adb  |   82 +
 packages/wisi/sal-gen_bounded_definite_stacks.ads  |  103 +
 .../sal-gen_bounded_definite_vectors-gen_image.adb |   79 +-
 ... sal-gen_bounded_definite_vectors-gen_refs.adb} |   69 +-
 .../sal-gen_bounded_definite_vectors-gen_refs.ads  |   54 +
 ...sal-gen_bounded_definite_vectors-gen_sorted.ads |   52 -
 packages/wisi/sal-gen_bounded_definite_vectors.adb |  344 +-
 

[elpa] branch externals/wisitoken-grammar-mode created (now e5d353c)

2019-08-13 Thread Stephen Leake
stephen_leake pushed a change to branch externals/wisitoken-grammar-mode.

at  e5d353c   * run_wisitoken_grammar_parse.ads: New file.

This branch includes the following new commits:

   new  950a513   initial
   new  e5d353c   * run_wisitoken_grammar_parse.ads: New file.




[elpa] externals/wisitoken-grammar-mode 950a513 1/2: initial

2019-08-13 Thread Stephen Leake
branch: externals/wisitoken-grammar-mode
commit 950a5138254dae5787b16da007c70fd67446f376
Author: Stephen Leake 
Commit: Stephen Leake 

initial
---
 build.sh | 9 +
 1 file changed, 9 insertions(+)

diff --git a/build.sh b/build.sh
new file mode 100755
index 000..cc44216
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+# Build and install executables for WisiToken grammar mode.
+
+export GPR_PROJECT_PATH="../wisi-2.0.1"
+
+gprbuild -p -P wisitoken_grammar.gpr
+gprinstall -f -p -P wisitoken_grammar.gpr --install-name=wisitoken_grammar
+
+# end of file



[elpa] externals/wisitoken-grammar-mode ca949b9: Release 1.0.3; fix more packaging bugs

2019-08-18 Thread Stephen Leake
branch: externals/wisitoken-grammar-mode
commit ca949b96aaf66eb30e357adbac95dbf0be2e
Author: Stephen Leake 
Commit: Stephen Leake 

Release 1.0.3; fix more packaging bugs

* build.sh: Add -j8.

* wisitoken-grammar-mmm.el: Delete.

* wisitoken-grammar-mode.el: Bump version.

* wisitoken_grammar.gpr: Delete; replace with .gp.

* wisitoken_grammar.gpr.gp: New file; choose 'wisi' or 'wisitoken'.
---
 build.sh  |   2 +-
 wisitoken-grammar-mmm.el  |  44 ---
 wisitoken-grammar-mode.el |   2 +-
 wisitoken_grammar.gpr => wisitoken_grammar.gpr.gp | 150 +++---
 4 files changed, 78 insertions(+), 120 deletions(-)

diff --git a/build.sh b/build.sh
index bfbb378..b054fc3 100755
--- a/build.sh
+++ b/build.sh
@@ -24,7 +24,7 @@ export GPR_PROJECT_PATH="../wisi-2.2.1"
 
 gnatprep -DELPA="yes" wisitoken_grammar.gpr.gp wisitoken_grammar.gpr
 
-gprbuild -p -P wisitoken_grammar.gpr
+gprbuild -p -j8 -P wisitoken_grammar.gpr
 gprinstall -f -p -P wisitoken_grammar.gpr --install-name=wisitoken_grammar
 
 # end of file
diff --git a/wisitoken-grammar-mmm.el b/wisitoken-grammar-mmm.el
deleted file mode 100644
index cc19a7c..000
--- a/wisitoken-grammar-mmm.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; Define multi-major-mode stuff for wisitoken-grammar mode.  -*- 
lexical-binding:t -*-
-
-;; Copyright (C) 2019  Free Software Foundation, Inc.
-
-;; This file 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, or (at your option)
-;; any later version.
-
-;; This file 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 GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
-
-(require 'mmm-mode)
-
-(mmm-add-classes
- '((wisi-action
-:match-submode wisitoken-grammar-mmm-submode
-:face mmm-code-submode-face
-:front "%("
-:back ")%"
-:insert ((?a wisi-action nil @ "%(" @ "" _ "" @ ")%")))
-   (wisi-code
-:match-submode wisi-mmm-submode
-:face mmm-code-submode-face
-:front "%{"
-:back "}%"
-:insert ((?a wisi-code nil @ "%{" @ "" _ "" @ "}%")))
-   ))
-
-(defvar wisitoken-grammar-action-mode) ;; in wisitoken-grammar-mode.el
-(defun wisitoken-grammar-mmm-submode (_delim)
-  "for :match-submode"
-  wisitoken-grammar-action-mode)
-
-(add-to-list 'mmm-mode-ext-classes-alist '(wisitoken-grammar-mode nil 
wisi-action))
-(add-to-list 'mmm-mode-ext-classes-alist '(wisitoken-grammar-mode nil 
wisi-code))
-
-(provide 'wisitoken-grammar-mmm)
-;;; end of file
diff --git a/wisitoken-grammar-mode.el b/wisitoken-grammar-mode.el
index 42bfe65..493f337 100644
--- a/wisitoken-grammar-mode.el
+++ b/wisitoken-grammar-mode.el
@@ -5,7 +5,7 @@
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
-;; Version: 1.0.2
+;; Version: 1.0.3
 ;; package-requires: ((wisi "2.2.1") (emacs "25.0") (mmm-mode "0.5.7"))
 
 ;; no upstream url; just ELPA
diff --git a/wisitoken_grammar.gpr b/wisitoken_grammar.gpr.gp
similarity index 96%
rename from wisitoken_grammar.gpr
rename to wisitoken_grammar.gpr.gp
index 7d65dde..3ac9502 100644
--- a/wisitoken_grammar.gpr
+++ b/wisitoken_grammar.gpr.gp
@@ -1,74 +1,76 @@
---  Abstract :
---
---  build executables
---
---  Copyright (C) 2017 Free Software Foundation, Inc.
---
---  This program is free software; you can redistribute it and/or
---  modify it under terms of the GNU General Public License as
---  published by the Free Software Foundation; either version 3, 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
---  distributed with this program; see file COPYING. If not, write to
---  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
---  MA 02110-1335, USA.
-
-with "wisi";
-with "wisitoken";
-with "standard_common";
-project WisiToken_Grammar is
-
-   for Main use
- ("wisitoken_grammar_mode_parse.ads",
-  "run_wisitoken_grammar_parse.ads"
- );
-
-   for Source_Dirs use (".");
-
-   case Standard_Common.Profile is
-   when "

[elpa] externals/wisitoken-grammar-mode e475bf9 1/3: Release version 1.0.1; fix packaging bugs

2019-08-17 Thread Stephen Leake
branch: externals/wisitoken-grammar-mode
commit e475bf98f9e5a87c98c97cda3dd9639c2f998020
Author: Stephen Leake 
Commit: Stephen Leake 

Release version 1.0.1; fix packaging bugs
---
 build.sh   |   4 +-
 wisi-wisitoken_grammar.adb |   4 +-
 wisi-wisitoken_grammar.ads |   2 +-
 wisitoken-grammar-mmm.el   |  29 -
 wisitoken-grammar-mode.el  |  72 +++---
 wisitoken_grammar.gpr  |   4 +-
 wisitoken_grammar_1-process.el | 133 +
 7 files changed, 190 insertions(+), 58 deletions(-)

diff --git a/build.sh b/build.sh
index cc44216..bd8fb9d 100755
--- a/build.sh
+++ b/build.sh
@@ -1,7 +1,9 @@
 #!/bin/sh
 # Build and install executables for WisiToken grammar mode.
 
-export GPR_PROJECT_PATH="../wisi-2.0.1"
+export GPR_PROJECT_PATH="../wisi-2.2.1"
+
+gnatprep -DELPA="yes" wisitoken_grammar.gpr.gp wisitoken_grammar.gpr
 
 gprbuild -p -P wisitoken_grammar.gpr
 gprinstall -f -p -P wisitoken_grammar.gpr --install-name=wisitoken_grammar
diff --git a/wisi-wisitoken_grammar.adb b/wisi-wisitoken_grammar.adb
index a45fd78..0b83748 100644
--- a/wisi-wisitoken_grammar.adb
+++ b/wisi-wisitoken_grammar.adb
@@ -27,7 +27,7 @@ package body Wisi.WisiToken_Grammar is
  (Data  : in out Parse_Data_Type;
   Lexer : in WisiToken.Lexer.Handle;
   Descriptor: access constant WisiToken.Descriptor;
-  Source_File_Name  : in String;
+  Base_Terminals: in WisiToken.Base_Token_Array_Access;
   Post_Parse_Action : in Post_Parse_Action_Type;
   Begin_Line: in WisiToken.Line_Number_Type;
   End_Line  : in WisiToken.Line_Number_Type;
@@ -38,7 +38,7 @@ package body Wisi.WisiToken_Grammar is
   use all type Wisitoken_Grammar_1_Process_Actions.Token_Enum_ID;
begin
   Wisi.Initialize
-(Wisi.Parse_Data_Type (Data), Lexer, Descriptor, Source_File_Name, 
Post_Parse_Action,
+(Wisi.Parse_Data_Type (Data), Lexer, Descriptor, Base_Terminals, 
Post_Parse_Action,
  Begin_Line, End_Line, Begin_Indent, "");
 
   Data.First_Comment_ID := +COMMENT_ID;
diff --git a/wisi-wisitoken_grammar.ads b/wisi-wisitoken_grammar.ads
index d2c3e5d..6bc87ad 100644
--- a/wisi-wisitoken_grammar.ads
+++ b/wisi-wisitoken_grammar.ads
@@ -28,7 +28,7 @@ package Wisi.WisiToken_Grammar is
  (Data  : in out Parse_Data_Type;
   Lexer : in WisiToken.Lexer.Handle;
   Descriptor: access constant WisiToken.Descriptor;
-  Source_File_Name  : in String;
+  Base_Terminals: in WisiToken.Base_Token_Array_Access;
   Post_Parse_Action : in Post_Parse_Action_Type;
   Begin_Line: in WisiToken.Line_Number_Type;
   End_Line  : in WisiToken.Line_Number_Type;
diff --git a/wisitoken-grammar-mmm.el b/wisitoken-grammar-mmm.el
deleted file mode 100644
index 7c76b21..000
--- a/wisitoken-grammar-mmm.el
+++ /dev/null
@@ -1,29 +0,0 @@
-;;; Define multi-major-mode stuff for wisitoken-grammar mode.  -*- 
lexical-binding:t -*-
-
-(require 'mmm-mode)
-
-(mmm-add-classes
- '((wisi-action
-:match-submode wisitoken-grammar-mmm-submode
-:face mmm-code-submode-face
-:front "%("
-:back ")%"
-:insert ((?a wisi-action nil @ "%(" @ "" _ "" @ ")%")))
-   (wisi-code
-:match-submode wisi-mmm-submode
-:face mmm-code-submode-face
-:front "%{"
-:back "}%"
-:insert ((?a wisi-code nil @ "%{" @ "" _ "" @ "}%")))
-   ))
-
-(defvar wisitoken-grammar-action-mode) ;; in wisitoken-grammar-mode.el
-(defun wisitoken-grammar-mmm-submode (_delim)
-  "for :match-submode"
-  wisitoken-grammar-action-mode)
-
-(add-to-list 'mmm-mode-ext-classes-alist '(wisitoken-grammar-mode nil 
wisi-action))
-(add-to-list 'mmm-mode-ext-classes-alist '(wisitoken-grammar-mode nil 
wisi-code))
-
-(provide 'wisitoken-grammar-mmm)
-;;; end of file
diff --git a/wisitoken-grammar-mode.el b/wisitoken-grammar-mode.el
index aab4ee7..1b0b29f 100644
--- a/wisitoken-grammar-mode.el
+++ b/wisitoken-grammar-mode.el
@@ -6,10 +6,9 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;; Version: 1.0.0
-;; package-requires: ((wisi "2.1.1") (emacs "25.0") (mmm-mode "0.5.7"))
+;; package-requires: ((wisi "2.2.1") (emacs "25.0") (mmm-mode "0.5.7"))
 
-;; (Gnu ELPA requires single digits between dots in versions)
-;; no ’url’; just ELPA
+;; no upstream url; just ELPA
 
 ;; This file is part of GNU Emacs.
 
@@ -31,15 +30,12 @@
 ;;; Commentary:
 
 (require 'cl-lib)
+(require 'mmm-mode)
 (require 'xref)
 (require 'wisi)
 (require 'wisitoken_grammar_1-process)
 (require 'wisi-process-parse)
 
-(eval-and-compile
-  (when (locate-library "mmm-mode

[elpa] externals/wisitoken-grammar-mode updated (fae4953 -> 39f8d03)

2019-08-17 Thread Stephen Leake
stephen_leake pushed a change to branch externals/wisitoken-grammar-mode.

  from  fae4953   * wisitoken-grammar-mmm.el: Add missing copyright notice
   new  e475bf9   Release version 1.0.1; fix packaging bugs
   new  5322510   Fix copyright
   new  39f8d03   * wisitoken-grammar-mmm.el: Delete; merged with 
wisitoken-grammar-mode.el


Summary of changes:
 build.sh |  23 +-
 run_wisitoken_grammar_parse.ads  |   2 +-
 wisi-wisitoken_grammar.adb   |   6 +-
 wisi-wisitoken_grammar.ads   |   4 +-
 wisitoken-grammar-mode.el|  78 +
 wisitoken_grammar.gpr| 148 +++
 wisitoken_grammar_1-process.el   | 133 +++
 wisitoken_grammar_mode_parse.ads |   2 +-
 8 files changed, 286 insertions(+), 110 deletions(-)
 create mode 100644 wisitoken_grammar_1-process.el



[elpa] externals/wisitoken-grammar-mode 5322510 2/3: Fix copyright

2019-08-17 Thread Stephen Leake
branch: externals/wisitoken-grammar-mode
commit 53225101cf47ca83235e48cd88dffd3463549ba6
Author: Stephen Leake 
Commit: Stephen Leake 

Fix copyright

* build.sh: Add copyright.

* run_wisitoken_grammar_parse.ads (): Fix copyright.
* wisi-wisitoken_grammar.adb ():

* wisitoken-grammar-mode.el: Bump version.

* wisitoken_grammar.gpr: Fix copyright.
* wisitoken_grammar_mode_parse.ads ():
---
 build.sh |  19 +
 run_wisitoken_grammar_parse.ads  |   2 +-
 wisi-wisitoken_grammar.adb   |   2 +-
 wisi-wisitoken_grammar.ads   |   2 +-
 wisitoken-grammar-mode.el|   2 +-
 wisitoken_grammar.gpr| 148 +++
 wisitoken_grammar_mode_parse.ads |   2 +-
 7 files changed, 98 insertions(+), 79 deletions(-)

diff --git a/build.sh b/build.sh
index bd8fb9d..bfbb378 100755
--- a/build.sh
+++ b/build.sh
@@ -1,5 +1,24 @@
 #!/bin/sh
 # Build and install executables for WisiToken grammar mode.
+#
+# Copyright (C) 2017 - 2019  Free Software Foundation, Inc.
+# This file is part of GNU Emacs.
+
+# wisitoken-grammar-mode 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, or (at your option)
+# any later version.
+
+# wisitoken-grammar-mode 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 GNU Emacs; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
 
 export GPR_PROJECT_PATH="../wisi-2.2.1"
 
diff --git a/run_wisitoken_grammar_parse.ads b/run_wisitoken_grammar_parse.ads
index 678cdf0..eb698cd 100644
--- a/run_wisitoken_grammar_parse.ads
+++ b/run_wisitoken_grammar_parse.ads
@@ -2,7 +2,7 @@
 --
 --  Run the wisitoken-grammar parser standalone. Useful for debugging grammar 
issues.
 --
---  Copyright (C) 2017 - 2019 Stephen Leake All Rights Reserved.
+--  Copyright (C) 2017 - 2019 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or
 --  modify it under terms of the GNU General Public License as
diff --git a/wisi-wisitoken_grammar.adb b/wisi-wisitoken_grammar.adb
index 0b83748..2de5a05 100644
--- a/wisi-wisitoken_grammar.adb
+++ b/wisi-wisitoken_grammar.adb
@@ -2,7 +2,7 @@
 --
 --  See spec.
 --
---  Copyright (C) 2019 Stephen Leake All Rights Reserved.
+--  Copyright (C) 2019 Free Software Foundation, Inc.
 --
 --  This library is free software;  you can redistribute it and/or modify it
 --  under terms of the  GNU General Public License  as published by the Free
diff --git a/wisi-wisitoken_grammar.ads b/wisi-wisitoken_grammar.ads
index 6bc87ad..70c404d 100644
--- a/wisi-wisitoken_grammar.ads
+++ b/wisi-wisitoken_grammar.ads
@@ -2,7 +2,7 @@
 --
 --  Wisitoken_grammar parser language-specific runtime
 --
---  Copyright (C) 2019 Stephen Leake All Rights Reserved.
+--  Copyright (C) 2019 Free Software Foundation, Inc.
 --
 --  This library is free software;  you can redistribute it and/or modify it
 --  under terms of the  GNU General Public License  as published by the Free
diff --git a/wisitoken-grammar-mode.el b/wisitoken-grammar-mode.el
index 1b0b29f..1f6e53a 100644
--- a/wisitoken-grammar-mode.el
+++ b/wisitoken-grammar-mode.el
@@ -5,7 +5,7 @@
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
-;; Version: 1.0.0
+;; Version: 1.0.2
 ;; package-requires: ((wisi "2.2.1") (emacs "25.0") (mmm-mode "0.5.7"))
 
 ;; no upstream url; just ELPA
diff --git a/wisitoken_grammar.gpr b/wisitoken_grammar.gpr
index 61e22c0..7d65dde 100644
--- a/wisitoken_grammar.gpr
+++ b/wisitoken_grammar.gpr
@@ -1,74 +1,74 @@
---  Abstract :
---
---  build executables
---
---  Copyright (C) 2017, 2019 Stephen Leake All Rights Reserved.
---
---  This program is free software; you can redistribute it and/or
---  modify it under terms of the GNU General Public License as
---  published by the Free Software Foundation; either version 3, 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
---  distributed with this program; see file COPYING. If not, write to
---  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston,
---  MA 02110-1335, USA.
-
-with "wisi";
-with "wisitoken";
-with "s

[elpa] master 6cd1c85: In ada-mode and wisi, release ada-mode 6.2.1, wisi 2.2.1; fix packaging bugs

2019-08-17 Thread Stephen Leake
branch: master
commit 6cd1c85c9f4b59c639a5d63d61f6c0af86d3d6b5
Author: Stephen Leake 
Commit: Stephen Leake 

In ada-mode and wisi, release ada-mode 6.2.1, wisi 2.2.1; fix packaging bugs
---
 packages/ada-mode/NEWS |   6 +
 packages/ada-mode/README   |   2 +-
 packages/ada-mode/ada-mode.el  |   6 +-
 packages/ada-mode/ada-mode.info|   2 +-
 packages/ada-mode/ada-mode.texi|   4 +-
 packages/ada-mode/ada-project.el   | 120 
 packages/ada-mode/ada_lr1_parse_table.txt.gz   | Bin 3170831 -> 3170831 
bytes
 packages/ada-mode/ada_mode_wisi_parse.gpr.gp   |   4 +
 packages/ada-mode/build.sh |   4 +-
 packages/ada-mode/gnat-core.el |   1 +
 packages/ada-mode/run_ada_lalr_parse.ads   |  32 +++
 packages/ada-mode/run_ada_libadalang_parse.ads |  25 ++
 packages/ada-mode/run_ada_lr1_parse.ads|  33 +++
 packages/ada-mode/run_gpr_parse.ads|  31 ++
 .../ada-mode/wisi-ada-format_parameter_list.adb| 315 +
 packages/uniquify-files/uniquify-files.el  |   3 +-
 packages/wisi/NEWS |   7 +-
 packages/wisi/README   |   2 +-
 packages/wisi/build-wisitoken-bnf-generate.sh  |   4 +-
 packages/wisi/wisi.el  |  47 ++-
 packages/wisi/wisi.gpr |   2 +-
 21 files changed, 622 insertions(+), 28 deletions(-)

diff --git a/packages/ada-mode/NEWS b/packages/ada-mode/NEWS
index 5cbd336..22a55ff 100644
--- a/packages/ada-mode/NEWS
+++ b/packages/ada-mode/NEWS
@@ -7,6 +7,12 @@ Please send ada-mode bug reports to bug-gnu-em...@gnu.org, with
 
 
 * Ada Mode 6.2.1
+17 Aug 2019
+
+** fix packaging bugs
+
+* Ada Mode 6.2.0
+13 Aug 2019
 
 ** parser Ada language protocol version 2
 
diff --git a/packages/ada-mode/README b/packages/ada-mode/README
index f8bd5f2..7cec70d 100644
--- a/packages/ada-mode/README
+++ b/packages/ada-mode/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 6.2.0
+Emacs Ada mode version 6.2.1
 
 Ada mode provides auto-casing, fontification, navigation, and
 indentation for Ada source code files.
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index f51cd35..3995491 100644
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -6,8 +6,8 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
-;; Version: 6.2.0
-;; package-requires: ((uniquify-files "1.0") (wisi "2.2.0") (emacs "25.0"))
+;; Version: 6.2.1
+;; package-requires: ((uniquify-files "1.0.1") (wisi "2.2.1") (emacs "25.0"))
 ;; url: http://www.nongnu.org/ada-mode/
 ;;
 ;; This file is part of GNU Emacs.
@@ -167,7 +167,7 @@
 (defun ada-mode-version ()
   "Return Ada mode version."
   (interactive)
-  (let ((version-string "6.2.0"))
+  (let ((version-string "6.2.1"))
 ;; must match:
 ;; ada-mode.texi
 ;; README-ada-mode
diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info
index df583fa..375f960 100644
--- a/packages/ada-mode/ada-mode.info
+++ b/packages/ada-mode/ada-mode.info
@@ -25,7 +25,7 @@ File: ada-mode.info,  Node: Top,  Next: Overview,  Prev: 
(dir),  Up: (dir)
 Top
 ***
 
-Ada Mode Version 6.2.0
+Ada Mode Version 6.2.1
 
 * Menu:
 
diff --git a/packages/ada-mode/ada-mode.texi b/packages/ada-mode/ada-mode.texi
index beaf7b1..718abbd 100644
--- a/packages/ada-mode/ada-mode.texi
+++ b/packages/ada-mode/ada-mode.texi
@@ -25,7 +25,7 @@ developing GNU and promoting software freedom.''
 
 @titlepage
 @sp 10
-@title Ada Mode Version 6.2.0
+@title Ada Mode Version 6.2.1
 @page
 @vskip 0pt plus 1filll
 @insertcopying
@@ -37,7 +37,7 @@ developing GNU and promoting software freedom.''
 @node Top, Overview, (dir), (dir)
 @top Top
 
-Ada Mode Version 6.2.0
+Ada Mode Version 6.2.1
 @end ifnottex
 
 @menu
diff --git a/packages/ada-mode/ada-project.el b/packages/ada-mode/ada-project.el
new file mode 100644
index 000..ae5b3a4
--- /dev/null
+++ b/packages/ada-mode/ada-project.el
@@ -0,0 +1,120 @@
+;; ada-project.el - project.el backend for ada-mode projects -*- 
lexical-binding: t -*-
+;;
+;; Copyright (C) 2017 - 2019  Free Software Foundation, Inc.
+;;
+;; Author: Stephen Leake 
+;;
+;; This file is part of GNU Emacs.
+;;
+;; GNU Emacs 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.
+;;
+;; GNU Emacs 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.

[elpa] externals/wisitoken-grammar-mode 39f8d03 3/3: * wisitoken-grammar-mmm.el: Delete; merged with wisitoken-grammar-mode.el

2019-08-17 Thread Stephen Leake
branch: externals/wisitoken-grammar-mode
commit 39f8d03a989e76a37c44af683647fc02cca7d79c
Merge: 5322510 fae4953
Author: Stephen Leake 
Commit: Stephen Leake 

* wisitoken-grammar-mmm.el: Delete; merged with wisitoken-grammar-mode.el

* wisitoken-grammar-mode.el: Resolve FIXME.
---
 wisitoken-grammar-mmm.el  | 44 
 wisitoken-grammar-mode.el |  2 --
 2 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/wisitoken-grammar-mmm.el b/wisitoken-grammar-mmm.el
new file mode 100644
index 000..cc19a7c
--- /dev/null
+++ b/wisitoken-grammar-mmm.el
@@ -0,0 +1,44 @@
+;;; Define multi-major-mode stuff for wisitoken-grammar mode.  -*- 
lexical-binding:t -*-
+
+;; Copyright (C) 2019  Free Software Foundation, Inc.
+
+;; This file 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, or (at your option)
+;; any later version.
+
+;; This file 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 GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+(require 'mmm-mode)
+
+(mmm-add-classes
+ '((wisi-action
+:match-submode wisitoken-grammar-mmm-submode
+:face mmm-code-submode-face
+:front "%("
+:back ")%"
+:insert ((?a wisi-action nil @ "%(" @ "" _ "" @ ")%")))
+   (wisi-code
+:match-submode wisi-mmm-submode
+:face mmm-code-submode-face
+:front "%{"
+:back "}%"
+:insert ((?a wisi-code nil @ "%{" @ "" _ "" @ "}%")))
+   ))
+
+(defvar wisitoken-grammar-action-mode) ;; in wisitoken-grammar-mode.el
+(defun wisitoken-grammar-mmm-submode (_delim)
+  "for :match-submode"
+  wisitoken-grammar-action-mode)
+
+(add-to-list 'mmm-mode-ext-classes-alist '(wisitoken-grammar-mode nil 
wisi-action))
+(add-to-list 'mmm-mode-ext-classes-alist '(wisitoken-grammar-mode nil 
wisi-code))
+
+(provide 'wisitoken-grammar-mmm)
+;;; end of file
diff --git a/wisitoken-grammar-mode.el b/wisitoken-grammar-mode.el
index 1f6e53a..42bfe65 100644
--- a/wisitoken-grammar-mode.el
+++ b/wisitoken-grammar-mode.el
@@ -362,8 +362,6 @@ Otherwise insert a plain new line."
   (add-hook 'xref-backend-functions #'wisitoken-grammar--xref-backend
nil ;; append
t)
-  (add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
-  (add-hook 'before-save-hook 'copyright-update nil t)
 
   (wisi-setup
:indent-calculate nil



[elpa] master 64d03d9: Release path-iterator.el, uniquify-files.el

2019-07-17 Thread Stephen Leake
branch: master
commit 64d03d9d1e8f43fba54dc7e16acba03d54710a1a
Author: Stephen Leake 
Commit: Stephen Leake 

Release path-iterator.el, uniquify-files.el

* packages/path-iterator/path-iterator.el: Bump version for release.

* packages/uniquify-files/uniquify-files.el: Bump version for release.
Handle emacs < 27 in project integration.
---
 packages/path-iterator/path-iterator.el   | 2 +-
 packages/uniquify-files/uniquify-files.el | 7 +--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/packages/path-iterator/path-iterator.el 
b/packages/path-iterator/path-iterator.el
index e99cfcc..efd651a 100644
--- a/packages/path-iterator/path-iterator.el
+++ b/packages/path-iterator/path-iterator.el
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
-;; Version: 0
+;; Version: 1.0
 ;; package-requires: ((emacs "25.0"))
 ;;
 
diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
index aff8c22..c779d47 100644
--- a/packages/uniquify-files/uniquify-files.el
+++ b/packages/uniquify-files/uniquify-files.el
@@ -6,8 +6,8 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: completion table
 ;;   uniquify
-;; Version: 0
-;; package-requires: ((emacs "25.0") (path-iterator "1.0"))
+;; Version: 1.0
+;; package-requires: ((emacs "25.0"))
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -307,6 +307,8 @@ done on UNIQIFIED-NAME, PRED is called with ABS-NAME."
 
 ;;; Integration with project.el
 
+(when (fboundp 'project--read-file-cpd-relative)
+  ;; emacs 27
 ;;;###autoload
 (defun uniq-file-read (prompt all-files  predicate hist default)
   "For `project-read-file-name-function'."
@@ -318,6 +320,7 @@ done on UNIQIFIED-NAME, PRED is called with ABS-NAME."
 
 ;;;###autoload
 (setq-default project-read-file-name-function #'uniq-file-read)
+)
 
 (provide 'uniquify-files)
 ;;; uniquify-files.el ends here



[elpa] master 5729354 2/2: Merge commit '8dbcc8e07c462777378cc859eced622ec9b0fc4d'

2019-12-29 Thread Stephen Leake
branch: master
commit 5729354dfb90c8ed3ea487cc42e0887f8d45dc53
Merge: fbc8665 8dbcc8e
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit '8dbcc8e07c462777378cc859eced622ec9b0fc4d'
---
 packages/debbugs/debbugs-gnu.el |   4 +-
 packages/rainbow-mode/rainbow-mode.el   |  32 +-
 packages/yasnippet/NEWS |  76 ++-
 packages/yasnippet/README.mdown |   2 +-
 packages/yasnippet/doc/faq.org  |  69 +--
 packages/yasnippet/doc/snippet-development.org  |  71 ++-
 packages/yasnippet/doc/snippet-expansion.org|  10 +-
 packages/yasnippet/doc/snippet-organization.org |   2 +-
 packages/yasnippet/yasnippet-debug.el   |   8 +-
 packages/yasnippet/yasnippet-tests.el   | 212 ++-
 packages/yasnippet/yasnippet.el | 737 ++--
 11 files changed, 820 insertions(+), 403 deletions(-)

diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el
index 13a3274..be564ca 100644
--- a/packages/debbugs/debbugs-gnu.el
+++ b/packages/debbugs/debbugs-gnu.el
@@ -2280,10 +2280,10 @@ or bug ranges, with default to 
`debbugs-gnu-default-bug-number-list'."
   :type 'directory
   :version "25.2")
 
-(defcustom debbugs-gnu-branch-directory "~/src/emacs/emacs-25/"
+(defcustom debbugs-gnu-branch-directory "~/src/emacs/emacs-27/"
   "The directory where the previous source tree lives."
   :type 'directory
-  :version "25.2")
+  :version "28.1")
 
 (defvar debbugs-gnu-current-directory nil
   "The current source tree directory.")
diff --git a/packages/rainbow-mode/rainbow-mode.el 
b/packages/rainbow-mode/rainbow-mode.el
index 653e166..f49de88 100644
--- a/packages/rainbow-mode/rainbow-mode.el
+++ b/packages/rainbow-mode/rainbow-mode.el
@@ -1,10 +1,10 @@
 ;;; rainbow-mode.el --- Colorize color names in buffers
 
-;; Copyright (C) 2010-2018 Free Software Foundation, Inc
+;; Copyright (C) 2010-2019 Free Software Foundation, Inc
 
 ;; Author: Julien Danjou 
 ;; Keywords: faces
-;; Version: 1.0.2
+;; Version: 1.0.3
 
 ;; This file is part of GNU Emacs.
 
@@ -29,9 +29,7 @@
 
 ;;; Code:
 
-(eval-when-compile
-  (require 'cl))
-
+(require 'cl-lib)
 (require 'regexp-opt)
 (require 'faces)
 (require 'color)
@@ -1060,7 +1058,7 @@ If the percentage value is above 100, it's converted to 
100."
 (s (/ (string-to-number (match-string-no-properties 2)) 100.0))
 (l (/ (string-to-number (match-string-no-properties 3)) 100.0)))
 (rainbow-colorize-match
- (multiple-value-bind (r g b)
+ (cl-destructuring-bind (r g b)
  (color-hsl-to-rgb h s l)
(format "#%02X%02X%02X" (* r 255) (* g 255) (* b 255))
 
@@ -1190,17 +1188,27 @@ Return a value between 0 and 1."
  ,@rainbow-html-colors-font-lock-keywords
  ,@rainbow-html-rgb-colors-font-lock-keywords)))
 
+(defvar rainbow-keywords-hook nil
+  "Hook used to add additional font-lock keywords.
+This hook is called by `rainbow-mode' before it re-enables
+`font-lock-mode'.  Hook functions must only add additional
+keywords when `rainbow-mode' is non-nil.  When that is nil,
+then they must remove those additional keywords again.")
+
 ;;;###autoload
 (define-minor-mode rainbow-mode
   "Colorize strings that represent colors.
 This will fontify with colors the string like \"#aabbcc\" or \"blue\"."
   :lighter " Rbow"
-  (progn
-(if rainbow-mode
-(rainbow-turn-on)
-  (rainbow-turn-off))
-;; Call font-lock-mode to refresh the buffer when used e.g. interactively
-(font-lock-mode 1)))
+  (if rainbow-mode
+  (rainbow-turn-on)
+(rainbow-turn-off))
+  ;; We cannot use `rainbow-mode-hook' because this has
+  ;; to be done before `font-lock-mode' is re-enabled.
+  (run-hooks 'rainbow-keywords-hook)
+  ;; Call `font-lock-mode' to refresh the buffer when used
+  ;; e.g. interactively.
+  (font-lock-mode 1))
 
 (provide 'rainbow-mode)
 
diff --git a/packages/yasnippet/NEWS b/packages/yasnippet/NEWS
index 6bea12f..35d514f 100644
--- a/packages/yasnippet/NEWS
+++ b/packages/yasnippet/NEWS
@@ -1,8 +1,82 @@
 Yasnippet NEWS -- history of user-visible changes.
 
-Copyright (C) 2017-2018 Free Software Foundation, Inc.
+Copyright (C) 2017-2019 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
+* 0.14.0 (Dec 22, 2019)
+
+** Changes
+
+*** New 'yas-auto-next' macro, automatically moves to next field.
+See Github #937.
+
+*** Yasnippet now officially requires Emacs 23 or greater.
+See Github #940.
+
+*** Snippets for 'fundamental-mode' are available in all modes.
+See Github #949, and #936.
+
+*** New function for snippets, 'yas-completing-read'.
+See Github #934.
+
+*** New function 'yas-maybe-expand-abbrev-key-filter'.
+This can be used for making conditional keybindings for snippets.
+Promoted from 'yas--maybe-expand-key-fi

[elpa] master fbc8665 1/2: In uniquify-files.el, improve integration with project.el, bump version

2019-12-29 Thread Stephen Leake
branch: master
commit fbc8665e3afa039e53d7efcee5cadb084617a836
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files.el, improve integration with project.el, bump version
---
 packages/uniquify-files/uniquify-files.el | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
index f0fb010..ed8b16c 100644
--- a/packages/uniquify-files/uniquify-files.el
+++ b/packages/uniquify-files/uniquify-files.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: completion table
 ;;   uniquify
-;; Version: 1.0.1
+;; Version: 1.0.2
 ;; package-requires: ((emacs "25.0"))
 ;;
 ;; This file is part of GNU Emacs.
@@ -306,10 +306,8 @@ done on UNIQIFIED-NAME, PRED is called with ABS-NAME."
   uniq-file-all-completions
   "display uniquified file names."))
 
-;;; Integration with project.el
+;;; Integration with emacs 27 project.el
 
-(when (fboundp 'project--read-file-cpd-relative)
-  ;; emacs 27
 ;;;###autoload
 (defun uniq-file-read (prompt all-files  predicate hist default)
   "For `project-read-file-name-function'."
@@ -321,7 +319,6 @@ done on UNIQIFIED-NAME, PRED is called with ABS-NAME."
 
 ;;;###autoload
 (setq-default project-read-file-name-function #'uniq-file-read)
-)
 
 (provide 'uniquify-files)
 ;;; uniquify-files.el ends here



[elpa] master 2c1c3da 1/2: In uniquify-files.el uniq-file-completion-table, fix compatibility with 25.3

2020-05-12 Thread Stephen Leake
branch: master
commit 2c1c3dac3ad48256fae422f591880b44baed6c0c
Author: Stephen Leake 
Commit: Stephen Leake 

In uniquify-files.el uniq-file-completion-table, fix compatibility with 25.3
---
 packages/uniquify-files/uniquify-files.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/packages/uniquify-files/uniquify-files.el 
b/packages/uniquify-files/uniquify-files.el
index ed8b16c..d943053 100644
--- a/packages/uniquify-files/uniquify-files.el
+++ b/packages/uniquify-files/uniquify-files.el
@@ -1,12 +1,12 @@
 ;;; uniquify-files.el --- Completion style for files, minimizing directories  
-*- lexical-binding:t -*-
 ;;
-;; Copyright (C) 2019  Free Software Foundation, Inc.
+;; Copyright (C) 2019, 2020  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: completion table
 ;;   uniquify
-;; Version: 1.0.2
+;; Version: 1.0.3
 ;; package-requires: ((emacs "25.0"))
 ;;
 ;; This file is part of GNU Emacs.
@@ -258,7 +258,7 @@ FILES is an alist of (UNIQIFIED-NAME . ABS-NAME).  
Completion is
 done on UNIQIFIED-NAME, PRED is called with ABS-NAME."
   (cond
((eq action 'alist)
-(cdr (assoc string files #'string-equal)))
+(cdr (assoc string files)))
 
((eq (car-safe action) 'boundaries)
 ;; We don't use boundaries; return the default definition.



[elpa] master 7c0115a 1/2: In wisi sal-gen_unbounded_definite_red_black_trees.adb, correct WORKAROUND

2020-05-14 Thread Stephen Leake
branch: master
commit 7c0115ae7935839b8ac73363ef25e74d1cadba2d
Author: Stephen Leake 
Commit: Stephen Leake 

In wisi sal-gen_unbounded_definite_red_black_trees.adb, correct WORKAROUND

* packages/wisi/wisi.el: Bump version.
---
 packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb | 4 ++--
 packages/wisi/wisi.el| 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb 
b/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb
index b7c8c44..0cbd6dd 100644
--- a/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb
+++ b/packages/wisi/sal-gen_unbounded_definite_red_black_trees.adb
@@ -323,7 +323,7 @@ package body SAL.Gen_Unbounded_Definite_Red_Black_Trees is
  --  either way, so both compilers have a bug. Keeping .all for now;
  --  just delete it if you are using 21.0w. Hopefully 21 will fix the
  --  bug. AdaCore ticket T503-001 on Eurocontrol support contract.
- return (Element => Node.Element'Access, Dummy => 1);
+ return (Element => Node.all.Element'Access, Dummy => 1);
   end if;
end Constant_Reference;
 
@@ -349,7 +349,7 @@ package body SAL.Gen_Unbounded_Definite_Red_Black_Trees is
  raise Not_Found;
   else
  --  WORKAROUND: see note in Constant_Reference
- return (Element => Node.Element'Access, Dummy => 1);
+ return (Element => Node.all.Element'Access, Dummy => 1);
   end if;
end Variable_Reference;
 
diff --git a/packages/wisi/wisi.el b/packages/wisi/wisi.el
index 7dce87b..48e9dc0 100644
--- a/packages/wisi/wisi.el
+++ b/packages/wisi/wisi.el
@@ -7,7 +7,7 @@
 ;; Keywords: parser
 ;;  indentation
 ;;  navigation
-;; Version: 3.1.0
+;; Version: 3.1.1
 ;; package-requires: ((emacs "25.0") (seq "2.20"))
 ;; URL: http://stephe-leake.org/ada/wisitoken.html
 ;;



[elpa] master 5062ac3: In ada-mode, adapt to wisi bug fix release

2020-05-14 Thread Stephen Leake
branch: master
commit 5062ac329cea9790c258a183669ee31954d8b1f9
Author: Stephen Leake 
Commit: Stephen Leake 

In ada-mode, adapt to wisi bug fix release

* packages/ada-mode/ada-mode.el: Bump version, require wisi 3.1.1.

* packages/ada-mode/build.sh (WISI_DIR): Use wildcard to tolerate bug-fix
wisi releases.
* packages/ada-mode/install.sh: Use wildcard to tolerate bug-fix wisi
releases.
---
 packages/ada-mode/ada-mode.el | 4 ++--
 packages/ada-mode/build.sh| 2 +-
 packages/ada-mode/install.sh  | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index b0b05e7..e63f7f6 100644
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -6,8 +6,8 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
-;; Version: 7.1.0
-;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.0") (emacs "25.0"))
+;; Version: 7.1.1
+;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.1") (emacs "25.0"))
 ;; url: http://www.nongnu.org/ada-mode/
 ;;
 ;; This file is part of GNU Emacs.
diff --git a/packages/ada-mode/build.sh b/packages/ada-mode/build.sh
index 426e961..2826d90 100755
--- a/packages/ada-mode/build.sh
+++ b/packages/ada-mode/build.sh
@@ -19,7 +19,7 @@ fi
 # support for libadalang is still experimental
 gnatprep  -DHAVE_LIBADALANG="no" -DELPA="yes" -DHAVE_GNAT_UTIL=$HAVE_GNAT_UTIL 
ada_mode_wisi_parse.gpr.gp ada_mode_wisi_parse.gpr
 
-WISI_DIR="../wisi-3.1.0"
+WISI_DIR=`ls -d ../wisi-3.1.?`
 
 gnatprep -DELPA="yes" $WISI_DIR/wisi.gpr.gp $WISI_DIR/wisi.gpr
 
diff --git a/packages/ada-mode/install.sh b/packages/ada-mode/install.sh
index d85adad..886fc94 100755
--- a/packages/ada-mode/install.sh
+++ b/packages/ada-mode/install.sh
@@ -8,7 +8,7 @@
 # If you don't have write permission in the GNAT installation
 # directory, you need to use --prefix=, or run with root priviledges.
 
-WISI_DIR="../wisi-3.1.0"
+WISI_DIR=`ls -d ../wisi-3.1.?`
 
 gprinstall -f -p -P ada_mode_wisi_parse.gpr -aP $WISI_DIR 
--install-name=ada_mode_wisi_parse $1 
 



[elpa] master a30ae50 2/2: Merge commit 'e2e82cdea95d26c914b2e83acfc6e83230f4163b'

2020-05-14 Thread Stephen Leake
branch: master
commit a30ae50260ac386dd65e7e7d849370ee0758caf8
Merge: 7c0115a e2e82cd
Author: Stephen Leake 
Commit: Stephen Leake 

Merge commit 'e2e82cdea95d26c914b2e83acfc6e83230f4163b'
---
 externals-list | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/externals-list b/externals-list
index a641086..a698210 100644
--- a/externals-list
+++ b/externals-list
@@ -79,6 +79,7 @@
  ("ebdb":external "https://github.com/girzel/ebdb.git;)
  ("eev":external "https://github.com/edrx/eev.git;)
  ("eglot"   :external "https://github.com/joaotavora/eglot.git;)
+ ("eldoc"  :core "lisp/emacs-lisp/eldoc.el")
  ("eldoc-eval" :subtree 
"https://github.com/thierryvolpiatto/eldoc-eval.git;)
  ("elisp-benchmarks"   :external nil)
  ("expand-region"  :external "https://github.com/magnars/expand-region.el;)
@@ -126,6 +127,7 @@
  ("pinentry"   :subtree "https://github.com/ueno/pinentry-el.git;)
  ("posframe"   :external "https://github.com/tumashu/posframe;)
  ("prefixed-core"  :external nil)
+ ("project":core "lisp/progmodes/project.el")
  ("psgml"   :external "https://github.com/lenst/psgml.git;)
  ("python" :core "lisp/progmodes/python.el")
  ;;FIXME:("org":external ??) ;; Need to introduce snapshots!!
@@ -166,6 +168,7 @@
  ("which-key"   :subtree "https://github.com/justbur/emacs-which-key;)
  ("xelb"   :external "https://github.com/ch11ng/xelb.git;)
  ("xr" :external "https://github.com/mattiase/xr;)
+ ("xref"   :core "lisp/progmodes/xref.el")
  ("yasnippet"  :subtree 
"https://github.com/capitaomorte/yasnippet.git;)
  ("zones"  :external nil)  
;https://www.emacswiki.org/emacs/zones.el
  ("ztree"  :subtree "https://github.com/fourier/ztree;)



[elpa] master 3398490: Release ada-mode bug-fix version 7.1.2

2020-05-21 Thread Stephen Leake
branch: master
commit 3398490f336a20d9645efebb71c3cb24d703f32a
Author: Stephen Leake 
Commit: Stephen Leake 

Release ada-mode bug-fix version 7.1.2

* packages/ada-mode/ada-mode.el: Bump version to 7.1.2.

* packages/ada-mode/ada.wy (expression_function_declaration): Revert
change in indent of 'is' to 7.0.1 behavior.

* packages/ada-mode/ada_process_actions.adb:
(expression_function_declaration_0): Update.
---
 packages/ada-mode/ada-mode.el | 4 ++--
 packages/ada-mode/ada.wy  | 2 +-
 packages/ada-mode/ada_process_actions.adb | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index e63f7f6..bdf74ef 100644
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
-;; Version: 7.1.1
+;; Version: 7.1.2
 ;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.1") (emacs "25.0"))
 ;; url: http://www.nongnu.org/ada-mode/
 ;;
@@ -117,7 +117,7 @@
 (defun ada-mode-version ()
   "Return Ada mode version."
   (interactive)
-  (let ((version-string "7.1.0"))
+  (let ((version-string "7.1.2"))
 (if (called-interactively-p 'interactive)
(message version-string)
   version-string)))
diff --git a/packages/ada-mode/ada.wy b/packages/ada-mode/ada.wy
index d50b89e..436d799 100644
--- a/packages/ada-mode/ada.wy
+++ b/packages/ada-mode/ada.wy
@@ -1078,7 +1078,7 @@ expression_function_declaration
  ;; IS does not start a block, so it is not "motion".
  ;;
 %((wisi-statement-action [1 statement-start 2 statement-override 6 
statement-end])
-  (wisi-indent-action [nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken ada-indent-broken]))%
+  (wisi-indent-action [nil nil nil ada-indent-broken ada-indent-broken 
ada-indent-broken]))%
   ;
 
 extended_return_object_declaration
diff --git a/packages/ada-mode/ada_process_actions.adb 
b/packages/ada-mode/ada_process_actions.adb
index 11788f3..7627acb 100644
--- a/packages/ada-mode/ada_process_actions.adb
+++ b/packages/ada-mode/ada_process_actions.adb
@@ -1452,7 +1452,7 @@ package body Ada_Process_Actions is
  null;
   when Indent =>
  Indent_Action_0 (Parse_Data, Tree, Nonterm, Tokens, ((False, (Simple, 
(Label => None))), (False, (Simple,
- (Label => None))), (False, (Simple, (Int, Ada_Indent_Broken))), 
(False, (Simple, (Int, Ada_Indent_Broken))),
+ (Label => None))), (False, (Simple, (Label => None))), (False, 
(Simple, (Int, Ada_Indent_Broken))),
  (False, (Simple, (Int, Ada_Indent_Broken))), (False, (Simple, (Int, 
Ada_Indent_Broken);
   end case;
end expression_function_declaration_0;



[elpa] master 1187a77: In ada-mode, set auto-mode-alist

2020-08-07 Thread Stephen Leake
branch: master
commit 1187a770d473e7c7674064afea05241aa14dd075
Author: Stephen Leake 
Commit: Stephen Leake 

In ada-mode, set auto-mode-alist

* packages/ada-mode/NEWS: Release 7.1.4.

* packages/ada-mode/ada-mode.el: Set auto-mode-alist.
---
 packages/ada-mode/NEWS| 6 ++
 packages/ada-mode/ada-mode.el | 5 -
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/packages/ada-mode/NEWS b/packages/ada-mode/NEWS
index 217aab3..dc56248 100644
--- a/packages/ada-mode/NEWS
+++ b/packages/ada-mode/NEWS
@@ -6,7 +6,13 @@ Please send ada-mode bug reports to bug-gnu-em...@gnu.org, with
 'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
 
 
+* Ada Mode 7.1.4
+07 Aug 2020
+
+** Set auto-mode-alist for ada-mode. 
+
 * Ada Mode 7.1.3
+04 Jun 2020
 
 ** Indentation of 'is' in expression functions is restored to 7.0.1
behavior.
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index e8777fe..ae4cbd2 100644
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
-;; Version: 7.1.3
+;; Version: 7.1.4
 ;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.2") (emacs "25.0"))
 ;; url: http://www.nongnu.org/ada-mode/
 ;;
@@ -1680,6 +1680,9 @@ Prompts with completion, defaults to filename at point."
 
 ; Global initializations
 
+;;;###autoload
+(add-to-list 'auto-mode-alist '("\\.ad[abs]\\'" . ada-mode))
+
 (when (featurep 'imenu)
   (require 'ada-imenu))
 



[elpa] master 0295472: Forgot some new files in wisi

2020-06-07 Thread Stephen Leake
branch: master
commit 029547200702d50b30ab078745c6fd10f5e16c2b
Author: Stephen Leake 
Commit: Stephen Leake 

Forgot some new files in wisi

* packages/wisi/wisi.el: Bump version to 3.1.3 for packaging fix.

* packages/wisi/sal-gen_unconstrained_array_image.adb: New file.
* packages/wisi/sal-gen_unconstrained_array_image.ads: New file.
* packages/wisi/sal-gen_unconstrained_array_image_aux.adb: New file.
* packages/wisi/sal-gen_unconstrained_array_image_aux.ads: New file.
---
 .../wisi/sal-gen_unconstrained_array_image.adb | 34 ++
 .../wisi/sal-gen_unconstrained_array_image.ads | 24 +++
 .../wisi/sal-gen_unconstrained_array_image_aux.adb | 33 +
 .../wisi/sal-gen_unconstrained_array_image_aux.ads | 25 
 packages/wisi/wisi.el  |  2 +-
 5 files changed, 117 insertions(+), 1 deletion(-)

diff --git a/packages/wisi/sal-gen_unconstrained_array_image.adb 
b/packages/wisi/sal-gen_unconstrained_array_image.adb
new file mode 100644
index 000..7ea1c83
--- /dev/null
+++ b/packages/wisi/sal-gen_unconstrained_array_image.adb
@@ -0,0 +1,34 @@
+--  Abstract :
+--
+--  See spec.
+--
+--  Copyright (C) 2019 Free Software Foundation, Inc.
+--
+--  This library is free software;  you can redistribute it and/or modify it
+--  under terms of the  GNU General Public License  as published by the Free
+--  Software  Foundation;  either version 3,  or (at your  option) any later
+--  version. This library is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
+--  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+--  As a special exception under Section 7 of GPL version 3, you are granted
+--  additional permissions described in the GCC Runtime Library Exception,
+--  version 3.1, as published by the Free Software Foundation.
+
+pragma License (Modified_GPL);
+
+with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
+function SAL.Gen_Unconstrained_Array_Image (Item : in Array_Type) return String
+is
+   Result : Unbounded_String := To_Unbounded_String ("(");
+begin
+   for I in Item'Range loop
+  Result := Result & Element_Image (Item (I));
+  if I = Item'Last then
+ Result := Result & ")";
+  else
+ Result := Result & ", ";
+  end if;
+   end loop;
+   return To_String (Result);
+end SAL.Gen_Unconstrained_Array_Image;
diff --git a/packages/wisi/sal-gen_unconstrained_array_image.ads 
b/packages/wisi/sal-gen_unconstrained_array_image.ads
new file mode 100644
index 000..226ba00
--- /dev/null
+++ b/packages/wisi/sal-gen_unconstrained_array_image.ads
@@ -0,0 +1,24 @@
+--  Abstract :
+--
+--  Image for unconstrained Ada array types
+--
+--  Copyright (C) 2019 Free Software Foundation, Inc.
+--
+--  This library is free software;  you can redistribute it and/or modify it
+--  under terms of the  GNU General Public License  as published by the Free
+--  Software  Foundation;  either version 3,  or (at your  option) any later
+--  version. This library is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
+--  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+--  As a special exception under Section 7 of GPL version 3, you are granted
+--  additional permissions described in the GCC Runtime Library Exception,
+--  version 3.1, as published by the Free Software Foundation.
+
+pragma License (Modified_GPL);
+generic
+   type Index_Type is (<>);
+   type Element_Type is private;
+   type Array_Type is array (Index_Type range <>) of Element_Type;
+   with function Element_Image (Item : in Element_Type) return String;
+function SAL.Gen_Unconstrained_Array_Image (Item : in Array_Type) return 
String;
diff --git a/packages/wisi/sal-gen_unconstrained_array_image_aux.adb 
b/packages/wisi/sal-gen_unconstrained_array_image_aux.adb
new file mode 100644
index 000..9e4c5cd
--- /dev/null
+++ b/packages/wisi/sal-gen_unconstrained_array_image_aux.adb
@@ -0,0 +1,33 @@
+--  Abstract :
+--
+--  See spec.
+--
+--  Copyright (C) 2019, 2020 Free Software Foundation, Inc.
+--
+--  This library is free software;  you can redistribute it and/or modify it
+--  under terms of the  GNU General Public License  as published by the Free
+--  Software  Foundation;  either version 3,  or (at your  option) any later
+--  version. This library is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN-
+--  TABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+--  As a special exception under Section 7 of GPL version 3, you are granted
+--  additional permissions described in the GCC Runtime Library Exception,
+--  version 3.1, as published by the Free Software Foundation.
+
+pragma License (Modified_GPL);
+
+with Ada.S

[elpa] externals/wisitoken-grammar-mode 66e5952: In wisitoken-grammar-mode, release version 1.2.0

2020-06-07 Thread Stephen Leake
branch: externals/wisitoken-grammar-mode
commit 66e5952d38d404cd0c37787f5e01a4cc0f2ccea4
Author: Stephen Leake 
Commit: Stephen Leake 

In wisitoken-grammar-mode, release version 1.2.0
---
 wisitoken-grammar-mode.el   | 36 +++--
 wisitoken_grammar_1.wy  |  4 ++
 wisitoken_grammar_1_process_actions.adb | 72 ++
 wisitoken_grammar_1_process_actions.ads | 20 
 wisitoken_grammar_1_process_main.adb| 90 +
 5 files changed, 163 insertions(+), 59 deletions(-)

diff --git a/wisitoken-grammar-mode.el b/wisitoken-grammar-mode.el
index 96e1541..704638b 100644
--- a/wisitoken-grammar-mode.el
+++ b/wisitoken-grammar-mode.el
@@ -5,7 +5,7 @@
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
-;; Version: 1.1.0
+;; Version: 1.2.0
 ;; package-requires: ((wisi "3.1.1") (emacs "25.0") (mmm-mode "0.5.7"))
 ;; url: http://www.nongnu.org/ada-mode/
 
@@ -40,16 +40,24 @@
   :group 'languages)
 
 (defcustom wisitoken-grammar-process-parse-exec 
"wisitoken_grammar_mode_parse.exe"
+  ;; wisitoken_grammar.gpr uses .exe even on non-windows.
   "Name of executable to use for external process wisitoken-grammar parser,"
   :type 'string
   :group 'wisitoken-grammar)
 
 (defvar wisitoken-grammar-mode-syntax-table
   (let ((table (make-syntax-table)))
-;; see wisitoken-grammar-syntax-propertize for comment start
-(modify-syntax-entry ?\n ">   " table)
-(modify-syntax-entry ?= ".   " table) ;; default symbol
-(modify-syntax-entry ?* ".   " table) ;; default symbol
+(modify-syntax-entry ?\; ". 12" table) ;; ";;" comment start; default 
punctuation
+(modify-syntax-entry ?\n ">   " table) ;; comment end
+(modify-syntax-entry ?=  ".   " table) ;; default symbol
+(modify-syntax-entry ?*  ".   " table) ;; default symbol
+
+;; WORKAROUND (see mmm github issue 130) Because mmm does not
+;; limit syntax-ppss, we can't set ?\' to string here; that sees
+;; ?\' in 'code' and 'action' blocks. In addition, we prefer
+;; font-lock-constant-face for tokens. So we handle ?\' in the
+;; parser.
+
 table))
 
 (defvar wisitoken-grammar-mode-map
@@ -60,6 +68,7 @@
 (define-key map "\C-c\C-f" 'wisi-show-parse-error)
 (define-key map "\C-c\C-m" 'wisitoken-grammar-mmm-parse)
 (define-key map [S-return] 'wisitoken-grammar-new-line)
+(define-key map "\C-c`"'ada-show-secondary-error)
 map
   )  "Local keymap used for wisitoken-grammar mode.")
 
@@ -175,7 +184,7 @@
   "If in action, call `mmm-parse-region' on it."
   (interactive)
   (save-excursion
-(let* ((begin (search-backward-regexp "%[(}]" nil t))
+(let* ((begin (search-backward-regexp "%[({]" nil t))
   (end   (when begin (search-forward-regexp "[)}]%" nil t
   (when (and begin end)
(mmm-parse-region begin end)))
@@ -236,19 +245,14 @@ Otherwise insert a plain new line."
 (goto-char start)
 (save-match-data
   (while (re-search-forward
- (concat
-  "\\(;;\\)" ;; comment start
-  "\\|\\(%\\[\\)" ;; regexp begin
-  )
+  "\\(%\\[\\)" ;; regexp begin
  end t)
(cond
 ((match-beginning 1)
- (put-text-property (match-beginning 1) (match-end 1) 'syntax-table 
'(11 . nil)))
-
-((match-beginning 2)
- (let ((begin (match-beginning 2))
+ (let ((begin (match-beginning 1))
(end (search-forward "]%")))
-   ;; allow single quotes in regexp to not mess up the rest of the 
buffer
+   ;; allow single quotes in regexp to not mess up the rest
+   ;; of the buffer
(put-text-property begin end 'syntax-table '(11 . nil))
))
 ))
@@ -358,7 +362,7 @@ Otherwise insert a plain new line."
 (define-derived-mode wisitoken-grammar-mode prog-mode "Wisi"
   "A major mode for Wisi grammar files."
   (set (make-local-variable 'syntax-propertize-function) 
'wisitoken-grammar-syntax-propertize)
-  (syntax-ppss-flush-cache (point-min));; reparse with new function
+
   (set (make-local-variable 'parse-sexp-ignore-comments) t)
   (set (make-local-variable 'parse-sexp-lookup-properties) t)
 
diff --git a/wisitoken_grammar_1.wy b/wisitoken_grammar_1.wy
index 3950b86..69bb3cd 100644
--- a/wisitoken_grammar_1.wy
+++ b/wisitoken_grammar_1.wy
@@ -181,7 +181,9 @@ declaration_item
   | RIGHT_PAREN
   | SLASH
   | STRING_LITERAL_1
+%((wisi-face-apply-action [1 nil font-lock-string-face]))%
   | STRING_LITERAL_2
+%((wisi-face-apply-action [1 nil font-lock-string-face]))%
   | TOKEN
   ;; ",", "token"

[elpa] master fced843: In wisi, missed a few files in 3.1.2 release

2020-06-04 Thread Stephen Leake
branch: master
commit fced8435670570df42415e76652d2b1cd7fb8f8c
Author: Stephen Leake 
Commit: Stephen Leake 

In wisi, missed a few files in 3.1.2 release
---
 packages/wisi/sal-gen_unbounded_definite_vectors.adb | 12 
 packages/wisi/sal-gen_unbounded_definite_vectors.ads |  8 +---
 packages/wisi/sal.adb|  2 +-
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/packages/wisi/sal-gen_unbounded_definite_vectors.adb 
b/packages/wisi/sal-gen_unbounded_definite_vectors.adb
index faf1b45..9e1c189 100644
--- a/packages/wisi/sal-gen_unbounded_definite_vectors.adb
+++ b/packages/wisi/sal-gen_unbounded_definite_vectors.adb
@@ -525,8 +525,10 @@ package body SAL.Gen_Unbounded_Definite_Vectors is
end Variable_Ref;
 
overriding function First (Object : Iterator) return Cursor
-   is begin
-  if Object.Container.Elements = null then
+   is
+  use all type Ada.Containers.Count_Type;
+   begin
+  if Object.Container.Length = 0 then
  return (Object.Container, Invalid_Peek_Index);
   else
  return (Object.Container, To_Peek_Type (Object.Container.First));
@@ -534,8 +536,10 @@ package body SAL.Gen_Unbounded_Definite_Vectors is
end First;
 
overriding function Last  (Object : Iterator) return Cursor
-   is begin
-  if Object.Container.Elements = null then
+   is
+  use all type Ada.Containers.Count_Type;
+   begin
+  if Object.Container.Length = 0 then
  return (Object.Container, Invalid_Peek_Index);
   else
  return (Object.Container, To_Peek_Type (Object.Container.Last));
diff --git a/packages/wisi/sal-gen_unbounded_definite_vectors.ads 
b/packages/wisi/sal-gen_unbounded_definite_vectors.ads
index 818a223..29ecae0 100644
--- a/packages/wisi/sal-gen_unbounded_definite_vectors.ads
+++ b/packages/wisi/sal-gen_unbounded_definite_vectors.ads
@@ -177,10 +177,12 @@ package SAL.Gen_Unbounded_Definite_Vectors is
function Iterate (Container : aliased in Vector) return 
Iterator_Interfaces.Reversible_Iterator'Class;
 
function Constant_Ref (Container : aliased in Vector; Position : in Cursor) 
return Constant_Reference_Type
-   with Inline, Pre => Has_Element (Position);
+   with Pre => Has_Element (Position) and then
+   To_Index (Position) in Container.First_Index .. 
Container.Last_Index;
 
function Variable_Ref (Container : aliased in Vector; Position  : in 
Cursor) return Variable_Reference_Type
-   with Pre => Has_Element (Position);
+   with Pre => Has_Element (Position) and then
+   To_Index (Position) in Container.First_Index .. 
Container.Last_Index;
pragma Inline (Variable_Ref);
 
 private
@@ -194,7 +196,7 @@ private
   Elements : Array_Access;
   --  Elements may be non-null with First = No_Index, after
   --  Set_Capacity. If First /= No_Index and Last >= First, Elements /=
-  --  null.
+  --  null. First > Last means Vector is empty.
   First: Extended_Index := No_Index;
   Last : Extended_Index := No_Index;
end record;
diff --git a/packages/wisi/sal.adb b/packages/wisi/sal.adb
index 08a2184..6265651 100644
--- a/packages/wisi/sal.adb
+++ b/packages/wisi/sal.adb
@@ -26,7 +26,7 @@ package body SAL is
 
function Version return String is
begin
-  return "SAL 3.4";
+  return "SAL 3.5";
end Version;
 
 end SAL;



[elpa] master 105dc5e: * packages/ada-ref-man/ada-ref-man.el: change Version for release

2020-07-16 Thread Stephen Leake
branch: master
commit 105dc5e73bc89ac105d859c116d48274062e11bc
Author: Stephen Leake 
Commit: Stephen Leake 

* packages/ada-ref-man/ada-ref-man.el: change Version for release
---
 packages/ada-ref-man/ada-ref-man.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/ada-ref-man/ada-ref-man.el 
b/packages/ada-ref-man/ada-ref-man.el
index 7c7cbf7..1f96488 100644
--- a/packages/ada-ref-man/ada-ref-man.el
+++ b/packages/ada-ref-man/ada-ref-man.el
@@ -1,13 +1,13 @@
 ;;; ada-ref-man.el --- Ada Reference Manual 2012
 ;;
-;;; Copyright (C) 2014, 2017, 2019  Free Software Foundation, Inc.
+;;; Copyright (C) 2014, 2017, 2019, 2020  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
 ;; Package-Type: multi
-;; Version: 2012.5
+;; Version: 2020.1
 ;; url: http://stephe-leake.org/ada/arm.html
 
 ;;; ada-ref-man.el ends here



[elpa] main 7ee57f0: * README (Getting the source): Add setup, move checkout packages here

2021-01-11 Thread Stephen Leake
branch: main
commit 7ee57f0391e9f64e138d2db914e0e61e5f4fd95b
Author: Stephen Leake 
Commit: Stephen Leake 

* README (Getting the source): Add setup, move checkout packages here
---
 README | 52 ++--
 1 file changed, 30 insertions(+), 22 deletions(-)

diff --git a/README b/README
index d6114a8..9e77d6c 100644
--- a/README
+++ b/README
@@ -23,6 +23,36 @@ for testing purposes).
 Start with source that is cloned directly from Savannah.  See 
[[https://savannah.gnu.org/git/?group=emacs][the Savannah page]]
 and look for "ELPA".  Using a clone of a clone does not work.
 
+You must then do some setup:
+#+begin_src shell
+   make setup
+#+end_src
+
+That leaves the =packages= directory empty; you must check out the
+ones you want.
+
+If you wish to check out all the packages into the =packages=
+directory, you can run the command:
+
+#+begin_src shell
+   make worktrees
+#+end_src
+
+You can check out a specific package == into the =packages=
+directory with this command:
+
+#+begin_src
+   make packages/
+#+end_src
+
+If you already have a =packages/= directory with a previous
+checkout, you can update it like this:
+
+#+begin_src
+   cd packages/PACKAGE
+   git pull
+#+end_src
+
 * Directory layout
 
 ** =admin/=-- scripts for administering the package archive.
@@ -221,28 +251,6 @@ and push that change to the master branch of =elpa=.  
After it's added to
 the =elpa-packages= file, the package can be maintained just by
 pushing changes to the =externals/= branch.
 
-If you wish to check out all the packages into the =packages=
-directory, you can run the command:
-
-#+begin_src shell
-   make worktrees
-#+end_src
-
-You can check out a specific package == into the =packages=
-directory with these commands:
-
-#+begin_src
-   make packages/
-#+end_src
-
-If you already have a =packages/= directory with a previous
-checkout, you can update it like this:
-
-#+begin_src 
-   cd packages/PACKAGE
-   git pull
-#+end_src
-
 ** Public incubation
 
 If you want to develop a package publicly prior to its first release (to



[elpa] externals/ada-mode df6efc2 1/3: First attempt to make doc cross reference work on ELPA website

2021-09-07 Thread Stephen Leake
branch: externals/ada-mode
commit df6efc230967d474166b4ceb8fe6ef9b5817f8a2
Author: Stephen Leake 
Commit: Stephen Leake 

First attempt to make doc cross reference work on ELPA website

* ada-build.el (ada-build-require-project-file): Fix typo in doc string.

* ada-mode.info: Delete; now built by the elpa server.

* ada-mode.texi (Project files): Fix wisi cross reference. For html, make
it work on the ELPA website.
(Project file overview): Fix wisi cross reference.
---
 ada-build.el  |6 +-
 ada-mode.info | 2665 -
 ada-mode.texi |6 +-
 3 files changed, 7 insertions(+), 2670 deletions(-)

diff --git a/ada-build.el b/ada-build.el
index 7d12dbf..7706896 100644
--- a/ada-build.el
+++ b/ada-build.el
@@ -1,7 +1,7 @@
 ;; ada-build.el --- Extensions to ada-mode for compiling and running  -*- 
lexical-binding:t -*-
 ;; Ada projects without 'make' or similar tool
 ;;
-;; Copyright (C) 1994, 1995, 1997 - 2017, 2019  Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995, 1997 - 2017, 2019, 2021  Free Software 
Foundation, Inc.
 ;;
 ;; Author: Stephen Leake 
 ;; Maintainer: Stephen Leake 
@@ -232,9 +232,9 @@ main.
 
 search-prompt - Search for a project file in the current
 directory with the same name as the main file. If not found,
-prompt for a project file; thow error if user aborts
+prompt for a project file; throw an error if user aborts.
 
-prompt - Prompt for a project file; thow error if user aborts.
+prompt - Prompt for a project file; throw an error if user aborts.
 
 error - Throw an error (no prompt, no default project).
 
diff --git a/ada-mode.info b/ada-mode.info
deleted file mode 100644
index e179e9f..000
--- a/ada-mode.info
+++ /dev/null
@@ -1,2665 +0,0 @@
-This is ada-mode.info, produced by makeinfo version 6.7 from
-ada-mode.texi.
-
-Copyright (C) 1999 - 2021 Free Software Foundation, Inc.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.3 or any later version published by the Free Software
- Foundation; with no Invariant Sections, with the Front-Cover texts
- being "A GNU Manual", and with the Back-Cover Texts as in (a)
- below.  A copy of the license is included in the section entitled
- "GNU Free Documentation License".
-
- (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
- modify this GNU manual.  Buying copies from the FSF supports it in
- developing GNU and promoting software freedom."
-INFO-DIR-SECTION Emacs
-START-INFO-DIR-ENTRY
-* Ada mode: (ada-mode). Emacs mode for editing and navigating Ada code.
-END-INFO-DIR-ENTRY
-
-
-File: ada-mode.info,  Node: Top,  Next: Overview,  Prev: (dir),  Up: (dir)
-
-Top
-***
-
-Ada Mode Version 7.1.5
-
-* Menu:
-
-* Overview::
-* Installation::Installing Ada mode on your system
-* Customization::   Setting up Ada mode to your taste
-* Compiling Executing:: Working with your application within Emacs
-* Project files::   Describing the organization of your project
-* Moving Through Ada Code:: Moving easily through Ada sources
-* Identifier completion::   Finishing words automatically
-* Indentation:: Indenting your code automatically as you type
-* Statement skeletons:: Some code is written for you
-* Aligning code::   Making it pretty
-* Automatic casing::Adjusting the case of words automatically
-* Comment Handling::Reformatting comments easily
-* Key summary::
-* Developer overview::
-* GNU Free Documentation License::
-
- -- The Detailed Node Listing --
-
-Overview
-
-* Why not LSP?::
-
-Installation
-
-* Ada executables::
-* Known versions::
-
-Ada executables
-
-* Building GNATCOLL::
-* Building the executables::
-
-Customizing Ada mode
-
-* Slow response::
-* Non-standard file names::
-* Other compiler::
-* Other cross-reference::
-* Other customization::
-
-Compiling Executing
-
-* Compile commands::
-* Compiling Examples::
-* Compiler errors::
-
-Compiling Examples
-
-* No project files::Just menus
-* Set compiler options::A basic Ada mode project file
-* Set source search path::  Source in multiple directories
-* Use wisi project file::
-* Use multiple GNAT project files::
-* Use a Makefile::
-
-Project files
-
-* Project file overview::
-* Project file variables::
-
-Developer overview
-
-* Directory structure::
-* ELPA::
-* Savannah::
-
-
-
-File: ada-mode.info,  Node: Overview,  Next: Installation,  Prev: Top,  Up: Top
-
-1 Overview
-**
-
-The Emacs mode for programming in Ada helps the user in reading existing
-code and facilitates developing new code.
-
-   Cross-reference information output by the compiler is used to provide
-powerful code navigation (jump to definition, find all uses, etc).
-
-   Wh

[elpa] externals/ada-mode f1b619f 3/3: * ada-mode.texi (Project files): Use @url for ELPA website link

2021-09-07 Thread Stephen Leake
branch: externals/ada-mode
commit f1b619f37ad21c9d64822b92bae03cc03a9ba3f1
Author: Stephen Leake 
Commit: Stephen Leake 

* ada-mode.texi (Project files): Use @url for ELPA website link
---
 ada-mode.texi | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/ada-mode.texi b/ada-mode.texi
index 784a5b7..f012407 100644
--- a/ada-mode.texi
+++ b/ada-mode.texi
@@ -1432,12 +1432,15 @@ references are accessed via @kbd{C-c `}.
 @node Project files, Moving Through Ada Code, Compiling Executing, Top
 @chapter Project files
 
-Ada mode uses wisi project files;
+Ada mode uses
 @ifinfo
-@ref{Project files, Project files, Project files, wisi}.
+wisi project files; @ref{Project files, Project files, Project files, wisi}.
 @end ifinfo
 @ifhtml
-@ref{Project files, Project files, Project files, doc/wisi/wisi}.
+@c We can't use @ref, because that doesn't let us specify a relative
+@c directory for the html file (it drops the directory part of
+@c the info file name!). This path works for the ELPA website.
+@url{../wisi/wisi.html, wisi project files}.
 @end ifhtml
 
 A wisi project file specifies what directories hold sources for your



[elpa] externals/ada-mode 8c3e366 2/3: * ada-mode.texi: Really add @ifhtml

2021-09-07 Thread Stephen Leake
branch: externals/ada-mode
commit 8c3e3660676165d7f59c3a4282da09268f1b5ff9
Author: Stephen Leake 
Commit: Stephen Leake 

* ada-mode.texi: Really add @ifhtml
---
 ada-mode.texi | 4 
 1 file changed, 4 insertions(+)

diff --git a/ada-mode.texi b/ada-mode.texi
index f46bef1..784a5b7 100644
--- a/ada-mode.texi
+++ b/ada-mode.texi
@@ -1435,6 +1435,10 @@ references are accessed via @kbd{C-c `}.
 Ada mode uses wisi project files;
 @ifinfo
 @ref{Project files, Project files, Project files, wisi}.
+@end ifinfo
+@ifhtml
+@ref{Project files, Project files, Project files, doc/wisi/wisi}.
+@end ifhtml
 
 A wisi project file specifies what directories hold sources for your
 project, and allows you to customize the compilation commands and



[elpa] externals/ada-mode updated (1c52507 -> f1b619f)

2021-09-07 Thread Stephen Leake
stephen_leake pushed a change to branch externals/ada-mode.

  from  1c52507   Release ada-mode 7.1.8; packaging fix
   new  df6efc2   First attempt to make doc cross reference work on ELPA 
website
   new  8c3e366   * ada-mode.texi: Really add @ifhtml
   new  f1b619f   * ada-mode.texi (Project files): Use @url for ELPA 
website link


Summary of changes:
 ada-build.el  |6 +-
 ada-mode.info | 2665 -
 ada-mode.texi |   13 +-
 3 files changed, 14 insertions(+), 2670 deletions(-)
 delete mode 100644 ada-mode.info



[elpa] externals/ada-mode 497573e: * ada-mode.texi (Project files): Add fragment to URL for wisi link

2021-09-07 Thread Stephen Leake
branch: externals/ada-mode
commit 497573ebdba5ee4fbcac9978929c07f5273b9f8a
Author: Stephen Leake 
Commit: Stephen Leake 

* ada-mode.texi (Project files): Add fragment to URL for wisi link
---
 ada-mode.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ada-mode.texi b/ada-mode.texi
index f012407..050c5b8 100644
--- a/ada-mode.texi
+++ b/ada-mode.texi
@@ -1440,7 +1440,7 @@ wisi project files; @ref{Project files, Project files, 
Project files, wisi}.
 @c We can't use @ref, because that doesn't let us specify a relative
 @c directory for the html file (it drops the directory part of
 @c the info file name!). This path works for the ELPA website.
-@url{../wisi/wisi.html, wisi project files}.
+@url{../wisi/wisi.html#Project-files, wisi project files}.
 @end ifhtml
 
 A wisi project file specifies what directories hold sources for your



[elpa] scratch/publish-docs e0dc20b: Add links to html :doc files in each package's ELPA web page

2021-09-07 Thread Stephen Leake
branch: scratch/publish-docs
commit e0dc20bc46389bd5b6da739782b5191e5fade8f1
Author: Stephen Leake 
Commit: Stephen Leake 

Add links to html :doc files in each package's ELPA web page

* elpa-admin.el (elpaa--doc-subdirectory): New.
(elpaa-read-config): Add elpaa--doc-subdirectory.
(elpaa--make-one-tarball-1): Pass destdir (the archive directory) to
elpaa--build-Info for saving html files.
(elpaa--string-width): Use "magick convert" instead of legacy "convert".
(elpaa--html-make-pkg): Add links to html :doc files.
(elpaa--build-Info): Add tarball-dir arg for saving html files.
(elpaa--build-Info-1): Add html-dir arg for saving html files. Build html
files from texinfo; add FIXME for org source.
---
 elpa-admin.el | 65 ---
 1 file changed, 58 insertions(+), 7 deletions(-)

diff --git a/elpa-admin.el b/elpa-admin.el
index ac72f2f..5ec9a7d 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -67,6 +67,12 @@ This is recommended when building packages from untrusted 
sources,
 but this requires Bubblewrap (https://github.com/containers/bubblewrap)
 to be installed and has only been tested on some Debian systems.")
 
+(defvar elpaa--doc-subdirectory "doc/"
+  "If non-nil, build html docs as well as info docs, and save the
+html docs in this dir, for the ELPA website. Directory is
+relative to the tarball directory. Can be set in elpa-config via
+'doc-dir.")
+
 (defvar elpaa--debug nil)
 
 (unless (fboundp 'ignore-error)
@@ -101,6 +107,7 @@ to be installed and has only been tested on some Debian 
systems.")
   ('email-reply-to elpaa--email-reply-to)
   ('sandboxelpaa--sandbox)
   ('sandbox-extra-ro-dirs  elpaa--sandbox-extra-ro-dirs)
+ ('doc-dir elpa--doc-subdirectory)
   ('debug  elpaa--debug))
 val
 
@@ -567,7 +574,7 @@ Return non-nil if a new tarball was created."
  ;; Run `make' before building the Info file, so that the `make' rule
  ;; can be used to build the Info/Texinfo file.
  (elpaa--make pkg-spec dir)
- (elpaa--build-Info pkg-spec dir)
+ (elpaa--build-Info pkg-spec dir destdir)
  (elpaa--write-pkg-file dir pkgname metadata)
  ;; FIXME: Allow renaming files or selecting a subset of the files!
  (cl-assert (not (string-match "[][*\\|?]" pkgname)))
@@ -691,7 +698,7 @@ Return non-nil if a new tarball was created."
   "Determine string width in pixels of STR."
   (with-temp-buffer
 (elpaa--call (current-buffer)
- "convert" "-debug" "annotate" "xc:" "-font" "DejaVu-Sans"
+ "magick" "convert" "-debug" "annotate" "xc:" "-font" 
"DejaVu-Sans"
  "-pointsize" "110" "-annotate" "0" str "null:")
 (goto-char (point-min))
 (if (re-search-forward "Metrics:.*?width: \\([0-9]+\\)")
@@ -1318,6 +1325,21 @@ return section under HEADER in package's main file."
   (write-region rm nil (concat name "-readme.txt"))
   (insert "Full description\n" (elpaa--html-quote rm)
   "\n\n")))
+
+  (let ((docfiles (elpaa--spec-get pkg-spec :doc))
+   (html-dir (concat elpaa--doc-subdirectory name "/"))) ;; relative 
to tarball directory
+   (when (file-readable-p html-dir) ;; html doc files were built
+  (insert "Documentation\n")
+ (dolist (f (if (listp docfiles) docfiles (list docfiles)))
+   (let ((html-file
+  (concat html-dir
+  (file-name-sans-extension f)
+  ".html")))
+ (insert "" 
(file-name-sans-extension f) "\n")
+ ;; FIXME: get link text from info direntry?
+ ))
+ (insert "\n")))
+
   ;; (message "latest=%S; files=%S" latest files)
   (unless (< (length files) (if (zerop (length latest)) 1 2))
 (insert (format "Old versions\n"))
@@ -1783,16 +1805,29 @@ More at " (elpaa--default-url pkgname))
 
 ;;; Build Info files from Texinfo
 
-(defun elpaa--build-Info (pkg-spec dir)
-  (let ((docfile (elpaa--spec-get pkg-spec :doc)))
+(defun elpaa--build-Info (pkg-spec dir tarball-dir)
+  "Build info files for docs specified in :doc field of PKG-SPEC.
+If `elpa--doc-subdirectory' is non-nil, also build html files.
+DIR is the package directory."
+  (let ((docfile (elpaa--spec-get pkg-spec :doc))
+   (html-dir
+(when elpaa--doc-subdirectory
+  (elpaa--dirname (car pkg-spec) (expand-file-name 
elpaa--doc-s

[elpa] branch scratch/publish-docs created (now e0dc20b)

2021-09-07 Thread Stephen Leake
stephen_leake pushed a change to branch scratch/publish-docs.

at  e0dc20b   Add links to html :doc files in each package's ELPA web 
page

This branch includes the following new commits:

   new  e0dc20b   Add links to html :doc files in each package's ELPA web 
page




[elpa] elpa-admin 069c128: Allow testing locally via list-packages

2021-07-30 Thread Stephen Leake
branch: elpa-admin
commit 069c128aea984b2f98567a5dcef82bee71f46e69
Author: Stephen Leake 
Commit: Stephen Leake 

Allow testing locally via list-packages

* elpa-admin.el (elpaa--make-one-tarball): Add no-symlink arg.
(elpaa-batch-make-one-devel): New.
(elpaa-batch-make-one-info): New.
(elpaa--make-one-package): Add devel-only arg.
---
 elpa-admin.el | 33 ++---
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/elpa-admin.el b/elpa-admin.el
index 50ee89f..e26108b 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -489,7 +489,7 @@ Do it without leaving the current branch."
   oldtarballs)
 
 (defun elpaa--make-one-tarball ( tarball dir pkg-spec metadata
-  revision-function one-tarball)
+  revision-function one-tarball 
no-symlink)
   "Create file TARBALL for PKGNAME if not done yet.
 Return non-nil if a new tarball was created."
   (elpaa--message "Building tarball %s..." tarball)
@@ -567,9 +567,10 @@ Return non-nil if a new tarball was created."
 (elpaa--call nil "git" "tag" "-f"
  (format "%s-release/%s-%s"
  elpaa--name pkgname vers
-(let ((link (expand-file-name (format "%s.tar" pkgname) destdir)))
-  (when (file-symlink-p link) (delete-file link))
-  (make-symbolic-link (file-name-nondirectory tarball) link))
+   (unless no-symlink
+  (let ((link (expand-file-name (format "%s.tar" pkgname) 
destdir)))
+   (when (file-symlink-p link) (delete-file link))
+   (make-symbolic-link (file-name-nondirectory tarball) link)))
 (setq oldtarballs
   (elpaa--prune-old-tarballs tarball oldtarballs destdir
  ;; Keep release versions at
@@ -639,6 +640,23 @@ Return non-nil if a new tarball was created."
 (elpaa--make-one-package (elpaa--get-package-spec
 (pop command-line-args-left)
 
+(defun elpaa-batch-make-one-devel ( _)
+  "Build the new devel tarball (if needed) for packages listed on command 
line."
+  (while command-line-args-left
+(let* ((pkgname (pop command-line-args-left))
+  (pkg-spec (elpaa--get-package-spec pkgname))
+  (elpaa--sandbox (not (eq system-type 'windows-nt
+  (elpaa--make-one-package pkg-spec nil t
+
+(defun elpaa-batch-make-one-info ( _)
+  "Build the info files for packages listed on command line."
+  (while command-line-args-left
+(let* ((pkgname (pop command-line-args-left))
+  (pkg-spec (elpaa--get-package-spec pkgname))
+  (dir (expand-file-name pkgname "packages"))
+  (elpaa--sandbox (not (eq system-type 'windows-nt
+  (elpaa--build-Info pkg-spec dir
+
 (defun elpaa-batch-make-one-tarball ( _)
   "Build a tarball for a particular package."
   (while command-line-args-left
@@ -749,10 +767,11 @@ Return non-nil if a new tarball was created."
contents))
 (write-region (point-min) (point-max) file)
 
-(defun elpaa--make-one-package (pkg-spec  one-tarball)
+(defun elpaa--make-one-package (pkg-spec  one-tarball devel-only)
   "Build the new tarballs (if needed) for PKG-SPEC.
 If ONE-TARBALL is non-nil, don't try and select some other revision and
-place the resulting tarball into the file named ONE-TARBALL."
+place the resulting tarball into the file named ONE-TARBALL.
+If DEVEL-ONLY is non-nil, only build the devel tarball."
   (elpaa--message "Checking package %s for updates..." (car pkg-spec))
   (let* ((pkgname (car pkg-spec))
  (dir (expand-file-name pkgname "packages"))
@@ -791,7 +810,7 @@ place the resulting tarball into the file named 
ONE-TARBALL."
  dir pkg-spec
  `(nil ,devel-vers
. ,(nthcdr 2 metadata))
- nil one-tarball
+ nil one-tarball devel-only
 
 ;; Try and build the latest release tarball.
 (cond



[elpa] main 638a94c: * elpa-packages ("ada-mode"): Add :doc

2021-07-30 Thread Stephen Leake
branch: main
commit 638a94cbaf1ab14b66daccf21a75318a89b141e5
Author: Stephen Leake 
Commit: Stephen Leake 

* elpa-packages ("ada-mode"): Add :doc
---
 elpa-packages | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index af7f075..1d92d27 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -33,7 +33,7 @@
 
 (("ace-window" :url "https://github.com/abo-abo/ace-window;)
  ("ack":url "https://github.com/leoliu/ack-el;)
- ("ada-mode"   :url nil)
+ ("ada-mode"   :url nil :doc ("ada-mode.texi" "gpr-mode.texi"))
  ("ada-ref-man":url nil)
  ("adaptive-wrap"  :url nil)
  ("adjust-parens"  :url nil)
@@ -402,7 +402,7 @@
  ("websocket"  :url "https://github.com/ahyatt/emacs-websocket.git;)
  ("windower"   :url "https://gitlab.com/ambrevar/emacs-windower;)
  ("windresize" :url nil)
- ("wisi"   :url nil)
+ ("wisi"   :url nil :doc ("wisi.texi" 
"wisitoken-user_guide.texinfo"))
  ("wisitoken-grammar-mode" :url nil)
  ("which-key"   :url "https://github.com/justbur/emacs-which-key;
   :auto-sync t)



[elpa] externals/ada-mode 804cc43 4/5: * prj.el: add copyright

2021-07-30 Thread Stephen Leake
branch: externals/ada-mode
commit 804cc43cccf926ff5f28bed7a6b9150d02d2182e
Author: Stephen Leake 
Commit: Stephen Leake 

* prj.el: add copyright
---
 prj.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/prj.el b/prj.el
index 9f17ac0..c5f46c8 100644
--- a/prj.el
+++ b/prj.el
@@ -1,4 +1,6 @@
 ;; Emacs wisi project definitions for compiling ada-mode in ELPA workspace
+;;
+;; Copyright (C) 2021  Free Software Foundation, Inc.
 
 (let ((wisi-core (expand-file-name "../wisi")))
 



[elpa] externals/ada-mode b08975f 5/5: Release ada-mode 7.1.6

2021-07-30 Thread Stephen Leake
branch: externals/ada-mode
commit b08975f6678b5d8929fdac8864b8eb3986129996
Author: Stephen Leake 
Commit: Stephen Leake 

Release ada-mode 7.1.6

* .gitignore: More build artifacts.

* NEWS: Fix release date.

* README: Bump version.
* ada-mode.el:

* ada-mode.info: Update.

* ada-mode.texi: Bump version, fix menus.

* doclicense.texi: New file.

* install.sh (WISI_DIR): Simplify.
---
 .gitignore  |   5 +
 NEWS|   2 +-
 README  |   2 +-
 ada-mode.el |   4 +-
 ada-mode.info   | 423 ++
 ada-mode.texi   |   8 +-
 doclicense.texi | 507 
 install.sh  |   7 +-
 prj.el  |   2 +
 9 files changed, 765 insertions(+), 195 deletions(-)

diff --git a/.gitignore b/.gitignore
index b96a52b..c5c341f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,8 @@
 /ada-mode-pkg.el
 /ada-mode-autoloads.el
 *.elc
+ada_lr1_parse_table.txt
+*.exe
+ada_mode_wisi_parse.gpr
+check.gpr
+obj/
diff --git a/NEWS b/NEWS
index 559d61b..b35340a 100644
--- a/NEWS
+++ b/NEWS
@@ -7,7 +7,7 @@ Please send ada-mode bug reports to bug-gnu-em...@gnu.org, with
 
 
 * Ada Mode 7.1.6 
-28 Jul 2021
+30 Jul 2021
 
 ** Uses wisi 3.1.3 for compatibility with gnat FSF 11, Pro 22,
Community 2021.
diff --git a/README b/README
index f9980ca..7361dc4 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 7.1.5
+Emacs Ada mode version 7.1.6
 
 Ada mode provides auto-casing, fontification, navigation, and
 indentation for Ada source code files.
diff --git a/ada-mode.el b/ada-mode.el
index 7d1959c..622579c 100644
--- a/ada-mode.el
+++ b/ada-mode.el
@@ -6,8 +6,8 @@
 ;; Maintainer: Stephen Leake 
 ;; Keywords: languages
 ;;  ada
-;; Version: 7.1.5
-;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.3") (emacs "25.0"))
+;; Version: 7.1.6
+;; package-requires: ((uniquify-files "1.0.1") (wisi "3.1.3") (emacs "25.3"))
 ;; url: http://www.nongnu.org/ada-mode/
 ;;
 ;; This file is part of GNU Emacs.
diff --git a/ada-mode.info b/ada-mode.info
index b5ecdfd..e179e9f 100644
--- a/ada-mode.info
+++ b/ada-mode.info
@@ -1,7 +1,7 @@
 This is ada-mode.info, produced by makeinfo version 6.7 from
 ada-mode.texi.
 
-Copyright (C) 1999 - 2020 Free Software Foundation, Inc.
+Copyright (C) 1999 - 2021 Free Software Foundation, Inc.
 
  Permission is granted to copy, distribute and/or modify this
  document under the terms of the GNU Free Documentation License,
@@ -25,7 +25,7 @@ File: ada-mode.info,  Node: Top,  Next: Overview,  Prev: 
(dir),  Up: (dir)
 Top
 ***
 
-Ada Mode Version 7.1.3
+Ada Mode Version 7.1.5
 
 * Menu:
 
@@ -53,8 +53,8 @@ Overview
 
 Installation
 
-* Ada Reference Manual::
 * Ada executables::
+* Known versions::
 
 Ada executables
 
@@ -94,7 +94,6 @@ Developer overview
 * Directory structure::
 * ELPA::
 * Savannah::
-* ada-france::
 
 
 
@@ -159,9 +158,9 @@ File: ada-mode.info,  Node: Installation,  Next: 
Customization,  Prev: Overview,
 2 Installation
 **
 
-Ada mode requires Emacs 25.0 or greater.  Compiling the Ada code for the
+Ada mode requires Emacs 25.3 or greater.  Compiling the Ada code for the
 external process parser requires GNAT GPL 2017 or later; tested with
-GNAT Community Edition 2019 and GNAT Pro 19.
+GNAT Community Edition 2021 and GNAT Pro 22.2 (*note Known versions::).
 
Ada mode is distributed in the Gnu ELPA package archive; it can be
 installed via 'M-x list-packages' (*note (emacs)Packages::).  Note that
@@ -176,26 +175,18 @@ _after_ customizing 'Info-default-directory-list' (if you 
do that):
 ada-mode-version'.
 
You must also install the associated Ada executables (for the
-language parser).  You may want to install the Ada Reference Manual.
+language parser).  You may want to install the Ada Reference Manual in
+info format, via the ELPA package ada-ref-man.
 
 * Menu:
 
-* Ada Reference Manual::
 * Ada executables::
+* Known versions::
 
 
-File: ada-mode.info,  Node: Ada Reference Manual,  Next: Ada executables,  Up: 
Installation
+File: ada-mode.info,  Node: Ada executables,  Next: Known versions,  Up: 
Installation
 
-2.1 Ada Reference Manual
-
-
-The ELPA package ada-ref-man includes the Ada Reference Manual and
-Annotated Ada Reference Manual in info format.
-
-
-File: ada-mode.info,  Node: Ada executables,  Prev: Ada Reference Manual,  Up: 
Installation
-
-2.2 Ada executables
+2.1 Ada executables
 ===
 
 Ada mode requires the external parser, which must be compiled.
@@ -215,10 +206,19 @@ supports additional queries.
 
Both the parser and 'gpr_query' require the 'GNATCOLL' library
 provided by AdaCore, distributed with GNAT GPL 2017 or later, and also
-available at Github (<https://github.com/AdaCore/gnatcoll>).  The notes
-below assume that t

[elpa] externals/wisi d15913f 4/4: Release version 3.1.5

2021-07-30 Thread Stephen Leake
branch: externals/wisi
commit d15913f4fd6a5bc545c2a656645b44fc123c4979
Author: Stephen Leake 
Commit: Stephen Leake 

Release version 3.1.5

* .gitignore: More build artifacts.

* NEWS: Fix release date.

* doclicense.texi: New file.

* wisi.info: Delete; elpa builds it, so no longer in git.

* README: Bump version.
* wisi.el:
* wisi.texi:

* wisitoken-user_guide.texinfo: New file.
---
 .gitignore   |3 +
 NEWS |2 +-
 README   |2 +-
 doclicense.texi  |  507 +
 wisi.el  |4 +-
 wisi.info| 1294 --
 wisi.texi|4 +-
 wisitoken-user_guide.info|  611 
 wisitoken-user_guide.texinfo |  616 
 9 files changed, 1132 insertions(+), 1911 deletions(-)

diff --git a/.gitignore b/.gitignore
index 5f08039..cb87271 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
 /wisi-pkg.el
 /wisi-autoloads.el
 *.elc
+obj/
+wisi.gpr
+wisitoken-user_guide.info
diff --git a/NEWS b/NEWS
index 952e6c7..9264d77 100644
--- a/NEWS
+++ b/NEWS
@@ -7,7 +7,7 @@ Please send wisi bug reports to bug-gnu-em...@gnu.org, with
 
 
 * wisi 3.1.5
-29 Jul 2021
+30 Jul 2021
 
 ** Update several SAL files for compatibility with gnat FSF 11, Pro
22, Community 2021.
diff --git a/README b/README
index 7e3ef01..6132ef2 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Emacs wisi package 3.1.3
+Emacs wisi package 3.1.5
 
 The wisi package provides utilities for using generalized
 error-correcting LR parsers (in external processes) to do indentation,
diff --git a/doclicense.texi b/doclicense.texi
new file mode 100644
index 000..a511ffc
--- /dev/null
+++ b/doclicense.texi
@@ -0,0 +1,507 @@
+@c -*-texinfo-*-
+@c The GNU Free Documentation License.
+@center Version 1.3, 3 November 2008
+
+@c This file is intended to be included within another document,
+@c hence no sectioning command or @node.
+
+@display
+Copyright @copyright{} 2000, 2001, 2002, 2007, 2008, 2009 Free Software 
Foundation, Inc.
+@uref{http://fsf.org/}
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+@end display
+
+@enumerate 0
+@item
+PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document @dfn{free} in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense.  It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does.  But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book.  We recommend this License
+principally for works whose purpose is instruction or reference.
+
+@item
+APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License.  Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein.  The ``Document'', below,
+refers to any such manual or work.  Any member of the public is a
+licensee, and is addressed as ``you''.  You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A ``Modified Version'' of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A ``Secondary Section'' is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject.  (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.)  The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding

  1   2   3   >