[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 31/287: Created composite map list
From: |
Matthew Fidler |
Subject: |
[elpa] 31/287: Created composite map list |
Date: |
Wed, 02 Jul 2014 14:44:21 +0000 |
mlf176f2 pushed a commit to branch externals/ergoemacs-mode
in repository elpa.
commit 6edcd6a57fbe4ffc62d081f4b46e54ddf2362493
Author: Matthew L. Fidler <address@hidden>
Date: Mon Jun 2 10:32:30 2014 -0500
Created composite map list
---
ergoemacs-theme-engine.el | 353 +++++++++++++++++++++++++++++++++++----------
1 files changed, 278 insertions(+), 75 deletions(-)
diff --git a/ergoemacs-theme-engine.el b/ergoemacs-theme-engine.el
index 6934e1e..c16cb75 100644
--- a/ergoemacs-theme-engine.el
+++ b/ergoemacs-theme-engine.el
@@ -209,6 +209,8 @@
(modify-map :initarg :modify-map
:initform nil
:type boolean)
+ (hook :initarg :hook
+ :type symbol)
(full-map :initarg :full-map
:initform nil
:type boolean)
@@ -432,6 +434,8 @@ DEF is anything that can be a key's definition:
(modify-map :initarg :modify-map
:initform nil
:type boolean)
+ (hook :initarg :hook
+ :type symbol)
(full-map :initarg :full-map
:initform nil
:type boolean)
@@ -541,6 +545,8 @@ Optionally use DESC when another description isn't found in
`ergoemacs-function-
(modify-map :initarg :modify-map
:initform nil
:type boolean)
+ (hook :initarg :hook
+ :type symbol)
(full-map :initarg :full-map
:initform nil
:type boolean)
@@ -556,21 +562,26 @@ Optionally use DESC when another description isn't found
in `ergoemacs-function-
(defmethod ergoemacs-define-map ((obj ergoemacs-composite-map) key def
&optional no-unbind)
;; Initialize classes
(unless (slot-boundp obj 'fixed)
- (oset obj fixed (ergoemacs-fixed-map (oref obj object-name)
- :global-map-p (oref obj global-map-p)
- :modify-map (oref obj modify-map)
- :full-map (oref obj full-map)
- :always (oref obj always))))
+ (let ((fixed (ergoemacs-fixed-map (oref obj object-name)
+ :global-map-p (oref obj global-map-p)
+ :modify-map (oref obj modify-map)
+ :full-map (oref obj full-map)
+ :always (oref obj always))))
+ (when (slot-boundp obj 'hook)
+ (oset fixed hook (oref obj hook)))
+ (oset obj fixed fixed)))
(unless (slot-boundp obj 'variable)
- (oset obj variable
- (ergoemacs-variable-map
- (oref obj object-name)
- :global-map-p (oref obj global-map-p)
- :just-first (oref obj just-first)
- :layout (oref obj layout)
- :modify-map (oref obj modify-map)
- :full-map (oref obj full-map)
- :always (oref obj always))))
+ (let ((var (ergoemacs-variable-map
+ (oref obj object-name)
+ :global-map-p (oref obj global-map-p)
+ :just-first (oref obj just-first)
+ :layout (oref obj layout)
+ :modify-map (oref obj modify-map)
+ :full-map (oref obj full-map)
+ :always (oref obj always))))
+ (when (slot-boundp obj 'hook)
+ (oset var hook (oref obj hook)))
+ (oset obj variable var)))
(with-slots (object-name
fixed
variable
@@ -616,24 +627,29 @@ Assumes maps are orthogonal."
global-map-p) obj
(let* ((lay (or layout ergoemacs-keyboard-layout))
(var (ergoemacs-get-fixed-map variable lay))
- (fix fixed) map1 map2)
- (ergoemacs-fixed-map
- object-name
- :global-map-p global-map-p
- :modify-map modify-map
- :full-map full-map
- :always always
- :read-map (ergoemacs-get-fixed-map--combine-maps (oref var read-map)
(oref fix read-map))
- :shortcut-map (ergoemacs-get-fixed-map--combine-maps (oref var
shortcut-map) (oref fix shortcut-map))
- :no-shortcut-map (ergoemacs-get-fixed-map--combine-maps (oref var
no-shortcut-map) (oref fix no-shortcut-map))
- :map (ergoemacs-get-fixed-map--combine-maps (oref var map) (oref fix
map))
- :unbind-map (ergoemacs-get-fixed-map--combine-maps (oref var
unbind-map) (oref fix unbind-map))
- :shortcut-list (append (oref var shortcut-list) (oref fix
shortcut-list))
- :shortcut-movement (append (oref var shortcut-movement) (oref fix
shortcut-movement))
- :shortcut-shifted-movement (append (oref var shortcut-shifted-movement)
(oref fix shortcut-shifted-movement))
- :rm-keys (append (oref var rm-keys) (oref fix rm-keys))
- :cmd-list (append (oref var cmd-list) (oref fix cmd-list))
- :deferred-keys (append (oref var deferred-keys) (oref fix
deferred-keys))))))
+ (fix fixed) map1 map2
+ (ret (ergoemacs-fixed-map
+ object-name
+ :global-map-p global-map-p
+ :modify-map modify-map
+ :full-map full-map
+ :always always
+ :read-map (ergoemacs-get-fixed-map--combine-maps (oref var
read-map) (oref fix read-map))
+ :shortcut-map (ergoemacs-get-fixed-map--combine-maps (oref
var shortcut-map) (oref fix shortcut-map))
+ :no-shortcut-map (ergoemacs-get-fixed-map--combine-maps (oref
var no-shortcut-map) (oref fix no-shortcut-map))
+ :map (ergoemacs-get-fixed-map--combine-maps (oref var map)
(oref fix map))
+ :unbind-map (ergoemacs-get-fixed-map--combine-maps (oref var
unbind-map) (oref fix unbind-map))
+ :shortcut-list (append (oref var shortcut-list) (oref fix
shortcut-list))
+ :shortcut-movement (append (oref var shortcut-movement) (oref
fix shortcut-movement))
+ :shortcut-shifted-movement (append (oref var
shortcut-shifted-movement) (oref fix shortcut-shifted-movement))
+ :rm-keys (append (oref var rm-keys) (oref fix rm-keys))
+ :cmd-list (append (oref var cmd-list) (oref fix cmd-list))
+ :deferred-keys (append (oref var deferred-keys) (oref fix
deferred-keys)))))
+ (when (slot-boundp obj 'hook)
+ (oset ret hook (oref obj hook)))
+ ret)))
+
+
(defclass ergoemacs-theme-component-maps (eieio-named)
@@ -660,6 +676,12 @@ Assumes maps are orthogonal."
(applied-init :initarg :applied-init
:initform ()
:type list)
+ (version :initarg :version ;; "" is default version
+ :initform ""
+ :type string)
+ (versions :initarg :versions
+ :initform ()
+ :type list)
(deferred-init :initarg :deferred-init
:initform ()
:type list))
@@ -684,13 +706,15 @@ Assumes maps are orthogonal."
(defvar ergoemacs-theme-component-maps--modify-map nil)
(defvar ergoemacs-theme-component-maps--global-map nil)
(defvar ergoemacs-theme-component-maps--curr-component nil)
+(defvar ergoemacs-theme-component-maps--versions '())
+(defvar ergoemacs-theme-component-maps--hook nil)
(defmethod ergoemacs-theme-component-maps--keymap ((obj
ergoemacs-theme-component-maps) keymap)
(ergoemacs-theme-component-maps--ini obj)
(with-slots (variable-reg
just-first
layout
- maps)
+ maps) obj
(let (ret)
(catch 'found-keymap
(dolist (map maps)
@@ -707,7 +731,9 @@ Assumes maps are orthogonal."
:layout layout
:always ergoemacs-theme-component-maps--always
:full-map ergoemacs-theme-component-maps--full-map
- :modify-map))
+ :modify-map ergoemacs-theme-component-maps--modify-map))
+ (when ergoemacs-theme-component-maps--hook
+ (oset ret hook ergoemacs-theme-component-maps--hook))
(push ret maps)
(oset obj maps maps))
ret)))
@@ -733,6 +759,102 @@ Assumes maps are orthogonal."
(t (ergoemacs-get-fixed-map
(ergoemacs-theme-component-maps--keymap obj keymap) layout)))))
+
+(defclass ergoemacs-theme-component-map-list (eieio-named)
+ ((map-list :initarg :map-list
+ :initform ()
+ :type list))
+ "`ergoemacs-mode' theme-component maps")
+
+(defmethod ergoemacs-get-fixed-map ((obj ergoemacs-theme-component-map-list)
&optional keymap layout)
+ (with-slots (map-list) obj
+ (let ((fixed-maps (mapcar (lambda(map) (ergoemacs-get-fixed-map map keymap
layout)) map-list))
+ new-global-map-p
+ new-read-map
+ new-shortcut-map
+ new-no-shortcut-map
+ new-map
+ new-unbind-map
+ new-shortcut-list
+ new-shortcut-movement
+ new-shortcut-shifted-movement
+ new-rm-keys
+ new-cmd-list
+ new-modify-map
+ new-hook
+ new-full-map
+ new-always
+ new-deferred-keys
+ (first t)
+ ret)
+ (dolist (map-obj fixed-maps)
+ (with-slots (global-map-p
+ read-map
+ shortcut-map
+ no-shortcut-map
+ map
+ unbind-map
+ shortcut-list
+ shortcut-movement
+ shortcut-shifted-movement
+ rm-keys
+ cmd-list
+ modify-map
+ full-map
+ always
+ deferred-keys) map-obj
+ (push read-map new-read-map)
+ (push shortcut-map new-shortcut-map)
+ (push no-shortcut-map new-no-shortcut-map)
+ (push map new-map)
+ (push unbind-map new-unbind-map)
+ (when (slot-boundp map 'hook)
+ (setq new-hook (oref map hook)))
+ (setq new-global-map-p global-map-p
+ new-modify-map modify-map
+ new-full-map full-map
+ new-always always)
+ (if first
+ (setq new-shortcut-list shortcut-list
+ new-shortcut-movement shortcut-movement
+ new-shortcut-shifted-movement shortcut-shifted-movement
+ new-rm-keys rm-keys
+ new-cmd-list cmd-list
+ new-deferred-keys deferred-keys
+ first nil)
+ (setq new-global-map-p global-map-p
+ new-modify-map modify-map
+ new-full-map full-map
+ new-always always
+ new-shortcut-list (append new-shortcut-list shortcut-list)
+ new-shortcut-movement (append new-shortcut-movement
shortcut-movement)
+ new-shortcut-shifted-movement (append
new-shortcut-shifted-movement shortcut-shifted-movement)
+ new-rm-keys (append new-rm-keys rm-keys)
+ new-cmd-list (append new-cmd-list cmd-list)
+ new-deferred-keys (append new-deferred-keys
deferred-keys)))))
+ (setq ret
+ (ergoemacs-fixed-map
+ "composite"
+ :global-map-p new-global-map-p
+ :read-map (make-composed-keymap (reverse new-read-map))
+ :shortcut-map (make-composed-keymap (reverse new-shortcut-map))
+ :no-shortcut-map (make-composed-keymap (reverse
new-no-shortcut-map))
+ :map (make-composed-keymap (reverse new-map))
+ :unbind-map (make-composed-keymap (reverse new-unbind-map))
+ :shortcut-list new-shortcut-list
+ :shortcut-movement new-shortcut-movement
+ :shortcut-shifted-movement new-shortcut-shifted-movement
+ :rm-keys new-rm-keys
+ :cmd-list new-cmd-list
+ :modify-map new-modify-map
+ :full-map new-full-map
+ :always new-always
+ :deferred-keys new-deferred-keys))
+ (when new-hook
+ (oset ret hook new-hook))
+ ret)))
+
+
(defun ergoemacs-define-key (keymap key def)
"Defines KEY to be DEF in KEYMAP for object
`ergoemacs-theme-component-maps--curr-component'."
(if (not (ergoemacs-theme-component-maps-p
ergoemacs-theme-component-maps--curr-component))
@@ -751,30 +873,63 @@ Assumes maps are orthogonal."
(oset ergoemacs-theme-component-maps--curr-component
init init))))
+(defun ergoemacs-theme-component--version (version)
+ "Changes the theme component version to VERSION."
+ (if (not (ergoemacs-theme-component-maps-p
ergoemacs-theme-component-maps--curr-component))
+ (warn "`ergoemacs-theme-component--version' is meant to be called in a
theme definition.")
+ ;; ergoemacs-set definition.
+ (push ergoemacs-theme-component-maps--curr-component
+ ergoemacs-theme-component-maps--versions)
+ (setq ergoemacs-theme-component-maps--curr-component
+ (clone ergoemacs-theme-component-maps--curr-component))
+ (oset ergoemacs-theme-component-maps--curr-component
+ version version)))
+
(defun ergoemacs-theme-component--with-hook (hook plist body)
;; Adapted from Stefan Monnier
- (let ((ergoemacs-theme-component-maps--hook hook)
- (ergoemacs-theme-component-maps--modify-map
- (or (plist-get plist ':modify-keymap)
- (plist-get plist ':modify-map)))
- (ergoemacs-theme-component-maps--full-map
- (or (plist-get plist ':full-shortcut-keymap)
- (plist-get plist ':full-shortcut-map)
- (plist-get plist ':full-map)
- (plist-get plist ':full-keymap)))
- (ergoemacs-theme-component-maps--always (plist-get plist ':always)))
+ (let* ((ergoemacs-theme-component-maps--hook
+ (or (and (string-match-p "-hook\\'" (symbol-name hook)) hook)
+ (and (string-match-p "mode.*" (symbol-name hook))
+ (save-match-data
+ (intern-soft
+ (replace-regexp-in-string
+ "-mode.*" "mode-hook"
+ (symbol-name hook)))))
+ (and (string-match-p "(key)?map" (symbol-name hook))
+ (save-match-data
+ (intern-soft
+ (replace-regexp-in-string
+ "(key)?map.*" "hook"
+ (symbol-name hook)))))))
+ ;; Globally set keys should be an emulation map for the mode.
+ (ergoemacs-theme-component-maps--global-map
+ (and (string-match-p "mode.*" (symbol-name hook))
+ (save-match-data
+ (intern-soft
+ (replace-regexp-in-string
+ "mode.*" "mode" (symbol-name hook))))))
+ (ergoemacs-theme-component-maps--modify-map ;; boolean
+ (or (plist-get plist ':modify-keymap)
+ (plist-get plist ':modify-map)))
+ (ergoemacs-theme-component-maps--full-map
+ (or (plist-get plist ':full-shortcut-keymap)
+ (plist-get plist ':full-shortcut-map)
+ (plist-get plist ':full-map)
+ (plist-get plist ':full-keymap)))
+ (ergoemacs-theme-component-maps--always
+ (plist-get plist ':always)))
(funcall body)))
(defun ergoemacs-theme-component--parse-remaining (remaining)
"In parsing, this function converts
-- `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'
+- `define-key' is converted to `ergoemacs-define-key' and keymaps are quoted
+- `global-set-key' is converted to `ergoemacs-define-key' with keymap equal to
`global-map'
+- `global-unset-key' is converted to `ergoemacs-define-key' with keymap equal
to `global-map' and function definition is `nil'
+- `global-reset-key' is converted `ergoemacs-define-key'
+- `setq' and `set' is converted to `ergoemacs-set'
- Mode initialization like (delete-selection-mode 1)
or (delete-selection) is converted to
- `ergoemacs-theme-component--mode'
+ `ergoemacs-set'
- Allows :version statement expansion
- Adds with-hook syntax or (when -hook) or (when -mode)
"
@@ -786,8 +941,8 @@ Assumes maps are orthogonal."
(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)))))
+ `(ergoemacs-theme-component--version ,elt)
+ `(ergoemacs-theme-component--version ,(symbol-name elt))))
((ignore-errors (eq elt ':version))
(setq last-was-version t)
nil)
@@ -809,7 +964,7 @@ Assumes maps are orthogonal."
((ignore-errors (string-match "-mode$" (symbol-name (nth 0
elt))))
`(ergoemacs-set (quote ,(nth 0 elt)) ,(nth 1 elt)))
((ignore-errors (eq (nth 0 elt) 'global-set-key))
- (if (keymapp (symbol-value (nth 2 elt)))
+ (if (ignore-errors (keymapp (symbol-value (nth 2 elt))))
`(ergoemacs-define-key 'global-map ,(nth 1 elt) (quote
,(nth 2 elt)))
`(ergoemacs-define-key 'global-map ,(nth 1 elt) ,(nth 2
elt))))
((ignore-errors (eq (nth 0 elt) 'define-key))
@@ -817,15 +972,16 @@ Assumes maps are orthogonal."
(if (ignore-errors (keymapp (symbol-value (nth 3 elt))))
`(ergoemacs-define-key 'global-map ,(nth 2 elt) (quote
,(nth 3 elt)))
`(ergoemacs-define-key 'global-map ,(nth 2 elt) ,(nth 3
elt)))
- (if (keymapp (symbol-value (nth 3 elt)))
+ (if (ignore-errors (keymapp (symbol-value (nth 3 elt))))
`(ergoemacs-define-key (quote ,(nth 1 elt)) ,(nth 2 elt)
(quote ,(nth 3 elt)))
`(ergoemacs-define-key (quote ,(nth 1 elt)) ,(nth 2 elt)
,(nth 3 elt)))))
((or (ignore-errors (eq (nth 0 elt) 'with-hook))
(and (ignore-errors (eq (nth 0 elt) 'when))
(ignore-errors (string-match "-\\(hook\\|mode\\)$"
(symbol-name (nth 1 elt))))))
(let ((tmp (ergoemacs-theme-component--parse (cdr (cdr elt))
t)))
- `(ergoemacs--with-hook ',(nth 1 elt) ',(nth 0 tmp)
- (lambda () ,@(nth 1 tmp)))))
+ `(ergoemacs-theme-component--with-hook
+ ',(nth 1 elt) ',(nth 0 tmp)
+ '(lambda () ,@(nth 1 tmp)))))
(t elt)))
remaining)))
remaining))
@@ -854,7 +1010,8 @@ and the body.
This has been stolen directly from ert by Christian Ohler <address@hidden>
-Afterward it was modified for use with `ergoemacs-mode' to use additional
parsing routines defined by PARSE-FUNCTION."
+Afterward it was modified for use with `ergoemacs-mode' to use
+additional parsing routines defined by PARSE-FUNCTION."
(let ((extracted-key-accu '())
last-was-version
plist
@@ -890,40 +1047,86 @@ Afterward it was modified for use with `ergoemacs-mode'
to use additional parsin
(list plist remaining)))
(defun ergoemacs-theme-component--create-component (plist body)
- (let* ((ergoemacs-theme-component-maps--curr-component
+ (let* ((ergoemacs-theme-component-maps--versions '())
+ (ergoemacs-theme-component-maps--curr-component
(ergoemacs-theme-component-maps
- (plist-get (nth 0 kb) ':name)
+ (plist-get plist ':name)
:description (plist-get plist :description)
:layout (or (plist-get plist ':layout) "us")
:variable-reg (or (plist-get plist ':variable-reg)
(concat "\\(?:^\\|<\\)" (regexp-opt '("M-"
"<apps>" "<menu>"))))
:just-first (or (plist-get plist ':just-first)
(plist-get plist ':first-is-variable-reg)
- ""))))
- (funcall body)))
-
+ "")))
+ ver-list tmp)
+ (funcall body)
+ (if (equal ergoemacs-theme-component-maps--versions '())
+ (puthash (oref ergoemacs-theme-component-maps--curr-component
object-name)
+ ergoemacs-theme-component-maps--curr-component
+ ergoemacs-theme-comp-hash)
+ (push ergoemacs-theme-component-maps--curr-componentr
+ ergoemacs-theme-component-maps--versions)
+ (dolist (comp ergoemacs-theme-component-maps--versions)
+ (setq tmp (oref comp version))
+ (unless (string= tmp "")
+ (push tmp ver-list)))
+ (dolist (comp ergoemacs-theme-component-maps--versions)
+ (oset comp versions ver-list)
+ (setq tmp (oref comp version))
+ (unless (string= tmp "")
+ (setq tmp (concat "::" tmp)))
+ (puthash (concat (oref comp object-name) tmp)
+ comp ergoemacs-theme-comp-hash)))))
+
+(defvar ergoemacs-theme-comp-hash (make-hash-table :test 'equal)
+ "Hash of ergoemacs theme components")
(defmacro ergoemacs-theme-comp (&rest body-and-plist)
"A component of an ergoemacs-theme."
(declare (doc-string 2)
(indent 2))
(let ((kb (make-symbol "body-and-plist")))
(setq kb (ergoemacs-theme-component--parse body-and-plist))
-
- `(lambda() (ergoemacs-theme-component--create-component
- ,(nth 0 kb)
- (lambda () ,@(nth 1 kb))))))
+ `(puthash ,(plist-get (nth 0 kb) ':name)
+ (lambda() (ergoemacs-theme-component--create-component
+ ',(nth 0 kb)
+ '(lambda () ,@(nth 1 kb)))) ergoemacs-theme-comp-hash)))
+
+
+
+(defun ergoemacs-theme-get-component (component &optional version)
+ "Gets the VERSION of COMPONENT from `ergoemacs-theme-comp-hash'.
+COMPONENT can be defined as component::version"
+ (if (listp component)
+ (ergoemacs-theme-component-map-list "list"
+ :map-list (mapcar (lambda(comp) (ergoemacs-theme-get-component comp
version)) component))
+ (let* ((comp-name (or (and (symbolp component) (symbol-name component))
+ component))
+ (version (or (and (symbolp version) (symbol-name version))
+ version ""))
+ comp ver-list ver)
+ (save-match-data
+ (when (string-match "::\\([0-9.]+\\)$" comp-name)
+ (setq version (match-string 1 comp-name)
+ comp-name (replace-match "" nil nil comp-name))))
+ (setq comp (gethash comp-name ergoemacs-theme-comp-hash))
+ (when (and (not (ergoemacs-theme-component-maps-p comp))
+ (functionp comp))
+ ;; Calculate component (and versions)
+ (funcall comp)
+ (setq comp (gethash comp-name ergoemacs-theme-comp-hash)))
+ (if (not (ergoemacs-theme-component-maps-p comp))
+ (message "Component %s has not been defined!" component)
+ (when (not (string= "" version))
+ (setq ver-list (oref comp versions))
+ (setq version
+ (ergoemacs-theme-component-get-closest-version
+ version ver-list))
+ (setq comp (gethash (concat comp-name version)
+ ergoemacs-theme-comp-hash))))
+ comp)))
;; (message "%s"
-;; (macroexpand `(ergoemacs-theme-comp standard-vars ()
-;; "Enabled/changed
variables/modes"
-;; (setq org-CUA-compatible t
-;; org-support-shift-select
t
-;;
set-mark-command-repeat-pop t
-;; org-special-ctrl-a/e t
-;; ido-vertical-define-keys
'C-n-C-p-up-down-left-right
-;; scroll-error-top-bottom
t)
-;; (shift-select-mode t)
-;; (delete-selection-mode 1))))
+;; (macroexpand `))
- [elpa] 38/287: Remove global-override, (continued)
- [elpa] 38/287: Remove global-override, Matthew Fidler, 2014/07/02
- [elpa] 23/287: Basic classes written, Matthew Fidler, 2014/07/02
- [elpa] 29/287: Started parsing., Matthew Fidler, 2014/07/02
- [elpa] 34/287: Now can get the fixed maps for a list of components., Matthew Fidler, 2014/07/02
- [elpa] 36/287: Use pushnew for get-hooks., Matthew Fidler, 2014/07/02
- [elpa] 37/287: Added ergoemacs-keymap-collapse and ergoemacs-keymap-empty-p, Matthew Fidler, 2014/07/02
- [elpa] 40/287: Remove shortcut override mode., Matthew Fidler, 2014/07/02
- [elpa] 44/287: Suppress shortcuts, Matthew Fidler, 2014/07/02
- [elpa] 39/287: Starting applying keymaps to ergoemacs-emulation-mode-map-alist, Matthew Fidler, 2014/07/02
- [elpa] 45/287: Fix ergoemacs-describe-key, Matthew Fidler, 2014/07/02
- [elpa] 31/287: Created composite map list,
Matthew Fidler <=
- [elpa] 42/287: Push shortcuts to the bottom. Should allow overrides., Matthew Fidler, 2014/07/02
- [elpa] 49/287: Bug fix for substitute-command-keys, Matthew Fidler, 2014/07/02
- [elpa] 43/287: Be more conservative with substituting key commands., Matthew Fidler, 2014/07/02
- [elpa] 46/287: Fix Issue #7, Matthew Fidler, 2014/07/02
- [elpa] 50/287: Another bug-fix for substitute-command-keys, Matthew Fidler, 2014/07/02
- [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