[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 .
-
-(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-root-rel-completion-table-list fc-root-rel-file-list 
uft-root "fi" nil 'metadata)
-(cons 'metadata
-  (list
-   '(category . project-file)
-   '(styles   . 

[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 both
   (list
-   (concat path-iter-root-dir "/alice-1"))
+   (concat path-iter-root-dir "alice-1/"))
   (list
-   (concat path-iter-root-dir "/bob-1"))
+   (concat path-iter-root-dir "bob-1/"))
   (list
-   (concat path-iter-root-dir "/bob-1")
-   (concat path-iter-root-dir "/bob-1/bob-2")

[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