[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 819f9c6 04/36: Move pyim-permutate-list* to pyim-c
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 819f9c6 04/36: Move pyim-permutate-list* to pyim-common.el |
Date: |
Thu, 22 Apr 2021 22:57:15 -0400 (EDT) |
branch: externals/pyim
commit 819f9c669544daf8e372f1b40e644fdc5489c144
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Move pyim-permutate-list* to pyim-common.el
* pyim-common.el (pyim-permutate-list, pyim-permutate-list2)
(pyim-permutate-list2-internal): Move from pyim.el
---
pyim-common.el | 34 ++++++++++++++++++++++++++++++++++
pyim.el | 34 ----------------------------------
2 files changed, 34 insertions(+), 34 deletions(-)
diff --git a/pyim-common.el b/pyim-common.el
index 1927bdc..a751f34 100644
--- a/pyim-common.el
+++ b/pyim-common.el
@@ -147,6 +147,40 @@ VARIABLE 变量,FORCE-RESTORE 设置为 t 时,强制恢复,变量原来的
"测试当前是否是 exwm 环境。"
(string-match-p " \\*temp\\*" (buffer-name)))
+(defun pyim-permutate-list (list)
+ "使用排列组合的方式重新排列 LIST.
+这个函数由 ‘二中’ 提供,`pyim-hanzi2pinyin' 没有使用这个函数
+(速度稍微有点慢)。"
+ (let ((list-head (car list))
+ (list-tail (cdr list)))
+ (cond ((null list-tail)
+ (cl-loop for element0 in list-head
+ append (cons (cons element0 nil) nil)))
+ (t (cl-loop for element in list-head
+ append (mapcar (lambda (l) (cons element l))
+ (pyim-permutate-list list-tail)))))))
+
+(defun pyim-permutate-list2 (list)
+ "使用排列组合的方式重新排列 LIST.
+这个函数由 ’翀/ty‘ 提供,`pyim-hanzi2pinyin' 默认使用这个函数。"
+ (if (= (length list) 1)
+ (mapcar #'list (car list))
+ (pyim-permutate-list2-internal (car list) (cdr list))))
+
+(defun pyim-permutate-list2-internal (one two)
+ "`pyim-permutate-list2' 的内部函数。"
+ (let (return)
+ (if (null (car two))
+ one
+ (dolist (x1 one)
+ (dolist (x2 (car two))
+ (push (if (listp x1)
+ (append x1 (list x2))
+ (list x1 x2))
+ return)))
+ (setq one return)
+ (pyim-permutate-list2-internal one (cdr two)))))
+
;; * Footer
(provide 'pyim-common)
diff --git a/pyim.el b/pyim.el
index 05b0ba4..3ab09b2 100644
--- a/pyim.el
+++ b/pyim.el
@@ -3968,40 +3968,6 @@ BUG: 当 STRING 中包含其它标点符号,并且设置 SEPERATER 时,结
list
(mapconcat #'identity list " "))))))
-(defun pyim-permutate-list (list)
- "使用排列组合的方式重新排列 LIST.
-这个函数由 ‘二中’ 提供,`pyim-hanzi2pinyin' 没有使用这个函数
-(速度稍微有点慢)。"
- (let ((list-head (car list))
- (list-tail (cdr list)))
- (cond ((null list-tail)
- (cl-loop for element0 in list-head
- append (cons (cons element0 nil) nil)))
- (t (cl-loop for element in list-head
- append (mapcar (lambda (l) (cons element l))
- (pyim-permutate-list list-tail)))))))
-
-(defun pyim-permutate-list2 (list)
- "使用排列组合的方式重新排列 LIST.
-这个函数由 ’翀/ty‘ 提供,`pyim-hanzi2pinyin' 默认使用这个函数。"
- (if (= (length list) 1)
- (mapcar #'list (car list))
- (pyim-permutate-list2-internal (car list) (cdr list))))
-
-(defun pyim-permutate-list2-internal (one two)
- "`pyim-permutate-list2' 的内部函数。"
- (let (return)
- (if (null (car two))
- one
- (dolist (x1 one)
- (dolist (x2 (car two))
- (push (if (listp x1)
- (append x1 (list x2))
- (list x1 x2))
- return)))
- (setq one return)
- (pyim-permutate-list2-internal one (cdr two)))))
-
;;;###autoload
(defun pyim-hanzi2pinyin-simple (string &optional shou-zi-mu separator
return-list)
"简化版的 `pyim-hanzi2pinyin', 不处理多音字。"
- [elpa] externals/pyim 6cc63e8 09/36: New file: pyim-dict.el, (continued)
- [elpa] externals/pyim 6cc63e8 09/36: New file: pyim-dict.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 8ae9ad9 10/36: New file pyim-cstring.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 678240a 16/36: Add pyim-candidates.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim fa9a82a 17/36: pyim-posframe-* -> pyim-page-posframe-*, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 8023823 15/36: New file: pyim-page.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim cfd96c6 20/36: update pyim-candidates.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim eafaef3 22/36: update pyim-cstring.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim c9cd6bf 27/36: Add pyim-autoselector.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim f56d0a6 30/36: Add README.org, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim f26fecc 03/36: New file: pyim-cregexp.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 819f9c6 04/36: Move pyim-permutate-list* to pyim-common.el,
ELPA Syncer <=
- [elpa] externals/pyim bf3626c 05/36: * pyim-common.el (pyim-flatten-list): Move from pyim.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 97fd721 11/36: New file pyim-scheme.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 4e7fe1b 12/36: Add new file: pyim-dcache.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim af1bec4 14/36: update pyim-cstring.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 08be340 24/36: pyim-fuzzy-pinyin-alist -> pyim-pinyin-fuzzy-alist, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim de98d10 28/36: pyim-page-select* -> pyim-select*, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 4a46cac 32/36: dm -> dict-manager, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 408cbeb 19/36: Add pyim-imobjs-codes, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 7a876a8f 23/36: update pyim.el, ELPA Syncer, 2021/04/22
- [elpa] externals/pyim 22c905d 33/36: update pyim.el, ELPA Syncer, 2021/04/22