[nongnu] main 7c53c3bc83: * elpa-packages (vcomplete, swsw): Use commentary for ':readme'

2022-06-08 Thread Philip Kaludercic
branch: main
commit 7c53c3bc83a43d0cf09ade1379f9be7414ff3972
Author: Daniel Semyonov 
Commit: Philip Kaludercic 

* elpa-packages (vcomplete, swsw): Use commentary for ':readme'
---
 elpa-packages | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/elpa-packages b/elpa-packages
index 034ed41c01..a6bf3ffd8f 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -531,6 +531,7 @@
   :ignored-files ("COPYING" "scripts" "test" "Eldev" "Makefile"))
 
  ("swsw"   :url "https://git.sr.ht/~dsemy/swsw";
+  :readme ignore
   :doc "swsw.texi"
   :news "NEWS")
 
@@ -563,6 +564,7 @@
  ("vc-fossil"  :url "https://github.com/venks1/emacs-fossil";)
 
  ("vcomplete"  :url "https://git.sr.ht/~dsemy/vcomplete";
+  :readme ignore
   :doc "vcomplete.texi"
   :news "NEWS")
 



[nongnu] elpa/cider b9e1cc26e2: [#2946] Move the changelog entry where it belongs

2022-06-08 Thread ELPA Syncer
branch: elpa/cider
commit b9e1cc26e2afda003a4b6c1f2a26e04f1c45f3d0
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

[#2946] Move the changelog entry where it belongs
---
 CHANGELOG.md | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7dc22ed4ea..2ee271ea22 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
 
 ## master (unreleased)
 
+### New features
+
+- [#2946](https://github.com/clojure-emacs/cider/issues/2946): Add custom var 
`cider-merge-sessions` to allow combining sessions in two different ways: 
Setting `cider-merge-sessions` to `'host` will merge all sessions associated 
with the same host within a project. Setting it to `'project` will combine all 
sessions of a project irrespective of their host.
+
 ## 1.4.1 (2022-05-25)
 
 ## Changes
@@ -17,8 +21,6 @@ JVM-specific code outside of JVM Clojure.
   * Do not always perform `undef-all`. Undef only with `C-u` prefix.
   * Fix extraction of namespace name.
 
-* [#2946](https://github.com/clojure-emacs/cider/issues/2946): Add custom var 
`cider-merge-sessions` to allow combining sessions in two different ways: 
Setting `cider-merge-sessions` to `'host` will merge all sessions associated 
with the same host within a project. Setting it to `'project` will combine all 
sessions of a project irrespective of their host.
-
 ## 1.4.0 (2022-05-02)
 
 ## New features



[nongnu] elpa/with-editor cfcbc2731e: Fix typos

2022-06-08 Thread ELPA Syncer
branch: elpa/with-editor
commit cfcbc2731e402b9169c0dc03e89b5b57aa988502
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix typos
---
 lisp/with-editor.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/with-editor.el b/lisp/with-editor.el
index 0b9bcc421f..21a6eba4c9 100644
--- a/lisp/with-editor.el
+++ b/lisp/with-editor.el
@@ -280,7 +280,7 @@ When t, then use the emacsclient.  This has the 
disadvantage that
 `with-editor-mode' won't be enabled because we don't know whether
 this package was involved at all in the call to the emacsclient,
 and when it is not, then we really should.  The problem is that
-the emacsclient doesn't pass a long any environment variables to
+the emacsclient doesn't pass along any environment variables to
 the server.  This will hopefully be fixed in Emacs eventually.
 
 When nil, then use the sleeping editor.  Because in this case we
@@ -849,7 +849,7 @@ else like the former."
   ;; that mode, even though it only runs the shell to run a single
   ;; command.  The `with-editor-export-editor' hook function is only
   ;; intended to be used in buffers in which an interactive shell is
-  ;; running, so it has to be remove here.
+  ;; running, so it has to be removed here.
   (let ((shell-mode-hook (remove 'with-editor-export-editor shell-mode-hook)))
 (cond ((or (not (or with-editor--envvar shell-command-with-editor-mode))
(not (string-suffix-p "&" command)))



[nongnu] elpa/evil-matchit 271551560c: add evilmi-jump-hook

2022-06-08 Thread ELPA Syncer
branch: elpa/evil-matchit
commit 271551560c3c8c066b29d335f781ff9b5aefe746
Author: Chen Bin 
Commit: Chen Bin 

add evilmi-jump-hook
---
 README.org  | 15 ++-
 evil-matchit-sdk.el |  8 
 evil-matchit.el | 29 +++--
 3 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/README.org b/README.org
index 65ba054464..7d3f0f737b 100644
--- a/README.org
+++ b/README.org
@@ -95,7 +95,20 @@ Use =evilmi-jump-items-native= to replace 
=evilmi-jump-items=. Evil text object
 
 But all the other commands like =evilmi-delete-items= and 
=evilmi-select-items= still work.
 
-* Advanced tips
+* Tips
+** Toggle other modes before&after jumping to the matched tag
+It's reported [[https://github.com/redguardtoo/evil-matchit/issues/138][some 
mode is not compatible with this package]].
+
+You can use =evilmi-jump-hook= to turn off the mode before jumping to the 
matched tag.
+
+Then turn on it after the jump using the same hook.
+
+Here is an example to toggle =global-tree-sitter-mode=,
+#+begin_src elisp
+(add-hook 'evilmi-jump-hook
+  (lambda (before-jump-p)
+(global-tree-sitter-mode (not before-jump-p
+#+end_src
 ** Support new major modes
 In order to apply three matching rules =evilmi-template=, =evilmi-simple=, and 
=evilmi-html= on =mhtml-mode=, please insert below code *after* your 
evil-matchit setup:
 #+begin_src elisp
diff --git a/evil-matchit-sdk.el b/evil-matchit-sdk.el
index b3e778262e..f9a4e21e93 100644
--- a/evil-matchit-sdk.el
+++ b/evil-matchit-sdk.el
@@ -124,11 +124,11 @@ If font-face-under-cursor is NOT nil, the quoted string 
is being processed."
;; @see https://github.com/redguardtoo/evil-matchit/issues/92
((eq major-mode 'tuareg-mode)
 (evilmi-sdk-font-p pos '(font-lock-comment-face
-font-lock-comment-delimiter-face
-font-lock-doc-face)))
+ font-lock-comment-delimiter-face
+ font-lock-doc-face)))
(t
 (evilmi-sdk-font-p pos '(font-lock-comment-face
-font-lock-comment-delimiter-face)
+ font-lock-comment-delimiter-face)
 
 (defun evilmi-sdk-defun-p ()
   "At the beginning of function definition."
@@ -257,7 +257,7 @@ If IS-FORWARD is t, jump forward; or else jump backward."
   (let* ((tmp (evilmi-sdk-jump-forward-p))
  (jump-forward (car tmp))
  ;; if ff is not nil, it's jump between quotes
- ;; so we should not use (scan-sexps)
+ ;; so we should not use `scan-sexps'
  (ff (nth 1 tmp))
  (ch (nth 2 tmp))
  (dst (evilmi-sdk-jumpto-where ff jump-forward ch)))
diff --git a/evil-matchit.el b/evil-matchit.el
index dcfa78c50a..ce8c31ae21 100644
--- a/evil-matchit.el
+++ b/evil-matchit.el
@@ -47,9 +47,21 @@
 ;; If EVIL is NOT installed,
 ;;  - Use `evilmi-jump-items-native' to replace `evilmi-jump-items'
 ;;
-;;  - Forget `evilmi-shortcut' and `global-evil-matchit-mode'
+;;  - `evilmi-shortcut' and `global-evil-matchit-mode' are not used
 ;;
-;; See https://github.com/redguardtoo/evil-matchit/ for help.
+;; Tips:
+;;   It's reported some mode is not compatible with this package.
+;;   You can use `evilmi-jump-hook' to turn off the mode before
+;;   jumping to the matched tag.
+;;   Then turn on it after the jump using the same hook.
+;;
+;;   An example to toggle `global-tree-sitter-mode',
+;;
+;;   (add-hook 'evilmi-jump-hook
+;; (lambda (before-jump-p)
+;;   (global-tree-sitter-mode (not before-jump-p
+;;
+;; See https://github.com/redguardtoo/evil-matchit/ for more information
 ;;
 ;; This program requires EVIL (https://github.com/emacs-evil/evil)
 ;;
@@ -65,6 +77,14 @@
 
 (require 'evil-matchit-sdk)
 
+(defcustom evilmi-jump-hook nil
+  "Hook run before&after jump to the matched tag.
+If the parameter of hook is t, the hook runs before jump.
+Or else, the hook runs after jump.
+Some modes can be toggle on/off in the hook"
+  :group 'evil-matchit
+  :type 'hook)
+
 (defcustom evilmi-plugins
   '(emacs-lisp-mode ((evilmi-simple-get-tag evilmi-simple-jump)))
   "The Matrix of algorithms."
@@ -83,6 +103,9 @@
 
 (unless num (setq num 1))
 
+
+(run-hook-with-args 'evilmi-jump-hook t)
+
 (when (derived-mode-p 'prog-mode)
   (setq jump-rules
 (append (plist-get evilmi-plugins 'prog-mode) jump-rules)))
@@ -115,6 +138,8 @@
   (setq ideal-dest (point)))
 
 (if evilmi-debug (message "evilmi-jump-items-internal called. Return: %s" 
ideal-dest))
+
+(run-hook-with-args 'evilmi-jump-hook nil)
 ideal-dest))
 
 ;;;###autoload



[nongnu] elpa/moe-theme 4d9e876d24: update for latest Markdown-mode

2022-06-08 Thread ELPA Syncer
branch: elpa/moe-theme
commit 4d9e876d24d69d18c4111fa42bd34fe01a124866
Author: ono ono 
Commit: ono ono 

update for latest Markdown-mode
---
 moe-dark-theme.el  | 6 --
 moe-light-theme.el | 8 +---
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/moe-dark-theme.el b/moe-dark-theme.el
index ce073fee62..99eb1df22a 100644
--- a/moe-dark-theme.el
+++ b/moe-dark-theme.el
@@ -238,12 +238,14 @@ Moe, moe, kyun!")
`(markdown-header-face-5 ((,class (:foreground ,green-2 :bold t
`(markdown-header-face-6 ((,class (:foreground ,green-2 :bold t
`(markdown-link-face ((,class (:foreground ,magenta-1 :underline t
-   `(markdown-inline-code-face ((,class (:foreground ,blue-1 :background 
,black-3
+   `(markdown-inline-code-face ((,class (:foreground ,white-0 :background 
,black-2-5
+   `(markdown-code-face ((,class (:foreground nil :background nil
+   `(markdown-markup-face  ((,class (:foreground ,black-1 :background nil
`(markdown-italic-face ((,class (:foreground ,white-1 :italic t :underline 
,white-1
`(markdown-list-face ((,class (:foreground ,green-2 :background ,black-5 
:bold t
`(markdown-math-face ((,class (:foreground ,magenta-1
`(markdown-missing-link-face ((,class (:foreground ,red-1 :bold t
-   `(markdown-pre-face ((,class (:foreground ,blue-1
+   `(markdown-pre-face ((,class (:foreground ,white-0 :background 
,black-2-5
`(markdown-reference-face ((,class (:foreground ,orange-2 :italic t
`(markdown-url-face ((,class (:foreground ,magenta-3 :underline 
,magenta-3
 
diff --git a/moe-light-theme.el b/moe-light-theme.el
index a8d5c6dbef..e1cf5d09d1 100644
--- a/moe-light-theme.el
+++ b/moe-light-theme.el
@@ -39,7 +39,7 @@ Moe, moe, kyun!")
   (white-1 "#ee") (white-2 "#dadada") (white-3 "#c6c6c6") (white-4 
"#b2b2b2") (black-1 "#9e9e9e")
   (black-2 "#8a8a8a") (black-3 "#767676") (black-4 "#626262") (black-5 
"#5f5f5f") (black-6 "#3a3a3a")
   (LIGHT_BG "#fdfdf6") (white-0 "#ff")
-  (green-02 "#5fd700") (green-01 "#d7ff00") (green-0 "#d7ff5f") (green-00 
"#d7ff87")
+  (green-02 "#5fd700") (green-01 "#d7ff00") (green-0 "#d7ff5f") (green-00 
"#d7ff87")  (green-00 "#d7ff87")
   (cyan-0 "#d7ffd7")
   (blue-01 "#c3c9f8") (blue-0 "#afd7ff") (blue-00 "#d7d7ff") (blue-000 
"#d4e5ff")
   (yellow-0 "#87") (yellow-00 "#af") (yellow-2-5 "#ffba27")
@@ -237,12 +237,14 @@ Moe, moe, kyun!")
`(markdown-header-face-5 ((,class (:foreground ,orange-2 :bold t
`(markdown-header-face-6 ((,class (:foreground ,orange-2 :bold t
`(markdown-link-face ((,class (:foreground ,magenta-1 :bold t :underline 
,magenta-1
-   `(markdown-inline-code-face ((,class (:foreground ,blue-3 :background 
,blue-00
+   `(markdown-inline-code-face ((,class (:foreground ,black-4 :background 
,white-1
+   `(markdown-code-face ((,class (:foreground nil :background nil
+   `(markdown-markup-face  ((,class (:foreground ,black-1 :background nil
`(markdown-italic-face ((,class (:foreground ,black-5 :italic t :underline 
,black-5
`(markdown-list-face ((,class (:foreground ,orange-2 :background ,LIGHT_BG 
:bold t
`(markdown-math-face ((,class (:foreground ,purple-2
`(markdown-missing-link-face ((,class (:foreground ,red-1 :bold t
-   `(markdown-pre-face ((,class (:foreground ,blue-2
+   `(markdown-pre-face ((,class (:foreground ,black-4 :background ,white-1
`(markdown-reference-face ((,class (:foreground ,orange-2 :italic t
`(markdown-url-face ((,class (:foreground ,magenta-3 :underline 
,magenta-3
 



[elpa] externals/org c02c0d660d 2/2: org-do-emphasis-faces: Remove link folds if any

2022-06-08 Thread ELPA Syncer
branch: externals/org
commit c02c0d660d210d124cedc5557a0f7b787b9d0695
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-do-emphasis-faces: Remove link folds if any

* lisp/org.el (org-do-emphasis-faces): Reveal hidden parts of links
fontified by `org-activate-link', if any.

Partially fixes
https://list.orgmode.org/t7np1d$vu8$1...@ciao.gmane.io/T/#u
The proper fix should also involve `org-activate-link' not hitting
false-positives inside verbatim.
---
 lisp/org.el | 4 
 1 file changed, 4 insertions(+)

diff --git a/lisp/org.el b/lisp/org.el
index 95dff27ad7..12629bb137 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4894,6 +4894,10 @@ stacked delimiters is N.  Escaping delimiters is not 
possible."
  (when verbatim?
(org-remove-flyspell-overlays-in
 (match-beginning 0) (match-end 0))
+(when (and (org-fold-core-folding-spec-p 'org-link)
+   (org-fold-core-folding-spec-p 
'org-link-description))
+  (org-fold-region (match-beginning 0) (match-end 0) nil 
'org-link)
+  (org-fold-region (match-beginning 0) (match-end 0) nil 
'org-link-description))
(remove-text-properties (match-beginning 2) (match-end 2)
'(display t invisible t intangible t)))
  (add-text-properties (match-beginning 2) (match-end 2)



[elpa] externals/org updated (1105da80a7 -> c02c0d660d)

2022-06-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  1105da80a7 doc/org-manual.org: variable rename
   new  9fd5349d0a org-lint: Fix invocation with C-u prefix argument
   new  c02c0d660d org-do-emphasis-faces: Remove link folds if any


Summary of changes:
 lisp/org-lint.el | 2 +-
 lisp/org.el  | 4 
 2 files changed, 5 insertions(+), 1 deletion(-)



[elpa] externals/org 9fd5349d0a 1/2: org-lint: Fix invocation with C-u prefix argument

2022-06-08 Thread ELPA Syncer
branch: externals/org
commit 9fd5349d0a7b345fba369cce87fc50b64e7528a9
Author: Nick Dokos 
Commit: Ihor Radchenko 

org-lint: Fix invocation with C-u prefix argument

* lisp/org-lint.el (org-lint): Fix the order of the arguments in
the `assoc-string' call when calculating the list of checkers to
invoke.

`C-u M-x org-lint' was failing to run any checkers, no matter what
category of checkers was chosen, because the calculation of the list
of checkers always returned `nil'.
---
 lisp/org-lint.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org-lint.el b/lisp/org-lint.el
index cce6fddbd4..62a245330f 100644
--- a/lisp/org-lint.el
+++ b/lisp/org-lint.el
@@ -321,7 +321,7 @@ ARG can also be a list of checker names, as symbols, to 
run."
nil t)))
  (cl-remove-if-not
   (lambda (c)
-(assoc-string (org-lint-checker-categories c) category))
+(assoc-string category (org-lint-checker-categories c)))
   org-lint--checkers)))
   (`(16)
(list



[elpa] externals/marginalia updated (26f2bd9ee7 -> 03fa4655ec)

2022-06-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/marginalia.

  from  26f2bd9ee7 marginalia--library-doc: Use gzip instead of zcat (See 
#132)
   new  61674a8eec Do not escape all multibyte characters (Fix #118, #141)
   new  03fa4655ec Reduce print-level


Summary of changes:
 marginalia.el | 23 ++-
 1 file changed, 14 insertions(+), 9 deletions(-)



[elpa] externals/marginalia 03fa4655ec 2/2: Reduce print-level

2022-06-08 Thread ELPA Syncer
branch: externals/marginalia
commit 03fa4655ecd99310a51632e285bf961476b789bc
Author: Daniel Mendler 
Commit: Daniel Mendler 

Reduce print-level
---
 marginalia.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/marginalia.el b/marginalia.el
index e8af643abb..5dbef987ff 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -600,7 +600,7 @@ keybinding since CAND includes it."
   (_ (let ((print-escape-newlines t)
(print-escape-control-characters t)
;;(print-escape-multibyte t)
-   (print-level 10)
+   (print-level 3)
(print-length marginalia-field-width))
(propertize
 (replace-regexp-in-string



[elpa] externals/marginalia 61674a8eec 1/2: Do not escape all multibyte characters (Fix #118, #141)

2022-06-08 Thread ELPA Syncer
branch: externals/marginalia
commit 61674a8eec40e8a9f6c6b79c65f8dbf95bb8ea71
Author: Daniel Mendler 
Commit: Daniel Mendler 

Do not escape all multibyte characters (Fix #118, #141)
---
 marginalia.el | 21 +
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/marginalia.el b/marginalia.el
index e71ccc367f..e8af643abb 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -599,17 +599,22 @@ keybinding since CAND includes it."
   ((pred numberp) (propertize (number-to-string val) 'face 
'marginalia-number))
   (_ (let ((print-escape-newlines t)
(print-escape-control-characters t)
-   (print-escape-multibyte t)
+   ;;(print-escape-multibyte t)
(print-level 10)
(print-length marginalia-field-width))
(propertize
-(prin1-to-string
- (if (stringp val)
- ;; Get rid of string properties to save some of the 
precious space
- (substring-no-properties
-  val 0
-  (min (length val) marginalia-field-width))
-   val))
+(replace-regexp-in-string
+ ;; `print-escape-control-characters' does not escape Unicode 
control characters.
+ 
"[\x0-\x1F\x7f-\x9f\x061c\x200e\x200f\x202a-\x202e\x2066-\x2069]"
+ (lambda (x) (format "\\x%x" (string-to-char x)))
+ (prin1-to-string
+  (if (stringp val)
+  ;; Get rid of string properties to save some of the 
precious space
+  (substring-no-properties
+   val 0
+   (min (length val) marginalia-field-width))
+val))
+ 'fixedcase 'literal)
 'face
 (cond
  ((listp val) 'marginalia-list)



[elpa] externals/javaimp 582af66e20 2/2: * javaimp.el (javaimp-minor-mode-map): Add mark-defun

2022-06-08 Thread Filipp Gunbin
branch: externals/javaimp
commit 582af66e20c372db37d8a8d904bb79f52daac916
Author: Filipp Gunbin 
Commit: Filipp Gunbin 

* javaimp.el (javaimp-minor-mode-map): Add mark-defun
---
 javaimp.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/javaimp.el b/javaimp.el
index 106244abf2..9891d8f6c6 100644
--- a/javaimp.el
+++ b/javaimp.el
@@ -1239,7 +1239,8 @@ PREV-INDEX gives the index of the method itself."
   "C-c j" javaimp-basic-map
   ;; Override functions from java-mode
   "C-M-a" #'beginning-of-defun
-  "C-M-e" #'end-of-defun)
+  "C-M-e" #'end-of-defun
+  "C-M-h" #'mark-defun)
 
 
 ;;;###autoload



[elpa] externals/javaimp 60b1006a2b 1/2: Fix comment

2022-06-08 Thread Filipp Gunbin
branch: externals/javaimp
commit 60b1006a2b4cde478322ce1a9a85a42e6b970946
Author: Filipp Gunbin 
Commit: Filipp Gunbin 

Fix comment
---
 javaimp-parse.el | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/javaimp-parse.el b/javaimp-parse.el
index 8948e93294..b563eb8aa0 100644
--- a/javaimp-parse.el
+++ b/javaimp-parse.el
@@ -278,12 +278,10 @@ point (but not farther than BOUND).  Matches inside 
comments /
 strings are skipped.  Return the beginning of the match (then the
 point is also at that position) or nil."
   (javaimp-parse--skip-back-until)
-  ;; If we skip a previous scope (including unnamed initializers), or
-  ;; reach enclosing scope start, we'll fail the check in the below
-  ;; loop.  But a semicolon, which delimits statements, will just be
-  ;; skipped by scan-sexps, so find it and use as bound.  If it is in
-  ;; another scope, that's not a problem, for the same reasons as
-  ;; described above.
+  ;; A semicolon, which delimits statements, will just be skipped by
+  ;; scan-sexps, so find it and use as bound.  If it is in another
+  ;; scope, that's not a problem: we'll attempt to skip that scope,
+  ;; and exit the loop anyway.
   (let* ((prev-semi (save-excursion
   (javaimp-parse--rsb-keyword ";" bound t)))
  (bound (when (or bound prev-semi)



[elpa] externals/javaimp updated (ecf0782761 -> 582af66e20)

2022-06-08 Thread Filipp Gunbin
fgunbin pushed a change to branch externals/javaimp.

  from  ecf0782761 * javaimp-parse.el (javaimp-parse--decl-prefix): Allow 
symbols
   new  60b1006a2b Fix comment
   new  582af66e20 * javaimp.el (javaimp-minor-mode-map): Add mark-defun


Summary of changes:
 javaimp-parse.el | 10 --
 javaimp.el   |  3 ++-
 2 files changed, 6 insertions(+), 7 deletions(-)



[elpa] externals/corfu 5d0b5e46e3: Add candidates without properties to history

2022-06-08 Thread ELPA Syncer
branch: externals/corfu
commit 5d0b5e46e30dfe81001befe87c6491929d900e03
Author: Daniel Mendler 
Commit: Daniel Mendler 

Add candidates without properties to history

Ensure that the history can be persisted by savehist-mode.
---
 extensions/corfu-history.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/extensions/corfu-history.el b/extensions/corfu-history.el
index 734404472b..bdd97b69a0 100644
--- a/extensions/corfu-history.el
+++ b/extensions/corfu-history.el
@@ -84,7 +84,8 @@
   "Advice for `corfu--insert'."
   (when (>= corfu--index 0)
 (add-to-history 'corfu-history
-(nth corfu--index corfu--candidates)
+(substring-no-properties
+ (nth corfu--index corfu--candidates))
 corfu-history-length)
 (setq corfu-history--hash nil)))
 



[elpa] externals/dash 0ac1ecf6b5 3/3: Recategorize -repeat and -cycle as unfolds

2022-06-08 Thread ELPA Syncer
branch: externals/dash
commit 0ac1ecf6b56eb67bb81a3cf70f8d4354b5782341
Author: Basil L. Contovounesios 
Commit: Basil L. Contovounesios 

Recategorize -repeat and -cycle as unfolds

* dash.el (-repeat): Use >= in place of natnump, for speed.
* dev/examples.el (-repeat, -cycle): Move from "Other list
operations" to "Unfolding".

* README.md:
* dash.texi: Regenerate docs.
---
 README.md   | 50 -
 dash.el |  2 +-
 dash.texi   | 86 -
 dev/examples.el | 34 +--
 4 files changed, 88 insertions(+), 84 deletions(-)

diff --git a/README.md b/README.md
index 43efd00539..7351eb43d5 100644
--- a/README.md
+++ b/README.md
@@ -211,6 +211,8 @@ value rather than consuming a list to produce a single 
value.
 
 * [`-iterate`](#-iterate-fun-init-n) `(fun init n)`
 * [`-unfold`](#-unfold-fun-seed) `(fun seed)`
+* [`-repeat`](#-repeat-n-x) `(n x)`
+* [`-cycle`](#-cycle-list) `(list)`
 
 ### Predicates
 
@@ -279,7 +281,6 @@ Operations pretending lists are sets.
 Other list functions not fit to be classified elsewhere.
 
 * [`-rotate`](#-rotate-n-list) `(n list)`
-* [`-repeat`](#-repeat-n-x) `(n x)`
 * [`-cons*`](#-cons-rest-args) `(&rest args)`
 * [`-snoc`](#-snoc-list-elem-rest-elements) `(list elem &rest elements)`
 * [`-interpose`](#-interpose-sep-list) `(sep list)`
@@ -290,7 +291,6 @@ Other list functions not fit to be classified elsewhere.
 * [`-zip-lists`](#-zip-lists-rest-lists) `(&rest lists)`
 * [`-zip-fill`](#-zip-fill-fill-value-rest-lists) `(fill-value &rest lists)`
 * [`-unzip`](#-unzip-lists) `(lists)`
-* [`-cycle`](#-cycle-list) `(list)`
 * [`-pad`](#-pad-fill-value-rest-lists) `(fill-value &rest lists)`
 * [`-table`](#-table-fn-rest-lists) `(fn &rest lists)`
 * [`-table-flat`](#-table-flat-fn-rest-lists) `(fn &rest lists)`
@@ -1304,6 +1304,29 @@ the new seed.
 (--unfold (when it (cons it (butlast it))) '(1 2 3 4)) ;; => ((1 2 3 4) (1 2 
3) (1 2) (1))
 ```
 
+ -repeat `(n x)`
+
+Return a new list of length `n` with each element being `x`.
+Return `nil` if `n` is less than 1.
+
+```el
+(-repeat 3 :a) ;; => (:a :a :a)
+(-repeat 1 :a) ;; => (:a)
+(-repeat 0 :a) ;; => ()
+```
+
+ -cycle `(list)`
+
+Return an infinite circular copy of `list`.
+The returned list cycles through the elements of `list` and repeats
+from the beginning.
+
+```el
+(-take 5 (-cycle '(1 2 3))) ;; => (1 2 3 1 2)
+(-take 7 (-cycle '(1 "and" 3))) ;; => (1 "and" 3 1 "and" 3 1)
+(-zip (-cycle '(1 2 3)) '(1 2)) ;; => ((1 . 1) (2 . 2))
+```
+
 ## Predicates
 
 Reductions of one or more lists to a boolean value.
@@ -1894,17 +1917,6 @@ The time complexity is O(n).
 (-rotate 16 '(1 2 3 4 5 6 7)) ;; => (6 7 1 2 3 4 5)
 ```
 
- -repeat `(n x)`
-
-Return a new list of length `n` with each element being `x`.
-Return `nil` if `n` is less than 1.
-
-```el
-(-repeat 3 :a) ;; => (:a :a :a)
-(-repeat 1 :a) ;; => (:a)
-(-repeat 0 :a) ;; => nil
-```
-
  -cons* `(&rest args)`
 
 Make a new list from the elements of `args`.
@@ -2054,18 +2066,6 @@ See also: [`-zip`](#-zip-rest-lists)
 (-unzip '((1 2) (3 4))) ;; => ((1 . 3) (2 . 4))
 ```
 
- -cycle `(list)`
-
-Return an infinite circular copy of `list`.
-The returned list cycles through the elements of `list` and repeats
-from the beginning.
-
-```el
-(-take 5 (-cycle '(1 2 3))) ;; => (1 2 3 1 2)
-(-take 7 (-cycle '(1 "and" 3))) ;; => (1 "and" 3 1 "and" 3 1)
-(-zip (-cycle '(1 2 3)) '(1 2)) ;; => ((1 . 1) (2 . 2))
-```
-
  -pad `(fill-value &rest lists)`
 
 Pad each of `lists` with `fill-value` until they all have equal lengths.
diff --git a/dash.el b/dash.el
index 3447016eeb..e04201ff22 100644
--- a/dash.el
+++ b/dash.el
@@ -3143,7 +3143,7 @@ backward compatibility and is otherwise deprecated."
   "Return a new list of length N with each element being X.
 Return nil if N is less than 1."
   (declare (pure t) (side-effect-free t))
-  (and (natnump n) (make-list n x)))
+  (and (>= n 0) (make-list n x)))
 
 (defun -sum (list)
   "Return the sum of LIST."
diff --git a/dash.texi b/dash.texi
index 72b7b712ca..a868cfddad 100644
--- a/dash.texi
+++ b/dash.texi
@@ -1756,6 +1756,49 @@ the new seed.
 @end example
 @end defun
 
+@anchor{-repeat}
+@defun -repeat (n x)
+Return a new list of length @var{n} with each element being @var{x}.
+Return @code{nil} if @var{n} is less than 1.
+
+@example
+@group
+(-repeat 3 :a)
+@result{} (:a :a :a)
+@end group
+@group
+(-repeat 1 :a)
+@result{} (:a)
+@end group
+@group
+(-repeat 0 :a)
+@result{} ()
+@end group
+@end example
+@end defun
+
+@anchor{-cycle}
+@defun -cycle (list)
+Return an infinite circular copy of @var{list}.
+The returned list cycles through the elements of @var{list} and repeats
+from the beginning.
+
+@example
+@group
+(-take 5 (-cycle '(1 2 3)))
+@result{} (1 2 3 1 2)
+@end group
+@group
+(-take 7 (-cycle '(1 "and" 3)))
+@result{} (1 "and" 3 1 "and" 3 1)
+@end group
+@group
+

[elpa] externals/dash updated (0c49a33a61 -> 0ac1ecf6b5)

2022-06-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/dash.

  from  0c49a33a61 Fix -permutations for multisets
   new  c62dfb0b77 Fix -pad when fed zero input lists
   new  d17fc9aa7c Simplify -annotate
   new  0ac1ecf6b5 Recategorize -repeat and -cycle as unfolds


Summary of changes:
 NEWS.md |   1 +
 README.md   |  76 
 dash.el |  41 +---
 dash.texi   | 118 ++--
 dev/examples.el |  75 +--
 5 files changed, 189 insertions(+), 122 deletions(-)



[elpa] externals/dash c62dfb0b77 1/3: Fix -pad when fed zero input lists

2022-06-08 Thread ELPA Syncer
branch: externals/dash
commit c62dfb0b77c6552a2534985ecb1cebb8b783076d
Author: Basil L. Contovounesios 
Commit: Basil L. Contovounesios 

Fix -pad when fed zero input lists

* NEWS.md (2.20.0): Mention fix.
* README.md:
* dash.texi: Regenerate docs.

* dash.el (-pad): Don't barf on zero input lists.  Fix docstring.
Mark as pure and side-effect-free.  Simplify.
* dev/examples.el (-pad): Extend tests.
---
 NEWS.md |  1 +
 README.md   | 11 +++
 dash.el | 14 +-
 dash.texi   | 15 +--
 dev/examples.el | 11 +--
 5 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/NEWS.md b/NEWS.md
index 6d2553f7c7..ab08c1ee76 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -12,6 +12,7 @@ See the end of the file for license conditions.
 
 - Fixed a regression from `2.18` in `-take` that caused it to
   prematurely signal an error on improper lists (#393).
+- The function `-pad` can now be called with zero lists as arguments.
 - The functions `-union`, `-intersection`, and `-difference` now
   return proper sets, without duplicate elements (#397).
 - The functions `-same-items?` and `-permutations` now work on
diff --git a/README.md b/README.md
index f98ae44829..64789b69d1 100644
--- a/README.md
+++ b/README.md
@@ -2063,13 +2063,16 @@ from the beginning.
 
  -pad `(fill-value &rest lists)`
 
-Appends `fill-value` to the end of each list in `lists` such that they
-will all have the same length.
+Pad each of `lists` with `fill-value` until they all have equal lengths.
+
+Ensure all `lists` are as long as the longest one by repeatedly
+appending `fill-value` to the shorter lists, and return the
+resulting `lists`.
 
 ```el
 (-pad 0 ()) ;; => (nil)
-(-pad 0 '(1)) ;; => ((1))
-(-pad 0 '(1 2 3) '(4 5)) ;; => ((1 2 3) (4 5 0))
+(-pad 0 '(1 2) '(3 4)) ;; => ((1 2) (3 4))
+(-pad 0 '(1 2) '(3 4 5 6) '(7 8 9)) ;; => ((1 2 0 0) (3 4 5 6) (7 8 9 0))
 ```
 
  -table `(fn &rest lists)`
diff --git a/dash.el b/dash.el
index 04c3ca1d5e..ed3a15131f 100644
--- a/dash.el
+++ b/dash.el
@@ -1704,11 +1704,15 @@ from the beginning."
 (nconc newlist newlist)))
 
 (defun -pad (fill-value &rest lists)
-  "Appends FILL-VALUE to the end of each list in LISTS such that they
-will all have the same length."
-  (let* ((annotations (-annotate 'length lists))
- (n (-max (-map 'car annotations
-(--map (append (cdr it) (-repeat (- n (car it)) fill-value)) annotations)))
+  "Pad each of LISTS with FILL-VALUE until they all have equal lengths.
+
+Ensure all LISTS are as long as the longest one by repeatedly
+appending FILL-VALUE to the shorter lists, and return the
+resulting LISTS."
+  (declare (pure t) (side-effect-free t))
+  (let* ((lens (mapcar #'length lists))
+ (maxlen (apply #'max 0 lens)))
+(--map (append it (make-list (- maxlen (pop lens)) fill-value)) lists)))
 
 (defun -annotate (fn list)
   "Return a list of cons cells where each cell is FN applied to each
diff --git a/dash.texi b/dash.texi
index 9f2f05a5c4..a38f20fd3a 100644
--- a/dash.texi
+++ b/dash.texi
@@ -3048,8 +3048,11 @@ from the beginning.
 
 @anchor{-pad}
 @defun -pad (fill-value &rest lists)
-Appends @var{fill-value} to the end of each list in @var{lists} such that they
-will all have the same length.
+Pad each of @var{lists} with @var{fill-value} until they all have equal 
lengths.
+
+Ensure all @var{lists} are as long as the longest one by repeatedly
+appending @var{fill-value} to the shorter lists, and return the
+resulting @var{lists}.
 
 @example
 @group
@@ -3057,12 +3060,12 @@ will all have the same length.
 @result{} (nil)
 @end group
 @group
-(-pad 0 '(1))
-@result{} ((1))
+(-pad 0 '(1 2) '(3 4))
+@result{} ((1 2) (3 4))
 @end group
 @group
-(-pad 0 '(1 2 3) '(4 5))
-@result{} ((1 2 3) (4 5 0))
+(-pad 0 '(1 2) '(3 4 5 6) '(7 8 9))
+@result{} ((1 2 0 0) (3 4 5 6) (7 8 9 0))
 @end group
 @end example
 @end defun
diff --git a/dev/examples.el b/dev/examples.el
index d858e203ce..0b1ff173c5 100644
--- a/dev/examples.el
+++ b/dev/examples.el
@@ -1470,10 +1470,17 @@ related predicates."
 
   (defexamples -pad
 (-pad 0 '()) => '(())
+(-pad 0 '(1 2) '(3 4)) => '((1 2) (3 4))
+(-pad 0 '(1 2) '(3 4 5 6) '(7 8 9)) => '((1 2 0 0) (3 4 5 6) (7 8 9 0))
+(-pad 0) => ()
+(-pad 0 () ()) => '(() ())
 (-pad 0 '(1)) => '((1))
+(-pad 0 '(1) '(1)) => '((1) (1))
 (-pad 0 '(1 2 3) '(4 5)) => '((1 2 3) (4 5 0))
-(-pad nil '(1 2 3) '(4 5) '(6 7 8 9 10)) => '((1 2 3 nil nil) (4 5 nil nil 
nil) (6 7 8 9 10))
-(-pad 0 '(1 2) '(3 4)) => '((1 2) (3 4)))
+(-pad nil ()) => '(())
+(-pad nil () ()) => '(() ())
+(-pad nil '(nil nil) '(nil) '(nil nil nil nil nil))
+=> '((nil nil nil nil nil) (nil nil nil nil nil) (nil nil nil nil nil)))
 
   (defexamples -table
 (-table '* '(1 2 3) '(1 2 3)) => '((1 2 3) (2 4 6) (3 6 9))



[elpa] externals/dash d17fc9aa7c 2/3: Simplify -annotate

2022-06-08 Thread ELPA Syncer
branch: externals/dash
commit d17fc9aa7c6560ad2a48788227e28ff27a5930db
Author: Basil L. Contovounesios 
Commit: Basil L. Contovounesios 

Simplify -annotate

* dash.el (--annotate, -annotate): Simplify implementation, and
rewrite function in terms of the macro.  Improve docstrings.
* dev/examples.el (-annotate): Extend tests.

* README.md:
* dash.texi: Regenerate docs.
---
 README.md   | 15 ++-
 dash.el | 25 ++---
 dash.texi   | 17 +++--
 dev/examples.el | 30 +++---
 4 files changed, 66 insertions(+), 21 deletions(-)

diff --git a/README.md b/README.md
index 64789b69d1..43efd00539 100644
--- a/README.md
+++ b/README.md
@@ -467,13 +467,18 @@ For a side-effecting variant, see also 
[`-each-indexed`](#-each-indexed-list-fn)
 
  -annotate `(fn list)`
 
-Return a list of cons cells where each cell is `fn` applied to each
-element of `list` paired with the unmodified element of `list`.
+Pair each item in `list` with the result of passing it to `fn`.
+
+Return an alist of (`result` . `item`), where each `item` is the
+corresponding element of `list`, and `result` is the value obtained
+by calling `fn` on `item`.
+
+This function's anaphoric counterpart is `--annotate`.
 
 ```el
-(-annotate '1+ '(1 2 3)) ;; => ((2 . 1) (3 . 2) (4 . 3))
-(-annotate 'length '(("h" "e" "l" "l" "o") ("hello" "world"))) ;; => ((5 "h" 
"e" "l" "l" "o") (2 "hello" "world"))
-(--annotate (< 1 it) '(0 1 2 3)) ;; => ((nil . 0) (nil . 1) (t . 2) (t . 3))
+(-annotate #'1+ '(1 2 3)) ;; => ((2 . 1) (3 . 2) (4 . 3))
+(-annotate #'length '((f o o) (bar baz))) ;; => ((3 f o o) (2 bar baz))
+(--annotate (> it 1) '(0 1 2 3)) ;; => ((nil . 0) (nil . 1) (t . 2) (t . 3))
 ```
 
  -splice `(pred fun list)`
diff --git a/dash.el b/dash.el
index ed3a15131f..3447016eeb 100644
--- a/dash.el
+++ b/dash.el
@@ -1714,15 +1714,26 @@ resulting LISTS."
  (maxlen (apply #'max 0 lens)))
 (--map (append it (make-list (- maxlen (pop lens)) fill-value)) lists)))
 
+(defmacro --annotate (form list)
+  "Pair each item in LIST with the result of evaluating FORM.
+
+Return an alist of (RESULT . ITEM), where each ITEM is the
+corresponding element of LIST, and RESULT is the value obtained
+by evaluating FORM with ITEM bound to `it'.
+
+This is the anaphoric counterpart to `-annotate'."
+  (declare (debug (form form)))
+  `(--map (cons ,form it) ,list))
+
 (defun -annotate (fn list)
-  "Return a list of cons cells where each cell is FN applied to each
-element of LIST paired with the unmodified element of LIST."
-  (-zip (-map fn list) list))
+  "Pair each item in LIST with the result of passing it to FN.
 
-(defmacro --annotate (form list)
-  "Anaphoric version of `-annotate'."
-  (declare (debug (def-form form)))
-  `(-annotate (lambda (it) (ignore it) ,form) ,list))
+Return an alist of (RESULT . ITEM), where each ITEM is the
+corresponding element of LIST, and RESULT is the value obtained
+by calling FN on ITEM.
+
+This function's anaphoric counterpart is `--annotate'."
+  (--annotate (funcall fn it) list))
 
 (defun dash--table-carry (lists restore-lists &optional re)
   "Helper for `-table' and `-table-flat'.
diff --git a/dash.texi b/dash.texi
index a38f20fd3a..72b7b712ca 100644
--- a/dash.texi
+++ b/dash.texi
@@ -360,20 +360,25 @@ For a side-effecting variant, see also 
@code{-each-indexed} (@pxref{-each-indexe
 
 @anchor{-annotate}
 @defun -annotate (fn list)
-Return a list of cons cells where each cell is @var{fn} applied to each
-element of @var{list} paired with the unmodified element of @var{list}.
+Pair each item in @var{list} with the result of passing it to @var{fn}.
+
+Return an alist of (@var{result} . @var{item}), where each @var{item} is the
+corresponding element of @var{list}, and @var{result} is the value obtained
+by calling @var{fn} on @var{item}.
+
+This function's anaphoric counterpart is @code{--annotate}.
 
 @example
 @group
-(-annotate '1+ '(1 2 3))
+(-annotate #'1+ '(1 2 3))
 @result{} ((2 . 1) (3 . 2) (4 . 3))
 @end group
 @group
-(-annotate 'length '(("h" "e" "l" "l" "o") ("hello" "world")))
-@result{} ((5 "h" "e" "l" "l" "o") (2 "hello" "world"))
+(-annotate #'length '((f o o) (bar baz)))
+@result{} ((3 f o o) (2 bar baz))
 @end group
 @group
-(--annotate (< 1 it) '(0 1 2 3))
+(--annotate (> it 1) '(0 1 2 3))
 @result{} ((nil . 0) (nil . 1) (t . 2) (t . 3))
 @end group
 @end example
diff --git a/dev/examples.el b/dev/examples.el
index 0b1ff173c5..54a8b237bd 100644
--- a/dev/examples.el
+++ b/dev/examples.el
@@ -101,9 +101,33 @@ new list."
 (--map-indexed t '()) => '())
 
   (defexamples -annotate
-(-annotate '1+ '(1 2 3)) => '((2 . 1) (3 . 2) (4 . 3))
-(-annotate 'length '(("h" "e" "l" "l" "o") ("hello" "world"))) => '((5 . 
("h" "e" "l" "l" "o")) (2 . ("hello" "world")))
-(--annotate (< 1 it) '(0 1 2 3)) => '((nil . 0) (nil . 1) (t . 2) (t . 3)))
+(-annotate #'1+ '(1 2 3)) =

[elpa] externals/vertico 3835ce490f: vertico-repeat: Add candidates without properties to history

2022-06-08 Thread ELPA Syncer
branch: externals/vertico
commit 3835ce490f0ea548a5079a83b5914691bcc739c2
Author: Daniel Mendler 
Commit: Daniel Mendler 

vertico-repeat: Add candidates without properties to history

Ensure that the history can be persisted by savehist-mode.
---
 extensions/vertico-repeat.el | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/extensions/vertico-repeat.el b/extensions/vertico-repeat.el
index 63f4d0e432..a4771d6b87 100644
--- a/extensions/vertico-repeat.el
+++ b/extensions/vertico-repeat.el
@@ -57,7 +57,7 @@
 
 (defun vertico-repeat--save-input ()
   "Save current minibuffer input."
-  (setq vertico-repeat--input (minibuffer-contents)))
+  (setq vertico-repeat--input (minibuffer-contents-no-properties)))
 
 (defun vertico-repeat--save-exit ()
   "Save command session in `vertico-repeat-history'."
@@ -68,7 +68,8 @@
 vertico-repeat--input
 (and vertico--lock-candidate
  (>= vertico--index 0)
- (nth vertico--index vertico--candidates)
+ (substring-no-properties
+  (nth vertico--index vertico--candidates))
 
 (defun vertico-repeat--restore (session)
   "Restore Vertico SESSION for `vertico-repeat'."
@@ -85,7 +86,8 @@
 (defun vertico-repeat-save ()
   "Save Vertico session for `vertico-repeat'.
 This function must be registered as `minibuffer-setup-hook'."
-  (when (and vertico--input (not (memq this-command vertico-repeat-filter)))
+  (when (and vertico--input (symbolp this-command)
+ (not (memq this-command vertico-repeat-filter)))
 (setq vertico-repeat--command this-command)
 (add-hook 'post-command-hook #'vertico-repeat--save-input nil 'local)
 (add-hook 'minibuffer-exit-hook #'vertico-repeat--save-exit nil 'local)))



[elpa] externals/javaimp 55b4553bb2: Fix single quotes in docstrings

2022-06-08 Thread Filipp Gunbin
branch: externals/javaimp
commit 55b4553bb2a4a96db2598bdda296cb03e9d677ef
Author: Filipp Gunbin 
Commit: Filipp Gunbin 

Fix single quotes in docstrings
---
 javaimp-parse.el | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/javaimp-parse.el b/javaimp-parse.el
index b563eb8aa0..315083f5e5 100644
--- a/javaimp-parse.el
+++ b/javaimp-parse.el
@@ -189,8 +189,8 @@ skipping further backwards is done by the caller."
 or reaching bob.
 
 STOP-P is invoked with two arguments which describe the last
-non-ws thing skipped: LAST-WHAT (symbol - either 'list' or
-'char') and LAST-POS.  If STOP-P returns non-nil, then the return
+non-ws thing skipped: LAST-WHAT (symbol - either `list' or
+`char') and LAST-POS.  If STOP-P returns non-nil, then the return
 value is also non-nil: either (LAST-WHAT . LAST-POS) if both are
 non-nil or t.  Otherwise the return value is nil.
 
@@ -344,9 +344,9 @@ left."
 
 (defun javaimp-scope-defun-p (&optional include-also)
   "Return predicate which matches defun scopes, which are usually
-type definitions.  If INCLUDE-ALSO is 'method' then also include
- methods.  If INCLUDE-ALSO is t, include methods, as well as
- local / anonymous classes and their methods."
+type definitions.  If INCLUDE-ALSO is `method' then also include
+methods.  If INCLUDE-ALSO is t, include methods, as well as local
+/ anonymous classes and their methods."
   (let ((leaf-types
  (append '(class interface enum)
  (when include-also
@@ -424,7 +424,7 @@ brace.")
 :start keyword-start)
 
 (defun javaimp-parse--scope-simple-stmt (_brace-pos)
-  "Attempts to parse 'simple-statement' scope.  Currently block
+  "Attempts to parse `simple-statement' scope.  Currently block
 lambdas are also recognized as such."
   (javaimp-parse--skip-back-until)
   (cond ((looking-back "->" (- (point) 2))
@@ -461,7 +461,7 @@ lambdas are also recognized as such."
   :start start))
 
 (defun javaimp-parse--scope-method-or-stmt (brace-pos)
-  "Attempts to parse 'method' or 'statement' scope."
+  "Attempts to parse `method' or `statement' scope."
   (let (;; take the closest preceding closing paren as the bound
 (throws-search-bound (save-excursion
(when (javaimp-parse--rsb-keyword ")" nil t 1)
@@ -505,7 +505,7 @@ lambdas are also recognized as such."
:start (point)
 
 (defun javaimp-parse--scope-array-init (_brace-pos)
-  "Attempts to parse 'array-init' scope."
+  "Attempts to parse `array-init' scope."
   (javaimp-parse--skip-back-until)
   (let (decl-prefix-beg)
 (when (or
@@ -525,7 +525,7 @@ lambdas are also recognized as such."
 Returns most nested one, with its parents sets accordingly.  If
 COUNT is nil then goes all the way up.
 
-Examines and sets property 'javaimp-parse-scope' at each scope's
+Examines and sets property `javaimp-parse-scope' at each scope's
 open brace.  If neither of functions in
 `javaimp-parse--scope-hook' return non-nil then a dummy scope is
 created, with `javaimp-scope-type' set to nil.
@@ -693,7 +693,7 @@ at the end of directive."
 . CLASS-ALIST).  REGION, a cons of two positions, spans from bol
 of first import to eol of last import.  CLASS-ALIST contains
 elements (CLASS . TYPE), where CLASS is a string and TYPE is
-either of symbols `normal' or 'static'."
+either of symbols `normal' or `static'."
   (javaimp-parse--all-scopes)
   (goto-char (point-max))
   (let (start-pos end-pos class-alist)



[elpa] externals/pyim c7b37cb30c 7/8: Add pyim-process-update-last-candidates

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit c7b37cb30c65edf6eb013ef1862dc7af64b4cbd5
Author: Feng Shu 
Commit: Feng Shu 

Add pyim-process-update-last-candidates
---
 pyim-process.el | 3 +++
 pyim.el | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/pyim-process.el b/pyim-process.el
index 8189d953fc..cafea2b7f7 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -469,6 +469,9 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
 (defun pyim-process-get-last-candidates ()
   pyim-process-candidates-last)
 
+(defun pyim-process-update-last-candidates ()
+  (setq pyim-process-candidates-last pyim-process-candidates))
+
 (defun pyim-process-get-candidate-position ()
   pyim-process-candidate-position)
 
diff --git a/pyim.el b/pyim.el
index 1c881e4fb4..f6c69017d1 100644
--- a/pyim.el
+++ b/pyim.el
@@ -315,7 +315,7 @@ REFRESH-COMMON-DCACHE 已经废弃,不要再使用了。"
 (defun pyim-self-insert-command ()
   "Pyim 默认的 self-insert-command."
   (interactive "*")
-  (setq pyim-process-candidates-last pyim-process-candidates)
+  (pyim-process-update-last-candidates)
   (cond
((pyim-process-input-chinese-p)
 (pyim-process-with-entered-buffer



[elpa] externals/pyim f108f69eff 5/8: Fix quote warn in docstring

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit f108f69eff1fa2f8b9b610b4f4f8853739ab60c5
Author: Feng Shu 
Commit: Feng Shu 

Fix quote warn in docstring
---
 pyim-dhashcache.el  |  2 +-
 pyim-probe.el   |  2 +-
 pyim-punctuation.el | 18 +-
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/pyim-dhashcache.el b/pyim-dhashcache.el
index e6756e4e81..75c73f1f63 100644
--- a/pyim-dhashcache.el
+++ b/pyim-dhashcache.el
@@ -289,7 +289,7 @@
 (defun pyim-dhashcache-generate-dcache-file (dict-files dcache-file)
   "读取词库文件列表:DICT-FILES, 生成一个词库缓冲文件 DCACHE-FILE.
 
-pyim 使用的词库文件是简单的文本文件,编码 *强制* 为 'utf-8-unix,
+pyim 使用的词库文件是简单的文本文件,编码 *强制* 为 \\='utf-8-unix,
 其结构类似:
 
   ni-bu-hao 你不好
diff --git a/pyim-probe.el b/pyim-probe.el
index aba8c32296..90b782ec9f 100644
--- a/pyim-probe.el
+++ b/pyim-probe.el
@@ -115,7 +115,7 @@
 3. 使用 `pyim-convert-code-at-point' 可以将光标前的 code 字符串转换为中文,
所以用户需要给 `pyim-convert-code-at-point' 绑定一个快捷键,比如:
 
-   (global-set-key (kbd \"M-i\") 'pyim-convert-code-at-point)
+   (global-set-key (kbd \"M-i\") #'pyim-convert-code-at-point)
 
 这个函数用于:`pyim-english-input-switch-functions' 。"
   (let* ((offset 0)
diff --git a/pyim-punctuation.el b/pyim-punctuation.el
index 1c724a6a11..0ae736b6ca 100644
--- a/pyim-punctuation.el
+++ b/pyim-punctuation.el
@@ -81,9 +81,9 @@ pyim 输入半角标点,函数列表中每个函数都有一个参数:char 
 (defvar pyim-punctuation-translate-p '(auto yes no)
   "这个变量的第一个元素的取值用于控制标点符号全角半角模式切换.
 
-1. 当第一个元素为 'yes 时,输入全角标点。
-2. 当第一个元素为 'no 时,输入半角标点。
-3. 当第一个元素为 'auto 时,根据中英文环境,自动切换。")
+1. 当第一个元素为 \\='yes 时,输入全角标点。
+2. 当第一个元素为 \\='no 时,输入半角标点。
+3. 当第一个元素为 \\='auto 时,根据中英文环境,自动切换。")
 
 (defvar pyim-punctuation-pair-status
   '(("\"" nil) ("'" nil))
@@ -109,9 +109,9 @@ If you don't like this function, set the variable to nil")
 `pyim-process-punctuation-full-width-p' 函数的返回值,来决定是否转换标点
 符号:
 
-1. 当返回值为 'yes 时,`pyim-process-outcome-handle-char' 转换标点符号,从而输入全角标点。
-2. 当返回值为 'no 时,`pyim-process-outcome-handle-char' 忽略转换,从而输入半角标点。
-3. 当返回值为 'auto 时,根据中英文环境,自动切换。"
+1. 当返回值为 \\='yes 时,`pyim-process-outcome-handle-char' 转换标点符号,从而输入全角标点。
+2. 当返回值为 \\='no 时,`pyim-process-outcome-handle-char' 忽略转换,从而输入半角标点。
+3. 当返回值为 \\='auto 时,根据中英文环境,自动切换。"
   (interactive)
   (setq pyim-punctuation-translate-p
 `(,@(cdr pyim-punctuation-translate-p)
@@ -141,8 +141,8 @@ If you don't like this function, set the variable to nil")
 (defun pyim-punctuation-translate (&optional punct-style)
   "将光标前1个或前后连续成对的n个标点符号进行全角/半角转换.
 
-当 PUNCT-STYLE 设置为 'full-width 时,所有的标点符号转换为全角符
-号,设置为 'half-width 时,转换为半角符号。"
+当 PUNCT-STYLE 设置为 \\='full-width 时,所有的标点符号转换为全角符
+号,设置为 \\='half-width 时,转换为半角符号。"
   (interactive)
   (let ((punc-list (pyim-flatten-tree pyim-punctuation-dict))
 (punct-style
@@ -197,7 +197,7 @@ If you don't like this function, set the variable to nil")
 
 PUNCT-LIST 格式类似:
 
-   `(\",\" \",\") 或者:`(\"'\" \"‘\" \"’\")
+   (\",\" \",\") 或者:(\"'\" \"‘\" \"’\")
 
 当 BEFORE 为 t 时,只返回切换之前的结果,这个用来获取切换之前的
 标点符号。



[elpa] externals/pyim 13d853d94f 1/8: pyim-candidates -> pyim-process-candidates

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 13d853d94fb2d415ba98c3dde635279efa87b399
Author: Feng Shu 
Commit: Feng Shu 

pyim-candidates -> pyim-process-candidates

现在,所有使用 pyim-candidates 变量的代码都已经移动到 pyim-process 了,
所以这个变量也改名并移动到 pyim-process 了。
---
 pyim-candidates.el  | 14 --
 pyim-liberime.el|  2 +-
 pyim-process.el | 55 +
 pyim.el |  2 +-
 tests/pyim-tests.el | 16 
 5 files changed, 44 insertions(+), 45 deletions(-)

diff --git a/pyim-candidates.el b/pyim-candidates.el
index a5f0b000ac..3f035fddbe 100644
--- a/pyim-candidates.el
+++ b/pyim-candidates.el
@@ -43,20 +43,6 @@
   "启用输入联想词功能."
   :type 'boolean)
 
-(defvar pyim-candidates nil
-  "所有备选词条组成的列表.")
-
-(defvar pyim-candidates-last nil
-  "上一轮备选词条列表,这个变量主要用于 autoselector 机制.")
-
-(defvar pyim-candidate-position nil
-  "当前选择的词条在 `pyim-candidates’ 中的位置.
-
-细节信息请参考 `pyim-page-refresh' 的 docstring.")
-
-(pyim-register-local-variables
- '(pyim-candidates pyim-candidate-position))
-
 ;; ** 获取备选词列表
 (defun pyim-candidates-sort (candidates)
   "对 CANDIDATES 进行排序。"
diff --git a/pyim-liberime.el b/pyim-liberime.el
index dc75849cde..3175e7f04d 100644
--- a/pyim-liberime.el
+++ b/pyim-liberime.el
@@ -189,7 +189,7 @@
(reverse pyim-liberime-word-log))
   ;; 使用 rime 的同时,也附带的优化 quanpin 的词库。
   (let ((pyim-default-scheme 'quanpin))
-(if (member (pyim-outcome-get) pyim-candidates)
+(if (member (pyim-outcome-get) pyim-process-candidates)
 (pyim-process-create-word (pyim-outcome-get) t)
   (pyim-process-create-word (pyim-outcome-get
   (setq pyim-liberime-code-log nil)
diff --git a/pyim-process.el b/pyim-process.el
index 10c4f91cb5..f1cae62af5 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -136,9 +136,22 @@ entered (nihaom) 的第一个候选词。
 (defvar pyim-process-stop-daemon-hook nil
   "Pyim stop daemon hook.")
 
+(defvar pyim-process-candidates nil
+  "所有备选词条组成的列表.")
+
+(defvar pyim-process-candidates-last nil
+  "上一轮备选词条列表,这个变量主要用于 autoselector 机制.")
+
+(defvar pyim-process-candidate-position nil
+  "当前选择的词条在 `pyim-candidates’ 中的位置.
+
+细节信息请参考 `pyim-page-refresh' 的 docstring.")
+
 (pyim-register-local-variables
  '(pyim-process-input-ascii
-   pyim-process-translating))
+   pyim-process-translating
+   pyim-process-candidates
+   pyim-process-candidate-position))
 
 (defun pyim-process-ui-init ()
   "初始化 pyim 相关 UI."
@@ -262,11 +275,11 @@ entered (nihaom) 的第一个候选词。
   (setq entered-to-translate
 (pyim-entered-get 'point-before))
   (setq pyim-imobjs (pyim-imobjs-create entered-to-translate scheme))
-  (setq pyim-candidates
+  (setq pyim-process-candidates
 (or (delete-dups (pyim-candidates-create pyim-imobjs scheme))
 (list entered-to-translate)))
   (unless (eq (pyim-process-auto-select) 'auto-select-success)
-(setq pyim-candidate-position 1)
+(setq pyim-process-candidate-position 1)
 (pyim-process-ui-refresh)
 (pyim-process-run-delay)
 
@@ -300,9 +313,9 @@ entered (nihaom) 的第一个候选词。
select-current-word)
  :replace-with))
  (candidates (if select-last-word
- pyim-candidates-last
-   pyim-candidates))
- (pyim-candidates
+ pyim-process-candidates-last
+   pyim-process-candidates))
+ (pyim-process-candidates
   (if (and str (stringp str))
   (list str)
 candidates)))
@@ -380,8 +393,8 @@ entered (nihaom) 的第一个候选词。
  (words (pyim-candidates-create-limit-time
  pyim-imobjs scheme)))
 (when words
-  (setq pyim-candidates
-(pyim-process-merge-candidates words pyim-candidates))
+  (setq pyim-process-candidates
+(pyim-process-merge-candidates words pyim-process-candidates))
   (pyim-process-ui-refresh
 
 (defun pyim-process-merge-candidates (new-candidates old-candidates)
@@ -402,24 +415,24 @@ entered (nihaom) 的第一个候选词。
  (when (and pyim-process-translating
 (not (input-pending-p))
 (equal (car async-return) pyim-imobjs))
-   (setq pyim-candidates
- (pyim-process-merge-candidates (cdr async-return) 
pyim-candidates))
+   (setq pyim-process-candidates
+ (pyim-process-merge-candidates (cdr async-return) 
pyim-process-candidates))
(pyim-process-ui-refresh)))
 
 (defun pyim-process-get-candidates ()
-  pyim-candidates)
+  pyim-process-candidates)
 
 (defun pyim-process-get-last-candidates ()
-  pyim-candidates-last)
+  pyim-process-candidates-last)
 
 (defun pyim-process-get-candidate-position ()
-  pyim-candidate-position)
+  pyim-process-candidate-position)
 
 (defun pyim-process-candidates-length ()
-  (lengt

[elpa] externals/pyim 56acba9a3e 4/8: * pyim-imobjs.el (pyim-imobjs-create): Update docstring.

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 56acba9a3eaf819abf667029bbd7326d3b7c95ae
Author: Feng Shu 
Commit: Feng Shu 

* pyim-imobjs.el (pyim-imobjs-create): Update docstring.
---
 pyim-imobjs.el | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/pyim-imobjs.el b/pyim-imobjs.el
index 6d69a1117c..af45c79759 100644
--- a/pyim-imobjs.el
+++ b/pyim-imobjs.el
@@ -46,7 +46,7 @@
 这个 imobjs 可能包含一个 imobj, 也可能包含多个,每个 imobj 都包含
 声母和韵母的相关信息,比如:
 
-(pyim-imobjs-create \"woaimeinv\" (pyim-scheme-get (quote quanpin)))
+(pyim-imobjs-create \"woaimeinv\" (pyim-scheme-get \\='quanpin))
 
 结果为:
 
@@ -55,9 +55,13 @@
   (\"m\" \"ei\" \"m\" \"ei\")
   (\"n\" \"v\" \"n\" \"v\")))
 
-如果字符串无法正确处理,则返回 nil, 比如:
+如果字符串无法正确处理,则特殊处理, 比如:
 
-   (pyim-imobjs-create \"ua\" (pyim-scheme-get (quote quanpin)))
+   (pyim-imobjs-create \"ua\" (pyim-scheme-get \\='quanpin))
+
+结果为:
+
+   (((\"\" \"ua\" \"\" \"ua\")))
 
 全拼输入法的 imelem 是四个字符串组成的 list, 类似:
 
@@ -67,8 +71,8 @@
 
   (声母1, 韵母1, 声母2, 韵母2)
 
-声母1和声母2一般用来生成 code 字符串,用于词库中寻找词条。声母2和
-韵母2一般用来反向构建 entered 字符串,用于“多次选择生成词条”这个
+声母1和韵母1一般用来生成 code 字符串,用于词库中寻找词条。声母2和
+韵母2一般用来反向构建 entered 字符串,用于 “多次选择生成词条” 这个
 功能。
 
 大多数情况,声母1 = 声母2, 韵母1 = 韵母2, 只有在使用模糊音的时候,



[elpa] externals/pyim updated (21eb4d60d0 -> b5e70bb176)

2022-06-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/pyim.

  from  21eb4d60d0 Add pyim-process-merge-candidates
   new  13d853d94f pyim-candidates -> pyim-process-candidates
   new  746e7d4e1a pyim-imobjs -> pyim-process-imobjs
   new  e3c8f369b5 * pyim-liberime.el (pyim-select-word-really): Use 
pyim-process-get-candidates.
   new  56acba9a3e * pyim-imobjs.el (pyim-imobjs-create): Update docstring.
   new  f108f69eff Fix quote warn in docstring
   new  db7ad76d13 Update .github/workflows/test.yml
   new  c7b37cb30c Add pyim-process-update-last-candidates
   new  b5e70bb176 Fix docstring warn.


Summary of changes:
 .github/workflows/test.yml |   7 +--
 pyim-candidates.el |  14 --
 pyim-common.el |   6 +--
 pyim-dcache.el |   2 +-
 pyim-dhashcache.el |   4 +-
 pyim-imobjs.el |  59 ---
 pyim-liberime.el   |   2 +-
 pyim-probe.el  |   2 +-
 pyim-process.el| 114 ++---
 pyim-punctuation.el|  20 
 pyim-pymap.el  |   2 +-
 pyim.el|   2 +-
 tests/pyim-tests.el|  24 +-
 13 files changed, 129 insertions(+), 129 deletions(-)



[elpa] externals/pyim db7ad76d13 6/8: Update .github/workflows/test.yml

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit db7ad76d13484bab3e8913a323aaf645ceb4c884
Author: Feng Shu 
Commit: Feng Shu 

Update .github/workflows/test.yml
---
 .github/workflows/test.yml | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index c0b6b377e2..c6afa6a02e 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -8,12 +8,7 @@ jobs:
 strategy:
   fail-fast: false
   matrix:
-emacs_version:
-  - 25.1
-  - 25.3
-  - 26.3
-  - 27.2
-  - 28.1
+emacs_version: [25.1, 25.2, 25.3, 26.1, 26.2, 26.3, 27.1, 27.2, 28.1, 
snapshot]
 steps:
 - uses: purcell/setup-emacs@master
   with:



[elpa] externals/pyim b5e70bb176 8/8: Fix docstring warn.

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit b5e70bb176f642e93607d2b11bac801774d28dab
Author: Feng Shu 
Commit: Feng Shu 

Fix docstring warn.
---
 pyim-common.el  | 6 +++---
 pyim-dcache.el  | 2 +-
 pyim-dhashcache.el  | 2 +-
 pyim-punctuation.el | 2 +-
 pyim-pymap.el   | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/pyim-common.el b/pyim-common.el
index 3ab334a279..9c8047330f 100644
--- a/pyim-common.el
+++ b/pyim-common.el
@@ -77,7 +77,7 @@
 
 (defun pyim-permutate-list (list)
   "使用排列组合的方式重新排列 LIST.
-这个函数由 ‘二中’ 提供。"
+这个函数由 \"二中\" 提供。"
   (let ((list-head (car list))
 (list-tail (cdr list)))
 (cond ((null list-tail)
@@ -132,7 +132,7 @@ When CARE-FIRST-ONE is no-nil, ((a b c) (d e)) => (a d)."
 (nreverse output)))
 
 (defun pyim-char-before-to-string (num)
-  "得到光标前第 `num' 个字符,并将其转换为字符串。"
+  "得到光标前第 NUM 个字符,并将其转换为字符串。"
   (let* ((point (point))
  (point-before (- point num)))
 (when (and (> point-before 0)
@@ -140,7 +140,7 @@ When CARE-FIRST-ONE is no-nil, ((a b c) (d e)) => (a d)."
   (char-to-string (char-before point-before)
 
 (defun pyim-char-after-to-string (num)
-  "得到光标后第 `num' 个字符,并将其转换为字符串。"
+  "得到光标后第 NUM 个字符,并将其转换为字符串。"
   (let* ((point (point))
  (point-after (+ point num)))
 (when (char-after point-after)
diff --git a/pyim-dcache.el b/pyim-dcache.el
index 59e37922e6..79e0236bab 100644
--- a/pyim-dcache.el
+++ b/pyim-dcache.el
@@ -88,7 +88,7 @@ dcache 文件的方法让 pyim 正常工作。")
 (defmacro pyim-dcache-init-variable (variable &optional fallback-value)
   "初始化 VARIABLE.
 
-如果 VARIABLE 的值为 nil, 则使用 ‘pyim-dcache-directory’ 中对应文
+如果 VARIABLE 的值为 nil, 则使用 `pyim-dcache-directory' 中对应文
 件的内容来设置 VARIABLE 变量, 如果此时 VARIABLE 取值还是 nil, 那
 么就将 VARIABLE 的值设置为 FALLBACK-VALUE."
   `(when (and (symbolp ',variable) (not ,variable))
diff --git a/pyim-dhashcache.el b/pyim-dhashcache.el
index 75c73f1f63..db2b0a8ad6 100644
--- a/pyim-dhashcache.el
+++ b/pyim-dhashcache.el
@@ -191,7 +191,7 @@
 (async-inject-variables "^pyim-.+?directory$")))
 
 (defun pyim-dhashcache-update-ishortcode2word (&optional force)
-  "读取 ‘pyim-dhashcache-icode2word’ 中的词库,创建 *简拼* 缓存,然后加载这个缓存.
+  "读取 `pyim-dhashcache-icode2word' 中的词库,创建 *简拼* 缓存,然后加载这个缓存.
 
 如果 FORCE 为真,强制加载缓存。"
   (interactive)
diff --git a/pyim-punctuation.el b/pyim-punctuation.el
index 0ae736b6ca..6507ce41cb 100644
--- a/pyim-punctuation.el
+++ b/pyim-punctuation.el
@@ -193,7 +193,7 @@ If you don't like this function, set the variable to nil")
   "返回合适的标点符号,PUNCT-LIST 为标点符号列表.
 
 这个函数用于处理成对的全角标点符号,简单来说:如果第一次输入的标
-点是:(‘)时,那么下一次输入的标点就是(’)。
+点是:\"“\"时,那么下一次输入的标点就是\"”\"。
 
 PUNCT-LIST 格式类似:
 
diff --git a/pyim-pymap.el b/pyim-pymap.el
index 054aa189de..8b6a03789a 100644
--- a/pyim-pymap.el
+++ b/pyim-pymap.el
@@ -528,7 +528,7 @@
 
 (\"满\" \"慢\" \"漫\"  ...)
 
-如果 INCLUDE-SEPERATOR 是 non-nil, 返回的列表包含一个 ‘|’ 号,pyim 用这个分隔符
+如果 INCLUDE-SEPERATOR 是 non-nil, 返回的列表包含一个 \"|\" 号,pyim 用这个分隔符
 来区分 3500 个常用汉字和生僻字。"
   (pyim-pymap-py2cchar-cache-create)
   (when (and pinyin (stringp pinyin))



[elpa] externals/pyim 746e7d4e1a 2/8: pyim-imobjs -> pyim-process-imobjs

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 746e7d4e1a5f74f6bf7b8badf6b16a3c08886ddf
Author: Feng Shu 
Commit: Feng Shu 

pyim-imobjs -> pyim-process-imobjs

pyim-imobjs 在 pyim 中,用于流程之间传递数据,所以它更适合放到 pyim-process.el
中。
---
 pyim-imobjs.el  | 45 --
 pyim-process.el | 56 +++--
 tests/pyim-tests.el |  8 
 3 files changed, 54 insertions(+), 55 deletions(-)

diff --git a/pyim-imobjs.el b/pyim-imobjs.el
index d22fbf1adc..6d69a1117c 100644
--- a/pyim-imobjs.el
+++ b/pyim-imobjs.el
@@ -36,51 +36,6 @@
   "Imobjs lib for pyim."
   :group 'pyim)
 
-(defvar pyim-imobjs nil
-  "Imobj (Input method object) 组成的 list.
-
-imobj 在 pyim 里面的概念,类似与编译器里面的语法树,
-它代表 pyim 输入的字符串 entered 解析得到的一个结构化对象,
-以全拼输入法的为例:
-
-1. entered: nihaoma
-2. imobj: ((\"n\" \"i\" \"n\" \"i\") (\"h\" \"ao\" \"h\" \"ao\") (\"m\" \"a\" 
\"m\" \"a\"))
-
-而 imobjs 是 imobj 组成的一个列表,因为有模糊音等概念的存在,一个
-entered 需要以多种方式或者多步骤解析,得到多种可能的 imobj, 这些
-imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
-
-1. entered: guafeng (设置了模糊音 en -> eng)
-2. imobj-1: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"eng\"))
-3. imobj-2: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"eng\" \"f\" \"eng\"))
-4. imobjs:  (((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"eng\"))
- ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"eng\" \"f\" \"eng\")))
-
-这个变量用来保存解析得到的 imobjs。
-
-解析完成之后,pyim 会为每一个 imobj 创建对应 code 字符串, 然后在词库
-中搜索 code 字符串来得到所需要的词条,最后使用特定的方式将得到的
-词条组合成一个候选词列表:`pyim-candidates' 并通过 pyim-page 相关
-功能来显示选词框,供用户选择词条,比如:
-
-1. imobj: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"en\"))
-2. code: gua-fen
-
-从上面的说明可以看出,imobj 本身也是有结构的:
-
-1. imobj: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"en\"))
-
-我们将 (\"g\" \"ua\" \"g\" \"ua\") 这些子结构,叫做 imelem (IM element), *大
-多数情况下*, 一个 imelem 能够代表一个汉字,这个概念在编辑 entered
-的时候,非常有用。
-
-另外要注意的是,不同的输入法, imelem 的内部结构是不一样的,比如:
-1. quanping:  (\"g\" \"ua\" \"g\" \"ua\")
-2. shuangpin: (\"h\" \"ao\" \"h\" \"c\")
-3. wubi:  (\"\")")
-
-(pyim-register-local-variables '(pyim-imobjs))
-
 (cl-defgeneric pyim-imobjs-create (entered scheme)
   "按照 SCHEME 对应的输入法方案,从 ENTERED 字符串中创建一个
 或者多个 imobj 组成的列表,不同的输入法,imobj 的结构也是不一样的。")
diff --git a/pyim-process.el b/pyim-process.el
index f1cae62af5..8189d953fc 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -136,6 +136,49 @@ entered (nihaom) 的第一个候选词。
 (defvar pyim-process-stop-daemon-hook nil
   "Pyim stop daemon hook.")
 
+(defvar pyim-process-imobjs nil
+  "Imobj (Input method object) 组成的 list.
+
+imobj 在 pyim 里面的概念,类似与编译器里面的语法树,
+它代表 pyim 输入的字符串 entered 解析得到的一个结构化对象,
+以全拼输入法的为例:
+
+1. entered: nihaoma
+2. imobj: ((\"n\" \"i\" \"n\" \"i\") (\"h\" \"ao\" \"h\" \"ao\") (\"m\" \"a\" 
\"m\" \"a\"))
+
+而 imobjs 是 imobj 组成的一个列表,因为有模糊音等概念的存在,一个
+entered 需要以多种方式或者多步骤解析,得到多种可能的 imobj, 这些
+imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
+
+1. entered: guafeng (设置了模糊音 en -> eng)
+2. imobj-1: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"eng\"))
+3. imobj-2: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"eng\" \"f\" \"eng\"))
+4. imobjs:  (((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"eng\"))
+ ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"eng\" \"f\" \"eng\")))
+
+这个变量用来保存解析得到的 imobjs。
+
+解析完成之后,pyim 会为每一个 imobj 创建对应 code 字符串, 然后在词库
+中搜索 code 字符串来得到所需要的词条,最后使用特定的方式将得到的
+词条组合成一个候选词列表:`pyim-candidates' 并通过 pyim-page 相关
+功能来显示选词框,供用户选择词条,比如:
+
+1. imobj: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"en\"))
+2. code: gua-fen
+
+从上面的说明可以看出,imobj 本身也是有结构的:
+
+1. imobj: ((\"g\" \"ua\" \"g\" \"ua\") (\"f\" \"en\" \"f\" \"en\"))
+
+我们将 (\"g\" \"ua\" \"g\" \"ua\") 这些子结构,叫做 imelem (IM element), *大
+多数情况下*, 一个 imelem 能够代表一个汉字,这个概念在编辑 entered
+的时候,非常有用。
+
+另外要注意的是,不同的输入法, imelem 的内部结构是不一样的,比如:
+1. quanping:  (\"g\" \"ua\" \"g\" \"ua\")
+2. shuangpin: (\"h\" \"ao\" \"h\" \"c\")
+3. wubi:  (\"\")")
+
 (defvar pyim-process-candidates nil
   "所有备选词条组成的列表.")
 
@@ -150,6 +193,7 @@ entered (nihaom) 的第一个候选词。
 (pyim-register-local-variables
  '(pyim-process-input-ascii
pyim-process-translating
+   pyim-process-imobjs
pyim-process-candidates
pyim-process-candidate-position))
 
@@ -274,9 +318,9 @@ entered (nihaom) 的第一个候选词。
entered-to-translate)
   (setq entered-to-translate
 (pyim-entered-get 'point-before))
-  (setq pyim-imobjs (pyim-imobjs-create entered-to-translate scheme))
+  (setq pyim-process-imobjs (pyim-imobjs-create entered-to-translate 
scheme))
   (setq pyim-process-candidates
-(or (delete-dups (pyim-candidates-create pyim-imobjs scheme))
+(or (delete-dups (pyim-candidates-create pyim-process-imobjs 
scheme))
 (list entered-to-translate)))
   (unless (eq (pyim-process-auto-select) 'auto-select-success)
 (setq pyim-process-candidate-position 1)
@@ -391,7 +435,7 @@ entered (nihaom) 的第一个候选词。
   "使用限时的方式获取候选词。"
   (let* ((scheme (pyim-scheme-current))
  (words (pyim-candidates-create-limit-time
- pyim-imobj

[elpa] externals/pyim e3c8f369b5 3/8: * pyim-liberime.el (pyim-select-word-really): Use pyim-process-get-candidates.

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit e3c8f369b5c6f3b8d2705a28b50daff978ba7a03
Author: Feng Shu 
Commit: Feng Shu 

* pyim-liberime.el (pyim-select-word-really): Use 
pyim-process-get-candidates.
---
 pyim-liberime.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyim-liberime.el b/pyim-liberime.el
index 3175e7f04d..fce60cf39c 100644
--- a/pyim-liberime.el
+++ b/pyim-liberime.el
@@ -189,7 +189,7 @@
(reverse pyim-liberime-word-log))
   ;; 使用 rime 的同时,也附带的优化 quanpin 的词库。
   (let ((pyim-default-scheme 'quanpin))
-(if (member (pyim-outcome-get) pyim-process-candidates)
+(if (member (pyim-outcome-get) (pyim-process-get-candidates))
 (pyim-process-create-word (pyim-outcome-get) t)
   (pyim-process-create-word (pyim-outcome-get
   (setq pyim-liberime-code-log nil)



[elpa] externals/pyim 4cd9aceb58 2/2: Fix: Test ‘pyim-tests-pyim-probe-program-mode’ redefined

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 4cd9aceb58aaa645ba8ade2887ebcacdbbdf162f
Author: Feng Shu 
Commit: Feng Shu 

Fix: Test ‘pyim-tests-pyim-probe-program-mode’ redefined
---
 tests/pyim-tests.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index 6b435b4f7e..3b366d296b 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -1334,7 +1334,7 @@ Transfer-Encoding: chunked
 (backward-char 1)
 (should-not (pyim-probe-program-mode
 
-(ert-deftest pyim-tests-pyim-probe-program-mode ()
+(ert-deftest pyim-tests-pyim-probe-isearch-mode ()
   ;; Isearch mode 不好写测试,这里假设 isearch 命令运行时,至少有一个 buffer 中
   ;; 变量 isearch-mode 取值为 t. 参考了 `isearch-define-mode-toggle'.
   (let ((pyim-isearch-mode t))



[elpa] externals/pyim updated (b5e70bb176 -> 4cd9aceb58)

2022-06-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/pyim.

  from  b5e70bb176 Fix docstring warn.
   new  ed04b98425 Fix docstring warn.
   new  4cd9aceb58 Fix: Test ‘pyim-tests-pyim-probe-program-mode’ redefined


Summary of changes:
 pyim-punctuation.el | 4 ++--
 tests/pyim-tests.el | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)



[elpa] externals/pyim ed04b98425 1/2: Fix docstring warn.

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit ed04b984250b8d11f1ad7729f153bed5971760f5
Author: Feng Shu 
Commit: Feng Shu 

Fix docstring warn.
---
 pyim-punctuation.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pyim-punctuation.el b/pyim-punctuation.el
index 6507ce41cb..59524fcdf6 100644
--- a/pyim-punctuation.el
+++ b/pyim-punctuation.el
@@ -193,11 +193,11 @@ If you don't like this function, set the variable to nil")
   "返回合适的标点符号,PUNCT-LIST 为标点符号列表.
 
 这个函数用于处理成对的全角标点符号,简单来说:如果第一次输入的标
-点是:\"“\"时,那么下一次输入的标点就是\"”\"。
+点是: (\\=“) 时,那么下一次输入的标点就是 (\\=”) 。
 
 PUNCT-LIST 格式类似:
 
-   (\",\" \",\") 或者:(\"'\" \"‘\" \"’\")
+   (\",\" \",\") 或者:(\"\\='\" \"\\=‘\" \"\\=’\")
 
 当 BEFORE 为 t 时,只返回切换之前的结果,这个用来获取切换之前的
 标点符号。



[elpa] externals/pyim 3c426205b0: pyim-liberime.el: Do not require liberime.

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 3c426205b05e9addfe97c30a25c061005c65
Author: Feng Shu 
Commit: Feng Shu 

pyim-liberime.el: Do not require liberime.
---
 pyim-liberime.el | 2 +-
 tests/Makefile   | 4 +---
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/pyim-liberime.el b/pyim-liberime.el
index fce60cf39c..638442e327 100644
--- a/pyim-liberime.el
+++ b/pyim-liberime.el
@@ -31,6 +31,7 @@
 ;; 2. 使用 rime 全拼输入法的用户,也可以使用 rime-quanpin scheme,
 ;;这个 scheme 是专门针对 rime 全拼输入法定制的,支持全拼v快捷键。
 ;;#+BEGIN_EXAMPLE
+;;(require 'liberime)
 ;;(require 'pyim-liberime)
 ;;(setq pyim-default-scheme 'rime-quanpin)
 ;;#+END_EXAMPLE
@@ -44,7 +45,6 @@
 ;;; Code:
 ;; * 代码   :code:
 (require 'pyim)
-(require 'liberime nil t)
 
 (cl-defstruct (pyim-scheme-rime
(:include pyim-scheme)
diff --git a/tests/Makefile b/tests/Makefile
index f7baab1af4..e33e9e543c 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -20,9 +20,7 @@ deps:
 ## Download pyim-basedict V0.5.0 (commit: 
7495c974ada99f9fed96d8e85d8b97dabce9532c)
@if [ ! -f deps/pyim-basedict.pyim ]; then curl -L 
"https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/pyim-basedict.pyim?h=externals/pyim-basedict&id=7495c974ada99f9fed96d8e85d8b97dabce9532c";
 > deps/pyim-basedict.pyim; fi;
@if [ ! -f deps/pyim-basedict.el ]; then curl -L 
"https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/pyim-basedict.el?h=externals/pyim-basedict&id=7495c974ada99f9fed96d8e85d8b97dabce9532c";
 > deps/pyim-basedict.el; fi;
-   @if [ ! -f deps/posframe.el ]; then curl -L 
"https://raw.githubusercontent.com/tumashu/posframe/master/posframe.el"; > 
deps/posframe.el; fi;
-   @if [ ! -f deps/liberime.el ]; then curl -L 
"https://raw.githubusercontent.com/merrickluo/liberime/master/liberime.el"; > 
deps/liberime.el; fi;
-
+   @if [ ! -f deps/posframe.el ]; then curl -L 
"https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/posframe.el?h=externals/posframe";
 > deps/posframe.el; fi;
 
 lint: deps
@$(EMACS) $(EMACS_BATCH_OPTS) --load ./pyim-elint.el 2>&1 | grep -vE 
"pyim-cregexp.el:[0-9]+:Warning: Empty varlist in 
let|pyim-indicator.el:[0-9]+:Error: Call to undefined function: posframe-show" 
| grep -E "([Ee]rror|[Ww]arning):" && exit 1 || exit 0



[elpa] externals/pyim d754b7ac29 3/4: Revert "cl-defgeneric pyim-dcache-get."

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit d754b7ac2984a00e97d2449fa4ab252cfac9275b
Author: Feng Shu 
Commit: Feng Shu 

Revert "cl-defgeneric pyim-dcache-get."

This reverts commit 5989a6c43c323db680254c6900091361c6e9ddd9.
---
 pyim-dcache.el  |  6 --
 pyim-dhashcache.el  | 39 ++-
 pyim-dregcache.el   | 45 +
 tests/pyim-tests.el | 13 ++---
 4 files changed, 49 insertions(+), 54 deletions(-)

diff --git a/pyim-dcache.el b/pyim-dcache.el
index 22cf9fcf02..4011eef215 100644
--- a/pyim-dcache.el
+++ b/pyim-dcache.el
@@ -265,11 +265,13 @@ non-nil,文件存在时将会提示用户是否覆盖,默认为覆盖模式"
   "将中文词条 WORD 从个人词库中删除")
 
 ;; ** Dcache 检索功能
-(cl-defgeneric pyim-dcache-get (code &optional from)
+(defun pyim-dcache-get (code &optional from)
   "从 FROM 对应的 dcache 中搜索 CODE, 得到对应的词条.
 
 当词库文件加载完成后,pyim 就可以用这个函数从词库缓存中搜索某个
-code 对应的中文词条了.")
+code 对应的中文词条了."
+  (when code
+(pyim-dcache-call-api 'get code from)))
 
 ;; * Footer
 (provide 'pyim-dcache)
diff --git a/pyim-dhashcache.el b/pyim-dhashcache.el
index ddaa04f26b..40cd36423f 100644
--- a/pyim-dhashcache.el
+++ b/pyim-dhashcache.el
@@ -396,9 +396,7 @@ DCACHE 是一个 code -> words 的 hashtable.
  dcache)
 (pyim-dcache-write-file file confirm)))
 
-(cl-defmethod pyim-dcache-get
-  (code &context (pyim-dcache-backend (eql pyim-dhashcache))
-&optional from)
+(defun pyim-dhashcache-get (code &optional from)
   "从 FROM 对应的 dcaches 中搜索 CODE, 得到对应的词条.
 
 当词库文件加载完成后,pyim 就可以用这个函数从词库缓存中搜索某个
@@ -406,24 +404,23 @@ code 对应的中文词条了。
 
 如果 FROM 为 nil, 则默认搜索 `pyim-dhashcache-icode2word' 和
 `pyim-dhashcache-code2word' 两个 dcache."
-  (when code
-(let* ((caches (mapcar (lambda (x)
- (intern (concat "pyim-dhashcache-" (symbol-name 
x
-   (or (and from
-(if (listp from)
-from
-  (list from)))
-   '(icode2word code2word
-   result)
-  (dolist (cache caches)
-(let* ((cache (ignore-errors (symbol-value cache)))
-   (value (and cache (gethash code cache
-  ;; 处理 iword2count.
-  (unless (listp value)
-(setq value (list value)))
-  (when value
-(setq result (append result value)
-  result)))
+  (let* ((caches (mapcar (lambda (x)
+   (intern (concat "pyim-dhashcache-" (symbol-name 
x
+ (or (and from
+  (if (listp from)
+  from
+(list from)))
+ '(icode2word code2word
+ result)
+(dolist (cache caches)
+  (let* ((cache (ignore-errors (symbol-value cache)))
+ (value (and cache (gethash code cache
+;; 处理 iword2count.
+(unless (listp value)
+  (setq value (list value)))
+(when value
+  (setq result (append result value)
+result))
 
 (defun pyim-dhashcache-update-icode2word (&optional force)
   "对 personal 缓存中的词条进行排序,加载排序后的结果.
diff --git a/pyim-dregcache.el b/pyim-dregcache.el
index 9133e9b015..638d5adb28 100644
--- a/pyim-dregcache.el
+++ b/pyim-dregcache.el
@@ -261,31 +261,28 @@ DICT-FILES 是词库文件列表. DICTS-MD5 是词库的MD5校验码.
   (setq start (+ start 2 (length code) (length word
 output))
 
-(cl-defmethod pyim-dcache-get
-  (code &context (pyim-dcache-backend (eql pyim-dregcache))
-&optional from)
+(defun pyim-dregcache-get (code &optional from)
   "从 `pyim-dregcache-cache' 搜索 CODE, 得到对应的词条."
-  (when code
-(cond ((or (memq 'icode2word from)
-   (memq 'ishortcode2word from))
-   (pyim-dregcache-get-icode2word-ishortcode2word code))
-  ;; FIXME: pyim-dregcache 暂时不支持 iword2count-recent-10-words 和
-  ;; iword2count-recent-50-words.
-  ((or (memq 'iword2count-recent-10-words from)
-   (memq 'iword2count-recent-50-words from))
-   nil)
-  (t (let ((dict-files (pyim-dregcache-all-dict-files))
-   result)
-
-   (when pyim-debug (message "pyim-dregcache-get is called. 
code=%s" code))
-   (when dict-files
- (dolist (file dict-files)
-   (let* ((file-info (lax-plist-get pyim-dregcache-cache file))
-  (content (pyim-dregcache-get-content code 
file-info)))
- (setq result (append (pyim-dregcache-get-1 content code) 
result)
-   ;; `push' plus `nreverse' is more efficient than `add-to-list'
-   ;; Many examples exist in Emacs' own code
-   (nreverse result))
+  (cond ((or (memq 'icode2word from)
+ (memq 'ishortcode2word from))
+ (pyim-dregcache-get-icode2word-ishortcode2word code))
+;; FIXME: pyim-dr

[elpa] externals/pyim 5989a6c43c 1/4: cl-defgeneric pyim-dcache-get.

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 5989a6c43c323db680254c6900091361c6e9ddd9
Author: Feng Shu 
Commit: Feng Shu 

cl-defgeneric pyim-dcache-get.
---
 pyim-dcache.el  |  6 ++
 pyim-dhashcache.el  | 39 +--
 pyim-dregcache.el   | 45 -
 tests/pyim-tests.el | 13 +++--
 4 files changed, 54 insertions(+), 49 deletions(-)

diff --git a/pyim-dcache.el b/pyim-dcache.el
index 79e0236bab..c0a2cba356 100644
--- a/pyim-dcache.el
+++ b/pyim-dcache.el
@@ -266,13 +266,11 @@ non-nil,文件存在时将会提示用户是否覆盖,默认为覆盖模式"
   (pyim-dcache-call-api 'delete-word word))
 
 ;; ** Dcache 检索功能
-(defun pyim-dcache-get (code &optional from)
+(cl-defgeneric pyim-dcache-get (code &optional from)
   "从 FROM 对应的 dcache 中搜索 CODE, 得到对应的词条.
 
 当词库文件加载完成后,pyim 就可以用这个函数从词库缓存中搜索某个
-code 对应的中文词条了."
-  (when code
-(pyim-dcache-call-api 'get code from)))
+code 对应的中文词条了.")
 
 ;; * Footer
 (provide 'pyim-dcache)
diff --git a/pyim-dhashcache.el b/pyim-dhashcache.el
index db2b0a8ad6..c4e242cc64 100644
--- a/pyim-dhashcache.el
+++ b/pyim-dhashcache.el
@@ -396,7 +396,9 @@ DCACHE 是一个 code -> words 的 hashtable.
  dcache)
 (pyim-dcache-write-file file confirm)))
 
-(defun pyim-dhashcache-get (code &optional from)
+(cl-defmethod pyim-dcache-get
+  (code &context (pyim-dcache-backend (eql pyim-dhashcache))
+&optional from)
   "从 FROM 对应的 dcaches 中搜索 CODE, 得到对应的词条.
 
 当词库文件加载完成后,pyim 就可以用这个函数从词库缓存中搜索某个
@@ -404,23 +406,24 @@ code 对应的中文词条了。
 
 如果 FROM 为 nil, 则默认搜索 `pyim-dhashcache-icode2word' 和
 `pyim-dhashcache-code2word' 两个 dcache."
-  (let* ((caches (mapcar (lambda (x)
-   (intern (concat "pyim-dhashcache-" (symbol-name 
x
- (or (and from
-  (if (listp from)
-  from
-(list from)))
- '(icode2word code2word
- result)
-(dolist (cache caches)
-  (let* ((cache (ignore-errors (symbol-value cache)))
- (value (and cache (gethash code cache
-;; 处理 iword2count.
-(unless (listp value)
-  (setq value (list value)))
-(when value
-  (setq result (append result value)
-result))
+  (when code
+(let* ((caches (mapcar (lambda (x)
+ (intern (concat "pyim-dhashcache-" (symbol-name 
x
+   (or (and from
+(if (listp from)
+from
+  (list from)))
+   '(icode2word code2word
+   result)
+  (dolist (cache caches)
+(let* ((cache (ignore-errors (symbol-value cache)))
+   (value (and cache (gethash code cache
+  ;; 处理 iword2count.
+  (unless (listp value)
+(setq value (list value)))
+  (when value
+(setq result (append result value)
+  result)))
 
 (defun pyim-dhashcache-update-icode2word (&optional force)
   "对 personal 缓存中的词条进行排序,加载排序后的结果.
diff --git a/pyim-dregcache.el b/pyim-dregcache.el
index 4686b074ed..909ae51584 100644
--- a/pyim-dregcache.el
+++ b/pyim-dregcache.el
@@ -261,28 +261,31 @@ DICT-FILES 是词库文件列表. DICTS-MD5 是词库的MD5校验码.
   (setq start (+ start 2 (length code) (length word
 output))
 
-(defun pyim-dregcache-get (code &optional from)
+(cl-defmethod pyim-dcache-get
+  (code &context (pyim-dcache-backend (eql pyim-dregcache))
+&optional from)
   "从 `pyim-dregcache-cache' 搜索 CODE, 得到对应的词条."
-  (cond ((or (memq 'icode2word from)
- (memq 'ishortcode2word from))
- (pyim-dregcache-get-icode2word-ishortcode2word code))
-;; FIXME: pyim-dregcache 暂时不支持 iword2count-recent-10-words 和
-;; iword2count-recent-50-words.
-((or (memq 'iword2count-recent-10-words from)
- (memq 'iword2count-recent-50-words from))
- nil)
-(t (let ((dict-files (pyim-dregcache-all-dict-files))
- result)
-
- (when pyim-debug (message "pyim-dregcache-get is called. code=%s" 
code))
- (when dict-files
-   (dolist (file dict-files)
- (let* ((file-info (lax-plist-get pyim-dregcache-cache file))
-(content (pyim-dregcache-get-content code file-info)))
-   (setq result (append (pyim-dregcache-get-1 content code) 
result)
- ;; `push' plus `nreverse' is more efficient than `add-to-list'
- ;; Many examples exist in Emacs' own code
- (nreverse result)
+  (when code
+(cond ((or (memq 'icode2word from)
+   (memq 'ishortcode2word from))
+   (pyim-dregcache-get-icode2word-ishortcode2word code))
+  ;; FIXME: pyim-dregcache 暂时不支持 iword2count-recent-10-words 和
+  ;; iword2count-recent-50-words.
+ 

[elpa] externals/pyim updated (3c426205b0 -> 1e0834c456)

2022-06-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/pyim.

  from  3c426205b0 pyim-liberime.el: Do not require liberime.
   new  5989a6c43c cl-defgeneric pyim-dcache-get.
   new  64d43a9a52 cl-defgeneric pyim-dcache-delete-word
   new  d754b7ac29 Revert "cl-defgeneric pyim-dcache-get."
   new  1e0834c456 Revert "cl-defgeneric pyim-dcache-delete-word"


Summary of changes:



[elpa] externals/pyim 1e0834c456 4/4: Revert "cl-defgeneric pyim-dcache-delete-word"

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 1e0834c456938afccbd0380e79b5cf22d3e82fae
Author: Feng Shu 
Commit: Feng Shu 

Revert "cl-defgeneric pyim-dcache-delete-word"

This reverts commit 64d43a9a52d85c1cb17e65ec28adf37414b01c32.
---
 pyim-dcache.el  | 5 +++--
 pyim-dhashcache.el  | 3 +--
 pyim-dregcache.el   | 3 +--
 tests/pyim-tests.el | 7 +++
 4 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/pyim-dcache.el b/pyim-dcache.el
index 4011eef215..79e0236bab 100644
--- a/pyim-dcache.el
+++ b/pyim-dcache.el
@@ -261,8 +261,9 @@ non-nil,文件存在时将会提示用户是否覆盖,默认为覆盖模式"
   (pyim-dcache-call-api 'upgrade-icode2word))
 
 ;; ** Dcache 删词功能
-(cl-defgeneric pyim-dcache-delete-word (word)
-  "将中文词条 WORD 从个人词库中删除")
+(defun pyim-dcache-delete-word (word)
+  "将中文词条 WORD 从个人词库中删除"
+  (pyim-dcache-call-api 'delete-word word))
 
 ;; ** Dcache 检索功能
 (defun pyim-dcache-get (code &optional from)
diff --git a/pyim-dhashcache.el b/pyim-dhashcache.el
index 40cd36423f..db2b0a8ad6 100644
--- a/pyim-dhashcache.el
+++ b/pyim-dhashcache.el
@@ -630,8 +630,7 @@ code 对应的中文词条了。
  (lambda (_)
(pyim-dcache-reload-variable pyim-dhashcache-iword2priority)
 
-(cl-defmethod pyim-dcache-delete-word
-  (word &context (pyim-dcache-backend (eql pyim-dhashcache)))
+(defun pyim-dhashcache-delete-word (word)
   "将中文词条 WORD 从个人词库中删除"
   (maphash
(lambda (key value)
diff --git a/pyim-dregcache.el b/pyim-dregcache.el
index 638d5adb28..4686b074ed 100644
--- a/pyim-dregcache.el
+++ b/pyim-dregcache.el
@@ -369,8 +369,7 @@ DICT-FILES 是词库文件列表. DICTS-MD5 是词库的MD5校验码.
 (unless (equal orig-value new-value)
   (puthash word new-value pyim-dregcache-iword2count
 
-(cl-defmethod pyim-dcache-delete-word
-  (word &context (pyim-dcache-backend (eql pyim-dregcache)))
+(defun pyim-dregcache-delete-word (word)
   "将中文词条 WORD 从个人词库中删除."
   (with-temp-buffer
 (insert pyim-dregcache-icode2word)
diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index 136a864011..3b366d296b 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -1125,8 +1125,7 @@ zuo-zuo-you-mang 作作有芒")
'("你" "呢")
 
 (ert-deftest pyim-tests-pyim-dhashcache-put/delete ()
-  (let ((pyim-dcache-backend 'pyim-dhashcache)
-(pyim-dhashcache-icode2word (make-hash-table :test #'equal)))
+  (let ((pyim-dhashcache-icode2word (make-hash-table :test #'equal)))
 (puthash "ni-hao" '("你好" "呢耗") pyim-dhashcache-icode2word)
 (pyim-dhashcache-put
   pyim-dhashcache-icode2word "ni-hao"
@@ -1136,9 +1135,9 @@ zuo-zuo-you-mang 作作有芒")
   (list "你不好"))
 (should (equal (gethash "ni-hao" pyim-dhashcache-icode2word) '("呢毫" "你好" 
"呢耗")))
 (should (equal (gethash "ni-bu-hao" pyim-dhashcache-icode2word) '("你不好")))
-(pyim-dcache-delete-word "你不好")
+(pyim-dhashcache-delete-word "你不好")
 (should (equal (gethash "ni-bu-hao" pyim-dhashcache-icode2word) nil))
-(pyim-dcache-delete-word "你好")
+(pyim-dhashcache-delete-word "你好")
 (should (equal (gethash "ni-hao" pyim-dhashcache-icode2word) '("呢毫" 
"呢耗")
 
 (ert-deftest pyim-tests-pyim-dhashcache-update-iword2count ()



[elpa] externals/pyim 64d43a9a52 2/4: cl-defgeneric pyim-dcache-delete-word

2022-06-08 Thread ELPA Syncer
branch: externals/pyim
commit 64d43a9a52d85c1cb17e65ec28adf37414b01c32
Author: Feng Shu 
Commit: Feng Shu 

cl-defgeneric pyim-dcache-delete-word
---
 pyim-dcache.el  | 5 ++---
 pyim-dhashcache.el  | 3 ++-
 pyim-dregcache.el   | 3 ++-
 tests/pyim-tests.el | 7 ---
 4 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/pyim-dcache.el b/pyim-dcache.el
index c0a2cba356..22cf9fcf02 100644
--- a/pyim-dcache.el
+++ b/pyim-dcache.el
@@ -261,9 +261,8 @@ non-nil,文件存在时将会提示用户是否覆盖,默认为覆盖模式"
   (pyim-dcache-call-api 'upgrade-icode2word))
 
 ;; ** Dcache 删词功能
-(defun pyim-dcache-delete-word (word)
-  "将中文词条 WORD 从个人词库中删除"
-  (pyim-dcache-call-api 'delete-word word))
+(cl-defgeneric pyim-dcache-delete-word (word)
+  "将中文词条 WORD 从个人词库中删除")
 
 ;; ** Dcache 检索功能
 (cl-defgeneric pyim-dcache-get (code &optional from)
diff --git a/pyim-dhashcache.el b/pyim-dhashcache.el
index c4e242cc64..ddaa04f26b 100644
--- a/pyim-dhashcache.el
+++ b/pyim-dhashcache.el
@@ -633,7 +633,8 @@ code 对应的中文词条了。
  (lambda (_)
(pyim-dcache-reload-variable pyim-dhashcache-iword2priority)
 
-(defun pyim-dhashcache-delete-word (word)
+(cl-defmethod pyim-dcache-delete-word
+  (word &context (pyim-dcache-backend (eql pyim-dhashcache)))
   "将中文词条 WORD 从个人词库中删除"
   (maphash
(lambda (key value)
diff --git a/pyim-dregcache.el b/pyim-dregcache.el
index 909ae51584..9133e9b015 100644
--- a/pyim-dregcache.el
+++ b/pyim-dregcache.el
@@ -372,7 +372,8 @@ DICT-FILES 是词库文件列表. DICTS-MD5 是词库的MD5校验码.
 (unless (equal orig-value new-value)
   (puthash word new-value pyim-dregcache-iword2count
 
-(defun pyim-dregcache-delete-word (word)
+(cl-defmethod pyim-dcache-delete-word
+  (word &context (pyim-dcache-backend (eql pyim-dregcache)))
   "将中文词条 WORD 从个人词库中删除."
   (with-temp-buffer
 (insert pyim-dregcache-icode2word)
diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index 10dc88391f..0e339e5d07 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -1125,7 +1125,8 @@ zuo-zuo-you-mang 作作有芒")
'("你" "呢")
 
 (ert-deftest pyim-tests-pyim-dhashcache-put/delete ()
-  (let ((pyim-dhashcache-icode2word (make-hash-table :test #'equal)))
+  (let ((pyim-dcache-backend 'pyim-dhashcache)
+(pyim-dhashcache-icode2word (make-hash-table :test #'equal)))
 (puthash "ni-hao" '("你好" "呢耗") pyim-dhashcache-icode2word)
 (pyim-dhashcache-put
   pyim-dhashcache-icode2word "ni-hao"
@@ -1135,9 +1136,9 @@ zuo-zuo-you-mang 作作有芒")
   (list "你不好"))
 (should (equal (gethash "ni-hao" pyim-dhashcache-icode2word) '("呢毫" "你好" 
"呢耗")))
 (should (equal (gethash "ni-bu-hao" pyim-dhashcache-icode2word) '("你不好")))
-(pyim-dhashcache-delete-word "你不好")
+(pyim-dcache-delete-word "你不好")
 (should (equal (gethash "ni-bu-hao" pyim-dhashcache-icode2word) nil))
-(pyim-dhashcache-delete-word "你好")
+(pyim-dcache-delete-word "你好")
 (should (equal (gethash "ni-hao" pyim-dhashcache-icode2word) '("呢毫" 
"呢耗")
 
 (ert-deftest pyim-tests-pyim-dhashcache-update-iword2count ()



[elpa] externals/kind-icon 45a50b2a93: Update README.md

2022-06-08 Thread ELPA Syncer
branch: externals/kind-icon
commit 45a50b2a939cfd02ed11dcab3ff53f37ee1f2853
Author: JD Smith <93749+jdtsm...@users.noreply.github.com>
Commit: GitHub 

Update README.md
---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index 5ddcf916ea..8237b0adec 100644
--- a/README.md
+++ b/README.md
@@ -129,6 +129,7 @@ If you get an error mentioning `corfu--post-command`, and 
notice that you don't
 
 A small set of packages related to `kind-icon`:
 
+- [corfu](https://github.com/minad/corfu) Is a sleek in-buffer completion 
frontend which fully supports standard emacs completions providers (aka 
completion at point functions — CAPFs).  It was the original to include 
margin-formatter support. 
 - [company-mode](https://github.com/company-mode/company-mode) is the 
all-inclusive completion system, and includes built-in support for icons based 
on the Microsoft VSCode set.
 - [all-the-icons](https://github.com/iyefrat/all-the-icons.el) is font-based 
icon library which can be used to enrich dired, neotree, the mode line and 
others with icons.
 - 
[all-the-icons-completion](https://github.com/iyefrat/all-the-icons-completion/)
 builds on `all-the-icons` to enrich minibuffer-based completion, including 
support for the excellent [marginalia](https://github.com/minad/marginalia) 
annotator. 



[elpa] externals/lin 6d2493ce0b: Update to version 0.4.0

2022-06-08 Thread ELPA Syncer
branch: externals/lin
commit 6d2493ce0b7e0891b85e03e103ddd5c68aeb60a6
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Update to version 0.4.0
---
 CHANGELOG.org | 30 ++
 README.org|  6 +++---
 lin.el|  2 +-
 3 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 47ae5e283d..c644119c09 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,36 @@
 The newest release is at the top.  For further details, please consult
 the manual: .
 
+* Version 0.4.0 on 2022-06-09
+
++ The official Git repository is now hosted on SourceHut.  Mirrors are
+  available on GitHub and GitLab---users can open issues there if they
+  find it difficult to use the mailing list.  The sources:
+
+  - Official manual: 
+  - Change log: 
+  - Git repo on SourceHut: 
++ Mirrors:
+  - GitHub: 
+  - GitLab: 
+  - Mailing list: 
+
++ The ~grep-mode-hook~ and ~proced-mode-hook~ are included in the
+  default value of the user option ~lin-mode-hooks~.  This practically
+  means that Lin will be active in the implied modes when
+  ~lin-global-mode~ is enabled.  Thanks to Nicolas De Jaeghere for the
+  patch (Nicolas has assigned copyright to the Free Software
+  Foundation).
+
++ The faces that leverage the macOS palette (~lin-mac{,-override-fg}~)
+  are made to work with Mitsuharu Yamamoto's =emacs-mac= port:
+  .  They read the
+  =mac= display specification in addition to the =ns= one.  Remember
+  that you can specify the desired face as the value of ~lin-face~ (its
+  doc string documents all the stylistic options we provide).  Thanks to
+  Kai von Fintel for the patch (the change is well below the ~15 line
+  threshold for copyright assignment).
+
 * Version 0.3.0 on 2022-04-08
 
 + Changed the source repository from GitLab to SourceHut:
diff --git a/README.org b/README.org
index 262d8d881c..2bcf647295 100644
--- a/README.org
+++ b/README.org
@@ -5,9 +5,9 @@
 #+options: ':t toc:nil author:t email:t num:t
 #+startup: content
 
-#+macro: stable-version 0.3.0
-#+macro: release-date 2022-04-08
-#+macro: development-version 0.4.0-dev
+#+macro: stable-version 0.4.0
+#+macro: release-date 2022-06-09
+#+macro: development-version 0.5.0-dev
 #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
 #+macro: space @@texinfo:@: @@
 #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
diff --git a/lin.el b/lin.el
index 575538b7e7..822d0c8450 100644
--- a/lin.el
+++ b/lin.el
@@ -5,7 +5,7 @@
 ;; Author: Protesilaos Stavrou 
 ;; URL: https://git.sr.ht/~protesilaos/lin
 ;; Mailing list: https://lists.sr.ht/~protesilaos/lin
-;; Version: 0.3.1
+;; Version: 0.4.0
 ;; Package-Requires: ((emacs "27.1"))
 ;; Keywords: convenience, faces, theme
 



[nongnu] elpa/swsw updated (0d361df85e -> 9767e52e8c)

2022-06-08 Thread ELPA Syncer
elpasync pushed a change to branch elpa/swsw.

  from  0d361df85e ; Use 'kbd' notation in the README
   new  dd9520bf53 Change some instances of 'if' and 'let' to use 'if-let'
   new  9767e52e8c ; Replace (unnecessary) backticks with normal quotes


Summary of changes:
 swsw.el | 27 ++-
 1 file changed, 14 insertions(+), 13 deletions(-)



[nongnu] elpa/swsw 9767e52e8c 2/2: ; Replace (unnecessary) backticks with normal quotes

2022-06-08 Thread ELPA Syncer
branch: elpa/swsw
commit 9767e52e8ce8aa502bce63d868845d55a6b18480
Author: Daniel Semyonov 
Commit: Daniel Semyonov 

; Replace (unnecessary) backticks with normal quotes
---
 swsw.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/swsw.el b/swsw.el
index 71ddc5bb06..146906856e 100644
--- a/swsw.el
+++ b/swsw.el
@@ -248,8 +248,8 @@ is t."
 `((swsw-mode
(:eval (swsw-format-id (selected-window
   ,@(assq-delete-all
- `swsw-mode
- (default-value `mode-line-format
+ 'swsw-mode
+ (default-value 'mode-line-format
   (force-mode-line-update t))
 
 (defun swsw--mode-line-hide ()



[nongnu] elpa/swsw dd9520bf53 1/2: Change some instances of 'if' and 'let' to use 'if-let'

2022-06-08 Thread ELPA Syncer
branch: elpa/swsw
commit dd9520bf53c5a45a67dbddf877da2ba217fb9b18
Author: Daniel Semyonov 
Commit: Daniel Semyonov 

Change some instances of 'if' and 'let' to use 'if-let'

* swsw.el (swsw--get-id-length, swsw--next-id, swsw-delete): Replace
'if' and 'let' combination with 'if-let'.
---
 swsw.el | 23 ---
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/swsw.el b/swsw.el
index 1739b79751..71ddc5bb06 100644
--- a/swsw.el
+++ b/swsw.el
@@ -167,9 +167,10 @@ If set to `lighter', use a mode line lighter."
 
 (defun swsw--get-id-length ()
   "Return the current length of a window ID."
-  (let ((windows (length (window-list-1 nil nil (swsw--get-scope)
-(if (= windows 1) 1 ; If there is only one window, return 1.
-  (ceiling (log windows (length swsw-id-chars))
+  (if-let ((windows (length (window-list-1 nil nil (swsw--get-scope
+   ((= windows 1)))
+  1 ; If there is only one window, return 1.
+(ceiling (log windows (length swsw-id-chars)
 
 (defun swsw--next-id ()
   "Get the next available ID."
@@ -315,9 +316,9 @@ This command is intended to be used only when swsw mode is 
enabled."
   (declare (modes swsw-mode)
(interactive-only t))
   (interactive)
-  (let ((window (active-minibuffer-window)))
-(if window (select-window window)
-  (user-error "There is no active minibuffer window"
+  (if-let ((window (active-minibuffer-window)))
+  (select-window window)
+(user-error "There is no active minibuffer window")))
 
 (defun swsw-delete ()
   "Start window deletion.
@@ -329,11 +330,11 @@ This command is intended to be used only when swsw mode 
is enabled."
   (declare (modes swsw-mode)
(interactive-only t))
   (interactive)
-  (if (< swsw-window-count 3)
-  (let ((window (next-window nil nil (swsw--get-scope
-(unless (or (minibufferp (window-buffer window))
-(minibufferp)) ; Selected window.
-  (delete-window window)))
+  (if-let (((< swsw-window-count 3))
+   (window (next-window nil nil (swsw--get-scope
+  (unless (or (minibufferp (window-buffer window))
+  (minibufferp)) ; Selected window.
+(delete-window window))
 (swsw-run-window-command #'delete-window)))
 
 (defvar swsw-command-map