Simplify XEmacs key bindings

This commit is contained in:
Carsten Dominik 2010-04-21 08:38:09 +02:00
parent aca565ca61
commit 56ba0892e5
5 changed files with 49 additions and 37 deletions

View File

@ -1,3 +1,12 @@
2010-04-21 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-key): Apply the translations defined in
`org-xemacs-key-equivalents'.
* org-mouse.el (org-mode-hook): Use `org-defkey'.
* org-compat.el (org-xemacs-key-equivalents): New constant.
2010-04-20 Carsten Dominik <carsten.dominik@gmail.com>
* org-inlinetask.el (org-inlinetask-defaut-state): New option.

View File

@ -1662,10 +1662,8 @@ The following commands are available:
(org-defkey org-agenda-mode-map "\C-c\C-x\C-mg" 'org-mobile-pull)
(org-defkey org-agenda-mode-map "\C-c\C-x\C-mp" 'org-mobile-push)
(org-defkey org-agenda-mode-map
(if (featurep 'xemacs) [(button2)] [(mouse-2)]) 'org-agenda-goto-mouse)
(org-defkey org-agenda-mode-map
(if (featurep 'xemacs) [(button3)] [(mouse-3)]) 'org-agenda-show-mouse)
(org-defkey org-agenda-mode-map [mouse-2] 'org-agenda-goto-mouse)
(org-defkey org-agenda-mode-map [mouse-3] 'org-agenda-show-mouse)
(when org-agenda-mouse-1-follows-link
(org-defkey org-agenda-mode-map [follow-link] 'mouse-face))
(easy-menu-define org-agenda-menu org-agenda-mode-map "Agenda menu"

View File

@ -88,6 +88,15 @@ any other entries, and any resulting duplicates will be removed entirely."
;;;; Emacs/XEmacs compatibility
;; Keys
(defconst org-xemacs-key-equivalents
'(([mouse-1] . [button1])
([mouse-2] . [button2])
([mouse-3] . [button3])
([C-mouse-4] . [(control mouse-4)])
([C-mouse-5] . [(control mouse-5)]))
"Translation alist for a couple of keys")
;; Overlay compatibility functions
(defun org-detach-overlay (ovl)
(if (featurep 'xemacs) (detach-extent ovl) (delete-overlay ovl)))

View File

@ -909,18 +909,18 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
(setq org-mouse-context-menu-function 'org-mouse-context-menu)
(when (memq 'context-menu org-mouse-features)
(define-key org-mouse-map (if (featurep 'xemacs) [button3] [mouse-3]) nil)
(define-key org-mode-map [mouse-3] 'org-mouse-show-context-menu))
(define-key org-mode-map [down-mouse-1] 'org-mouse-down-mouse)
(org-defkey org-mouse-map [mouse-3] nil)
(org-defkey org-mode-map [mouse-3] 'org-mouse-show-context-menu))
(org-defkey org-mode-map [down-mouse-1] 'org-mouse-down-mouse)
(when (memq 'context-menu org-mouse-features)
(define-key org-mouse-map [C-drag-mouse-1] 'org-mouse-move-tree)
(define-key org-mouse-map [C-down-mouse-1] 'org-mouse-move-tree-start))
(org-defkey org-mouse-map [C-drag-mouse-1] 'org-mouse-move-tree)
(org-defkey org-mouse-map [C-down-mouse-1] 'org-mouse-move-tree-start))
(when (memq 'yank-link org-mouse-features)
(define-key org-mode-map [S-mouse-2] 'org-mouse-yank-link)
(define-key org-mode-map [drag-mouse-3] 'org-mouse-yank-link))
(org-defkey org-mode-map [S-mouse-2] 'org-mouse-yank-link)
(org-defkey org-mode-map [drag-mouse-3] 'org-mouse-yank-link))
(when (memq 'move-tree org-mouse-features)
(define-key org-mouse-map [drag-mouse-3] 'org-mouse-move-tree)
(define-key org-mouse-map [down-mouse-3] 'org-mouse-move-tree-start))
(org-defkey org-mouse-map [drag-mouse-3] 'org-mouse-move-tree)
(org-defkey org-mouse-map [down-mouse-3] 'org-mouse-move-tree-start))
(when (memq 'activate-stars org-mouse-features)
(font-lock-add-keywords
@ -1131,13 +1131,11 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
(add-hook 'org-agenda-mode-hook
'(lambda ()
(setq org-mouse-context-menu-function 'org-mouse-agenda-context-menu)
(define-key org-agenda-mode-map
(if (featurep 'xemacs) [button3] [mouse-3])
'org-mouse-show-context-menu)
(define-key org-agenda-mode-map [down-mouse-3] 'org-mouse-move-tree-start)
(define-key org-agenda-mode-map (if (featurep 'xemacs) [(control mouse-4)] [C-mouse-4]) 'org-agenda-earlier)
(define-key org-agenda-mode-map (if (featurep 'xemacs) [(control mouse-5)] [C-mouse-5]) 'org-agenda-later)
(define-key org-agenda-mode-map [drag-mouse-3]
(org-defkey org-agenda-mode-map [mouse-3] 'org-mouse-show-context-menu)
(org-defkey org-agenda-mode-map [down-mouse-3] 'org-mouse-move-tree-start)
(org-defkey org-agenda-mode-map [C-mouse-4] 'org-agenda-earlier)
(org-defkey org-agenda-mode-map [C-mouse-5] 'org-agenda-later)
(org-defkey org-agenda-mode-map [drag-mouse-3]
'(lambda (event) (interactive "e")
(case (org-mouse-get-gesture event)
(:left (org-agenda-earlier 1))

View File

@ -417,14 +417,17 @@ therefore you'll have to restart Emacs to apply it after changing."
(defun org-key (key)
"Select key according to `org-replace-disputed-keys' and `org-disputed-keys'.
Or return the original if not disputed."
(if org-replace-disputed-keys
(let* ((nkey (key-description key))
(x (org-find-if (lambda (x)
(equal (key-description (car x)) nkey))
org-disputed-keys)))
(if x (cdr x) key))
key))
Or return the original if not disputed.
Also apply the trnaslations defined in `org-xemacs-key-equivalents'."
(when org-replace-disputed-keys
(let* ((nkey (key-description key))
(x (org-find-if (lambda (x)
(equal (key-description (car x)) nkey))
org-disputed-keys)))
(setq key (if x (cdr x) key))))
(when (featurep 'xemacs)
(setq key (or (cdr (assoc key org-xemacs-key-equivalents)) key)))
key)
(defun org-find-if (predicate seq)
(catch 'exit
@ -4480,10 +4483,8 @@ The following commands are available:
;;;; Font-Lock stuff, including the activators
(defvar org-mouse-map (make-sparse-keymap))
(org-defkey org-mouse-map
(if (featurep 'xemacs) [button2] [mouse-2]) 'org-open-at-mouse)
(org-defkey org-mouse-map
(if (featurep 'xemacs) [button3] [mouse-3]) 'org-find-file-at-mouse)
(org-defkey org-mouse-map [mouse-2] 'org-open-at-mouse)
(org-defkey org-mouse-map [mouse-3] 'org-find-file-at-mouse)
(when org-mouse-1-follows-link
(org-defkey org-mouse-map [follow-link] 'mouse-face))
(when org-tab-follows-link
@ -5481,7 +5482,6 @@ in special contexts.
(while (and (not (eobp)) ;; this is like `next-line'
(get-char-property (1- (point)) 'invisible))
(goto-char (next-single-char-property-change (point) 'invisible))
;;;??? (or (bolp) (beginning-of-line 2))))
(and (eolp) (beginning-of-line 2))))
(setq eol (point)))
(outline-end-of-heading) (setq eoh (point))
@ -13589,10 +13589,8 @@ user."
(map (copy-keymap calendar-mode-map))
(minibuffer-local-map (copy-keymap minibuffer-local-map)))
(org-defkey map (kbd "RET") 'org-calendar-select)
(org-defkey map (if (featurep 'xemacs) [button1] [mouse-1])
'org-calendar-select-mouse)
(org-defkey map (if (featurep 'xemacs) [button2] [mouse-2])
'org-calendar-select-mouse)
(org-defkey map [mouse-1] 'org-calendar-select-mouse)
(org-defkey map [mouse-2] 'org-calendar-select-mouse)
(org-defkey minibuffer-local-map [(meta shift left)]
(lambda () (interactive)
(org-eval-in-calendar '(calendar-backward-month 1))))