[elpa] branch master updated (694254b - 6265448)
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)
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
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
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
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
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)
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)
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)
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
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)
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
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
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
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.
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
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
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)
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
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
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
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
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
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
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
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
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
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
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'
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)
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
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
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
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
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
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
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
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)
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
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'
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
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'
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
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
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)
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
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'
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
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
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
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
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)
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
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
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'
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
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)
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'
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
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
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'
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
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)
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
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
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)
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)
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
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
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
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)
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
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
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
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
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'
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
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
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
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
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'
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
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
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
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
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
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
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
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
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
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
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)
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
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
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)
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
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
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
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
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
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