Mercurial > emacs
comparison lisp/international/quail.el @ 31247:e49bf88ce1f8
(quail-help): New arg PACKAGE. Hyperlinks to mule related items.
(quail-help-insert-keymap-description): Use
substitute-command-keys instead of describe-bindings.
(quail-translation-help): Hyperlinks to mule related items.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 29 Aug 2000 05:38:34 +0000 |
parents | 8e8fa4dbc0bc |
children | 599904d1058b |
comparison
equal
deleted
inserted
replaced
31246:d8ce7bce2aab | 31247:e49bf88ce1f8 |
---|---|
1259 (setq quail-current-str (char-to-string quail-current-str))) | 1259 (setq quail-current-str (char-to-string quail-current-str))) |
1260 (if control-flag | 1260 (if control-flag |
1261 (quail-terminate-translation))) | 1261 (quail-terminate-translation))) |
1262 | 1262 |
1263 (defun quail-self-insert-command () | 1263 (defun quail-self-insert-command () |
1264 "Add the typed character to the key for translation." | 1264 "Translate the typed character to by the current Quail map." |
1265 (interactive "*") | 1265 (interactive "*") |
1266 (setq quail-current-key | 1266 (setq quail-current-key |
1267 (concat quail-current-key (char-to-string last-command-event))) | 1267 (concat quail-current-key (char-to-string last-command-event))) |
1268 (or (catch 'quail-tag | 1268 (or (catch 'quail-tag |
1269 (quail-update-translation (quail-translate-key)) | 1269 (quail-update-translation (quail-translate-key)) |
1992 (if (and (eq minibuffer-completion-table 'read-file-name-internal) | 1992 (if (and (eq minibuffer-completion-table 'read-file-name-internal) |
1993 (file-directory-p (buffer-string))) | 1993 (file-directory-p (buffer-string))) |
1994 (select-window (active-minibuffer-window)) | 1994 (select-window (active-minibuffer-window)) |
1995 (exit-minibuffer)))))) | 1995 (exit-minibuffer)))))) |
1996 | 1996 |
1997 (defun quail-help () | 1997 (defun quail-help (&optional package) |
1998 "Show brief description of the current Quail package." | 1998 "Show brief description of the current Quail package. |
1999 Optional 2nd arg PACKAGE specifies the alternative Quail package to describe." | |
1999 (interactive) | 2000 (interactive) |
2000 (let ((package quail-current-package)) | 2001 (or package |
2001 (with-output-to-temp-buffer "*Quail-Help*" | 2002 (setq package quail-current-package)) |
2003 (let ((help-xref-mule-regexp help-xref-mule-regexp-template)) | |
2004 (with-output-to-temp-buffer "*Help*" | |
2002 (save-excursion | 2005 (save-excursion |
2003 (set-buffer standard-output) | 2006 (set-buffer standard-output) |
2004 (let ((quail-current-package package)) | 2007 (setq quail-current-package package) |
2005 (insert "Quail input method (name:" | 2008 (insert "Quail input method (name:" |
2006 (quail-name) | 2009 (quail-name) |
2007 ", mode line indicator:[" | 2010 ", mode line indicator:[" |
2008 (quail-title) | 2011 (quail-title) |
2009 "])\n---- Documentation ----\n" | 2012 "])\n\n---- Documentation ----\n" |
2010 (quail-docstring)) | 2013 (quail-docstring)) |
2011 (newline) | 2014 (newline) |
2012 (if (quail-show-layout) (quail-show-kbd-layout)) | 2015 (if (quail-show-layout) (quail-show-kbd-layout)) |
2013 (quail-help-insert-keymap-description | 2016 (quail-help-insert-keymap-description |
2014 (quail-translation-keymap) | 2017 (quail-translation-keymap) |
2015 "--- Key bindings (while translating) --- | 2018 (format "--- Key bindings%s ---\n" |
2016 key binding | 2019 (if (quail-conversion-keymap) |
2017 --- -------\n") | 2020 " (while translating)" |
2018 (if (quail-conversion-keymap) | 2021 ""))) |
2019 (quail-help-insert-keymap-description | 2022 (if (quail-conversion-keymap) |
2020 (quail-conversion-keymap) | 2023 (quail-help-insert-keymap-description |
2021 "--- Key bindings (while converting) --- | 2024 (quail-conversion-keymap) |
2022 key binding | 2025 "\n--- Key bindings (while converting) ---\n")) |
2023 --- -------\n")) | 2026 (setq quail-current-package nil) |
2024 (help-mode)))))) | 2027 (help-setup-xref (list #'quail-help package) |
2028 (interactive-p)))))) | |
2025 | 2029 |
2026 (defun quail-help-insert-keymap-description (keymap &optional header) | 2030 (defun quail-help-insert-keymap-description (keymap &optional header) |
2027 (let (from to) | 2031 (let (pos) |
2028 (if header | 2032 (if header |
2029 (insert header)) | 2033 (insert header)) |
2030 (save-excursion | 2034 (setq pos (point)) |
2031 (save-window-excursion | 2035 (insert (substitute-command-keys "\\{keymap}")) |
2032 (let ((overriding-terminal-local-map keymap)) | 2036 (goto-char pos) |
2033 (describe-bindings)) | 2037 (while (search-forward "quail-other-command" nil 'move) |
2034 (set-buffer "*Help*") | 2038 (delete-region (line-beginning-position) (1+ (line-end-position)))))) |
2035 (goto-char (point-min)) | |
2036 (forward-line 4) | |
2037 (setq from (point)) | |
2038 (search-forward "Global Bindings:" nil 'move) | |
2039 (beginning-of-line) | |
2040 (setq to (point)))) | |
2041 (insert-buffer-substring "*Help*" from to))) | |
2042 | 2039 |
2043 (defun quail-show-kbd-layout () | 2040 (defun quail-show-kbd-layout () |
2044 "Show keyboard layout with key tops of multilingual characters." | 2041 "Show keyboard layout with key tops of multilingual characters." |
2045 (insert "--- Keyboard layout ---\n") | 2042 (insert "--- Keyboard layout ---\n") |
2046 (let ((blink-matching-paren nil) | 2043 (let ((blink-matching-paren nil) |
2096 keymap (quail-conversion-keymap)) | 2093 keymap (quail-conversion-keymap)) |
2097 (setq state-msg | 2094 (setq state-msg |
2098 (format "Translating key sequence %S by input method %S.\n" | 2095 (format "Translating key sequence %S by input method %S.\n" |
2099 quail-current-key (quail-name)) | 2096 quail-current-key (quail-name)) |
2100 keymap (quail-translation-keymap))) | 2097 keymap (quail-translation-keymap))) |
2101 (with-output-to-temp-buffer "*Quail-Help*" | 2098 (with-output-to-temp-buffer "*Help*" |
2102 (save-excursion | 2099 (save-excursion |
2103 (set-buffer standard-output) | 2100 (set-buffer standard-output) |
2104 (insert state-msg) | 2101 (insert state-msg) |
2105 (quail-help-insert-keymap-description | 2102 (quail-help-insert-keymap-description |
2106 keymap | 2103 keymap |
2107 "----------------------- | 2104 "-----------------------\n") |
2108 key binding | |
2109 --- -------\n") | |
2110 (help-mode))))) | 2105 (help-mode))))) |
2111 (let (scroll-help) | 2106 (let (scroll-help) |
2112 (save-selected-window | 2107 (save-selected-window |
2113 (select-window (get-buffer-window "*Quail-Help*")) | 2108 (select-window (get-buffer-window "*Help*")) |
2114 (if (eq this-command last-command) | 2109 (if (eq this-command last-command) |
2115 (if (< (window-end) (point-max)) | 2110 (if (< (window-end) (point-max)) |
2116 (scroll-up) | 2111 (scroll-up) |
2117 (if (> (window-start) (point-min)) | 2112 (if (> (window-start) (point-min)) |
2118 (set-window-start (selected-window) (point-min))))) | 2113 (set-window-start (selected-window) (point-min))))) |