[elpa] master c0e9d56: packages/sql-beeline/sql-beeline.el: Remove redundant eval-after-load

2020-09-08 Thread Filipp Gunbin
branch: master
commit c0e9d56b9f27239c6a3082360101920ccb9c85e0
Author: Filipp Gunbin 
Commit: Filipp Gunbin 

packages/sql-beeline/sql-beeline.el: Remove redundant eval-after-load
---
 packages/sql-beeline/sql-beeline.el | 24 +++-
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/packages/sql-beeline/sql-beeline.el 
b/packages/sql-beeline/sql-beeline.el
index 069774e..4b6fbf9 100644
--- a/packages/sql-beeline/sql-beeline.el
+++ b/packages/sql-beeline/sql-beeline.el
@@ -77,19 +77,17 @@
   (interactive "P")
   (sql-product-interactive 'beeline buffer))
 
-;; FIXME: We required `sql' above, so why use eval-after-load?
-(eval-after-load "sql"
-  '(sql-add-product
-'beeline "Beeline"
-:font-lock 'sql-mode-ansi-font-lock-keywords
-:sqli-program 'sql-beeline-program
-:sqli-options 'sql-beeline-options
-:sqli-login 'sql-beeline-login-params
-:sqli-comint-func #'sql-comint-beeline
-:list-all '("show tables;" . "!tables")
-:list-table '("describe %s;" . "!describe %s")
-:prompt-regexp "^[^ .][^>\n]*> "
-:prompt-cont-regexp "^[ .]*> "))
+(sql-add-product
+ 'beeline "Beeline"
+ :font-lock 'sql-mode-ansi-font-lock-keywords
+ :sqli-program 'sql-beeline-program
+ :sqli-options 'sql-beeline-options
+ :sqli-login 'sql-beeline-login-params
+ :sqli-comint-func #'sql-comint-beeline
+ :list-all '("show tables;" . "!tables")
+ :list-table '("describe %s;" . "!describe %s")
+ :prompt-regexp "^[^ .][^>\n]*> "
+ :prompt-cont-regexp "^[ .]*> ")
 
 (provide 'sql-beeline)
 ;;; sql-beeline.el ends here



[elpa] externals/which-key 9ff54ff 37/51: Fix short windows being resized

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 9ff54fffbb20ad92361aeeae4bc5966dbe793dd0
Author: Justin Burkett 
Commit: Justin Burkett 

Fix short windows being resized

fit-window-to-buffer defaults to a min height of 4. For some reason, the 
order
in which fit-window-to-buffer is called in display-buffer-in-side-window 
seems
to have changed. This makes the order not matter.
---
 which-key.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index 312272c..d0a28a1 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1167,7 +1167,8 @@ is shown, or if there is no need to start the closing 
timer."
   "Slightly modified version of `fit-buffer-to-window'.
 Use &rest params because `fit-buffer-to-window' has a different
 call signature in different emacs versions"
-  (let ((fit-window-to-buffer-horizontally t))
+  (let ((fit-window-to-buffer-horizontally t)
+(window-min-height 1))
 (apply #'fit-window-to-buffer window params)))
 
 (defun which-key--show-buffer-side-window (act-popup-dim)



[elpa] externals/which-key 8554a9f 17/51: Generalize C-h commands to use help-char

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 8554a9f171d565d13ff5c18d594ae055adcd53f1
Author: Justin Burkett 
Commit: Justin Burkett 

Generalize C-h commands to use help-char

help-char defaults to C-h. This removes the assumption that help-char is 
set to
C-h.

See #228
---
 which-key.el | 52 ++--
 1 file changed, 30 insertions(+), 22 deletions(-)

diff --git a/which-key.el b/which-key.el
index 1a0f5c6..f3334e1 100644
--- a/which-key.el
+++ b/which-key.el
@@ -407,18 +407,20 @@ prefixes in `which-key-paging-prefixes'"
 ;;   :type '(repeat symbol))
 
 (defcustom which-key-use-C-h-commands t
-  "Use C-h for paging if non-nil. Normally C-h after a prefix
-  calls `describe-prefix-bindings'. This changes that command to
-  a which-key paging command when which-key-mode is active."
+  "Use C-h (or whatever `help-char' is set to) for paging if
+non-nil. Normally C-h after a prefix calls
+`describe-prefix-bindings'. This changes that command to a
+which-key paging command when which-key-mode is active."
   :group 'which-key
   :type 'boolean)
 
 (defcustom which-key-show-early-on-C-h nil
-  "Show the which-key buffer before if C-h is pressed in the
-middle of a prefix before the which-key buffer would normally be
-triggered through the idle delay. If combined with the following
-settings, which-key will effectively only show when triggered
-\"manually\" using C-h.
+  "Show the which-key buffer before if C-h (or whatever
+`help-char' is set to) is pressed in the middle of a prefix
+before the which-key buffer would normally be triggered through
+the idle delay. If combined with the following settings,
+which-key will effectively only show when triggered \"manually\"
+using C-h.
 
 \(setq `which-key-idle-delay' 1)
 \(setq `which-key-idle-secondary-delay' 0.05)
@@ -435,11 +437,11 @@ Note that `which-key-idle-delay' should be set before 
turning on
 
 (defvar which-key-C-h-map
   (let ((map (make-sparse-keymap)))
-(dolist (bind '(("\C-a" . which-key-abort)
+(dolist (bind `(("\C-a" . which-key-abort)
 ("a" . which-key-abort)
 ("\C-d" . which-key-toggle-docstrings)
 ("d" . which-key-toggle-docstrings)
-("\C-h" . which-key-show-standard-help)
+(,(vector help-char) . which-key-show-standard-help)
 ("h" . which-key-show-standard-help)
 ("\C-n" . which-key-show-next-page-cycle)
 ("n" . which-key-show-next-page-cycle)
@@ -2047,7 +2049,9 @@ max-lines max-width avl-lines avl-width 
(which-key--pages-height result))
   (let* ((paging-key (concat prefix-keys " " which-key-paging-key))
  (paging-key-bound (eq 'which-key-C-h-dispatch
(key-binding (kbd paging-key
- (key (if paging-key-bound which-key-paging-key "C-h")))
+ (key (if paging-key-bound
+  which-key-paging-key
+(key-description (vector help-char)
 (when which-key-use-C-h-commands
   (which-key--propertize (format "[%s paging/help]" key)
  'face 'which-key-note-face
@@ -2094,7 +2098,7 @@ including prefix arguments."
   (define-key map (kbd which-key-paging-key) #'which-key-C-h-dispatch)
   (when which-key-use-C-h-commands
 ;; Show next page even when C-h is pressed
-(define-key map (kbd "C-h") #'which-key-C-h-dispatch))
+(define-key map (vector help-char) #'which-key-C-h-dispatch))
   map)))
 
 (defun which-key--process-page (pages-obj)
@@ -2513,14 +2517,18 @@ is selected interactively by mode in 
`minor-mode-map-alist'."
  (which-key--create-pages bindings nil keymap-name))
(which-key--show-page)))
   (unless no-paging
-(let* ((key (key-description (list (read-key
-   (next-def (lookup-key keymap (kbd key
-  (cond ((and which-key-use-C-h-commands (string= "C-h" key))
+(let* ((key (read-key))
+   (key-desc (key-description (list key)))
+   (next-def (lookup-key keymap (vector key
+  (cond ((and which-key-use-C-h-commands
+  (numberp key) (= key help-char))
  (which-key-C-h-dispatch))
 ((keymapp next-def)
  (which-key--hide-popup-ignore-command)
- (which-key--show-keymap (concat keymap-name " " key) next-def
- (cons keymap-name keymap)))
+ (which-key--show-keymap
+  (concat keymap-name " " key-desc)
+  next-def
+  (cons keymap-name keymap)))
 (t (which-key--hide-popup
 
 (defun which-key--evil-operator-filter (binding)
@@ -2551,18 +2559,18 @@ is selected interactively by mode in 
`minor-mode-map-alist'."
   formatted-keys
 

[elpa] externals/which-key fcc509f 25/51: Update travis versions

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit fcc509f49352245dc8ca26054585b0d8c975
Author: Justin Burkett 
Commit: Justin Burkett 

Update travis versions
---
 .travis.yml | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 105d1ea..60d8d31 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,11 +1,9 @@
 # language: emacs-lisp
 env:
-  - EVM_EMACS=emacs-24.4-travis
-  - EVM_EMACS=emacs-24.5-travis
-  - EVM_EMACS=emacs-25.1-travis
-  - EVM_EMACS=emacs-25.2-travis
   - EVM_EMACS=emacs-25.3-travis
   - EVM_EMACS=emacs-26.1-travis
+  - EVM_EMACS=emacs-26.2-travis
+  - EVM_EMACS=emacs-26.3-travis
   - EVM_EMACS=emacs-git-snapshot-travis
 
 before_install:



[elpa] externals/which-key 187ac0e 03/51: Add note to docstring for which-key-idle-delay

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 187ac0eb8990b62d4bfd83aac10a0ae68cdd2ff5
Author: Justin Burkett 
Commit: Justin Burkett 

Add note to docstring for which-key-idle-delay

Ref #206
---
 which-key.el | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/which-key.el b/which-key.el
index 2aeaeaa..6980b78 100644
--- a/which-key.el
+++ b/which-key.el
@@ -56,8 +56,11 @@
   :prefix "which-key-")
 
 (defcustom which-key-idle-delay 1.0
-  "Delay (in seconds) for which-key buffer to popup. A value of zero
-might lead to issues, so a non-zero value is recommended
+  "Delay (in seconds) for which-key buffer to popup. This
+ variable should be set before activating `which-key-mode'.
+
+A value of zero might lead to issues, so a non-zero value is
+recommended
 (see https://github.com/justbur/emacs-which-key/issues/134)."
   :group 'which-key
   :type 'float)



[elpa] externals/which-key fb2bc8f 06/51: Add which-key-persistent-popup-p variable (#213)

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit fb2bc8fd08fc39dd5527b13a65717399c5d6821b
Author: Uros Perisic 
Commit: Uros Perisic 

Add which-key-persistent-popup-p variable (#213)

I did not remove the `pre-command-hook', because that would require me
to add the hook back every time `which-key--hide-popup' is called,
which seems excessive. Hercules.el already handles this more
conservatively. But if you want me to, I can add it.
---
 which-key.el | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/which-key.el b/which-key.el
index 99318d5..9b147bd 100644
--- a/which-key.el
+++ b/which-key.el
@@ -453,6 +453,9 @@ prefixes in `which-key-paging-prefixes'"
   which-key-undo-key
   which-key-undo))
 
+(defvar which-key-persistent-popup-p nil
+  "Whether or not to disable `which-key--hide-popup'.")
+
 (defcustom which-key-hide-alt-key-translations t
   "Hide key translations using Alt key if non nil.
 These translations are not relevant most of the times since a lot
@@ -1080,13 +1083,13 @@ total height."
 
 (defun which-key--hide-popup ()
   "This function is called to hide the which-key buffer."
-  (unless (member real-this-command which-key--paging-functions)
+  (unless (or which-key-persistent-popup-p
+  (member real-this-command which-key--paging-functions))
 (setq which-key--last-try-2-loc nil)
 (setq which-key--pages-obj nil)
 (setq which-key--automatic-display nil)
 (setq which-key--prior-show-keymap-args nil)
-(when (and which-key-idle-secondary-delay
-   which-key--secondary-timer-active)
+(when (and which-key-idle-secondary-delay 
which-key--secondary-timer-active)
   (which-key--start-timer))
 (which-key--lighter-restore)
 (cl-case which-key-popup-type



[elpa] externals/which-key 5cbfccd 09/51: Add which-key-manual-update

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 5cbfccd5fec9b8f75b0933d2f0350592cebd32e8
Author: Justin Burkett 
Commit: Justin Burkett 

Add which-key-manual-update

Intended to be used for prefix-help-command

Ref #66
---
 which-key.el | 17 +
 1 file changed, 17 insertions(+)

diff --git a/which-key.el b/which-key.el
index c47c576..703d9f5 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2583,6 +2583,23 @@ Finally, show the buffer."
   (kbd which-key--god-mode-key-string
 this-command-keys))
 
+;;;###autoload
+(defun which-key-manual-update ()
+  "Force which-key update.
+
+This command is intended to be used for `prefix-help-command', as
+follows
+
+\(setq prefix-help-command 'which-key-manual-update).
+
+This should be set after activating `which-key-mode'."
+  (interactive)
+  (let* ((current-prefix
+  (butlast
+   (listify-key-sequence (which-key--this-command-keys)
+(which-key-reload-key-sequence current-prefix)
+(which-key--start-timer 0 t)))
+
 (defun which-key--update ()
   "Function run by timer to possibly trigger
 `which-key--create-buffer-and-show'."



[elpa] externals/which-key 3401440 28/51: Fix workflow

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 340144071499f677e8669352e15b04ede6b35984
Author: Justin Burkett 
Commit: Justin Burkett 

Fix workflow
---
 .github/workflows/test.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8a7ad41..91a8c7d 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -7,7 +7,7 @@ on:
 
 jobs:
   build:
-runs-on: [ubuntu-latest, macos-latest]
+runs-on: ubuntu-latest
 strategy:
   matrix:
 emacs_version:



[elpa] externals/which-key 2cb5ceb 12/51: Fix paging in which-key-manual-update

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 2cb5ceba55fb9c671bcf794a795059673633113a
Author: Justin Burkett 
Commit: Justin Burkett 

Fix paging in which-key-manual-update
---
 which-key.el | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/which-key.el b/which-key.el
index 703d9f5..b6ae912 100644
--- a/which-key.el
+++ b/which-key.el
@@ -445,6 +445,7 @@ prefixes in `which-key-paging-prefixes'"
   "Keymap for C-h commands.")
 
 (defvar which-key--paging-functions '(which-key-C-h-dispatch
+  which-key-manual-update
   which-key-turn-page
   which-key-show-next-page-cycle
   which-key-show-next-page-no-cycle
@@ -2594,11 +2595,13 @@ follows
 
 This should be set after activating `which-key-mode'."
   (interactive)
-  (let* ((current-prefix
-  (butlast
-   (listify-key-sequence (which-key--this-command-keys)
-(which-key-reload-key-sequence current-prefix)
-(which-key--start-timer 0 t)))
+  (if (which-key--popup-showing-p)
+  (which-key-C-h-dispatch)
+(let* ((current-prefix
+(butlast
+ (listify-key-sequence (which-key--this-command-keys)
+  (which-key-reload-key-sequence current-prefix)
+  (which-key--start-timer 0.05 t
 
 (defun which-key--update ()
   "Function run by timer to possibly trigger



[elpa] externals/which-key a135e6f 34/51: Change name of workflow

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit a135e6f2c83e296da3ccfebc57a71e2b45a4f7c2
Author: Justin Burkett 
Commit: Justin Burkett 

Change name of workflow
---
 .github/workflows/test.yml | 2 +-
 README.org | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 0bf32f2..eb2a91e 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,4 +1,4 @@
-name: which-key-test-workflow
+name: which-key-test
 on:
   pull_request:
   push:
diff --git a/README.org b/README.org
index 40bcca7..cb31655 100644
--- a/README.org
+++ b/README.org
@@ -1,6 +1,6 @@
 * which-key
   
[[http://melpa.org/#/which-key][http://melpa.org/packages/which-key-badge.svg]]
-  
[[http://stable.melpa.org/#/which-key][file:http://stable.melpa.org/packages/which-key-badge.svg]]
 
[[build][https://github.com/justbur/emacs-which-key/workflows/which-key-test-workflow/badge.svg]]
+  
[[http://stable.melpa.org/#/which-key][file:http://stable.melpa.org/packages/which-key-badge.svg]]
 
[[build][https://github.com/justbur/emacs-which-key/workflows/which-key-test/badge.svg]]
 
 ** Recent Changes
 



[elpa] externals/which-key 5cec113 10/51: Announce which-key-manual-update

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 5cec1133cff535708feda43b8f6daa4dccbc28a2
Author: Justin Burkett 
Commit: Justin Burkett 

Announce which-key-manual-update
---
 README.org | 24 +++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 4991566..c9992da 100644
--- a/README.org
+++ b/README.org
@@ -3,6 +3,10 @@
   
 ** Recent Changes
 
+*** 2019-07-31: Added =which-key-manual-update=
+Allows one to trigger =which-key= on demand, rather than automatically. See
+the docstring and [[#manual-activation][Manual Activation]].
+
 *** 2017-12-13: Added =which-key-enable-extended-define-key=
 Allows for a concise syntax to specify replacement text using =define-key=
 or alternatives that use =define-key= internally. See the docstring and
@@ -24,6 +28,7 @@
 ** Table of Contents  :TOC_3:
 - [[#which-key][which-key]]
   - [[#recent-changes][Recent Changes]]
+- [[#2019-07-31-added-which-key-manual-update][2019-07-31: Added 
=which-key-manual-update=]]
 - [[#2017-12-13-added-which-key-enable-extended-define-key][2017-12-13: 
Added =which-key-enable-extended-define-key=]]
 - [[#2017-11-13-added-which-key-show-major-mode][2017-11-13: Added 
=which-key-show-major-mode=]]
   - [[#introduction][Introduction]]
@@ -35,6 +40,7 @@
 - [[#side-window-right-option][Side Window Right Option]]
 - [[#side-window-right-then-bottom][Side Window Right then Bottom]]
 - [[#minibuffer-option][Minibuffer Option]]
+  - [[#manual-activation][Manual Activation]]
   - [[#additional-commands][Additional Commands]]
   - [[#special-features-and-configuration-options][Special Features and 
Configuration Options]]
 - [[#popup-type-options][Popup Type Options]]
@@ -129,7 +135,23 @@
 variable =max-mini-window-height=. Also, the paging commands do not work
 reliably with the minibuffer option. Use the side window on the bottom
 option if you need paging.
-
+
+** Manual Activation
+   #+NAME: #manual-activation
+   If you only want the =which-key= popup when you need it, you can try a setup
+   along the following lines
+
+   #+BEGIN_SRC emacs-lisp
+   ;; make sure which-key doesn't show normally
+   (setq which-key-idle-delay 1000)
+   (which-key-mode)
+   (setq prefix-help-command 'which-key-manual-update)
+   #+END_SRC
+
+   This will prevent which-key from showing automatically, and allow you to use
+   =C-h= in the middle of a key sequence to show the =which-key= buffer and 
keep
+   it open for the remainder of the key sequence.
+
 ** Additional Commands
- =which-key-show-top-level= will show most key bindings without a prefix. 
It
  is most and not all, because many are probably not interesting to most



[elpa] externals/which-key 1231016 29/51: More workflow fixes

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 12310164a45f3ff19c4fd21c5487b6d804cbc80a
Author: Justin Burkett 
Commit: Justin Burkett 

More workflow fixes
---
 .github/workflows/test.yml | 4 
 1 file changed, 4 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 91a8c7d..0bf32f2 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -11,10 +11,6 @@ jobs:
 strategy:
   matrix:
 emacs_version:
-  - 24.1
-  - 24.2
-  - 24.3
-  - 24.4
   - 24.5
   - 25.1
   - 25.2



[elpa] externals/which-key da1abb4 27/51: Fix previous commit

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit da1abb4d9f59714d8d3d5201c78a6b6f92cd
Author: Justin Burkett 
Commit: Justin Burkett 

Fix previous commit
---
 .github/workflows/test.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 3af1847..8a7ad41 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,6 +1,6 @@
 name: which-key-test-workflow
 on:
-  pull-request:
+  pull_request:
   push:
 branches:
   - master



[elpa] externals/which-key 2b10b8e 50/51: Remove use of focus-{in, out}-hook

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 2b10b8e77dc53f4d88191ac6e6675ecf1f1ccc63
Author: Justin Burkett 
Commit: Justin Burkett 

Remove use of focus-{in,out}-hook

Fix #259 #260 #262
---
 which-key.el | 4 
 1 file changed, 4 deletions(-)

diff --git a/which-key.el b/which-key.el
index 6eb8e35..c08cfd8 100644
--- a/which-key.el
+++ b/which-key.el
@@ -815,8 +815,6 @@ problems at github. If DISABLE is non-nil disable support."
 (when which-key-show-remaining-keys
   (add-hook 'pre-command-hook #'which-key--lighter-restore))
 (add-hook 'pre-command-hook #'which-key--hide-popup)
-(add-hook 'focus-out-hook #'which-key--stop-timer)
-(add-hook 'focus-in-hook #'which-key--start-timer)
 (add-hook 'window-size-change-functions
   'which-key--hide-popup-on-frame-size-change)
 (which-key--start-timer))
@@ -826,8 +824,6 @@ problems at github. If DISABLE is non-nil disable support."
 (when which-key-show-remaining-keys
   (remove-hook 'pre-command-hook #'which-key--lighter-restore))
 (remove-hook 'pre-command-hook #'which-key--hide-popup)
-(remove-hook 'focus-out-hook #'which-key--stop-timer)
-(remove-hook 'focus-in-hook #'which-key--start-timer)
 (remove-hook 'window-size-change-functions
  'which-key--hide-popup-on-frame-size-change)
 (which-key--stop-timer)))



[elpa] externals/which-key 6e4b4c5 36/51: Simplify last commit

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 6e4b4c5419b7b981da6300302278de167f76126b
Author: Justin Burkett 
Commit: Justin Burkett 

Simplify last commit
---
 which-key.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index e0b30de..312272c 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1329,7 +1329,7 @@ width) in lines and characters respectively."
  ((not which-key-sort-uppercase-first)
   (let ((aup (not (string-equal da a)))
 (bup (not (string-equal db b
-(if (or (and aup bup) (and (not aup) (not bup)))
+(if (eq aup bup)
 (string-lessp a b)
   bup)))
  (t (string-lessp a b)



[elpa] externals/which-key a916c9a 15/51: Fix typos (#222)

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit a916c9ae28e961922d8d8419e633f9321fcdbe53
Author: Jonas Bernoulli 
Commit: Justin Burkett 

Fix typos (#222)
---
 README.org   | 2 +-
 which-key.el | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index b21711f..7b0de1c 100644
--- a/README.org
+++ b/README.org
@@ -473,7 +473,7 @@
   ;; prefixes). Descriptions that are longer are truncated and have ".." 
added.
   (setq which-key-max-description-length 27)
 
-  ;; Use additonal padding between columns of keys. This variable 
specifies the
+  ;; Use additional padding between columns of keys. This variable 
specifies the
   ;; number of spaces to add to the left of each column.
   (setq which-key-add-column-padding 0)
 
diff --git a/which-key.el b/which-key.el
index 7a495ec..88775d4 100644
--- a/which-key.el
+++ b/which-key.el
@@ -110,7 +110,7 @@ artificially reducing the available width in the buffer.
 The default of 3 means allow for the total extra width
 contributed by any wide unicode characters to be up to one
 additional ASCII character in the which-key buffer.  Increase this
-number if you are seeing charaters get cutoff on the right side
+number if you are seeing characters get cutoff on the right side
 of the which-key popup."
   :group 'which-key
   :type 'integer)
@@ -1538,7 +1538,7 @@ in order for which-key to allow looking up a description 
for the key."
 (defun which-key--maybe-get-prefix-title (keys)
   "KEYS is a string produced by `key-description'.
 A title is possibly returned using
-`which-key--prefix-title-alist'.  An empty stiring is returned if
+`which-key--prefix-title-alist'.  An empty string is returned if
 no title exists."
   (cond
((not (string-equal keys ""))



[elpa] externals/which-key b11227b 23/51: Strip out advice in command docstrings

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit b11227b24be1c56b31380395f266983e889a7f8d
Author: Henrik Lissner 
Commit: Justin Burkett 

Strip out advice in command docstrings
---
 which-key.el | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index de96a49..2adda88 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1671,7 +1671,12 @@ and `which-key-show-docstrings' is non-nil. If
 return the docstring."
   (let* ((orig-sym (intern original))
  (doc (when (commandp orig-sym)
-(documentation orig-sym)))
+(string-trim-left
+ (documentation orig-sym)
+ (concat "\\(?::"
+ 
"\\(?:\\(?:after\\|before\\)\\(?:-\\(?:until\\|while\\)\\)?\\|around\\|override\\|filter-\\(?:args\\|return\\)\\)"
+ " advice: [^\n]+\n"
+ "\\)+\n"
  (docstring (when doc
   (which-key--propertize (car (split-string doc "\n"))
  'face 
'which-key-docstring-face



[elpa] externals/which-key updated (9c5922e -> d794c4a)

2020-09-08 Thread Stefan Monnier
monnier pushed a change to branch externals/which-key.

  from  9c5922e   Version 3.3.2
   new  51c485f   Don't ignore case when making replacements
   new  c87b0ce   Add debugging messages for buffer sizing
   new  187ac0e   Add note to docstring for which-key-idle-delay
   new  77586e6   Add which-key-dump-bindings
   new  ba03e7e   Add translation keymap support (#210)
   new  fb2bc8f   Add which-key-persistent-popup-p variable (#213)
   new  cf8572a   which-key-persistent-popup-p -> which-key-persistent-popup
   new  da2e093   Add no-paging optional arg to which-key-show-keymap
   new  5cbfccd   Add which-key-manual-update
   new  5cec113   Announce which-key-manual-update
   new  c47c72d   Cleanup whitespace in README
   new  2cb5ceb   Fix paging in which-key-manual-update
   new  a256c4b   Use which-key-idle-secondary-delay value in manual updates
   new  42a2505   Rework implementation of manual updating
   new  a916c9a   Fix typos (#222)
   new  dcb9820   Default to imprecise window fitting on terminal
   new  8554a9f   Generalize C-h commands to use help-char
   new  1e3640e   Make next page hint more consistent
   new  db3d003   Add full keymap versions of show-{major,minor}-mode
   new  45bfcd3   Make which-key-show prefix mode-line work like top and 
bottom
   new  b11227b   Strip out advice in command docstrings
   new  d1dfddc   Refactor regexp & fix incompatibility + error
   new  fcc509f   Update travis versions
   new  a66bf93   Try purcell's workflow action
   new  da1abb4   Fix previous commit
   new  3401440   Fix workflow
   new  1231016   More workflow fixes
   new  190310d   Disable travis and cask
   new  cf44641   Replace travis badge with github workflow badge
   new  c4b7aae   Revive Cask file
   new  90d10a8   Fix sorting of keys and add test
   new  a135e6f   Change name of workflow
   new  d5a4273   Replace use of xor
   new  6e4b4c5   Simplify last commit
   new  9ff54ff   Fix short windows being resized
   new  7b068f3   Fix case sorting in alpha sort functions
   new  f9d8d49   Fix prefix argument for which-key-show-major-mode (#239)
   new  0d0af8a   Strip out advice in command docstrings
   new  9d1de2f   Refactor regexp & fix incompatibility + error
   new  9550707   Merge remote-tracking branch 'hlissner/patch-1'
   new  7bc87e0   Test once a month
   new  8b49ae9   Fix last commit
   new  8f2427a   Fix which-key--propertize-description use 
make-text-button return value (#249)
   new  ce25fb2   Add basic PR template
   new  3642c11   Speed up which-key--maybe-replace
   new  e48e190   Fix #257 (#258)
   new  ebb4e92   Add which-key-add-keymap-based-replacements
   new  e048b2a   Stop testing against v24.5
   new  e554326   Remove testing badge from README
   new  2b10b8e   Remove use of focus-{in,out}-hook
   new  d794c4a   Improve keymap-based-replacement description in README


Summary of changes:
 .github/pull_request_template.md |   4 +
 .github/workflows/test.yml   |  30 +++
 .travis.yml  |  26 ---
 Cask |   1 -
 README.org   | 231 
 which-key-tests.el   |  79 ++-
 which-key.el | 459 +++
 7 files changed, 574 insertions(+), 256 deletions(-)
 create mode 100644 .github/pull_request_template.md
 create mode 100644 .github/workflows/test.yml
 delete mode 100644 .travis.yml



[elpa] externals/which-key 7b068f3 38/51: Fix case sorting in alpha sort functions

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 7b068f3e95a0d777cbdba92aecb6c876ccddbae5
Author: Justin Burkett 
Commit: Justin Burkett 

Fix case sorting in alpha sort functions
---
 which-key-tests.el | 4 ++--
 which-key.el   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/which-key-tests.el b/which-key-tests.el
index 8179797..ae015be 100644
--- a/which-key-tests.el
+++ b/which-key-tests.el
@@ -170,12 +170,12 @@
   (should
(equal
 (mapcar 'car (sort (copy-sequence keys) 'which-key-key-order-alpha))
-'("SPC" "a" "A" "b" "B" "p" "C-a"
+'("SPC" "A" "a" "B" "b" "p" "C-a"
 (let (which-key-sort-uppercase-first)
   (should
(equal
 (mapcar 'car (sort (copy-sequence keys) 'which-key-key-order-alpha))
-'("SPC" "A" "a" "B" "b" "p" "C-a"
+'("SPC" "a" "A" "b" "B" "p" "C-a"
 (let ((which-key-sort-uppercase-first t))
   (should
(equal
diff --git a/which-key.el b/which-key.el
index d0a28a1..e5127ee 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1321,11 +1321,11 @@ width) in lines and characters respectively."
 (cond
  ((and alpha (not which-key-sort-uppercase-first))
   (if (string-equal da db)
-  (string-lessp a b)
+  (not (string-lessp a b))
 (string-lessp da db)))
  ((and alpha which-key-sort-uppercase-first)
   (if (string-equal da db)
-  (not (string-lessp a b))
+  (string-lessp a b)
 (string-lessp da db)))
  ((not which-key-sort-uppercase-first)
   (let ((aup (not (string-equal da a)))



[elpa] externals/which-key dcb9820 16/51: Default to imprecise window fitting on terminal

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit dcb9820c2decd326465ec3dfc792d30429cec564
Author: Justin Burkett 
Commit: Justin Burkett 

Default to imprecise window fitting on terminal

See #225.
---
 which-key.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/which-key.el b/which-key.el
index 88775d4..1a0f5c6 100644
--- a/which-key.el
+++ b/which-key.el
@@ -341,12 +341,13 @@ a percentage out of the frame's height."
   :group 'which-key
   :type 'integer)
 
-(defcustom which-key-allow-imprecise-window-fit nil
+(defcustom which-key-allow-imprecise-window-fit (not (display-graphic-p))
   "If non-nil allow which-key to use a less intensive method of
 fitting the popup window to the buffer. If you are noticing lag
 when the which-key popup displays turning this on may help.
 
-See https://github.com/justbur/emacs-which-key/issues/130";
+See https://github.com/justbur/emacs-which-key/issues/130
+and https://github.com/justbur/emacs-which-key/issues/225.";
   :group 'which-key
   :type 'boolean)
 



[elpa] externals/which-key 1e3640e 18/51: Make next page hint more consistent

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 1e3640e48c31f8062f018b5fc84acad696a0ea2a
Author: Justin Burkett 
Commit: Justin Burkett 

Make next page hint more consistent
---
 which-key.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/which-key.el b/which-key.el
index f3334e1..1da0cfb 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2049,9 +2049,10 @@ max-lines max-width avl-lines avl-width 
(which-key--pages-height result))
   (let* ((paging-key (concat prefix-keys " " which-key-paging-key))
  (paging-key-bound (eq 'which-key-C-h-dispatch
(key-binding (kbd paging-key
+ (key (key-description (vector help-char)))
  (key (if paging-key-bound
-  which-key-paging-key
-(key-description (vector help-char)
+  (concat key " or " which-key-paging-key)
+key)))
 (when which-key-use-C-h-commands
   (which-key--propertize (format "[%s paging/help]" key)
  'face 'which-key-note-face



[elpa] externals/which-key 9d1de2f 20/51: Refactor regexp & fix incompatibility + error

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 9d1de2f1273135cafc567e7ae43a3f6ca8f32f6b
Author: Henrik Lissner 
Commit: GitHub 

Refactor regexp & fix incompatibility + error
---
 which-key.el | 15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/which-key.el b/which-key.el
index 74de737..c8029b7 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1671,12 +1671,17 @@ and `which-key-show-docstrings' is non-nil. If
 return the docstring."
   (let* ((orig-sym (intern original))
  (doc (when (commandp orig-sym)
-(string-trim-left
- (documentation orig-sym)
- (concat "\\(?::"
- 
"\\(?:\\(?:after\\|before\\)\\(?:-\\(?:until\\|while\\)\\)?\\|around\\|override\\|filter-\\(?:args\\|return\\)\\)"
+(documentation orig-sym)))
+ (doc (when doc
+(replace-regexp-in-string
+ (concat "^\\(?::"
+ (regexp-opt '("around" "override"
+   "after" "after-until" "after-while"
+   "before" "before-until" "before-while"
+   "filter-args" "filter-return"))
  " advice: [^\n]+\n"
- "\\)+\n"
+ "\\)+\n")
+ "" doc)))
  (docstring (when doc
   (which-key--propertize (car (split-string doc "\n"))
  'face 
'which-key-docstring-face



[elpa] externals/which-key 7bc87e0 41/51: Test once a month

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 7bc87e0f93bd0258bf115cb02c4e8f86f57b38fc
Author: Justin Burkett 
Commit: Justin Burkett 

Test once a month
---
 .github/workflows/test.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index eb2a91e..56b2e9e 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -4,6 +4,8 @@ on:
   push:
 branches:
   - master
+  schedule:
+- cron: '* * 1 * *'
 
 jobs:
   build:



[elpa] externals/which-key c87b0ce 02/51: Add debugging messages for buffer sizing

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit c87b0ce78213f922a725be1e0ae2dede1cf29516
Author: Justin Burkett 
Commit: Justin Burkett 

Add debugging messages for buffer sizing
---
 which-key.el | 27 +--
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/which-key.el b/which-key.el
index 08f259d..2aeaeaa 100644
--- a/which-key.el
+++ b/which-key.el
@@ -640,12 +640,13 @@ used.")
 (defvar which-key--automatic-display nil
   "Internal: Non-nil if popup was triggered with automatic
 update.")
+(defvar which-key--debug-buffer-name nil
+  "If non-nil, use this buffer for debug messages.")
 (defvar which-key--multiple-locations nil)
 (defvar which-key--inhibit-next-operator-popup nil)
 (defvar which-key--prior-show-keymap-args nil)
 (defvar which-key--previous-frame-size nil)
 (defvar which-key--prefix-title-alist nil)
-(defvar which-key--debug nil)
 (defvar which-key--evil-keys-regexp (eval-when-compile
   (regexp-opt '("-state"
 (defvar which-key--ignore-non-evil-keys-regexp
@@ -701,6 +702,14 @@ update.")
   (when which-key--pages-obj
 (which-key--pages-prefix which-key--pages-obj)))
 
+(defmacro which-key--debug-message (&rest msg)
+  `(when which-key--debug-buffer-name
+ (let ((buf (get-buffer-create which-key--debug-buffer-name))
+   (fmt-msg (format ,@msg)))
+   (with-current-buffer buf
+ (goto-char (point-max))
+ (insert "\n" fmt-msg "\n")
+
 ;;; Third-party library support
  Evil
 
@@ -1919,7 +1928,7 @@ as well as metadata."
 (push page-width page-widths))
   (make-which-key--pages
:pages (nreverse pages)
-   :height avl-lines
+   :height (if (> n-pages 1) avl-lines (min avl-lines n-keys))
:widths (nreverse page-widths)
:keys/page (reverse keys/page)
:page-nums (number-sequence 1 n-pages)
@@ -1981,6 +1990,12 @@ is the width of the live window."
 (or prefix-title
 (which-key--maybe-get-prefix-title
  (key-description prefix-keys
+  (which-key--debug-message "Frame height: %s
+Minibuffer height: %s
+Max dimensions: (%s,%s)
+Available for bindings: (%s,%s)
+Actual lines: %s" (frame-height) (window-text-height (minibuffer-window))
+max-lines max-width avl-lines avl-width (which-key--pages-height result))
   result)))
 
 (defun which-key--lighter-status ()
@@ -2495,7 +2510,7 @@ is selected interactively by mode in 
`minor-mode-map-alist'."
 (&optional prefix-keys from-keymap filter prefix-title)
   "Fill `which-key--buffer' with key descriptions and reformat.
 Finally, show the buffer."
-  (let ((start-time (when which-key--debug (current-time)))
+  (let ((start-time (current-time))
 (formatted-keys (which-key--get-bindings
  prefix-keys from-keymap filter))
 (prefix-desc (key-description prefix-keys)))
@@ -2510,9 +2525,9 @@ Finally, show the buffer."
(which-key--create-pages
 formatted-keys prefix-keys prefix-title))
  (which-key--show-page)))
-(when which-key--debug
-  (message "On prefix \"%s\" which-key took %.0f ms." prefix-desc
-   (* 1000 (float-time (time-since start-time)))
+(which-key--debug-message
+ "On prefix \"%s\" which-key took %.0f ms." prefix-desc
+ (* 1000 (float-time (time-since start-time))
 
 (defun which-key--this-command-keys ()
   "Version of `this-single-command-keys' corrected for key-chords and 
god-mode."



[elpa] externals/which-key ebb4e92 47/51: Add which-key-add-keymap-based-replacements

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit ebb4e92b3ccab1d813346e24dccf9692850754db
Author: Justin Burkett 
Commit: Justin Burkett 

Add which-key-add-keymap-based-replacements

This is an alternative to advising define-key using
which-key-enable-extended-define-key, but functions the same beneath the
surface.

Ref #226 #261
---
 README.org   | 28 +++-
 which-key.el | 60 +++-
 2 files changed, 74 insertions(+), 14 deletions(-)

diff --git a/README.org b/README.org
index cb31655..c335e45 100644
--- a/README.org
+++ b/README.org
@@ -4,6 +4,11 @@
 
 ** Recent Changes
 
+*** 2020-08-28: Added =which-key-add-keymap-based-replacements=
+This function provides an alternative interface allowing replacements to be
+stored directly in keymaps, allowing one to avoid using
+=which-key-replacement-alist=, which may cause performance issues when it
+gets very big.
 *** 2019-08-01: Added =which-key-show-early-on-C-h=
 Allows one to trigger =which-key= on demand, rather than automatically. See
 the docstring and [[#manual-activation][Manual Activation]].
@@ -29,6 +34,7 @@
 ** Table of Contents  :TOC_3:
 - [[#which-key][which-key]]
   - [[#recent-changes][Recent Changes]]
+- [[#2020-08-28-added-which-key-add-keymap-based-replacements][2020-08-28: 
Added =which-key-add-keymap-based-replacements=]]
 - [[#2019-08-01-added-which-key-show-early-on-c-h][2019-08-01: Added 
=which-key-show-early-on-C-h=]]
 - [[#2017-12-13-added-which-key-enable-extended-define-key][2017-12-13: 
Added =which-key-enable-extended-define-key=]]
 - [[#2017-11-13-added-which-key-show-major-mode][2017-11-13: Added 
=which-key-show-major-mode=]]
@@ -255,7 +261,7 @@
 idea of behind each alist is that you specify a selection string in the
 =car= of each cons cell and the replacement string in the =cdr=.
 
- Automatic
+ Automatic ("keymap-based") replacement
  A newer option is to set =which-key-enable-extended-define-key= which
  advises =define-key= to allow which-key to pre-process its arguments. The
  statement
@@ -273,6 +279,26 @@
  (define-key some-map "b" '("bar-prefix"))
  #+END_SRC
 
+ If you do not want to enable the advise on =define-key=, you may also use
+ =which-key-add-keymap-based-replacements=. The above examples can be
+ alternatively written as
+
+ #+BEGIN_SRC emacs-lisp
+ (which-key-add-keymap-based-replacements some-map
+   "f" '("foo" . long-name-for-command-foo)
+   ;; or
+   ;; "f" "foo"
+   "b" '("bar-prefix")
+   ;; or
+   ;; "b" "bar-prefix"
+ )
+ #+END_SRC
+
+ Note that while the alternative methods below use
+ =which-key-replacement-alist=, the "keymap-based" replacements store
+ replacements in the keymaps themselves, so should avoid performance issues
+ when =which-key-replacement-alist= becomes very large.
+
  "Key-Based" replacement
  Using this method, the description of a key is replaced using a string 
that
  you provide. Here's an example
diff --git a/which-key.el b/which-key.el
index 766c8f1..6eb8e35 100644
--- a/which-key.el
+++ b/which-key.el
@@ -913,6 +913,41 @@ but more functional."
 ;;; Helper functions to modify replacement lists.
 
 ;;;###autoload
+(defun which-key-add-keymap-based-replacements (keymap key replacement &rest 
more)
+  "Replace the description of KEY using REPLACEMENT in KEYMAP.
+KEY should take a format suitable for use in
+`kbd'. REPLACEMENT is the string to use to describe the
+command associated with KEY in the KEYMAP. You may also use a
+cons cell of the form \(STRING . COMMAND\) for each REPLACEMENT,
+where STRING is the replacement string and COMMAND is a symbol
+corresponding to the intended command to be replaced. In the
+latter case, which-key will verify the intended command before
+performing the replacement. COMMAND should be nil if the binding
+corresponds to a key prefix. For example,
+
+\(which-key-add-keymap-based-replacements global-map
+  \"C-x w\" \"Save as\"\)
+
+and
+
+\(which-key-add-keymap-based-replacements global-map
+  \"C-x w\" '\(\"Save as\" . write-file\)\)
+
+both have the same effect for the \"C-x C-w\" key binding, but
+the latter causes which-key to verify that the key sequence is
+actually bound to write-file before performing the replacement."
+  (while key
+(let ((string (if (stringp replacement)
+  replacement
+(car-safe replacement)))
+  (command (cdr-safe replacement)))
+  (define-key keymap (which-key--pseudo-key (kbd key))
+`(which-key ,(cons string command
+(setq key (pop more)
+  replacement (pop more
+(put 'which-key-add-keymap-based-replacements 'lisp-indent-function 'defun)
+
+;;;###autoload
 (defun which-key-add-key-based-replacements
 (key-sequence replacement &rest 

[elpa] externals/which-key 51c485f 01/51: Don't ignore case when making replacements

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 51c485f16b4724488bcf2cbf7933fbd9eede1edd
Author: Justin Burkett 
Commit: Justin Burkett 

Don't ignore case when making replacements

Fixes #204
---
 which-key.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index 70a6d18..08f259d 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1406,7 +1406,8 @@ local bindings coming first. Within these categories 
order using
   ;; handled in the selection of alist
   (when (and (consp key-binding) (not (symbolp (car replacement
 (let ((key-regexp (caar replacement))
-  (binding-regexp (cdar replacement)))
+  (binding-regexp (cdar replacement))
+  case-fold-search)
   (and (or (null key-regexp)
(string-match-p key-regexp
(car key-binding)))



[elpa] externals/which-key d5a4273 35/51: Replace use of xor

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit d5a42732a6f39bb4284f378a6996aacecf888dc0
Author: Justin Burkett 
Commit: Justin Burkett 

Replace use of xor

Apparently this is a recent function
---
 which-key.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index f7bab55..e0b30de 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1329,7 +1329,7 @@ width) in lines and characters respectively."
  ((not which-key-sort-uppercase-first)
   (let ((aup (not (string-equal da a)))
 (bup (not (string-equal db b
-(if (not (xor aup bup))
+(if (or (and aup bup) (and (not aup) (not bup)))
 (string-lessp a b)
   bup)))
  (t (string-lessp a b)



[elpa] externals/which-key e48e190 46/51: Fix #257 (#258)

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit e48e190a75a0c176e1deac218b891e77792d6921
Author: Rudi Grinberg 
Commit: GitHub 

Fix #257 (#258)

* Add test for #257

Signed-off-by: Rudi Grinberg 

* Fix #257

Explicitly distinguish between replacing with `nil` and not replacing at
all.

I'm also simplifying the code by making all the branches more explicit.
This is a little longer, but makes all the clauses obvious.

Signed-off-by: Rudi Grinberg 
---
 which-key-tests.el |  7 +++
 which-key.el   | 37 ++---
 2 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/which-key-tests.el b/which-key-tests.el
index ae015be..f9fac65 100644
--- a/which-key-tests.el
+++ b/which-key-tests.el
@@ -148,6 +148,13 @@
("e e e" . "eee")
("f" . "{ - C-f"))
 
+(ert-deftest which-key-test--nil-replacement ()
+  (let ((which-key-replacement-alist
+ '(((nil . "winum-select-window-[1-9]") . t
+(should (equal
+ (which-key--maybe-replace '("C-c C-c" . "winum-select-window-1"))
+ '()
+
 (ert-deftest which-key-test--key-sorting ()
   (let ((keys '(("a" . "z")
 ("A" . "Z")
diff --git a/which-key.el b/which-key.el
index 143540f..766c8f1 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1497,33 +1497,40 @@ local bindings coming first. Within these categories 
order using
 (defun which-key--replace-in-repl-list-once (key-binding repls)
   (cl-dolist (repl repls)
 (when (which-key--match-replacement key-binding repl)
-  (cl-return (which-key--replace-in-binding key-binding repl)
+  (cl-return `(replaced . ,(which-key--replace-in-binding key-binding 
repl))
 
 (defun which-key--replace-in-repl-list-many (key-binding repls)
-  (dolist (repl repls key-binding)
-(when (which-key--match-replacement key-binding repl)
-  (setq key-binding (which-key--replace-in-binding key-binding repl)
+  (let (found)
+(dolist (repl repls)
+  (when (which-key--match-replacement key-binding repl)
+(setq found 't)
+(setq key-binding (which-key--replace-in-binding key-binding repl
+(when found `(replaced . ,key-binding
 
 (defun which-key--maybe-replace (key-binding &optional prefix)
   "Use `which-key--replacement-alist' to maybe replace KEY-BINDING.
 KEY-BINDING is a cons cell of the form \(KEY . BINDING\) each of
 which are strings. KEY is of the form produced by `key-binding'."
-  (let* ((pseudo-binding (which-key--get-pseudo-binding key-binding prefix))
- replaced-key-binding)
+  (let* ((pseudo-binding (which-key--get-pseudo-binding key-binding prefix)))
 (if pseudo-binding
 pseudo-binding
   (let* ((replacer (if which-key-allow-multiple-replacements
#'which-key--replace-in-repl-list-many
  #'which-key--replace-in-repl-list-once)))
-(setq replaced-key-binding
-  (apply replacer
- (list key-binding
-   (cdr-safe (assq major-mode 
which-key-replacement-alist)
-;; terminate early if we're only looking for one replacement and we 
found it
-(if (and replaced-key-binding (not 
which-key-allow-multiple-replacements))
-replaced-key-binding
-  (setq key-binding (or replaced-key-binding key-binding))
-  (or (apply replacer (list key-binding which-key-replacement-alist)) 
key-binding))
+(pcase
+(apply replacer
+   (list key-binding
+ (cdr-safe (assq major-mode 
which-key-replacement-alist
+  (`(replaced . ,repl)
+   (if which-key-allow-multiple-replacements
+   (pcase (apply replacer (list repl which-key-replacement-alist))
+ (`(replaced . ,repl) repl)
+ ('() repl))
+ repl))
+  ('()
+   (pcase (apply replacer (list key-binding 
which-key-replacement-alist))
+ (`(replaced . ,repl) repl)
+ ('() key-binding
 
 (defsubst which-key--current-key-list (&optional key-str)
   (append (listify-key-sequence (which-key--current-prefix))



[elpa] externals/which-key d1dfddc 24/51: Refactor regexp & fix incompatibility + error

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit d1dfddcd1e3eaa418daa76414109994451044cdd
Author: Henrik Lissner 
Commit: Justin Burkett 

Refactor regexp & fix incompatibility + error
---
 which-key.el | 15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/which-key.el b/which-key.el
index 2adda88..09f5041 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1671,12 +1671,17 @@ and `which-key-show-docstrings' is non-nil. If
 return the docstring."
   (let* ((orig-sym (intern original))
  (doc (when (commandp orig-sym)
-(string-trim-left
- (documentation orig-sym)
- (concat "\\(?::"
- 
"\\(?:\\(?:after\\|before\\)\\(?:-\\(?:until\\|while\\)\\)?\\|around\\|override\\|filter-\\(?:args\\|return\\)\\)"
+(documentation orig-sym)))
+ (doc (when doc
+(replace-regexp-in-string
+ (concat "^\\(?::"
+ (regexp-opt '("around" "override"
+   "after" "after-until" "after-while"
+   "before" "before-until" "before-while"
+   "filter-args" "filter-return"))
  " advice: [^\n]+\n"
- "\\)+\n"
+ "\\)+\n")
+ "" doc)))
  (docstring (when doc
   (which-key--propertize (car (split-string doc "\n"))
  'face 
'which-key-docstring-face



[elpa] externals/which-key da2e093 08/51: Add no-paging optional arg to which-key-show-keymap

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit da2e093e916bf9ae7512c104512b92eca8fb224e
Author: Justin Burkett 
Commit: Justin Burkett 

Add no-paging optional arg to which-key-show-keymap
---
 which-key.el | 32 +++-
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/which-key.el b/which-key.el
index 1d3c21d..c47c576 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2429,12 +2429,16 @@ Only if no bindings fit fallback to LOC2."
 'which-key-keymap-history)))
 
 ;;;###autoload
-(defun which-key-show-keymap (keymap)
+(defun which-key-show-keymap (keymap &optional no-paging)
   "Show the top-level bindings in KEYMAP using which-key. KEYMAP
-is selected interactively from all available keymaps."
+is selected interactively from all available keymaps.
+
+If NO-PAGING is non-nil, which-key will not intercept subsequent
+keypresses for the paging functionality."
   (interactive (list (which-key--read-keymap)))
   (which-key--show-keymap (symbol-name keymap)
-  (symbol-value keymap)))
+  (symbol-value keymap)
+  nil nil no-paging))
 
 ;;;###autoload
 (defun which-key-show-full-keymap (keymap)
@@ -2464,7 +2468,8 @@ is selected interactively by mode in 
`minor-mode-map-alist'."
 (which-key--show-keymap (symbol-name mode-sym)
 (cdr (assq mode-sym minor-mode-map-alist)
 
-(defun which-key--show-keymap (keymap-name keymap &optional prior-args all)
+(defun which-key--show-keymap
+(keymap-name keymap &optional prior-args all no-paging)
   (when prior-args (push prior-args which-key--prior-show-keymap-args))
   (let ((bindings (which-key--get-bindings nil keymap nil all)))
 (if (= (length bindings) 0)
@@ -2477,15 +2482,16 @@ is selected interactively by mode in 
`minor-mode-map-alist'."
 (t (setq which-key--pages-obj
  (which-key--create-pages bindings nil keymap-name))
(which-key--show-page)))
-  (let* ((key (key-description (list (read-key
- (next-def (lookup-key keymap (kbd key
-(cond ((and which-key-use-C-h-commands (string= "C-h" key))
-   (which-key-C-h-dispatch))
-  ((keymapp next-def)
-   (which-key--hide-popup-ignore-command)
-   (which-key--show-keymap (concat keymap-name " " key) next-def
-   (cons keymap-name keymap)))
-  (t (which-key--hide-popup)))
+  (unless no-paging
+(let* ((key (key-description (list (read-key
+   (next-def (lookup-key keymap (kbd key
+  (cond ((and which-key-use-C-h-commands (string= "C-h" key))
+ (which-key-C-h-dispatch))
+((keymapp next-def)
+ (which-key--hide-popup-ignore-command)
+ (which-key--show-keymap (concat keymap-name " " key) next-def
+ (cons keymap-name keymap)))
+(t (which-key--hide-popup
 
 (defun which-key--evil-operator-filter (binding)
   (let ((def (intern (cdr binding



[elpa] externals/which-key e554326 49/51: Remove testing badge from README

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit e5543269fc2295e196a7824715b2e88b1b70345d
Author: Justin Burkett 
Commit: Justin Burkett 

Remove testing badge from README

Github integrates the results into the interface already, and it doesn't 
seem to
work.
---
 README.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.org b/README.org
index c335e45..301849e 100644
--- a/README.org
+++ b/README.org
@@ -1,6 +1,6 @@
 * which-key
   
[[http://melpa.org/#/which-key][http://melpa.org/packages/which-key-badge.svg]]
-  
[[http://stable.melpa.org/#/which-key][file:http://stable.melpa.org/packages/which-key-badge.svg]]
 
[[build][https://github.com/justbur/emacs-which-key/workflows/which-key-test/badge.svg]]
+  
[[http://stable.melpa.org/#/which-key][file:http://stable.melpa.org/packages/which-key-badge.svg]]
 
 ** Recent Changes
 



[elpa] externals/which-key f9d8d49 39/51: Fix prefix argument for which-key-show-major-mode (#239)

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit f9d8d49d1f955202514196de23369d61a42d816c
Author: Yunhao Zhao 
Commit: GitHub 

Fix prefix argument for which-key-show-major-mode (#239)
---
 which-key.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index e5127ee..8c88b44 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2317,7 +2317,7 @@ after first page."
 This function will also detect evil bindings made using
 `evil-define-key' in this map. These bindings will depend on the
 current evil state. "
-  (interactive)
+  (interactive "P")
   (let ((map-sym (intern (format "%s-map" major-mode
 (if (and (boundp map-sym) (keymapp (symbol-value map-sym)))
 (which-key--show-keymap



[elpa] externals/which-key 9550707 40/51: Merge remote-tracking branch 'hlissner/patch-1'

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 9550707d52894208894c036a0b83f958af887e3c
Merge: f9d8d49 9d1de2f
Author: Justin Burkett 
Commit: Justin Burkett 

Merge remote-tracking branch 'hlissner/patch-1'



[elpa] externals/which-key d794c4a 51/51: Improve keymap-based-replacement description in README

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit d794c4a0afdf9b9f0a9df86a9797789c703591ee
Author: Justin Burkett 
Commit: Justin Burkett 

Improve keymap-based-replacement description in README

Ref #263
---
 README.org | 31 +++
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/README.org b/README.org
index 301849e..92745ff 100644
--- a/README.org
+++ b/README.org
@@ -263,27 +263,29 @@
 
  Automatic ("keymap-based") replacement
  A newer option is to set =which-key-enable-extended-define-key= which
- advises =define-key= to allow which-key to pre-process its arguments. The
- statement
+ advises =define-key= to allow which-key to pre-process its arguments. With
+ this option enabled, the statement
 
  #+BEGIN_SRC emacs-lisp
- (define-key some-map "f" '("foo" . long-name-for-command-foo))
+ (define-key some-map "f" '("foo" . command-foo))
  #+END_SRC
 
- is valid in Emacs. Setting this variable makes which-key automatically
- replace the corresponding command name with the text in the string. A nice
- example is in naming prefixes. The following binds "b" to =nil= and names
- the binding as a prefix.
+ will both bind the command =command-foo= to "f" in =some-map= and tell
+ which-key to use the string "foo" for this command. This also works with
+ naming prefixes if you use =nil= for the command. The following binds "b"
+ to =nil= and names the binding as a prefix.
 
  #+BEGIN_SRC emacs-lisp
  (define-key some-map "b" '("bar-prefix"))
  #+END_SRC
 
  If you do not want to enable the advise on =define-key=, you may also use
- =which-key-add-keymap-based-replacements=. The above examples can be
+ =which-key-add-keymap-based-replacements=. The first example can be
  alternatively written as
 
  #+BEGIN_SRC emacs-lisp
+ (define-key some-map "f" 'command-foo)
+ (define-key some-map "b" some-prefix-map)
  (which-key-add-keymap-based-replacements some-map
"f" '("foo" . long-name-for-command-foo)
;; or
@@ -294,10 +296,15 @@
  )
  #+END_SRC
 
- Note that while the alternative methods below use
- =which-key-replacement-alist=, the "keymap-based" replacements store
- replacements in the keymaps themselves, so should avoid performance issues
- when =which-key-replacement-alist= becomes very large.
+ Note that =which-key-add-keymap-based-replacements= will not bind a
+ command, so =define-key= must still be used.
+
+ There are other methods of telling which-key to replace command names,
+ which are described next. The keymap-based replacements should be the most
+ performant since they use built-in functionality of emacs. However, the
+ alternatives can be more flexible in telling which-key how and when to
+ replace text. They can be used simultaneously, but which-key will give
+ precedence to the keymap-based replacement when it exists.
 
  "Key-Based" replacement
  Using this method, the description of a key is replaced using a string 
that



[elpa] externals/which-key ce25fb2 44/51: Add basic PR template

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit ce25fb260003eb965e1c104804f690d9405ec8b4
Author: Justin Burkett 
Commit: Justin Burkett 

Add basic PR template
---
 .github/pull_request_template.md | 4 
 1 file changed, 4 insertions(+)

diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 000..70cf8f0
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,4 @@
+Pull requests are welcome as long as the following apply. 
+
+1. The issue you are fixing or feature you are adding is clearly described 
and/or referenced in the pull request or github issue. 
+2. Since which-key is on [GNU ELPA](https://elpa.gnu.org/packages/), any 
[legally 
significant](https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html#Legally-Significant)
 changes must have their copyright assigned to the FSF ([more 
info](https://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html)). If 
you have not done so and would like to assign copyright, please see the 
[request 
form](https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.fu
 [...]



[elpa] externals/which-key 3642c11 45/51: Speed up which-key--maybe-replace

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 3642c11d5ef9be3c6fb9edb8fd5ec3c370abd889
Author: Rudi Grinberg 
Commit: Justin Burkett 

Speed up which-key--maybe-replace

The first optimization is avoiding the intermediate list created by
append. Instead we just iterate over the two lists in turn

The second opimitization occurs where
which-key-allow-multiple-replacements is nil, in which case we can stop
the iteration once we've found a replacement

Signed-off-by: Rudi Grinberg 
---
 which-key.el | 67 +---
 1 file changed, 41 insertions(+), 26 deletions(-)

diff --git a/which-key.el b/which-key.el
index 475772f..143540f 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1476,39 +1476,54 @@ local bindings coming first. Within these categories 
order using
(eq pseudo-def real-def))
   (cons (car key-binding) pseudo-desc
 
+(defsubst which-key--replace-in-binding (key-binding repl)
+  (cond ((or (not (consp repl)) (null (cdr repl)))
+ key-binding)
+((functionp (cdr repl))
+ (funcall (cdr repl) key-binding))
+((consp (cdr repl))
+ (cons
+  (cond ((and (caar repl) (cadr repl))
+ (replace-regexp-in-string
+  (caar repl) (cadr repl) (car key-binding) t))
+((cadr repl) (cadr repl))
+(t (car key-binding)))
+  (cond ((and (cdar repl) (cddr repl))
+ (replace-regexp-in-string
+  (cdar repl) (cddr repl) (cdr key-binding) t))
+((cddr repl) (cddr repl))
+(t (cdr key-binding)))
+
+(defun which-key--replace-in-repl-list-once (key-binding repls)
+  (cl-dolist (repl repls)
+(when (which-key--match-replacement key-binding repl)
+  (cl-return (which-key--replace-in-binding key-binding repl)
+
+(defun which-key--replace-in-repl-list-many (key-binding repls)
+  (dolist (repl repls key-binding)
+(when (which-key--match-replacement key-binding repl)
+  (setq key-binding (which-key--replace-in-binding key-binding repl)
+
 (defun which-key--maybe-replace (key-binding &optional prefix)
   "Use `which-key--replacement-alist' to maybe replace KEY-BINDING.
 KEY-BINDING is a cons cell of the form \(KEY . BINDING\) each of
 which are strings. KEY is of the form produced by `key-binding'."
   (let* ((pseudo-binding (which-key--get-pseudo-binding key-binding prefix))
- one-match)
+ replaced-key-binding)
 (if pseudo-binding
 pseudo-binding
-  (let* ((all-repls
-  (append (cdr-safe (assq major-mode which-key-replacement-alist))
-  which-key-replacement-alist)))
-(dolist (repl all-repls key-binding)
-  (when (and (or which-key-allow-multiple-replacements
- (not one-match))
- (which-key--match-replacement key-binding repl))
-(setq one-match t)
-(setq key-binding
-  (cond ((or (not (consp repl)) (null (cdr repl)))
- key-binding)
-((functionp (cdr repl))
- (funcall (cdr repl) key-binding))
-((consp (cdr repl))
- (cons
-  (cond ((and (caar repl) (cadr repl))
- (replace-regexp-in-string
-  (caar repl) (cadr repl) (car key-binding) t))
-((cadr repl) (cadr repl))
-(t (car key-binding)))
-  (cond ((and (cdar repl) (cddr repl))
- (replace-regexp-in-string
-  (cdar repl) (cddr repl) (cdr key-binding) t))
-((cddr repl) (cddr repl))
-(t (cdr key-binding)
+  (let* ((replacer (if which-key-allow-multiple-replacements
+   #'which-key--replace-in-repl-list-many
+ #'which-key--replace-in-repl-list-once)))
+(setq replaced-key-binding
+  (apply replacer
+ (list key-binding
+   (cdr-safe (assq major-mode 
which-key-replacement-alist)
+;; terminate early if we're only looking for one replacement and we 
found it
+(if (and replaced-key-binding (not 
which-key-allow-multiple-replacements))
+replaced-key-binding
+  (setq key-binding (or replaced-key-binding key-binding))
+  (or (apply replacer (list key-binding which-key-replacement-alist)) 
key-binding))
 
 (defsubst which-key--current-key-list (&optional key-str)
   (append (listify-key-sequence (which-key--current-prefix))



[elpa] externals/which-key 90d10a8 33/51: Fix sorting of keys and add test

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 90d10a8fb335a21008084ab8b4ba722347ec6c74
Author: Justin Burkett 
Commit: Justin Burkett 

Fix sorting of keys and add test

Fixes #233
---
 which-key-tests.el | 65 ++
 which-key.el   | 26 +++---
 2 files changed, 83 insertions(+), 8 deletions(-)

diff --git a/which-key-tests.el b/which-key-tests.el
index cff7fab..8179797 100644
--- a/which-key-tests.el
+++ b/which-key-tests.el
@@ -148,5 +148,70 @@
("e e e" . "eee")
("f" . "{ - C-f"))
 
+(ert-deftest which-key-test--key-sorting ()
+  (let ((keys '(("a" . "z")
+("A" . "Z")
+("b" . "y")
+("B" . "Y")
+("p" . "Prefix")
+("SPC" . "x")
+("C-a" . "w"
+(let ((which-key-sort-uppercase-first t))
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys) 'which-key-key-order))
+'("SPC" "A" "B" "a" "b" "p" "C-a"
+(let (which-key-sort-uppercase-first)
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys) 'which-key-key-order))
+'("SPC" "a" "b" "p" "A" "B" "C-a"
+(let ((which-key-sort-uppercase-first t))
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys) 'which-key-key-order-alpha))
+'("SPC" "a" "A" "b" "B" "p" "C-a"
+(let (which-key-sort-uppercase-first)
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys) 'which-key-key-order-alpha))
+'("SPC" "A" "a" "B" "b" "p" "C-a"
+(let ((which-key-sort-uppercase-first t))
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys)
+   'which-key-prefix-then-key-order))
+'("SPC" "A" "B" "a" "b" "C-a" "p"
+(let (which-key-sort-uppercase-first)
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys)
+   'which-key-prefix-then-key-order))
+'("SPC" "a" "b" "A" "B" "C-a" "p"
+(let ((which-key-sort-uppercase-first t))
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys)
+   'which-key-prefix-then-key-order-reverse))
+'("p" "SPC" "A" "B" "a" "b" "C-a"
+(let (which-key-sort-uppercase-first)
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys)
+   'which-key-prefix-then-key-order-reverse))
+'("p" "SPC" "a" "b" "A" "B" "C-a"
+(let ((which-key-sort-uppercase-first t))
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys)
+   'which-key-description-order))
+'("p" "C-a" "SPC" "b" "B" "a" "A"
+(let (which-key-sort-uppercase-first)
+  (should
+   (equal
+(mapcar 'car (sort (copy-sequence keys)
+   'which-key-description-order))
+'("p" "C-a" "SPC" "b" "B" "a" "A"))
+
 (provide 'which-key-tests)
 ;;; which-key-tests.el ends here
diff --git a/which-key.el b/which-key.el
index 09f5041..f7bab55 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1315,14 +1315,24 @@ width) in lines and characters respectively."
 ;;; Sorting functions
 
 (defun which-key--string< (a b &optional alpha)
-  (let* ((da (downcase a))
- (db (downcase b)))
-(cond ((string-equal da db)
-   (if which-key-sort-uppercase-first
-   (string-lessp a b)
- (not (string-lessp a b
-  (alpha (string-lessp da db))
-  (t (string-lessp a b)
+  (let ((da (downcase a))
+(db (downcase b)))
+(cond
+ ((and alpha (not which-key-sort-uppercase-first))
+  (if (string-equal da db)
+  (string-lessp a b)
+(string-lessp da db)))
+ ((and alpha which-key-sort-uppercase-first)
+  (if (string-equal da db)
+  (not (string-lessp a b))
+(string-lessp da db)))
+ ((not which-key-sort-uppercase-first)
+  (let ((aup (not (string-equal da a)))
+(bup (not (string-equal db b
+(if (not (xor aup bup))
+(string-lessp a b)
+  bup)))
+ (t (string-lessp a b)
 
 (defun which-key--key-description< (a b &optional alpha)
   "Sorting function used for `which-key-key-order' and



[elpa] externals/which-key ba03e7e 05/51: Add translation keymap support (#210)

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit ba03e7e5bcbe3f7d95be2cfddd71454151bb98c8
Author: D.K 
Commit: Justin Burkett 

Add translation keymap support (#210)
---
 which-key-tests.el | 7 +--
 which-key.el   | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/which-key-tests.el b/which-key-tests.el
index 3e75d6f..cff7fab 100644
--- a/which-key-tests.el
+++ b/which-key-tests.el
@@ -130,20 +130,23 @@
 (define-key map "c" "c")
 (define-key map "dd" "dd")
 (define-key map "eee" "eee")
+(define-key map "f" [123 45 6])
 (should (equal
  (sort (which-key--get-keymap-bindings map)
(lambda (a b) (string-lessp (car a) (car b
  '(("b" . "ignore")
("c" . "c")
("d" . "Prefix Command")
-   ("e" . "Prefix Command"
+   ("e" . "Prefix Command")
+   ("f" . "{ - C-f"
 (should (equal
  (sort (which-key--get-keymap-bindings map t)
(lambda (a b) (string-lessp (car a) (car b
  '(("b" . "ignore")
("c" . "c")
("d d" . "dd")
-   ("e e e" . "eee"))
+   ("e e e" . "eee")
+   ("f" . "{ - C-f"))
 
 (provide 'which-key-tests)
 ;;; which-key-tests.el ends here
diff --git a/which-key.el b/which-key.el
index f4b15c4..99318d5 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1741,6 +1741,7 @@ ones. PREFIX is for internal use and should not be used."
   ((eq 'lambda (car-safe def)) "lambda")
   ((eq 'menu-item (car-safe def)) "menu-item")
   ((stringp def) def)
+  ((vectorp def) (key-description def))
   (t "unknown")))
bindings :test (lambda (a b) (string= (car a) (car 
b)
  keymap)



[elpa] externals/which-key a256c4b 13/51: Use which-key-idle-secondary-delay value in manual updates

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit a256c4bce66d3805af07cc9f3dec5baeae1808de
Author: Justin Burkett 
Commit: Justin Burkett 

Use which-key-idle-secondary-delay value in manual updates
---
 README.org   | 11 +++
 which-key.el | 21 ++---
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/README.org b/README.org
index a413344..ee57388 100644
--- a/README.org
+++ b/README.org
@@ -142,10 +142,13 @@
along the following lines
 
#+BEGIN_SRC emacs-lisp
-   ;; make sure which-key doesn't show normally
-   (setq which-key-idle-delay 1000)
-   (which-key-mode)
-   (setq prefix-help-command 'which-key-manual-update)
+ ;; make sure which-key doesn't show normally
+ (setq which-key-idle-delay 1000)
+ ;; which-key-manual-update uses this variable to control refreshing the
+ ;; which-key buffer after new keypresses
+ (setq which-key-idle-secondary-delay 0.05)
+ (which-key-mode)
+ (setq prefix-help-command 'which-key-manual-update)
#+END_SRC
 
This will prevent which-key from showing automatically, and allow you to use
diff --git a/which-key.el b/which-key.el
index b6ae912..8937436 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2588,12 +2588,13 @@ Finally, show the buffer."
 (defun which-key-manual-update ()
   "Force which-key update.
 
-This command is intended to be used for `prefix-help-command', as
-follows
+This command is intended to be used for `prefix-help-command'. An
+example configuration for using this command is the following.
 
-\(setq prefix-help-command 'which-key-manual-update).
-
-This should be set after activating `which-key-mode'."
+\(setq which-key-idle-delay 1000)
+\(setq which-key-idle-secondary-delay 0.05)
+\(which-key-mode)
+\(setq prefix-help-command 'which-key-manual-update)"
   (interactive)
   (if (which-key--popup-showing-p)
   (which-key-C-h-dispatch)
@@ -2601,7 +2602,9 @@ This should be set after activating `which-key-mode'."
 (butlast
  (listify-key-sequence (which-key--this-command-keys)
   (which-key-reload-key-sequence current-prefix)
-  (which-key--start-timer 0.05 t
+  (if which-key-idle-secondary-delay
+  (which-key--start-timer which-key-idle-secondary-delay t)
+(which-key--start-timer 0.05 t)
 
 (defun which-key--update ()
   "Function run by timer to possibly trigger
@@ -2689,7 +2692,11 @@ This should be set after activating `which-key-mode'."
 (not (equal (which-key--current-prefix)
 (which-key--this-command-keys)
(cancel-timer which-key--paging-timer)
-   (which-key--start-timer))
+   (if which-key-idle-secondary-delay
+   ;; we haven't executed a command yet so the secandary
+   ;; timer is more relevant here
+   (which-key--start-timer which-key-idle-secondary-delay 
t)
+ (which-key--start-timer)))
 
 (provide 'which-key)
 ;;; which-key.el ends here



[elpa] externals/which-key 77586e6 04/51: Add which-key-dump-bindings

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 77586e62b6d306bae07e4e3e093ba488724f4131
Author: Justin Burkett 
Commit: Justin Burkett 

Add which-key-dump-bindings

Fixes #209
---
 which-key.el | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/which-key.el b/which-key.el
index 6980b78..f4b15c4 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2279,6 +2279,21 @@ current evil state. "
   (message "which-key: No map named %s" map-sym
 
 ;;;###autoload
+(defun which-key-dump-bindings (prefix buffer-name)
+  "Dump bindings from PREFIX into buffer named BUFFER-NAME.
+
+PREFIX should be a string suitable for `kbd'."
+  (interactive "sPrefix: \nB")
+  (let* ((buffer (get-buffer-create buffer-name))
+ (keys (which-key--get-bindings (kbd prefix
+(with-current-buffer buffer
+  (point-max)
+  (save-excursion
+(dolist (key keys)
+  (insert (apply #'format "%s%s%s\n" key)
+(switch-to-buffer-other-window buffer)))
+
+;;;###autoload
 (defun which-key-undo-key (&optional _)
   "Undo last keypress and force which-key update."
   (interactive)



[elpa] externals/which-key 8f2427a 43/51: Fix which-key--propertize-description use make-text-button return value (#249)

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 8f2427a69bc0388ddfb14a10eaf71e589f3b0913
Author: N V <44036031+progfo...@users.noreply.github.com>
Commit: GitHub 

Fix which-key--propertize-description use make-text-button return value 
(#249)

As of:


https://github.com/emacs-mirror/emacs/commit/7ac79872aed63110c0d26c1e62e1838d6101c9bd

make-text-button no longer modifies a string when it is passed as the
first argument. which-key--propertize-description relied on the mutation
of the string argument. Using the return value of make-text-button will
return the propertized string with both the new and old behavior.

Fixes #248
---
 which-key.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/which-key.el b/which-key.el
index 8c88b44..475772f 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1663,8 +1663,7 @@ ORIGINAL-DESCRIPTION is the description given by
 (max (floor (* (frame-width) 0.8
(if (> (length str) max)
(concat (substring str 0 max) "...")
- str))
-  desc)))
+ str)
 
 (defun which-key--extract-key (key-str)
   "Pull the last key (or key range) out of KEY-STR."



[elpa] externals/which-key e048b2a 48/51: Stop testing against v24.5

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit e048b2ae6ba890be0100f20bacaf291e83359e26
Author: Justin Burkett 
Commit: Justin Burkett 

Stop testing against v24.5

It's old enough now
---
 .github/workflows/test.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index c4eaf23..3ae6288 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -13,7 +13,6 @@ jobs:
 strategy:
   matrix:
 emacs_version:
-  - 24.5
   - 25.1
   - 25.2
   - 25.3



[elpa] externals/which-key cf8572a 07/51: which-key-persistent-popup-p -> which-key-persistent-popup

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit cf8572a6888547451e6af461b374f3a5fde28f5d
Author: Justin Burkett 
Commit: Justin Burkett 

which-key-persistent-popup-p -> which-key-persistent-popup
---
 which-key.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/which-key.el b/which-key.el
index 9b147bd..1d3c21d 100644
--- a/which-key.el
+++ b/which-key.el
@@ -453,7 +453,7 @@ prefixes in `which-key-paging-prefixes'"
   which-key-undo-key
   which-key-undo))
 
-(defvar which-key-persistent-popup-p nil
+(defvar which-key-persistent-popup nil
   "Whether or not to disable `which-key--hide-popup'.")
 
 (defcustom which-key-hide-alt-key-translations t
@@ -1083,7 +1083,7 @@ total height."
 
 (defun which-key--hide-popup ()
   "This function is called to hide the which-key buffer."
-  (unless (or which-key-persistent-popup-p
+  (unless (or which-key-persistent-popup
   (member real-this-command which-key--paging-functions))
 (setq which-key--last-try-2-loc nil)
 (setq which-key--pages-obj nil)



[elpa] externals/which-key c47c72d 11/51: Cleanup whitespace in README

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit c47c72d1fe0d2e15482eee4af1bff2881bbe218e
Author: Justin Burkett 
Commit: Justin Burkett 

Cleanup whitespace in README
---
 README.org | 150 ++---
 1 file changed, 75 insertions(+), 75 deletions(-)

diff --git a/README.org b/README.org
index c9992da..a413344 100644
--- a/README.org
+++ b/README.org
@@ -1,6 +1,6 @@
-* which-key 
+* which-key
   
[[http://melpa.org/#/which-key][http://melpa.org/packages/which-key-badge.svg]] 
[[http://stable.melpa.org/#/which-key][file:http://stable.melpa.org/packages/which-key-badge.svg]]
 
[[https://travis-ci.org/justbur/emacs-which-key][file:https://travis-ci.org/justbur/emacs-which-key.svg?branch=master]]
-  
+
 ** Recent Changes
 
 *** 2019-07-31: Added =which-key-manual-update=
@@ -24,7 +24,7 @@
different face. Screenshots of what the popup will look like are included
below. =which-key= started as a rewrite of 
[[https://github.com/kai2nenobu/guide-key][guide-key-mode]], but the feature
sets have diverged to a certain extent.
-   
+
 ** Table of Contents  :TOC_3:
 - [[#which-key][which-key]]
   - [[#recent-changes][Recent Changes]]
@@ -63,7 +63,7 @@
 After setting up [[http://melpa.org][MELPA]] as a repository, use =M-x 
package-install which-key=
 or your preferred method. You will need to call =which-key-mode= to enable
 the minor mode of course.
-
+
 *** Manually
 Add which-key.el to your =load-path= and require. Something like
 #+BEGIN_SRC emacs-lisp
@@ -71,66 +71,66 @@
 (require 'which-key)
 (which-key-mode)
 #+END_SRC
-
+
 ** Initial Setup
No further setup is required if you are happy with the default setup. To try
other options, there are 3 choices of default configs that are preconfigured
(then customize to your liking). The main choice is where you want the
which-key buffer to display. Screenshots of the default options are shown in
the next sections.
-   
+
In each case, we show as many key bindings as we can fit in the buffer 
within
the constraints. The constraints are determined by several factors, 
including
your Emacs settings, the size of the current Emacs frame, and the which-key
settings, most of which are described below.
-   
+
There are many substitution abilities included, which are quite flexible
(ability to use regexp for example). This makes which-key very customizable.
-   
+
 *** Side Window Bottom Option
 Popup side window on bottom. This is the current default. To restore this
 setup use
-
+
 #+BEGIN_SRC emacs-lisp
 (which-key-setup-side-window-bottom)
 #+END_SRC
-
+
 [[./img/which-key-bottom.png]]
-
+
 *** Side Window Right Option
 Popup side window on right. For defaults use
-
+
 #+BEGIN_SRC emacs-lisp
 (which-key-setup-side-window-right)
 #+END_SRC
-
+
 Note the defaults are fairly conservative and will tend to not display on
 narrower frames. If you get a message saying which-key can't display the
 keys, try making your frame wider or adjusting the defaults related to the
 maximum width (see =M-x customize-group which-key=).
-
+
 [[./img/which-key-right.png]]
-
+
 *** Side Window Right then Bottom
 This is a combination of the previous two choices. It will try to use the
 right side, but if there is no room it will switch to using the bottom,
 which is usually easier to fit keys into. This setting can be helpful if 
the
 size of the Emacs frame changes frequently, which might be the case if you
 are using a dynamic/tiling window manager.
-
+
 #+BEGIN_SRC emacs-lisp
 (which-key-setup-side-window-right-bottom)
 #+END_SRC
-
+
 *** Minibuffer Option
 Take over the minibuffer. For the recommended configuration use
-
+
 #+BEGIN_SRC emacs-lisp
 (which-key-setup-minibuffer)
 #+END_SRC
-
+
 [[./img/which-key-minibuffer.png]]
-
+
 Note the maximum height of the minibuffer is controlled through the 
built-in
 variable =max-mini-window-height=. Also, the paging commands do not work
 reliably with the minibuffer option. Use the side window on the bottom
@@ -162,7 +162,7 @@
- =which-key-show-next-page= is the command used for paging.
- =which-key-undo= can be used to undo the last keypress when in the middle
  of a key sequence.
- 
+
 ** Special Features and Configuration Options
There are more options than the ones described here. All of the configurable
variables are available through =M-x customize-group which-key=.
@@ -181,24 +181,24 @@
  #+END_SRC
  Show keys in a side window. This popup type has further options:
  #+BEGIN_SRC emacs-lisp
- ;; location of which-key window. valid values: top, bottom, left, right, 
+ ;; location of which-key window. valid values: top, bottom, left, right,
  ;; or a list of

[elpa] externals/which-key c4b7aae 32/51: Revive Cask file

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit c4b7aaefc160478b7bbd07251a9772c75944ffe5
Author: Justin Burkett 
Commit: Justin Burkett 

Revive Cask file
---
 Cask | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/Cask b/Cask
new file mode 100644
index 000..60fa07c
--- /dev/null
+++ b/Cask
@@ -0,0 +1,7 @@
+(source gnu)
+(source melpa)
+
+(package-file "which-key.el")
+
+(development
+ (depends-on "ert"))



[elpa] externals/which-key 0d0af8a 19/51: Strip out advice in command docstrings

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 0d0af8a0a291aec409992bfcdae06dc36e2634b4
Author: Henrik Lissner 
Commit: GitHub 

Strip out advice in command docstrings
---
 which-key.el | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index 1da0cfb..74de737 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1671,7 +1671,12 @@ and `which-key-show-docstrings' is non-nil. If
 return the docstring."
   (let* ((orig-sym (intern original))
  (doc (when (commandp orig-sym)
-(documentation orig-sym)))
+(string-trim-left
+ (documentation orig-sym)
+ (concat "\\(?::"
+ 
"\\(?:\\(?:after\\|before\\)\\(?:-\\(?:until\\|while\\)\\)?\\|around\\|override\\|filter-\\(?:args\\|return\\)\\)"
+ " advice: [^\n]+\n"
+ "\\)+\n"
  (docstring (when doc
   (which-key--propertize (car (split-string doc "\n"))
  'face 
'which-key-docstring-face



[elpa] externals/which-key 8b49ae9 42/51: Fix last commit

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 8b49ae978cceca65967f3544c236f32964ddbed0
Author: Justin Burkett 
Commit: Justin Burkett 

Fix last commit
---
 .github/workflows/test.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 56b2e9e..c4eaf23 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -5,7 +5,7 @@ on:
 branches:
   - master
   schedule:
-- cron: '* * 1 * *'
+- cron: '0 0 1 * *'
 
 jobs:
   build:



[elpa] externals/which-key 42a2505 14/51: Rework implementation of manual updating

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 42a25055163141165aa0269dbca69735e704825c
Author: Justin Burkett 
Commit: Justin Burkett 

Rework implementation of manual updating

Instead of having people mess with prefix-help-command, use a new variable
which-key-show-early-on-C-h and control everything through
which-key-C-h-dispatch.
---
 README.org   |  14 +++
 which-key.el | 120 +++
 2 files changed, 70 insertions(+), 64 deletions(-)

diff --git a/README.org b/README.org
index ee57388..b21711f 100644
--- a/README.org
+++ b/README.org
@@ -3,7 +3,7 @@
 
 ** Recent Changes
 
-*** 2019-07-31: Added =which-key-manual-update=
+*** 2019-08-01: Added =which-key-show-early-on-C-h=
 Allows one to trigger =which-key= on demand, rather than automatically. See
 the docstring and [[#manual-activation][Manual Activation]].
 
@@ -28,7 +28,7 @@
 ** Table of Contents  :TOC_3:
 - [[#which-key][which-key]]
   - [[#recent-changes][Recent Changes]]
-- [[#2019-07-31-added-which-key-manual-update][2019-07-31: Added 
=which-key-manual-update=]]
+- [[#2019-08-01-added-which-key-show-early-on-c-h][2019-08-01: Added 
=which-key-show-early-on-C-h=]]
 - [[#2017-12-13-added-which-key-enable-extended-define-key][2017-12-13: 
Added =which-key-enable-extended-define-key=]]
 - [[#2017-11-13-added-which-key-show-major-mode][2017-11-13: Added 
=which-key-show-major-mode=]]
   - [[#introduction][Introduction]]
@@ -142,13 +142,13 @@
along the following lines
 
#+BEGIN_SRC emacs-lisp
- ;; make sure which-key doesn't show normally
- (setq which-key-idle-delay 1000)
- ;; which-key-manual-update uses this variable to control refreshing the
- ;; which-key buffer after new keypresses
+ ;; Allow C-h to trigger which-key before it is done automatically
+ (setq which-key-show-early-on-C-h t)
+ ;; make sure which-key doesn't show normally but refreshes quickly after 
it is
+ ;; triggered.
+ (setq which-key-idle-delay 1)
  (setq which-key-idle-secondary-delay 0.05)
  (which-key-mode)
- (setq prefix-help-command 'which-key-manual-update)
#+END_SRC
 
This will prevent which-key from showing automatically, and allow you to use
diff --git a/which-key.el b/which-key.el
index 8937436..7a495ec 100644
--- a/which-key.el
+++ b/which-key.el
@@ -412,6 +412,21 @@ prefixes in `which-key-paging-prefixes'"
   :group 'which-key
   :type 'boolean)
 
+(defcustom which-key-show-early-on-C-h nil
+  "Show the which-key buffer before if C-h is pressed in the
+middle of a prefix before the which-key buffer would normally be
+triggered through the idle delay. If combined with the following
+settings, which-key will effectively only show when triggered
+\"manually\" using C-h.
+
+\(setq `which-key-idle-delay' 1)
+\(setq `which-key-idle-secondary-delay' 0.05)
+
+Note that `which-key-idle-delay' should be set before turning on
+`which-key-mode'. "
+  :group 'which-key
+  :type 'boolean)
+
 (defcustom which-key-is-verbose nil
   "Whether to warn about potential mistakes in configuration."
   :group 'which-key
@@ -791,7 +806,8 @@ problems at github. If DISABLE is non-nil disable support."
   (which-key--setup-echo-keystrokes))
 (unless (member prefix-help-command which-key--paging-functions)
   (setq which-key--prefix-help-cmd-backup prefix-help-command))
-(when which-key-use-C-h-commands
+(when (or which-key-use-C-h-commands
+  which-key-show-early-on-C-h)
   (setq prefix-help-command #'which-key-C-h-dispatch))
 (when which-key-show-remaining-keys
   (add-hook 'pre-command-hook #'which-key--lighter-restore))
@@ -2345,40 +2361,52 @@ PREFIX should be a string suitable for `kbd'."
 `which-key-C-h-map'. This command is always accessible (from any
 prefix) if `which-key-use-C-h-commands' is non nil."
   (interactive)
-  (if (not (which-key--popup-showing-p))
-  (which-key-show-standard-help)
-(let* ((prefix-keys (which-key--current-key-string))
-   (full-prefix (which-key--full-prefix prefix-keys current-prefix-arg 
t))
-   (prompt (concat (when (string-equal prefix-keys "")
- (which-key--propertize
-  (concat " "
-  (which-key--pages-prefix-title
-   which-key--pages-obj))
-  'face 'which-key-note-face))
-   full-prefix
-   (which-key--propertize
-(substitute-command-keys
- (concat
-  " \\"
-  " \\[which-key-show-next-page-cycle]"
-  which-key-separator "next-page,"
-  " \\[which-key-show-previous-page-cycle]

[elpa] externals/which-key cf44641 31/51: Replace travis badge with github workflow badge

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit cf446414850d93d6bb218cd54cec6d3c0d459a00
Author: Justin Burkett 
Commit: Justin Burkett 

Replace travis badge with github workflow badge
---
 README.org | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 7b0de1c..40bcca7 100644
--- a/README.org
+++ b/README.org
@@ -1,5 +1,6 @@
 * which-key
-  
[[http://melpa.org/#/which-key][http://melpa.org/packages/which-key-badge.svg]] 
[[http://stable.melpa.org/#/which-key][file:http://stable.melpa.org/packages/which-key-badge.svg]]
 
[[https://travis-ci.org/justbur/emacs-which-key][file:https://travis-ci.org/justbur/emacs-which-key.svg?branch=master]]
+  
[[http://melpa.org/#/which-key][http://melpa.org/packages/which-key-badge.svg]]
+  
[[http://stable.melpa.org/#/which-key][file:http://stable.melpa.org/packages/which-key-badge.svg]]
 
[[build][https://github.com/justbur/emacs-which-key/workflows/which-key-test-workflow/badge.svg]]
 
 ** Recent Changes
 



[elpa] externals/which-key a66bf93 26/51: Try purcell's workflow action

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit a66bf9336a2499d1231d460ff35c56db1df477ac
Author: Justin Burkett 
Commit: Justin Burkett 

Try purcell's workflow action
---
 .github/workflows/test.yml | 33 +
 1 file changed, 33 insertions(+)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 000..3af1847
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,33 @@
+name: which-key-test-workflow
+on:
+  pull-request:
+  push:
+branches:
+  - master
+
+jobs:
+  build:
+runs-on: [ubuntu-latest, macos-latest]
+strategy:
+  matrix:
+emacs_version:
+  - 24.1
+  - 24.2
+  - 24.3
+  - 24.4
+  - 24.5
+  - 25.1
+  - 25.2
+  - 25.3
+  - 26.1
+  - 26.2
+  - 26.3
+  - snapshot
+steps:
+- uses: purcell/setup-emacs@master
+  with:
+version: ${{ matrix.emacs_version }}
+
+- uses: actions/checkout@v2
+- name: Run tests
+  run: 'emacs -Q -batch -L . -l which-key-tests.el -f 
ert-run-tests-batch-and-exit'



[elpa] externals/which-key 190310d 30/51: Disable travis and cask

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 190310d59e7be998d8a3ec7b92c2df3116b2e00c
Author: Justin Burkett 
Commit: Justin Burkett 

Disable travis and cask
---
 .travis.yml | 24 
 Cask|  8 
 2 files changed, 32 deletions(-)

diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 60d8d31..000
--- a/.travis.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-# language: emacs-lisp
-env:
-  - EVM_EMACS=emacs-25.3-travis
-  - EVM_EMACS=emacs-26.1-travis
-  - EVM_EMACS=emacs-26.2-travis
-  - EVM_EMACS=emacs-26.3-travis
-  - EVM_EMACS=emacs-git-snapshot-travis
-
-before_install:
-  - git clone https://github.com/rejeep/evm.git $HOME/.evm
-  - export PATH="$HOME/.evm/bin:$PATH"
-  - export PATH="$HOME/.cask/bin:$PATH"
-  - evm config path /tmp
-  - evm install $EVM_EMACS --use --skip
-  - curl -fsSkL https://raw.github.com/cask/cask/master/go | python
-
-matrix:
-  fast_finish: true
-  allow_failures:
-- env: EVM_EMACS=emacs-git-snapshot-travis
-
-script:
-  - emacs --version
-  - make test
diff --git a/Cask b/Cask
deleted file mode 100644
index d8171e3..000
--- a/Cask
+++ /dev/null
@@ -1,8 +0,0 @@
-(source gnu)
-(source melpa)
-
-(package-file "which-key.el")
-
-(development
- (depends-on "ert"))
-



[elpa] externals/which-key 45bfcd3 22/51: Make which-key-show prefix mode-line work like top and bottom

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit 45bfcd3041942a3938791bfa34f28f2a9827d42a
Author: Justin Burkett 
Commit: Justin Burkett 

Make which-key-show prefix mode-line work like top and bottom

Fixes #234
---
 which-key.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/which-key.el b/which-key.el
index d343be0..de96a49 100644
--- a/which-key.el
+++ b/which-key.el
@@ -1556,7 +1556,7 @@ no title exists."
 ((not (string-equal repl-res "")) repl-res)
 ((and (eq which-key-show-prefix 'echo) alternate)
  alternate)
-((and (member which-key-show-prefix '(bottom top))
+((and (member which-key-show-prefix '(bottom top mode-line))
   (eq which-key-side-window-location 'bottom)
   echo-keystrokes)
  (if alternate alternate



[elpa] externals/which-key db3d003 21/51: Add full keymap versions of show-{major, minor}-mode

2020-09-08 Thread Stefan Monnier
branch: externals/which-key
commit db3d003e903deb07394b4e572206f809578278c6
Author: Justin Burkett 
Commit: Justin Burkett 

Add full keymap versions of show-{major,minor}-mode

Fixes #236
---
 which-key.el | 34 ++
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/which-key.el b/which-key.el
index 1da0cfb..d343be0 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2290,7 +2290,7 @@ after first page."
   (which-key--create-buffer-and-show nil nil nil "Top-level bindings"))
 
 ;;;###autoload
-(defun which-key-show-major-mode ()
+(defun which-key-show-major-mode (&optional all)
   "Show top-level bindings in the map of the current major mode.
 
 This function will also detect evil bindings made using
@@ -2299,13 +2299,24 @@ current evil state. "
   (interactive)
   (let ((map-sym (intern (format "%s-map" major-mode
 (if (and (boundp map-sym) (keymapp (symbol-value map-sym)))
-(which-key--create-buffer-and-show
- nil nil
+(which-key--show-keymap
+ "Major-mode bindings"
+ (symbol-value map-sym)
  (apply-partially #'which-key--map-binding-p (symbol-value map-sym))
- "Major-mode bindings")
+ all)
   (message "which-key: No map named %s" map-sym
 
 ;;;###autoload
+(defun which-key-show-full-major-mode ()
+  "Show all bindings in the map of the current major mode.
+
+This function will also detect evil bindings made using
+`evil-define-key' in this map. These bindings will depend on the
+current evil state. "
+  (interactive)
+  (which-key-show-major-mode t))
+
+;;;###autoload
 (defun which-key-dump-bindings (prefix buffer-name)
   "Dump bindings from PREFIX into buffer named BUFFER-NAME.
 
@@ -2485,7 +2496,7 @@ selected interactively from all available keymaps."
   nil t))
 
 ;;;###autoload
-(defun which-key-show-minor-mode-keymap ()
+(defun which-key-show-minor-mode-keymap (&optional all)
   "Show the top-level bindings in KEYMAP using which-key. KEYMAP
 is selected interactively by mode in `minor-mode-map-alist'."
   (interactive)
@@ -2501,12 +2512,19 @@ is selected interactively by mode in 
`minor-mode-map-alist'."
 minor-mode-map-alist))
nil t nil 'which-key-keymap-history
 (which-key--show-keymap (symbol-name mode-sym)
-(cdr (assq mode-sym minor-mode-map-alist)
+(cdr (assq mode-sym minor-mode-map-alist))
+all)))
+;;;###autoload
+(defun which-key-show-full-minor-mode-keymap ()
+  "Show all bindings in KEYMAP using which-key. KEYMAP
+is selected interactively by mode in `minor-mode-map-alist'."
+  (interactive)
+  (which-key-show-minor-mode-keymap t))
 
 (defun which-key--show-keymap
-(keymap-name keymap &optional prior-args all no-paging)
+(keymap-name keymap &optional prior-args all no-paging filter)
   (when prior-args (push prior-args which-key--prior-show-keymap-args))
-  (let ((bindings (which-key--get-bindings nil keymap nil all)))
+  (let ((bindings (which-key--get-bindings nil keymap filter all)))
 (if (= (length bindings) 0)
 (message "which-key: No bindings found in %s" keymap-name)
   (cond ((listp which-key-side-window-location)



[elpa] master 144bab0: ; company: Prefer https in license statement

2020-09-08 Thread Stefan Kangas
branch: master
commit 144bab08604f3d11e97e83d760543734780f46f3
Author: Stefan Kangas 
Commit: Stefan Kangas 

; company: Prefer https in license statement
---
 packages/company/company-abbrev.el  | 2 +-
 packages/company/company-bbdb.el| 2 +-
 packages/company/company-capf.el| 2 +-
 packages/company/company-clang.el   | 2 +-
 packages/company/company-cmake.el   | 2 +-
 packages/company/company-css.el | 2 +-
 packages/company/company-dabbrev-code.el| 2 +-
 packages/company/company-dabbrev.el | 2 +-
 packages/company/company-eclim.el   | 2 +-
 packages/company/company-elisp.el   | 2 +-
 packages/company/company-etags.el   | 2 +-
 packages/company/company-files.el   | 2 +-
 packages/company/company-gtags.el   | 2 +-
 packages/company/company-ispell.el  | 2 +-
 packages/company/company-keywords.el| 2 +-
 packages/company/company-nxml.el| 2 +-
 packages/company/company-oddmuse.el | 2 +-
 packages/company/company-semantic.el| 2 +-
 packages/company/company-template.el| 2 +-
 packages/company/company-tempo.el   | 2 +-
 packages/company/company-tests.el   | 2 +-
 packages/company/company-tng.el | 2 +-
 packages/company/company-xcode.el   | 2 +-
 packages/company/company-yasnippet.el   | 2 +-
 packages/company/company.el | 2 +-
 packages/company/test/all.el| 2 +-
 packages/company/test/async-tests.el| 2 +-
 packages/company/test/bbdb-tests.el | 2 +-
 packages/company/test/clang-tests.el| 2 +-
 packages/company/test/cmake-tests.el| 2 +-
 packages/company/test/core-tests.el | 2 +-
 packages/company/test/elisp-tests.el| 2 +-
 packages/company/test/files-tests.el| 2 +-
 packages/company/test/frontends-tests.el| 2 +-
 packages/company/test/keywords-tests.el | 2 +-
 packages/company/test/template-tests.el | 2 +-
 packages/company/test/transformers-tests.el | 2 +-
 37 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/packages/company/company-abbrev.el 
b/packages/company/company-abbrev.el
index 24ec3b7..386feb6 100644
--- a/packages/company/company-abbrev.el
+++ b/packages/company/company-abbrev.el
@@ -17,7 +17,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 
 ;;; Commentary:
diff --git a/packages/company/company-bbdb.el b/packages/company/company-bbdb.el
index a68c34e..7160231 100644
--- a/packages/company/company-bbdb.el
+++ b/packages/company/company-bbdb.el
@@ -17,7 +17,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 (require 'company)
 (require 'cl-lib)
diff --git a/packages/company/company-capf.el b/packages/company/company-capf.el
index cb30a80..7d34f9c 100644
--- a/packages/company/company-capf.el
+++ b/packages/company/company-capf.el
@@ -17,7 +17,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 
 ;;; Commentary:
diff --git a/packages/company/company-clang.el 
b/packages/company/company-clang.el
index 1460e09..d7391b3 100644
--- a/packages/company/company-clang.el
+++ b/packages/company/company-clang.el
@@ -17,7 +17,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 
 ;;; Commentary:
diff --git a/packages/company/company-cmake.el 
b/packages/company/company-cmake.el
index 1bfb20b..2e69b6d 100644
--- a/packages/company/company-cmake.el
+++ b/packages/company/company-cmake.el
@@ -16,7 +16,7 @@
 ;; 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, see .
+;; along with this program.  If not, see .
 
 ;;; Commentary:
 ;;
diff --git a/packages/company/company-css.el b/packages/company/company-css.el
index d3ece74..c98040b 100644
--- a/packages/company/company-css.el
+++ b/packages/company/company-css.el
@@ -17,7 +17,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  

[elpa] master b2d07e5: ; diff-hl: Prefer https in license statement

2020-09-08 Thread Stefan Kangas
branch: master
commit b2d07e5eaa4162565fa478284488a7c4b76a7394
Author: Stefan Kangas 
Commit: Stefan Kangas 

; diff-hl: Prefer https in license statement
---
 packages/diff-hl/diff-hl-amend.el   | 2 +-
 packages/diff-hl/diff-hl-dired.el   | 2 +-
 packages/diff-hl/diff-hl-flydiff.el | 2 +-
 packages/diff-hl/diff-hl-margin.el  | 2 +-
 packages/diff-hl/diff-hl.el | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/packages/diff-hl/diff-hl-amend.el 
b/packages/diff-hl/diff-hl-amend.el
index e39656d..1bb3de1 100644
--- a/packages/diff-hl/diff-hl-amend.el
+++ b/packages/diff-hl/diff-hl-amend.el
@@ -16,7 +16,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 ;;; Commentary:
 
diff --git a/packages/diff-hl/diff-hl-dired.el 
b/packages/diff-hl/diff-hl-dired.el
index 947c2b6..af2df46 100644
--- a/packages/diff-hl/diff-hl-dired.el
+++ b/packages/diff-hl/diff-hl-dired.el
@@ -15,7 +15,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 ;;; Commentary:
 
diff --git a/packages/diff-hl/diff-hl-flydiff.el 
b/packages/diff-hl/diff-hl-flydiff.el
index 9de22a9..6f9be29 100644
--- a/packages/diff-hl/diff-hl-flydiff.el
+++ b/packages/diff-hl/diff-hl-flydiff.el
@@ -16,7 +16,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 ;;; Commentary:
 
diff --git a/packages/diff-hl/diff-hl-margin.el 
b/packages/diff-hl/diff-hl-margin.el
index dfc1928..4d0198e 100644
--- a/packages/diff-hl/diff-hl-margin.el
+++ b/packages/diff-hl/diff-hl-margin.el
@@ -15,7 +15,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 ;;; Commentary:
 
diff --git a/packages/diff-hl/diff-hl.el b/packages/diff-hl/diff-hl.el
index 22bb816..a560bf2 100644
--- a/packages/diff-hl/diff-hl.el
+++ b/packages/diff-hl/diff-hl.el
@@ -21,7 +21,7 @@
 ;; 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 .
+;; along with GNU Emacs.  If not, see .
 
 ;;; Commentary:
 



[elpa] master 395128c: ; Fix recent change in debbugs-gnu.el

2020-09-08 Thread Michael Albinus
branch: master
commit 395128c92d5fdb857a5eeacd4ffde4292dab20bd
Author: Michael Albinus 
Commit: Michael Albinus 

; Fix recent change in debbugs-gnu.el

* debbugs-gnu.el (debbugs-gnu-mode-map):
Add `debbugs-gnu-make-control-message' to Menu.
(debbugs-gnu--update-tag-mark-face): Return entry.
(debbugs-gnu-toggle-tag, debbugs-gnu-toggle-mark):
Use `debbugs-gnu-print-entry'.
(debbugs-gnu-current-status): Check also for
`debbugs-gnu-usertags-mode'.
(debbugs-gnu-select-usertag): Use `debbugs-gnu-current-status'.
---
 packages/debbugs/debbugs-gnu.el | 81 ++---
 1 file changed, 44 insertions(+), 37 deletions(-)

diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el
index 485b977..4516423 100644
--- a/packages/debbugs/debbugs-gnu.el
+++ b/packages/debbugs/debbugs-gnu.el
@@ -1047,9 +1047,14 @@ Used instead of `tabulated-list-print-entry'."
  debbugs-gnu-send-control-message
  :help "Send control message to debbugs.gnu.org")
   'debbugs-gnu-show-all-blocking-reports)
+(define-key-after menu-map [debbugs-gnu-make-control-message]
+  '(menu-item "Make Control Message"
+ debbugs-gnu-make-control-message
+ :help "Make (but don't yet send) a control message to 
debbugs.gnu.org")
+  'debbugs-gnu-send-control-message)
 
 (define-key-after menu-map [debbugs-gnu-separator1]
-  '(menu-item "--") 'debbugs-gnu-send-control-message)
+  '(menu-item "--") 'debbugs-gnu-make-control-message)
 (define-key-after menu-map [debbugs-gnu-search]
   '(menu-item "Search Bugs" debbugs-gnu-search
  :help "Search bugs on debbugs.gnu.org")
@@ -1346,41 +1351,43 @@ interest to you."
 (if (memq id debbugs-gnu-local-tags)
(setq debbugs-gnu-local-tags (delq id debbugs-gnu-local-tags))
   (add-to-list 'debbugs-gnu-local-tags id))
-(debbugs-gnu--update-tag-mark-face id)
-;; FIXME: Use `debbugs-gnu-print-entry'?
-(tabulated-list-init-header)
-(tabulated-list-print)
+(when-let ((entry (debbugs-gnu--update-tag-mark-face id))
+  (inhibit-read-only t))
+  (delete-region (line-beginning-position) (progn (forward-line 1) 
(point)))
+  (apply #'debbugs-gnu-print-entry entry))
 (when id
   (debbugs-gnu-goto id)))
   (debbugs-gnu-dump-persistency-file))
 
 (defun debbugs-gnu--update-tag-mark-face (id)
-  (dolist (entry tabulated-list-entries)
-(when (equal (alist-get 'id (car entry)) id)
-  (let ((owner (if (alist-get 'owner (car entry))
-  (car (debbugs-gnu--split-address
-(decode-coding-string
- (alist-get 'owner (car entry)) 'utf-8))
-   (aset (cadr entry) 0
- (propertize
-  (format "%5d" id)
-  'face
-  ;; Mark tagged bugs.
-  (if (memq id debbugs-gnu-local-tags)
-  'debbugs-gnu-tagged
-'default)))
-   (aset (cadr entry) 3
- (propertize
-  (or (alist-get 'subject (car entry)) "")
-  'face
-  (cond
-   ;; Marked bugs.
-   ((memq id debbugs-gnu-local-marks)
-'debbugs-gnu-marked)
-   ;; Mark owned bugs.
-   ((and (stringp owner) (string-equal owner user-mail-address))
-'debbugs-gnu-tagged)
-   (t 'default
+  (catch 'entry
+(dolist (entry tabulated-list-entries)
+  (when (equal (alist-get 'id (car entry)) id)
+   (let ((owner (if (alist-get 'owner (car entry))
+(car (debbugs-gnu--split-address
+  (decode-coding-string
+   (alist-get 'owner (car entry)) 'utf-8))
+ (aset (cadr entry) 0
+   (propertize
+(format "%5d" id)
+'face
+;; Mark tagged bugs.
+(if (memq id debbugs-gnu-local-tags)
+'debbugs-gnu-tagged
+  'default)))
+ (aset (cadr entry) 3
+   (propertize
+(or (alist-get 'subject (car entry)) "")
+'face
+(cond
+ ;; Marked bugs.
+ ((memq id debbugs-gnu-local-marks)
+  'debbugs-gnu-marked)
+ ;; Mark owned bugs.
+ ((and (stringp owner) (string-equal owner user-mail-address))
+  'debbugs-gnu-tagged)
+ (t 'default
+ (throw 'entry entry))
 
 (defun debbugs-gnu-toggle-mark ()
   "Toggle the local mark of the report in the current line.
@@ -1391,10 +1398,10 @@ interesting to you."
 (if (memq id debbugs-gnu-local-marks)
(setq debbugs-gnu-local-marks (delq id debbugs-gnu-local-marks))
   (add-to-list 'debbugs-gnu-local-marks id))
-(debbugs-