[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 120/287: Removed some of the issues with ergoemacs-theme-engine.e
From: |
Matthew Fidler |
Subject: |
[elpa] 120/287: Removed some of the issues with ergoemacs-theme-engine.el |
Date: |
Wed, 02 Jul 2014 14:45:12 +0000 |
mlf176f2 pushed a commit to branch externals/ergoemacs-mode
in repository elpa.
commit 8611cc10c4727ab5bab25f80860ca5fd0c101f7c
Author: Matthew L. Fidler <address@hidden>
Date: Tue Jun 17 15:36:39 2014 -0500
Removed some of the issues with ergoemacs-theme-engine.el
---
ergoemacs-theme-engine.el | 96 ++++++++++++++++++++++++++++++++-------------
1 files changed, 69 insertions(+), 27 deletions(-)
diff --git a/ergoemacs-theme-engine.el b/ergoemacs-theme-engine.el
index d90cd89..4ee7c69 100644
--- a/ergoemacs-theme-engine.el
+++ b/ergoemacs-theme-engine.el
@@ -274,6 +274,20 @@ a set type."
(defgeneric ergoemacs-copy-obj (obj)
"Copies OBJECTS so they are not shared beteween instances.")
+(declare-function ergoemacs-shortcut-function-binding "ergoemacs-shortcuts.el")
+(declare-function ergoemacs-is-movement-command-p "ergoemacs-mode.el")
+(declare-function ergoemacs-setup-translation "ergoemacs-translate.el")
+(declare-function ergoemacs-kbd "ergoemacs-translate.el")
+(defun ergoemacs-copy-list (list)
+ "Return a copy of LIST, which may be a dotted list.
+The elements of LIST are not copied, just the list structure itself."
+ ;; Taken from cl, to remove warnings
+ (if (consp list)
+ (let ((res nil))
+ (while (consp list) (push (pop list) res))
+ (prog1 (nreverse res) (setcdr res list)))
+ (car list)))
+
(defmethod ergoemacs-copy-obj ((obj ergoemacs-fixed-map))
(with-slots (read-map
shortcut-map
@@ -291,13 +305,15 @@ a set type."
(oset obj no-shortcut-map (copy-keymap no-shortcut-map))
(oset obj map (copy-keymap map))
(oset obj unbind-map (copy-keymap unbind-map))
- (oset obj deferred-keys (copy-list deferred-keys))
- (oset obj cmd-list (copy-list cmd-list))
- (oset obj rm-keys (copy-list rm-keys))
- (oset obj shortcut-shifted-movement (copy-list shortcut-shifted-movement))
- (oset obj shortcut-movement (copy-list shortcut-movement))
- (oset obj shortcut-list (copy-list shortcut-list))))
-
+ (oset obj deferred-keys (ergoemacs-copy-list deferred-keys))
+ (oset obj cmd-list (ergoemacs-copy-list cmd-list))
+ (oset obj rm-keys (ergoemacs-copy-list rm-keys))
+ (oset obj shortcut-shifted-movement (ergoemacs-copy-list
shortcut-shifted-movement))
+ (oset obj shortcut-movement (ergoemacs-copy-list shortcut-movement))
+ (oset obj shortcut-list (ergoemacs-copy-list shortcut-list))))
+
+(declare-function ergoemacs-debug "ergoemacs-debug.el")
+(declare-function ergoemacs-debug-keymap "ergoemacs-debug.el")
(defmethod ergoemacs-debug-obj ((obj ergoemacs-fixed-map) &optional stars)
(let ((stars (or stars "**")))
(with-slots (object-name
@@ -395,6 +411,7 @@ Optionally use DESC when another description isn't found in
`ergoemacs-function-
(push tmp cmd-list))
(oset obj cmd-list cmd-list))))
+(defvar ergoemacs-ignored-prefixes)
(defmethod ergoemacs-define-map--read-map ((obj ergoemacs-fixed-map) key)
"Defines KEY in the OBJ read-key slot if it is a vector over 2.
Key sequences starting with `ergoemacs-ignored-prefixes' are not added."
@@ -645,9 +662,10 @@ Optionally use DESC when another description isn't found
in `ergoemacs-function-
(with-slots (cmd-list) obj
(oset obj keymap-hash (make-hash-table))
;; Translation should remain the same
- ;; (oset obj translation-assoc (copy-list translation-assoc))
- (oset obj cmd-list (copy-list cmd-list))))
+ ;; (oset obj translation-assoc (ergoemacs-copy-list translation-assoc))
+ (oset obj cmd-list (ergoemacs-copy-list cmd-list))))
+(defvar ergoemacs-keyboard-layout)
(defmethod ergoemacs-get-fixed-map ((obj ergoemacs-variable-map) &optional
layout)
(with-slots (keymap-list
cmd-list
@@ -881,9 +899,12 @@ Assumes maps are orthogonal."
(oset obj global global)
(oset obj fixed-maps (make-hash-table))
(oset obj hooks (make-hash-table :test 'equal))
- (oset obj init (copy-list init))
+ (oset obj init (ergoemacs-copy-list init))
(oset obj maps newmaps))))
+(defvar ergoemacs-theme-comp-hash (make-hash-table :test 'equal)
+ "Hash of ergoemacs theme components")
+
(defmethod ergoemacs-theme-component-maps--save-hash ((obj
ergoemacs-theme-component-maps))
(with-slots (object-name version) obj
(puthash (object-name-string obj)
@@ -1087,6 +1108,7 @@ FULL-SHORTCUT-MAP-P "
key args keymap lookup-keymap
full-shortcut-map-p))))
+(declare-function ergoemacs-shortcut-remap-list "ergoemacs-shortcuts.el")
(defun ergoemacs-theme--install-shortcut-item (key args keymap lookup-keymap
full-shortcut-map-p)
(let (fn-lst)
@@ -1129,6 +1151,19 @@ FULL-SHORTCUT-MAP-P "
(defvar ergoemacs-original-keys-to-shortcut-keys (make-hash-table :test 'equal)
"Hash table of the original maps that `ergoemacs-mode' saves.")
+(defvar ergoemacs-global-override-rm-keys)
+(defvar ergoemacs-command-shortcuts-hash)
+(defvar ergoemacs-theme)
+(defvar ergoemacs-keymap)
+(defvar ergoemacs-shortcut-keys)
+(defvar ergoemacs-read-input-keys)
+(defvar ergoemacs-unbind-keys)
+(defvar ergoemacs-read-input-keymap)
+(defvar ergoemacs-read-emulation-mode-map-alist)
+(defvar ergoemacs-shortcut-keymap)
+(defvar ergoemacs-emulation-mode-map-alist)
+(defvar ergoemacs-shortcut-emulation-mode-map-alist)
+(defvar ergoemacs-mode)
(defmethod ergoemacs-theme-obj-install ((obj
ergoemacs-theme-component-map-list) &optional remove-p)
(with-slots (read-map
map
@@ -1142,7 +1177,7 @@ FULL-SHORTCUT-MAP-P "
;; (shortcut-map (or shortcut-map (make-sparse-keymap)))
;; (map (or map (make-sparse-keymap)))
(menu-keymap (make-sparse-keymap))
- final-map final-shortcut-map final-read-map
+ final-map final-shortcut-map final-read-map final-unbind-map
(rm-list (append rm-keys ergoemacs-global-override-rm-keys))
(i 0))
;; Get all the major-mode hooks that will be called or modified
@@ -1330,6 +1365,7 @@ The actual keymap changes are included in
`ergoemacs-emulation-mode-map-alist'."
(run-hooks 'ergoemacs-theme-hook)))
t)))
+(declare-function ergoemacs-debug-clear "ergoemacs-mode.el")
(defmethod ergoemacs-debug-obj ((obj ergoemacs-theme-component-map-list))
(ergoemacs-debug-clear)
(let (tmp)
@@ -1709,9 +1745,6 @@ additional parsing routines defined by PARSE-FUNCTION."
(oset comp versions ver-list)
(ergoemacs-theme-component-maps--save-hash comp))))))
-(defvar ergoemacs-theme-comp-hash (make-hash-table :test 'equal)
- "Hash of ergoemacs theme components")
-
(defun ergoemacs-theme-component-get-closest-version (version version-list)
"Return the closest version to VERSION in VERSION-LIST.
Formatted for use with `ergoemacs-theme-component-hash' it will return
::version or an empty string"
@@ -1858,8 +1891,10 @@ DONT-COLLAPSE doesn't collapse empty keymaps"
"Remove the currently installed theme and reset to emacs keys."
(when ergoemacs-theme--object
(ergoemacs-theme-obj-install ergoemacs-theme--object 'remove)
- (setq ergoemacs-theme-object nil)))
+ (setq ergoemacs-theme--object nil)))
+(declare-function ergoemacs-global-changed-p "ergoemacs-unbind.el")
+(declare-function ergoemacs-shuffle-keys "ergoemacs-mode.el")
(defun ergoemacs-theme-component--ignore-globally-defined-key (key &optional
reset)
"Adds KEY to `ergoemacs-global-override-rm-keys' and
`ergoemacs-global-override-map' if globally redefined."
(let ((ergoemacs-ignore-advice t)
@@ -1929,6 +1964,7 @@ DONT-COLLAPSE doesn't collapse empty keymaps"
(if (not theme-ver) nil
(car (cdr theme-ver)))))
+(defvar ergoemacs-theme-hash)
(defun ergoemacs-theme-components (&optional theme)
"Get a list of components used for the current theme.
This respects `ergoemacs-theme-options'."
@@ -2016,6 +2052,7 @@ theme, but assumed to be disabled by default.
(ergoemacs-get-themes)))))
(ergoemacs-theme-option-on option))
+(declare-function ergoemacs-mode "ergoemacs-mode.el")
;;;###autoload
(defun ergoemacs-theme-option-on (option &optional off)
"Turns OPTION on.
@@ -2158,6 +2195,7 @@ If OFF is non-nil, turn off the options instead."
:button (:radio . (equal (ergoemacs-theme-get-version)
,version))))
theme-versions))))))
+(declare-function ergoemacs-get-layouts-menu "ergoemacs-layouts.el")
(defun ergoemacs-keymap-menu (theme)
"Defines menus for current THEME."
`(keymap
@@ -2273,6 +2311,7 @@ If OFF is non-nil, turn off the options instead."
(lambda() (interactive) (ergoemacs-mode -1)))))
(defvar ergoemacs-get-variable-layout nil)
+(defvar ergoemacs-theme-component-hash)
;; FIXME:
(defun ergoemacs-get-variable-layout ()
"Get the old-style variable layout list for `ergoemacs-extras'."
@@ -2422,25 +2461,28 @@ When SILENT is true, also include silent themes"
(sort (ergoemacs-get-themes silent) 'string<))
(symbol :tag "Other")))
+;; FIXME
;;;###autoload
(defun ergoemacs-key (key function &optional desc only-first fixed-key)
"Defines KEY in ergoemacs keyboard based on QWERTY and binds to FUNCTION.
DESC is ignored, as is FIXED-KEY."
- (let* ((key (or
- (and (vectorp key) key)
- (read-kbd-macro key t)))
- (ergoemacs-force-just-first only-first)
- (ergoemacs-force-variable-reg t))
- (ergoemacs-theme-component--global-set-key key function)))
+ ;; (let* ((key (or
+ ;; (and (vectorp key) key)
+ ;; (read-kbd-macro key t)))
+ ;; (ergoemacs-force-just-first only-first)
+ ;; (ergoemacs-force-variable-reg t))
+ ;; (ergoemacs-theme-component--global-set-key key function))
+ )
(defun ergoemacs-fixed-key (key function &optional desc)
"Defines fixed KEY in ergoemacs and binds to FUNCTION."
- (let* ((key (or
- (and (vectorp key) key)
- (read-kbd-macro key t)))
- (ergoemacs-force-just-first nil)
- (ergoemacs-force-variable-reg nil))
- (ergoemacs-theme-component--global-set-key key function)))
+ ;; (let* ((key (or
+ ;; (and (vectorp key) key)
+ ;; (read-kbd-macro key t)))
+ ;; (ergoemacs-force-just-first nil)
+ ;; (ergoemacs-force-variable-reg nil))
+ ;; (ergoemacs-theme-component--global-set-key key function))
+ )
(provide 'ergoemacs-theme-engine)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- [elpa] 125/287: Added documentation and always respect file in ergoemacs-open-in-external-app, (continued)
- [elpa] 125/287: Added documentation and always respect file in ergoemacs-open-in-external-app, Matthew Fidler, 2014/07/02
- [elpa] 195/287: Merge pull request #240 from akfoss/master, Matthew Fidler, 2014/07/02
- [elpa] 130/287: Advice key-binding to look at global keys without ergoemacs-mode, Matthew Fidler, 2014/07/02
- [elpa] 142/287: Makefile fixes, Matthew Fidler, 2014/07/02
- [elpa] 194/287: Fix Issue #238, Matthew Fidler, 2014/07/02
- [elpa] 201/287: Modify apps-copy test to use ert should instead of shoud ret, Matthew Fidler, 2014/07/02
- [elpa] 122/287: Fix byte-compile files, Matthew Fidler, 2014/07/02
- [elpa] 123/287: Add w32-shell-execute for ignoring linux byte-compile errors, Matthew Fidler, 2014/07/02
- [elpa] 99/287: Remove ergoemacs-test.el, Matthew Fidler, 2014/07/02
- [elpa] 110/287: Fix Byte Compiler issues for ergoemacs-functions.el, Matthew Fidler, 2014/07/02
- [elpa] 120/287: Removed some of the issues with ergoemacs-theme-engine.el,
Matthew Fidler <=
- [elpa] 105/287: move misplaced function, Matthew Fidler, 2014/07/02
- [elpa] 187/287: Change to eieio-named, Matthew Fidler, 2014/07/02
- [elpa] 98/287: Modified ergoemacs-init not to depend on anything..., Matthew Fidler, 2014/07/02
- [elpa] 137/287: Get old-style fixed & variable layouts, Matthew Fidler, 2014/07/02
- [elpa] 143/287: Make test dir the same as work dir, Matthew Fidler, 2014/07/02
- [elpa] 196/287: Clean up open last closed buffer. (Issue #237), Matthew Fidler, 2014/07/02
- [elpa] 100/287: Reduce Readme.md and add build status, Matthew Fidler, 2014/07/02
- [elpa] 94/287: Fixed shortcut keys., Matthew Fidler, 2014/07/02
- [elpa] 127/287: Update documentation again., Matthew Fidler, 2014/07/02
- [elpa] 203/287: Fix the C-e test, Matthew Fidler, 2014/07/02