[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 3791e46 3/5: pyim-punctuation-full-width-p -> pyim
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 3791e46 3/5: pyim-punctuation-full-width-p -> pyim-process-punctuation-full-width-p |
Date: |
Wed, 9 Jun 2021 10:57:15 -0400 (EDT) |
branch: externals/pyim
commit 3791e46b7498517ee5928a16d47e323120be49fb
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
pyim-punctuation-full-width-p -> pyim-process-punctuation-full-width-p
* pyim-punctuation.el (pyim-process-input-ascii): removed.
(pyim-process-auto-switch-english-input-p): remove declare.
(pyim-punctuation-full-width-p): Remove.
* pyim-process.el (pyim-process-outcome-handle-char): Use
pyim-process-punctuation-full-width-p.
(pyim-process-punctuation-full-width-p): New function.
---
pyim-process.el | 24 +++++++++++++++++++++++-
pyim-punctuation.el | 27 +--------------------------
2 files changed, 24 insertions(+), 27 deletions(-)
diff --git a/pyim-process.el b/pyim-process.el
index 1ce9816..d97d919 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -407,7 +407,7 @@ alist 列表。"
"")
;; 关闭标点转换功能时,只插入英文标点。
- ((not (pyim-punctuation-full-width-p))
+ ((not (pyim-process-punctuation-full-width-p))
str)
;; 当用户使用 org-mode 以及 markdown 等轻量级标记语言撰写文档时,
@@ -457,6 +457,28 @@ alist 列表。"
;; 当输入的字符不是标点符号时,原样插入。
(t str))))
+(defun pyim-process-punctuation-full-width-p ()
+ "判断是否需要切换到全角标点输入模式
+
+输入标点的样式的改变(全角或者半角)受三个方面影响:
+
+1. 用户是否手动切换了标点样式?
+2 用户是否手动切换到英文输入模式?
+3. pyim 是否根据环境自动切换到英文输入模式?
+
+三方面的综合结果为: 只要当前的输入模式是英文输入模式,那么输入的
+标点符号 *必定* 是半角标点,如果当前输入模式是中文输入模式,那么,
+输入标点的样式用户可以使用 `pyim-punctuation-toggle'手动控制,具
+体请参考 `pyim-process-punctuation-full-width-p'。"
+ (cl-case (car pyim-punctuation-translate-p)
+ (yes t)
+ (no nil)
+ (auto
+ ;; 如果用户手动或者根据环境自动切换为英文输入模式,
+ ;; 那么标点符号也要切换为半角模式。
+ (and (not pyim-process-input-ascii)
+ (not (pyim-process-auto-switch-english-input-p))))))
+
(defun pyim-process-create-code-criteria ()
"创建 `pyim-cstring-to-code-criteria'."
(setq pyim-cstring-to-code-criteria
diff --git a/pyim-punctuation.el b/pyim-punctuation.el
index e8a0017..d5ceb09 100644
--- a/pyim-punctuation.el
+++ b/pyim-punctuation.el
@@ -100,38 +100,13 @@ If you don't like this function, set the variable to nil")
pyim-punctuation-escape-list
pyim-punctuation-half-width-functions))
-(defvar pyim-process-input-ascii)
-(declare-function pyim-process-auto-switch-english-input-p "pyim-process")
-
;; ** 切换中英文标点符号
-(defun pyim-punctuation-full-width-p ()
- "判断是否需要切换到全角标点输入模式
-
-输入标点的样式的改变(全角或者半角)受三个方面影响:
-
-1. 用户是否手动切换了标点样式?
-2 用户是否手动切换到英文输入模式?
-3. pyim 是否根据环境自动切换到英文输入模式?
-
-三方面的综合结果为: 只要当前的输入模式是英文输入模式,那么输入的
-标点符号 *必定* 是半角标点,如果当前输入模式是中文输入模式,那么,
-输入标点的样式用户可以使用 `pyim-punctuation-toggle'手动控制,具
-体请参考 `pyim-punctuation-full-width-p'。"
- (cl-case (car pyim-punctuation-translate-p)
- (yes t)
- (no nil)
- (auto
- ;; 如果用户手动或者根据环境自动切换为英文输入模式,
- ;; 那么标点符号也要切换为半角模式。
- (and (not pyim-process-input-ascii)
- (not (pyim-process-auto-switch-english-input-p))))))
-
(defun pyim-punctuation-toggle ()
"Pyim 标点符号全角半角模式切换命令.
每次运行 `pyim-punctuation-toggle' 命令,都会调整变量
`pyim-punctuation-translate-p' 的取值,`pyim-process-outcome-handle-char' 根据
-`pyim-punctuation-full-width-p' 函数的返回值,来决定是否转换标点
+`pyim-process-punctuation-full-width-p' 函数的返回值,来决定是否转换标点
符号:
1. 当返回值为 'yes 时,`pyim-process-outcome-handle-char' 转换标点符号,从而输入全角标点。