From 500a4286cade132fb0a5bbc40c0249abf4bcd908 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Thu, 21 Jul 2022 09:19:14 +0800 Subject: [PATCH] Revert "Prefer defvar-keymap in xwidget.el" This reverts commit daf2c3e23a45bff14f9d444d2d07455376d4b6da. --- lisp/xwidget.el | 133 ++++++++++++++++++++++++++---------------------- 1 file changed, 71 insertions(+), 62 deletions(-) diff --git a/lisp/xwidget.el b/lisp/xwidget.el index 1d45210f8ee..41a1190c646 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el @@ -20,15 +20,15 @@ ;; along with GNU Emacs. If not, see . ;;; Commentary: - -;; See xwidget.c for more API functions. - -;;; Code: +;; +;; See xwidget.c for more api functions. ;; This breaks compilation when we don't have xwidgets. ;; And is pointless when we do, since it's in C and so preloaded. ;;(require 'xwidget-internal) +;;; Code: + (require 'cl-lib) (require 'bookmark) (require 'format-spec) @@ -191,39 +191,48 @@ for the actual events that will be sent." (xwidget-perform-lispy-event (xwidget-webkit-current-session) last-command-event))) -(defvar-keymap xwidget-webkit-mode-map - :doc "Keymap for `xwidget-webkit-mode'." - "g" #'xwidget-webkit-browse-url - "a" #'xwidget-webkit-adjust-size-dispatch - "b" #'xwidget-webkit-back - "f" #'xwidget-webkit-forward - "r" #'xwidget-webkit-reload - "RET" #'xwidget-webkit-insert-string - "w" #'xwidget-webkit-current-url - "+" #'xwidget-webkit-zoom-in - "-" #'xwidget-webkit-zoom-out - "e" #'xwidget-webkit-edit-mode - "C-r" #'xwidget-webkit-isearch-mode - "C-s" #'xwidget-webkit-isearch-mode - "H" #'xwidget-webkit-browse-history - ;; Similar to image mode bindings - "SPC" #'xwidget-webkit-scroll-up - "S-SPC" #'xwidget-webkit-scroll-down - "DEL" #'xwidget-webkit-scroll-down - " " #'xwidget-webkit-scroll-up-line - " " #'xwidget-webkit-scroll-up - " " #'xwidget-webkit-scroll-down-line - " " #'xwidget-webkit-scroll-down - " " #'xwidget-webkit-scroll-forward - " " #'xwidget-webkit-scroll-backward - " " #'xwidget-webkit-scroll-forward - " " #'xwidget-webkit-scroll-backward - " " #'xwidget-webkit-scroll-down-line - " " #'xwidget-webkit-scroll-up-line - ;; " " #'image-bol - ;; " " #'image-eol - " " #'xwidget-webkit-scroll-top - " " #'xwidget-webkit-scroll-bottom) +;;todo. +;; - check that the webkit support is compiled in +(defvar xwidget-webkit-mode-map + (let ((map (make-sparse-keymap))) + (define-key map "g" 'xwidget-webkit-browse-url) + (define-key map "a" 'xwidget-webkit-adjust-size-dispatch) + (define-key map "b" 'xwidget-webkit-back) + (define-key map "f" 'xwidget-webkit-forward) + (define-key map "r" 'xwidget-webkit-reload) + (define-key map "\C-m" 'xwidget-webkit-insert-string) + (define-key map "w" 'xwidget-webkit-current-url) + (define-key map "+" 'xwidget-webkit-zoom-in) + (define-key map "-" 'xwidget-webkit-zoom-out) + (define-key map "e" 'xwidget-webkit-edit-mode) + (define-key map "\C-r" 'xwidget-webkit-isearch-mode) + (define-key map "\C-s" 'xwidget-webkit-isearch-mode) + (define-key map "H" 'xwidget-webkit-browse-history) + + ;;similar to image mode bindings + (define-key map (kbd "SPC") 'xwidget-webkit-scroll-up) + (define-key map (kbd "S-SPC") 'xwidget-webkit-scroll-down) + (define-key map (kbd "DEL") 'xwidget-webkit-scroll-down) + + (define-key map [remap scroll-up] 'xwidget-webkit-scroll-up-line) + (define-key map [remap scroll-up-command] 'xwidget-webkit-scroll-up) + + (define-key map [remap scroll-down] 'xwidget-webkit-scroll-down-line) + (define-key map [remap scroll-down-command] 'xwidget-webkit-scroll-down) + + (define-key map [remap forward-char] 'xwidget-webkit-scroll-forward) + (define-key map [remap backward-char] 'xwidget-webkit-scroll-backward) + (define-key map [remap right-char] 'xwidget-webkit-scroll-forward) + (define-key map [remap left-char] 'xwidget-webkit-scroll-backward) + (define-key map [remap previous-line] 'xwidget-webkit-scroll-down-line) + (define-key map [remap next-line] 'xwidget-webkit-scroll-up-line) + + ;; (define-key map [remap move-beginning-of-line] 'image-bol) + ;; (define-key map [remap move-end-of-line] 'image-eol) + (define-key map [remap beginning-of-buffer] 'xwidget-webkit-scroll-top) + (define-key map [remap end-of-buffer] 'xwidget-webkit-scroll-bottom) + map) + "Keymap for `xwidget-webkit-mode'.") (easy-menu-define nil xwidget-webkit-mode-map "Xwidget WebKit menu." (list "Xwidget WebKit" @@ -954,31 +963,31 @@ You can retrieve the value with `xwidget-get'." (set-xwidget-plist xwidget (plist-put (xwidget-plist xwidget) propname value))) -(defvar-keymap xwidget-webkit-edit-mode-map - :full t - "" #'xwidget-webkit-pass-command-event - "" #'xwidget-webkit-pass-command-event - "" #'xwidget-webkit-pass-command-event - "" #'xwidget-webkit-pass-command-event - "" #'xwidget-webkit-pass-command-event - "" #'xwidget-webkit-pass-command-event - "" #'xwidget-webkit-pass-command-event - "C-" #'xwidget-webkit-pass-command-event - "C-" #'xwidget-webkit-pass-command-event - "C-" #'xwidget-webkit-pass-command-event - "C-" #'xwidget-webkit-pass-command-event - "C-" #'xwidget-webkit-pass-command-event - "S-" #'xwidget-webkit-pass-command-event - "S-" #'xwidget-webkit-pass-command-event - "S-" #'xwidget-webkit-pass-command-event - "S-" #'xwidget-webkit-pass-command-event - "S-" #'xwidget-webkit-pass-command-event - "M-" #'xwidget-webkit-pass-command-event - "M-" #'xwidget-webkit-pass-command-event - "M-" #'xwidget-webkit-pass-command-event - "M-" #'xwidget-webkit-pass-command-event - "M-" #'xwidget-webkit-pass-command-event - "C-" #'xwidget-webkit-pass-command-event) +(defvar-keymap xwidget-webkit-edit-mode-map :full t) + +(define-key xwidget-webkit-edit-mode-map [backspace] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [tab] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [left] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [right] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [up] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [down] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [return] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [C-left] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [C-right] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [C-up] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [C-down] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [C-return] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [S-left] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [S-right] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [S-up] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [S-down] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [S-return] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [M-left] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [M-right] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [M-up] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [M-down] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [M-return] 'xwidget-webkit-pass-command-event) +(define-key xwidget-webkit-edit-mode-map [C-backspace] 'xwidget-webkit-pass-command-event) (define-minor-mode xwidget-webkit-edit-mode "Minor mode for editing the content of WebKit buffers. -- 2.39.5