[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 47/287: Stage some components
From: |
Matthew Fidler |
Subject: |
[elpa] 47/287: Stage some components |
Date: |
Wed, 02 Jul 2014 14:44:30 +0000 |
mlf176f2 pushed a commit to branch externals/ergoemacs-mode
in repository elpa.
commit 34d7581d7b28e677f0ffe375956adef0442c7a0b
Author: Matthew L. Fidler <address@hidden>
Date: Wed Jun 4 22:42:23 2014 +0800
Stage some components
---
ergoemacs-shortcuts.el | 3 +-
ergoemacs-theme-engine.el | 505 +++++----------------------------------------
2 files changed, 48 insertions(+), 460 deletions(-)
diff --git a/ergoemacs-shortcuts.el b/ergoemacs-shortcuts.el
index dbf49d6..6b52f45 100644
--- a/ergoemacs-shortcuts.el
+++ b/ergoemacs-shortcuts.el
@@ -1733,9 +1733,8 @@ If MAP is nil, base this on a sparse keymap."
(ergoemacs-orig-keymap
(if map
(copy-keymap map) nil))
- overall-keymaps
+ (overall-keymaps ergoemacs-theme-shortcut-reset-list)
fn-lst)
- (setq overall-keymaps (ergoemacs-theme-keymaps ergoemacs-theme))
(ergoemacs-theme--install-shortcuts-list
(nth 3 overall-keymaps) ergoemacs-shortcut-override-keymap
ergoemacs-orig-keymap (not dont-complete))
diff --git a/ergoemacs-theme-engine.el b/ergoemacs-theme-engine.el
index 8ac1f28..a16c394 100644
--- a/ergoemacs-theme-engine.el
+++ b/ergoemacs-theme-engine.el
@@ -350,7 +350,21 @@ DEF is anything that can be a key's definition:
object-name))
(key-desc (key-description key))
(key-vect (read-kbd-macro key-desc t))
+ swapped
tmp)
+ ;; Swap out apps for menu on the appropriate system.
+ (dotimes (number (length key-vect))
+ (cond
+ ((and (eq system-type 'windows-nt)
+ (eq (elt key-vect number) 'menu))
+ (setq swapped t)
+ (aset key-vect number 'apps))
+ ((and (not (eq system-type 'windows-nt))
+ (eq (elt key-vect number) 'apps))
+ (setq swapped t)
+ (aset key-vect number 'menu))))
+ (when swapped
+ (setq key-desc (key-description key-vect)))
(ergoemacs-theme-component--ignore-globally-defined-key key-vect)
(ergoemacs-define-map--read-map obj key-vect)
(cond
@@ -380,9 +394,13 @@ DEF is anything that can be a key's definition:
(oset obj shortcut-map shortcut-map))
((or (commandp def t) (keymapp def) (stringp def))
;; Normal command
- (ergoemacs-define-map--cmd-list obj key-desc def)
- (define-key map key-vect def)
- (oset obj map map))
+ (if (memq def '(ergoemacs-ctl-c ergoemacs-ctl-x))
+ (progn
+ (define-key shortcut-map key-vect def)
+ (oset obj shortcut-map shortcut-map))
+ (define-key map key-vect def)
+ (oset obj map map))
+ (ergoemacs-define-map--cmd-list obj key-desc def))
((and (listp def) (or (stringp (nth 0 def))))
;; `ergoemacs-read-key' shortcut
(ergoemacs-define-map--shortcut-list obj key-vect def)
@@ -781,6 +799,16 @@ Assumes maps are orthogonal."
:type list))
"`ergoemacs-mode' theme-component maps")
+(defmethod ergoemacs-get-versions ((obj ergoemacs-theme-component-map-list) )
+ (with-slots (map-list) obj
+ (let ((ret '()))
+ (dolist (map map-list)
+ (when (ergoemacs-theme-component-maps-p map)
+ (with-slots (versions) map
+ (dolist (ver versions)
+ (pushnew ver ret :test 'equal)))))
+ (sort ret 'string<))))
+
(defmethod ergoemacs-get-hooks ((obj ergoemacs-theme-component-map-list)
&optional match ret keymaps)
(with-slots (map-list) obj
(let ((ret (or ret '())))
@@ -847,6 +875,9 @@ FULL-SHORTCUT-MAP-P "
(defvar ergoemacs-theme-hook-installed '()
"Installed hooks")
+(defgeneric ergoemacs-apply-keymaps-for-hook (obj hook)
+ "Installs keymaps for a specific hook")
+
(defmethod ergoemacs-apply-keymaps-for-hook ((obj
ergoemacs-theme-component-map-list) hook)
(with-slots (shortcut-list) (ergoemacs-get-fixed-map obj)
(dolist (map-name (ergoemacs-get-keymaps-for-hook obj hook))
@@ -1251,7 +1282,9 @@ The rest of the body is an `ergoemacs-theme-component'
named THEME-NAME-theme
(indent 2))
(let ((kb (make-symbol "body-and-plist"))
(tmp (make-symbol "tmp")))
- (setq kb (ergoemacs--parse-keys-and-body body-and-plist))
+ (setq kb (ergoemacs-theme-component--parse-keys-and-body
+ body-and-plist
+ 'ergoemacs-theme-component--parse-remaining))
(setq tmp (eval (plist-get (nth 0 kb) ':components)))
(push (intern (concat (plist-get (nth 0 kb) ':name) "-theme")) tmp)
(setq tmp (plist-put (nth 0 kb) ':components tmp))
@@ -1368,7 +1401,6 @@ DONT-COLLAPSE doesn't collapse empty keymaps"
(defun ergoemacs-keymap-collapse (keymap)
"Takes out all empty keymaps from a composed keymap"
- ;;(ergoemacs-keymap-collapse '(keymap (keymap 27 (keymap)) (keymap) (keymap
"me")))
(let ((ret '()) tmp)
(dolist (item keymap)
(cond
@@ -1384,12 +1416,12 @@ DONT-COLLAPSE doesn't collapse empty keymaps"
nil
ret)))
-(defun ergoemacs-theme-i (&optional theme version)
+(defvar ergoemacs-M-x "M-x ")
+(defun ergoemacs-theme-install (&optional theme version)
"Gets the keymaps for THEME for VERSION."
(let* ((theme-obj (ergoemacs-theme-get-obj theme version))
(fixed-obj (ergoemacs-get-fixed-map theme-obj))
- (menu-keymap (make-sparse-keymap))
- (ergoemacs-emulation-mode-map-alist '()))
+ (menu-keymap (make-sparse-keymap)))
(with-slots (read-map
shortcut-map
map
@@ -1412,463 +1444,20 @@ DONT-COLLAPSE doesn't collapse empty keymaps"
ergoemacs-theme (or (and (stringp theme) theme)
(and (not (eq nil theme))(symbolp theme)
(symbol-name theme))
(and (stringp ergoemacs-theme) ergoemacs-theme)
- (and (not (eq nil ergoemacs-theme)) (symbolp
ergoemacs-theme) (symbol-name ergoemacs-theme))))
+ (and (not (eq nil ergoemacs-theme)) (symbolp
ergoemacs-theme)
+ (symbol-name ergoemacs-theme))))
(ergoemacs-add-emulation
nil nil
(mapcar
(lambda(remap)
(cons remap (oref (ergoemacs-get-fixed-map theme-obj remap) map)))
- (ergoemacs-get-hooks theme-obj "-mode\\'"))))))
+ (ergoemacs-get-hooks theme-obj "-mode\\'")))
+ (ergoemacs-theme-remove-key-list
+ (append rm-keys ergoemacs-global-override-rm-keys))
+ ))
+ (setq ergoemacs-M-x (substitute-command-keys "\\[execute-extended-command]
")))
-
-
-;; (setq ergoemacs-theme-component-maps--curr-component
-;; (ergoemacs-theme-component-maps "test" :layout "colemak"))
-
-;; (ergoemacs-define-key 'global-map (kbd "M-u") 'previous-line)
-;; (ergoemacs-define-key 'global-map (kbd "C-o") 'find-file)
-
-;; Dummy variables
-(setq ergoemacs-component-version-curr nil
- ergoemacs-component-version-list nil
- ergoemacs-component-version-fixed-layout nil
- ergoemacs-component-version-fixed-layout-rm nil
- ergoemacs-component-version-redundant-keys nil
- ergoemacs-component-version-minor-mode-layout nil
- ergoemacs-component-version-variable-layout-rm nil
- ergoemacs-component-version-variable-layout nil
- ergoemacs-theme-save-variable '())
-
-
-(defun ergoemacs--parse-keys-and-body (keys-and-body &optional is-theme)
- "Split KEYS-AND-BODY into keyword-and-value pairs and the remaining body.
-
-KEYS-AND-BODY should have the form of a property list, with the
-exception that only keywords are permitted as keys and that the
-tail -- the body -- is a list of forms that does not start with a
-keyword.
-
-Returns a two-element list containing the keys-and-values plist
-and the body.
-
-This has been stolen directly from ert by Christian Ohler <address@hidden>
-
-Afterward it was modified for use with `ergoemacs-mode'. In
-particular it:
-- `define-key' is converted to `ergoemacs-theme-component--define-key' and
keymaps are quoted
-- `global-set-key' is converted to `ergoemacs-theme-component--global-set-key'
-- `global-unset-key' is converted to
`ergoemacs-theme-component--global-set-key'
-- `global-reset-key' is converted `ergoemacs-theme-component--global-reset-key'
-- `setq' and `set' is converted to `ergoemacs-theme-component--set'
-- Mode initialization like (delete-selection-mode 1)
- or (delete-selection) is converted to
- `ergoemacs-theme-component--mode'
-- Allows :version statement expansion
-- Adds with-hook syntax or (when -hook) or (when -mode)
-"
- (let ((extracted-key-accu '())
- last-was-version
- plist
- (remaining keys-and-body))
- ;; Allow
- ;; (component name)
- (unless (or (keywordp (first remaining)) (boundp 'skip-first))
- (if (condition-case nil
- (stringp (first remaining))
- (error nil))
- (push `(:name . ,(pop remaining)) extracted-key-accu)
- (push `(:name . ,(symbol-name (pop remaining))) extracted-key-accu))
- (when (memq (type-of (first remaining)) '(symbol cons))
- (pop remaining))
- (when (stringp (first remaining))
- (push `(:description . ,(pop remaining)) extracted-key-accu)))
- (while (and (consp remaining) (keywordp (first remaining)))
- (let ((keyword (pop remaining)))
- (unless (consp remaining)
- (error "Value expected after keyword %S in %S"
- keyword keys-and-body))
- (when (assoc keyword extracted-key-accu)
- (warn "Keyword %S appears more than once in %S" keyword
- keys-and-body))
- (push (cons keyword (pop remaining)) extracted-key-accu)))
- (setq extracted-key-accu (nreverse extracted-key-accu))
- ;; Now change remaining (define-key keymap key def) to
- ;; (define-key 'keymap key def)
- ;; Also change (with-hook hook-name ) to (let ((ergoemacs-hook
'hook-name)))
- (unless is-theme
- (setq remaining
- (mapcar
- (lambda(elt)
- (cond
- (last-was-version
- (setq last-was-version nil)
- (if (stringp elt)
- `(when (boundp 'component-version) (setq
component-version ,elt))
- `(when (boundp 'component-version) (setq component-version
,(symbol-name elt)))))
- ((condition-case nil
- (eq elt ':version)
- (error nil))
- (setq last-was-version t)
- nil)
- ((condition-case err
- (eq (nth 0 elt) 'global-reset-key)
- (error nil))
- `(ergoemacs-theme-component--global-reset-key ,(nth 1 elt)))
- ((condition-case err
- (eq (nth 0 elt) 'global-unset-key)
- (error nil))
- `(ergoemacs-theme-component--global-set-key ,(nth 1 elt) nil))
- ((condition-case err
- (eq (nth 0 elt) 'setq)
- (error nil))
- ;; Currently doesn't support (setq a b c d ), but it should.
- `(ergoemacs-theme-component--set (quote ,(nth 1 elt)) ,(nth 2
elt)))
- ((condition-case err
- (eq (nth 0 elt) 'set)
- (error nil))
- `(ergoemacs-theme-component--set (nth 1 elt) ,(nth 2 elt)))
- ((condition-case err
- (string-match "-mode$" (symbol-name (nth 0 elt)))
- (error nil))
- `(ergoemacs-theme-component--mode (quote ,(nth 0 elt)) ,(nth
1 elt)))
- ((condition-case err
- (eq (nth 0 elt) 'global-set-key)
- (error nil))
- (if (condition-case nil
- (keymapp (symbol-value (nth 2 elt)))
- (error nil))
- (progn
- `(ergoemacs-theme-component--global-set-key ,(nth 1
elt) (quote ,(nth 2 elt))))
- `(ergoemacs-theme-component--global-set-key ,(nth 1 elt)
,(nth 2 elt))))
- ((condition-case err
- (eq (nth 0 elt) 'define-key)
- (error nil))
- (if (equal (nth 1 elt) '(current-global-map))
- (if (condition-case nil
- (keymapp (symbol-value (nth 3 elt)))
- (error nil))
- `(ergoemacs-theme-component--global-set-key ,(nth 2
elt) (quote ,(nth 3 elt)))
- `(ergoemacs-theme-component--global-set-key ,(nth 2
elt) ,(nth 3 elt)))
- (if (condition-case nil
- (keymapp (symbol-value (nth 3 elt)))
- (error nil))
- `(ergoemacs-theme-component--define-key (quote ,(nth 1
elt)) ,(nth 2 elt) (quote ,(nth 3 elt)))
- `(ergoemacs-theme-component--define-key (quote ,(nth 1
elt)) ,(nth 2 elt) ,(nth 3 elt)))))
- ((or (condition-case err
- (eq (nth 0 elt) 'with-hook)
- (error nil))
- (and (condition-case err
- (eq (nth 0 elt) 'when)
- (error nil))
- (condition-case err
- (string-match "-\\(hook\\|mode\\)$" (symbol-name
(nth 1 elt)))
- (error nil))))
- (let (tmp skip-first)
- (setq tmp (ergoemacs--parse-keys-and-body (cdr (cdr elt))))
- `(let ((ergoemacs-hook (quote ,(nth 1 elt)))
- (ergoemacs-hook-modify-keymap
- ,(or (plist-get (nth 0 tmp)
- ':modify-keymap)
- (plist-get (nth 0 tmp)
- ':modify-map)))
- (ergoemacs-hook-full-shortcut-map
- ,(or (plist-get (nth 0 tmp)
- ':full-shortcut-keymap)
- (plist-get (nth 0 tmp)
- ':full-shortcut-map)
- (plist-get (nth 0 tmp)
- ':full-map)
- (plist-get (nth 0 tmp)
- ':full-keymap)))
- (ergoemacs-hook-always ,(plist-get (nth 0 tmp)
- ':always)))
- ,@(nth 1 tmp))))
- (t elt)))
- remaining)))
- (setq plist (loop for (key . value) in extracted-key-accu
- collect key
- collect value))
- (list plist remaining)))
-
-(defvar ergoemacs-theme-component-hash (make-hash-table :test 'equal))
-(defvar ergoemacs-theme-component-cache (make-hash-table :test 'equal))
-(defun ergoemacs-theme-component--version-bump ()
- (when (and (boundp 'component-version)
- component-version
- (boundp 'ergoemacs-component-version-minor-mode-layout)
- (boundp 'ergoemacs-component-version-curr)
- (boundp 'fixed-layout) (boundp 'variable-layout)
- (boundp 'fixed-layout-rm) (boundp 'variable-layout-rm)
- (boundp 'redundant-keys) (boundp 'defined-keys)
- (boundp 'versions)
- (boundp 'ergoemacs-just-first-reg)
- (not (equal ergoemacs-component-version-curr component-version)))
- ;; Create/Update component-version fixed or variable layouts.
- (when ergoemacs-component-version-curr
- (push (list ergoemacs-component-version-curr
- ergoemacs-component-version-fixed-layout
- ergoemacs-component-version-variable-layout
- ergoemacs-component-version-redundant-keys
- ergoemacs-component-version-minor-mode-layout
- ergoemacs-component-version-fixed-layout-rm
- ergoemacs-component-version-variable-layout-rm)
- ergoemacs-component-version-list))
- (setq ergoemacs-component-version-curr component-version)
- (push ergoemacs-component-version-curr versions)
- (unless ergoemacs-component-version-minor-mode-layout
- (setq ergoemacs-component-version-minor-mode-layout
ergoemacs-component-version-minor-mode-layout))
- (unless ergoemacs-component-version-fixed-layout
- (setq ergoemacs-component-version-fixed-layout fixed-layout))
- (unless ergoemacs-component-version-fixed-layout-rm
- (setq ergoemacs-component-version-fixed-layout-rm fixed-layout-rm))
- (unless ergoemacs-component-version-fixed-layout
- (setq ergoemacs-component-version-variable-layout variable-layout))
- (unless ergoemacs-component-version-fixed-layout-rm
- (setq ergoemacs-component-version-variable-layout-rm variable-layout-rm))
- (unless ergoemacs-component-version-redundant-keys
- (setq ergoemacs-component-version-redundant-keys redundant-keys))))
-
-(defun ergoemacs-theme-component--rm-key (key)
- "Remove KEY from `ergoemacs-mode' keymaps"
- (let* ((kd (key-description key)) jf
- (variable-p (if (boundp 'ergoemacs-force-variable-reg)
ergoemacs-force-variable-reg
- (and (boundp 'ergoemacs-variable-reg)
- ergoemacs-variable-reg
- (condition-case nil
- (string-match ergoemacs-variable-reg kd)
- (error nil))))))
- (when variable-p
- (setq jf (if (boundp 'ergoemacs-force-variable-reg)
ergoemacs-force-variable-reg
- (and (boundp 'ergoemacs-just-first-reg)
ergoemacs-just-first-reg
- (condition-case nil
- (string-match ergoemacs-just-first-reg kd)
- (error nil))))))
- (cond
- ((and variable-p (boundp 'variable-layout-rm))
- (setq kd (ergoemacs-kbd kd t jf))
- (push (list kd jf) variable-layout-rm))
- ((boundp 'fixed-layout-rm)
- (push key fixed-layout-rm)))))
-
-(defun ergoemacs-theme-component--global-reset-key (key)
- "Reset KEY.
-will take out KEY from `ergoemacs-component-version-redundant-keys'"
- (when (and (boundp 'component-version)
- component-version
- (boundp 'ergoemacs-component-version-curr)
- (boundp 'fixed-layout) (boundp 'variable-layout)
- (boundp 'redundant-keys) (boundp 'defined-keys)
- (boundp 'versions)
- (boundp 'ergoemacs-component-version-redundant-keys)
- (boundp 'ergoemacs-just-first-reg))
- (ergoemacs-theme-component--version-bump)
- (let ((kd (key-description key))
- tmp)
- (setq tmp '())
- (mapc
- (lambda(x)
- (unless (string= x kd)
- (push x tmp)))
- ergoemacs-component-version-redundant-keys)
- (setq ergoemacs-component-version-redundant-keys tmp))))
-
-(defun ergoemacs-theme-component--global-set-key (key command)
- "Setup ergoemacs theme component internally.
-When fixed-layout and variable-layout are bound"
- (cond
- ((and (boundp 'ergoemacs-hook)
- (string-match "mode$" (symbol-name ergoemacs-hook)))
- (ergoemacs-theme-component--define-key ergoemacs-hook key command))
- ((and (vectorp key) (eq (elt key 0) 'remap))
- (let ((ergoemacs-hook 'ergoemacs-mode)
- (ergoemacs-hook-modify-keymap nil)
- (ergoemacs-hook-full-shortcut-map nil)
- (ergoemacs-hook-always nil))
- (ergoemacs-theme-component--define-key 'ergoemacs-mode key command)))
- ((and (boundp 'component-version)
- component-version
- (boundp 'ergoemacs-component-version-curr)
- (boundp 'fixed-layout) (boundp 'variable-layout)
- (boundp 'redundant-keys) (boundp 'defined-keys)
- (boundp 'versions)
- (boundp 'ergoemacs-just-first-reg))
- (ergoemacs-theme-component--version-bump)
- (let* ((kd (key-description key)) cd jf removed
- (variable-p (if (boundp 'ergoemacs-force-variable-reg)
- ergoemacs-force-variable-reg
- (and (boundp 'ergoemacs-variable-reg)
- ergoemacs-variable-reg
- (condition-case nil
- (string-match ergoemacs-variable-reg kd)
- (error nil))))))
- (when cd
- (setq cd (car (cdr cd))))
- (if (not command)
- (mapc ;; Remove command from lists.
- (lambda(y)
- (let (tmp '())
- (mapc
- (lambda(x)
- (unless (equal (nth 0 x) kd)
- (push x tmp)))
- (symbol-value y))
- (set y tmp)))
- '(ergoemacs-component-version-fixed-layout
ergoemacs-component-version-variable-layout))
- (if (not variable-p)
- (progn ;; Fixed Layout component
- (setq ergoemacs-component-version-fixed-layout
- (mapcar
- (lambda(x)
- (if (not (equal (nth 0 x) kd))
- x
- (setq removed t)
- (list kd command cd)))
- ergoemacs-component-version-fixed-layout))
- (unless removed
- (push (list kd command cd)
ergoemacs-component-version-fixed-layout)))
- ;; (push (list kd command) defined-keys)
- (setq jf (if (boundp 'ergoemacs-force-variable-reg)
ergoemacs-force-variable-reg
- (and (boundp 'ergoemacs-just-first-reg)
ergoemacs-just-first-reg
- (condition-case nil
- (string-match ergoemacs-just-first-reg kd)
- (error nil)))))
- (setq kd (ergoemacs-kbd kd t jf))
- (setq ergoemacs-component-version-variable-layout
- (mapcar
- (lambda(x)
- (if (not (equal (nth 0 x) kd))
- x
- (setq removed t)
- (list kd command cd jf)))
- ergoemacs-component-version-variable-layout))
- (unless removed
- (push (list kd command cd jf)
ergoemacs-component-version-variable-layout))))))
- ((and (boundp 'fixed-layout) (boundp 'variable-layout)
- (boundp 'component-version)
- (not component-version)
- (boundp 'redundant-keys) (boundp 'defined-keys))
- (let ((kd (key-description key)) cd jf)
- (if (not command) ; redundant key
- (push kd redundant-keys)
- (setq cd (assoc command ergoemacs-function-short-names)) ; Short key
description
- (when cd
- (setq cd (car (cdr cd))))
- (if (not (if (boundp 'ergoemacs-force-variable-reg)
ergoemacs-force-variable-reg
- (condition-case nil
- (string-match ergoemacs-variable-reg kd)
- (error nil))))
- (push (list kd command cd) fixed-layout) ;; Fixed layout component
- (push (list kd command) defined-keys)
- (setq jf (if (boundp 'ergoemacs-force-variable-reg)
ergoemacs-force-variable-reg
- (and ergoemacs-just-first-reg
- (condition-case nil
- (string-match ergoemacs-just-first-reg kd)
- (error nil)))))
- (setq kd (ergoemacs-kbd kd t jf))
- (push (list kd command cd jf) variable-layout)))))))
-
-(defun ergoemacs-theme-component--define-key (keymap key def)
- "Setup mode-specific information."
- (when (and (boundp 'fixed-layout) (boundp 'variable-layout))
- (if (memq keymap '(global-map ergoemacs-keymap))
- (if (and (eq keymap 'ergoemacs-keymap) (not def))
- (ergoemacs-theme-component--rm-key key)
- (ergoemacs-theme-component--global-set-key key def))
- (let* ((hook (or
- (and (boundp 'ergoemacs-hook) ergoemacs-hook)
- (intern (if (string-match "mode" (symbol-name keymap))
- (replace-regexp-in-string "mode.*" "mode-hook"
(symbol-name keymap))
- ;; Assume -keymap or -map defines -mode-hook
- (string-match "(key)?map" "mode-hook"
(symbol-name keymap))))))
- (modify-keymap-p
- (and (boundp 'ergoemacs-hook-modify-keymap)
- ergoemacs-hook-modify-keymap))
- (full-shortcut-p
- (and (boundp 'ergoemacs-hook-full-shortcut-map)
- ergoemacs-hook-full-shortcut-map))
- (always-run-p (and (boundp 'ergoemacs-hook-always)
- ergoemacs-hook-always))
- (kd (key-description key))
- (variable-p (and (boundp 'ergoemacs-variable-reg)
- ergoemacs-variable-reg
- (condition-case nil
- (string-match ergoemacs-variable-reg kd)
- (error nil))))
- a-key
- jf found-1-p found-2-p)
- (when (and (boundp 'emulation-setup) (boundp 'ergoemacs-hook)
- (string-match "mode$" (symbol-name ergoemacs-hook)))
- (add-to-list 'emulation-setup ergoemacs-hook nil 'eq))
- (when (boundp 'minor-mode-hook-list)
- (add-to-list 'minor-mode-hook-list hook nil 'eq))
- (when variable-p
- (setq variable-p t)
- (setq jf (if (boundp 'ergoemacs-force-variable-reg)
ergoemacs-force-variable-reg
- (and ergoemacs-just-first-reg
- (condition-case nil
- (string-match ergoemacs-just-first-reg kd)
- (error nil)))))
- (setq kd (ergoemacs-kbd kd t jf)))
- (cond
- ((and (boundp 'component-version)
- component-version
- (boundp 'ergoemacs-component-version-curr)
- (boundp 'fixed-layout) (boundp 'variable-layout)
- (boundp 'redundant-keys) (boundp 'defined-keys)
- (boundp 'versions)
- (boundp 'ergoemacs-just-first-reg))
- (ergoemacs-theme-component--version-bump) ;; Change version
information
- )
- ((and (boundp 'fixed-layout) (boundp 'variable-layout)
- (boundp 'component-version)
- (not component-version)
- (boundp 'redundant-keys) (boundp 'defined-keys))
- ;; Keymaps modified are stored as (hook (keymaps))
- ;; Keys are stored as ((hook keymap/t variable-p) ((key def)))
- (setq a-key (list hook (if modify-keymap-p keymap
- (or (and (boundp 'ergoemacs-hook)
- (string-match "mode$" (symbol-name
ergoemacs-hook))
- ergoemacs-hook) t)) variable-p))
- (setq minor-mode-layout
- (mapcar
- (lambda(elt)
- (cond
- ((eq (car elt) hook)
- (let ((lst (car (cdr elt))))
- (add-to-list 'lst (if modify-keymap-p keymap
- (or (and (boundp 'ergoemacs-hook)
- (string-match "mode$"
(symbol-name ergoemacs-hook))
- ergoemacs-hook) t)) nil
'eq)
- (setq found-1-p t)
- (list hook lst)))
- ((equal (car elt) a-key)
- (let ((lst (car (cdr elt))) new-lst)
- (mapc
- (lambda(elt-2)
- (cond
- ((equal (car elt-2) kd)
- (setq found-2-p t)
- (push (list kd def jf) new-lst))
- (t
- (push elt-2 new-lst))))
- lst)
- (unless found-2-p
- (push (list kd def) new-lst))
- (setq found-2-p t)
- (list a-key new-lst always-run-p full-shortcut-p)))
- (t
- elt)))
- minor-mode-layout))
- (unless found-1-p
- (push (list hook (list (if modify-keymap-p keymap
- (or (and (boundp 'ergoemacs-hook)
- (string-match "mode$"
(symbol-name ergoemacs-hook))
- ergoemacs-hook) t))))
minor-mode-layout))
- (unless found-2-p
- (push (list a-key (list (list kd def)) always-run-p
full-shortcut-p) minor-mode-layout))))))))
-
-
(defun ergoemacs-theme-component--ignore-globally-defined-key (key)
"Adds KEY to `ergoemacs-global-override-rm-keys' and
`ergoemacs-global-override-map' if globally redefined."
(let ((ergoemacs-ignore-advice t)
- [elpa] 52/287: Debugging ergoemacs-theme obect, (continued)
- [elpa] 52/287: Debugging ergoemacs-theme obect, Matthew Fidler, 2014/07/02
- [elpa] 51/287: more substitute-command-keys fixes, Matthew Fidler, 2014/07/02
- [elpa] 58/287: Fix misplaced paren, Matthew Fidler, 2014/07/02
- [elpa] 57/287: Added basic variable/mode initialization routines., Matthew Fidler, 2014/07/02
- [elpa] 54/287: Maps seem correct now, Matthew Fidler, 2014/07/02
- [elpa] 48/287: Unstage the incompatible, Matthew Fidler, 2014/07/02
- [elpa] 55/287: Nicer theme debugging display, Matthew Fidler, 2014/07/02
- [elpa] 56/287: Better key replacements., Matthew Fidler, 2014/07/02
- [elpa] 64/287: Replace either M-x or <execute> with M-x code., Matthew Fidler, 2014/07/02
- [elpa] 63/287: Fixed mapvar issues., Matthew Fidler, 2014/07/02
- [elpa] 47/287: Stage some components,
Matthew Fidler <=
- [elpa] 62/287: Playing with object more., Matthew Fidler, 2014/07/02
- [elpa] 53/287: Better debug and modify keymaps fix bugs, Matthew Fidler, 2014/07/02
- [elpa] 59/287: Fix typo, Matthew Fidler, 2014/07/02
- [elpa] 61/287: Ergoemacs-mode setup with object almost complete., Matthew Fidler, 2014/07/02
- [elpa] 66/287: Make ergoemacs-clean toggle debug on error, Matthew Fidler, 2014/07/02
- [elpa] 71/287: Fix isearch issues., Matthew Fidler, 2014/07/02
- [elpa] 60/287: Ensure the object-name is a string. EIEIO seems to prefer this., Matthew Fidler, 2014/07/02
- [elpa] 69/287: Install shortcut-layer appropriately for keymaps., Matthew Fidler, 2014/07/02
- [elpa] 73/287: use remove-duplicates instead, Matthew Fidler, 2014/07/02
- [elpa] 70/287: Fix most global-set-key after issues, Matthew Fidler, 2014/07/02