ergoemacs / ergoemacs-mode

ergoemacs-mode
ergoemacs.github.io/
GNU General Public License v3.0
293 stars 35 forks source link

icicle issue: Stack overflow in equal #289

Closed brabalan closed 10 years ago

brabalan commented 10 years ago

(Argh, github ate the body of this issue, although it was previewing it correctly.)

I keep having a backtrace when using a file prompt with icicle. As it only start happening after a while, I cannot yet post the backtrace as I just restarted emacs.

IIRC, the backtrace mentions removing an ergoemacs--user-hook. I'll update this when the error occurs next.

mattfidler commented 10 years ago

Try quoting it with triple backticks

This was happening for me every time I used iciles, so I never adopted it. I thought it was an issue with my configuration. I did speak with Drew about it, but have been unable to produce a reliable back-trace myself

brabalan commented 10 years ago

(I had quoted it, here I try again, as I got a backtrace.)

(edit: getting rid of the bytecode)

Debugger entered--Lisp error: (error "Stack overflow in equal")
  ad-Orig-add-hook(minibuffer-setup-hook (lambda (&rest args) "ergoemacs--user-hook" (let ((ergoemacs-is-user-defined-map-change-p t) (ergoemacs-run-mode-hooks t)) (apply #[0 "..." [nil "~/projets/homepage/cwn/" "/Users/schmitta/projets/homepage/cwn/" (#3) remove-hook minibuffer-setup-hook make-byte-code 0 "..." vconcat vector [default-directory minibuffer-default minibuffer-default-add-function make-local-variable make-byte-code 0 "..." vconcat vector [window-buffer minibuffer-selected-window read-file-name--defaults] 3 "\n\n(fn)" set-syntax-table minibuffer-local-filename-syntax] 7 "\n\n(fn)"] 8 "\n\n(fn)"] args))) nil nil)
  add-hook(minibuffer-setup-hook (lambda (&rest args) "ergoemacs--user-hook" (let ((ergoemacs-is-user-defined-map-change-p t) (ergoemacs-run-mode-hooks t)) (apply #[0 "..." [nil "~/projets/homepage/cwn/" "/Users/schmitta/projets/homepage/cwn/" (#3) remove-hook minibuffer-setup-hook make-byte-code 0 "..." vconcat vector [default-directory minibuffer-default minibuffer-default-add-function make-local-variable make-byte-code 0 "..." vconcat vector [window-buffer minibuffer-selected-window read-file-name--defaults] 3 "\n\n(fn)" set-syntax-table minibuffer-local-filename-syntax] 7 "\n\n(fn)"] 8 "\n\n(fn)"] args))) nil nil)
  add-hook(minibuffer-setup-hook #[0 "..." [nil "~/projets/homepage/cwn/" "/Users/schmitta/projets/homepage/cwn/" (#0) remove-hook minibuffer-setup-hook make-byte-code 0 "..." vconcat vector [default-directory minibuffer-default minibuffer-default-add-function make-local-variable make-byte-code 0 "..." vconcat vector [window-buffer minibuffer-selected-window read-file-name--defaults] 3 "\n\n(fn)" set-syntax-table minibuffer-local-filename-syntax] 7 "\n\n(fn)"] 8 "\n\n(fn)"])
  read-file-name-default(#("File or directory: " 0 1 (icicle-fancy-candidates t)) nil "~/projets/homepage/cwn/" confirm-after-completion nil nil)
  byte-code("..." [icicle-orig-read-file-name-fn prompt dir default-filename require-match initial-input read-file-name predicate] 7)
  byte-code("..." [result icicle-read-top (byte-code "..." [icicle-orig-read-file-name-fn prompt dir default-filename require-match initial-input read-file-name predicate] 7)] 2)
  icicle-read-file-name-1(#("File or directory: " 0 1 (icicle-fancy-candidates t)) nil "~/projets/homepage/cwn/" confirm-after-completion nil nil nil)
  icicle-read-file-name(#("File or directory: " 0 1 (icicle-fancy-candidates t)) nil "~/projets/homepage/cwn/" confirm-after-completion nil nil)
  read-file-name(#("File or directory: " 0 1 (icicle-fancy-candidates t)) nil "~/projets/homepage/cwn/" confirm-after-completion nil nil)
  #[nil "..." [emacs-major-version prompt major-mode default-directory file-choice icicle-candidate-action-fn 21 read-file-name nil dired-mode (byte-code "\300\301 !\207" [abbreviate-file-name dired-get-file-for-visit] 2) ((error)) confirm-nonexistent-file-or-buffer (byte-code "\300\301 !\207" [abbreviate-file-name dired-get-file-for-visit] 2) ((error)) fil icicle-find-file-action-fn] 7]()
  funcall(#[nil "..." [emacs-major-version prompt major-mode default-directory file-choice icicle-candidate-action-fn 21 read-file-name nil dired-mode (byte-code "\300\301 !\207" [abbreviate-file-name dired-get-file-for-visit] 2) ((error)) confirm-nonexistent-file-or-buffer (byte-code "\300\301 !\207" [abbreviate-file-name dired-get-file-for-visit] 2) ((error)) fil icicle-find-file-action-fn] 7])
  byte-code("..." [no-icomplete no-incr-comp hide-common-match this-command icicle-hide-common-match-in-Completions-flag icicle-incremental-completion nil icicle-hide-common-match t icicle-turn-off-incremental-completion icicle-turn-off-icomplete-mode featurep icomplete icomplete-mode -1 message "Turned OFF: %s%s%s%s%s" icicle-propertize "showing common match" face icicle-msg-emphasis " (`C-x .')" "" ", " "incremental completion" " (`C-#')" "Icomplete mode" " (`C-M-#')" sit-for 3 put-text-property 0 1 icicle-fancy-candidates icicle-highlight-lighter "Gathering files..." icicle-bind-file-candidate-keys #[nil "..." [emacs-major-version prompt major-mode default-directory file-choice icicle-candidate-action-fn 21 read-file-name nil dired-mode (byte-code "\300\301 !\207" [abbreviate-file-name dired-get-file-for-visit] 2) ((error)) confirm-nonexistent-file-or-buffer (byte-code "\300\301 !\207" [abbreviate-file-name dired-get-file-for-visit] 2) ((error)) fil icicle-find-file-action-fn] 7] act-on-choice (funcall body) (funcall body) ((quit (byte-code "\302!\210  \207" [icicle-orig-buff cleanup-code icicle-try-switch-buffer] 2))) (funcall body) ((error (byte-code "\303!\210   \210\304\305\306\n!\"\207" [icicle-orig-buff cleanup-code act-on-choice icicle-try-switch-buffer error "%s" error-message-string] 4))) (funcall body) ((quit (byte-code "\302!\210     \207" [icicle-orig-buff cleanup-code icicle-try-switch-buffer] 2)) (error (byte-code "\303!\210    \210\304\305\306\n!\"\207" [icicle-orig-buff cleanup-code act-on-choice icicle-try-switch-buffer error "%s" error-message-string] 4))) prompt current-prefix-arg body debug-on-error ...] 11)
  icicle-find-file-of-content-1()
  icicle-find-file()
  icicle-file(nil)
  call-interactively(icicle-file nil nil)
  (let (deactivate-mark (ergoemacs-single-command-keys keys)) (remove-hook (quote ergoemacs-pre-command-hook) (quote ergoemacs-pre-command-hook)) (remove-hook (quote ergoemacs-pre-command-hook) (quote ergoemacs-pre-command-hook) t) (run-hooks (quote ergoemacs-pre-command-hook)) (call-interactively function record-flag keys) (setq ergoemacs-deactivate-mark deactivate-mark) (if deactivate-mark (progn (setq ergoemacs-mark-active nil))))
  (let ((this-command-keys-shift-translated (or this-command-keys-shift-translated (if ergoemacs-shift-translated t nil)))) (if (and ergoemacs-shift-translated (ergoemacs-is-movement-command-p function)) (progn (cond ((and shift-select-mode ergoemacs-force-shift-select-mark-active (not mark-active)) (if (and mark-active (eq ... ...)) nil (setq transient-mark-mode (cons ... ...) mark-active t))) (t (handle-shift-selection))))) (if (featurep (quote keyfreq)) (progn (if keyfreq-mode (progn (let ((command ergoemacs-this-command) count) (setq count (gethash ... keyfreq-table)) (cond (...) (... ...) (count ...)) (setq count (gethash ... keyfreq-table)) (puthash (cons major-mode function) (if count ... 1) keyfreq-table)))))) (let (deactivate-mark (ergoemacs-single-command-keys keys)) (remove-hook (quote ergoemacs-pre-command-hook) (quote ergoemacs-pre-command-hook)) (remove-hook (quote ergoemacs-pre-command-hook) (quote ergoemacs-pre-command-hook) t) (run-hooks (quote ergoemacs-pre-command-hook)) (call-interactively function record-flag keys) (setq ergoemacs-deactivate-mark deactivate-mark) (if deactivate-mark (progn (setq ergoemacs-mark-active nil)))))
  (cond ((ergoemacs-smart-function-p function) (error "Ergoemacs-mode is confused, and exiting out of an infinite loop (refused to call %s)" function)) (ergoemacs-test-fn (setq ergoemacs-test-fn function)) (ergoemacs-describe-key (let ((pt (point)) (buf (current-buffer)) (keys (quote nil)) test) (unwind-protect (save-excursion (describe-function function) (set-buffer (help-buffer)) (let ((inhibit-read-only t)) (goto-char (point-min)) (insert (format "%s runs the command " ...)) (if (search-forward " is" nil t) (progn ...)) (fill-paragraph) (if (search-forward "bound to" nil t) (progn ... ... ... ...)))) (setq ergoemacs-describe-key nil)))) ((condition-case nil (progn (string-match "self-insert" (symbol-name function))) (error nil)) (setq ergoemacs-single-command-keys keys) (setq last-input-event keys) (setq prefix-arg current-prefix-arg) (setq unread-command-events (append (listify-key-sequence keys) unread-command-events)) (ergoemacs-defer-post-command-hook) (reset-this-command-lengths)) (t (progn (let ((--dolist-tail-- ergoemacs-this-command-fake)) (while --dolist-tail-- (let ((var ...)) (set var function) (setq --dolist-tail-- (cdr --dolist-tail--)))))) (let ((this-command-keys-shift-translated (or this-command-keys-shift-translated (if ergoemacs-shift-translated t nil)))) (if (and ergoemacs-shift-translated (ergoemacs-is-movement-command-p function)) (progn (cond ((and shift-select-mode ergoemacs-force-shift-select-mark-active ...) (if ... nil ...)) (t (handle-shift-selection))))) (if (featurep (quote keyfreq)) (progn (if keyfreq-mode (progn (let ... ... ... ... ...))))) (let (deactivate-mark (ergoemacs-single-command-keys keys)) (remove-hook (quote ergoemacs-pre-command-hook) (quote ergoemacs-pre-command-hook)) (remove-hook (quote ergoemacs-pre-command-hook) (quote ergoemacs-pre-command-hook) t) (run-hooks (quote ergoemacs-pre-command-hook)) (call-interactively function record-flag keys) (setq ergoemacs-deactivate-mark deactivate-mark) (if deactivate-mark (progn (setq ergoemacs-mark-active nil)))))))
  ergoemacs-read-key-call(icicle-file)
  (if (and dont-call (not (condition-case nil (progn (funcall dont-call send-fn)) (error nil)))) send-fn (ergoemacs-read-key-call send-fn))
  (let ((fn-lst (ergoemacs-shortcut-remap-list function nil nil nil nil dont-call)) (dont-call (if (functionp dont-call) nil dont-call)) (fn function) send-fn) (if fn-lst (progn (setq fn (nth 0 (nth 0 fn-lst))))) (setq send-fn (or (command-remapping fn (point)) fn)) (if (commandp send-fn t) nil (setq send-fn fn)) (if (and dont-call (not (condition-case nil (progn (funcall dont-call send-fn)) (error nil)))) send-fn (ergoemacs-read-key-call send-fn)))
  (if (commandp function t) (let ((fn-lst (ergoemacs-shortcut-remap-list function nil nil nil nil dont-call)) (dont-call (if (functionp dont-call) nil dont-call)) (fn function) send-fn) (if fn-lst (progn (setq fn (nth 0 (nth 0 fn-lst))))) (setq send-fn (or (command-remapping fn (point)) fn)) (if (commandp send-fn t) nil (setq send-fn fn)) (if (and dont-call (not (condition-case nil (progn (funcall dont-call send-fn)) (error nil)))) send-fn (ergoemacs-read-key-call send-fn))) (let ((hash (gethash function ergoemacs-command-shortcuts-hash))) (if (and hash (eq (quote global) (car (cdr hash))) (commandp (car hash))) (progn (ergoemacs-shortcut-remap (car hash) dont-call)))))
  (progn (if (commandp function t) (let ((fn-lst (ergoemacs-shortcut-remap-list function nil nil nil nil dont-call)) (dont-call (if (functionp dont-call) nil dont-call)) (fn function) send-fn) (if fn-lst (progn (setq fn (nth 0 (nth 0 fn-lst))))) (setq send-fn (or (command-remapping fn (point)) fn)) (if (commandp send-fn t) nil (setq send-fn fn)) (if (and dont-call (not (condition-case nil (progn ...) (error nil)))) send-fn (ergoemacs-read-key-call send-fn))) (let ((hash (gethash function ergoemacs-command-shortcuts-hash))) (if (and hash (eq (quote global) (car (cdr hash))) (commandp (car hash))) (progn (ergoemacs-shortcut-remap (car hash) dont-call))))))
  (unwind-protect (progn (if (commandp function t) (let ((fn-lst (ergoemacs-shortcut-remap-list function nil nil nil nil dont-call)) (dont-call (if (functionp dont-call) nil dont-call)) (fn function) send-fn) (if fn-lst (progn (setq fn (nth 0 ...)))) (setq send-fn (or (command-remapping fn (point)) fn)) (if (commandp send-fn t) nil (setq send-fn fn)) (if (and dont-call (not (condition-case nil ... ...))) send-fn (ergoemacs-read-key-call send-fn))) (let ((hash (gethash function ergoemacs-command-shortcuts-hash))) (if (and hash (eq (quote global) (car ...)) (commandp (car hash))) (progn (ergoemacs-shortcut-remap (car hash) dont-call)))))) (set-match-data save-match-data-internal (quote evaporate)))
  (let ((save-match-data-internal (match-data))) (unwind-protect (progn (if (commandp function t) (let ((fn-lst (ergoemacs-shortcut-remap-list function nil nil nil nil dont-call)) (dont-call (if ... nil dont-call)) (fn function) send-fn) (if fn-lst (progn (setq fn ...))) (setq send-fn (or (command-remapping fn ...) fn)) (if (commandp send-fn t) nil (setq send-fn fn)) (if (and dont-call (not ...)) send-fn (ergoemacs-read-key-call send-fn))) (let ((hash (gethash function ergoemacs-command-shortcuts-hash))) (if (and hash (eq ... ...) (commandp ...)) (progn (ergoemacs-shortcut-remap ... dont-call)))))) (set-match-data save-match-data-internal (quote evaporate))))
  ergoemacs-shortcut-remap(find-file)
  (cond ((and key (member key ergoemacs-shortcut-prefix-keys)) (setq ret (quote keymap))) ((and hash (commandp (nth 0 hash) t)) (ergoemacs-read-key--echo-command pretty-key (or (and (symbolp (nth 0 hash)) (symbol-name (nth 0 hash))) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-shortcut-remap (nth 0 hash)) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-remap))) ((and hash (stringp (nth 0 (nth 0 hash))) (not (nth 1 (nth 0 hash)))) (ergoemacs-read-key--send-unread (read-kbd-macro (nth 0 (nth 0 hash)) t) lookup use-override pretty-key) (setq ret (quote unread))) ((and hash (stringp (nth 0 (nth 0 hash)))) (setq ret (list (nth 0 (nth 0 hash)) (nth 1 (nth 0 hash)) (nth 1 (nth 0 hash))))) ((progn (setq tmp (lookup-key local-function-key-map key)) (if (and tmp (integerp tmp)) (progn (setq tmp nil))) (if tmp nil (setq tmp (lookup-key key-translation-map key)) (if (and tmp (integerp tmp)) (progn (setq tmp nil)))) tmp) (cond ((or (keymapp tmp)) (setq ret (quote keymap))) ((and ergoemacs-describe-key (vectorp tmp)) (setq ergoemacs-single-command-keys nil) (message "%s translates to %s" pretty-key (ergoemacs-pretty-key (key-description tmp))) (setq ergoemacs-describe-key nil) (setq ret (quote translate))) ((and (vectorp tmp) (progn (setq fn (ergoemacs-real-key-binding tmp)) (if (and ... ...) (progn ...)) (if (ergoemacs-smart-function-p fn) (progn ...)) (commandp fn t))) (setq fn (or (command-remapping fn (point)) fn)) (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key (or (and (symbolp fn) (symbol-name fn)) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote translate-fn))) ((vectorp tmp) (ergoemacs-read-key--send-unread tmp lookup use-override pretty-key) (setq ret (quote translate))))) ((progn (setq fn (ergoemacs-get-override-function key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (or ret (commandp fn t))) (if ret nil (ergoemacs-read-key-call fn nil key) (setq ret (quote local-function-override)))) ((progn (setq fn (ergoemacs-real-key-binding key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (or ret (commandp fn t))) (if ret nil (setq fn (or (command-remapping fn (point)) fn)) (if (memq fn ergoemacs-universal-fns) (progn (setq ret (ergoemacs-read-key-lookup-get-ret---universal fn)))) (if ret nil (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key (or (and (symbolp fn) (symbol-name fn)) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote function))))) ((progn (setq fn (or (let ((old-global-map ...) (new-global-map ...)) (unwind-protect (progn ... ...) (use-global-map old-global-map))) (if (eq (lookup-key ergoemacs-unbind-keymap key) (quote ergoemacs-undefined)) (quote ergoemacs-undefined) (let (ergoemacs-read-input-keys) (if ... ... ...))))) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (or ret (commandp fn t))) (if ret nil (setq fn (or (command-remapping fn (point)) fn)) (setq ergoemacs-single-command-keys key) (let (message-log-max) (if (string= pretty-key-undefined pretty-key) (message "%s%s%s" pretty-key (ergoemacs-unicode-char "→" "->") fn) (message "%s%s%s (from %s)" pretty-key (ergoemacs-unicode-char "→" "->") fn pretty-key-undefined))) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-global-or-override)))))
  (progn (if (and overriding-terminal-local-map (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 overriding-terminal-local-map))) (error nil))) (progn (setq use-override (copy-keymap overriding-terminal-local-map)) (setq overriding-terminal-local-map (cdr (cdr overriding-terminal-local-map))) (setq lookup (car (prog1 overriding-terminal-local-map (setq overriding-terminal-local-map (cdr overriding-terminal-local-map))))) (while (condition-case nil (progn (eq (cdr ...) (quote ergoemacs-read-key-default))) (error nil)) (setq overriding-terminal-local-map (cdr overriding-terminal-local-map))) (setq overriding-terminal-local-map (cons lookup overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons "ergoemacs-modified" overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons (quote keymap) overriding-terminal-local-map)))) (if (and overriding-local-map (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 overriding-local-map))) (error nil))) (progn (setq use-override (copy-keymap overriding-local-map)) (setq overriding-local-map (cdr (cdr overriding-local-map))) (setq lookup (car (prog1 overriding-local-map (setq overriding-local-map (cdr overriding-local-map))))) (while (condition-case nil (progn (eq (cdr ...) (quote ergoemacs-read-key-default))) (error nil)) (setq overriding-local-map (cdr overriding-local-map))) (setq overriding-local-map (cons lookup overriding-local-map)) (setq overriding-local-map (cons "ergoemacs-modified" overriding-local-map)) (setq overriding-local-map (cons (quote keymap) overriding-local-map)))) (if (and (setq lookup (get-char-property (point) (quote keymap))) (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 lookup))) (error nil))) (progn (setq lookup (cdr (cdr (copy-keymap lookup)))) (setq tmp-overlay (car (prog1 lookup (setq lookup (cdr lookup))))) (while (condition-case nil (progn (eq (cdr ...) (quote ergoemacs-read-key-default))) (error nil)) (setq lookup (cdr lookup))) (setq lookup (cons tmp-overlay lookup)) (setq lookup (cons "ergoemacs-modified" lookup)) (setq lookup (cons (quote keymap) lookup)) (let (deactivate-mark) (setq tmp-overlay (make-overlay (max (- ... 1) (point-min)) (min (+ ... 1) (point-max)))) (overlay-put tmp-overlay (quote keymap) lookup) (overlay-put tmp-overlay (quote priority) 536870910)))) (cond ((and key (member key ergoemacs-shortcut-prefix-keys)) (setq ret (quote keymap))) ((and hash (commandp (nth 0 hash) t)) (ergoemacs-read-key--echo-command pretty-key (or (and (symbolp (nth 0 hash)) (symbol-name (nth 0 hash))) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-shortcut-remap (nth 0 hash)) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-remap))) ((and hash (stringp (nth 0 (nth 0 hash))) (not (nth 1 (nth 0 hash)))) (ergoemacs-read-key--send-unread (read-kbd-macro (nth 0 (nth 0 hash)) t) lookup use-override pretty-key) (setq ret (quote unread))) ((and hash (stringp (nth 0 (nth 0 hash)))) (setq ret (list (nth 0 (nth 0 hash)) (nth 1 (nth 0 hash)) (nth 1 (nth 0 hash))))) ((progn (setq tmp (lookup-key local-function-key-map key)) (if (and tmp (integerp tmp)) (progn (setq tmp nil))) (if tmp nil (setq tmp (lookup-key key-translation-map key)) (if (and tmp (integerp tmp)) (progn (setq tmp nil)))) tmp) (cond ((or (keymapp tmp)) (setq ret (quote keymap))) ((and ergoemacs-describe-key (vectorp tmp)) (setq ergoemacs-single-command-keys nil) (message "%s translates to %s" pretty-key (ergoemacs-pretty-key (key-description tmp))) (setq ergoemacs-describe-key nil) (setq ret (quote translate))) ((and (vectorp tmp) (progn (setq fn ...) (if ... ...) (if ... ...) (commandp fn t))) (setq fn (or (command-remapping fn ...) fn)) (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key (or (and ... ...) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote translate-fn))) ((vectorp tmp) (ergoemacs-read-key--send-unread tmp lookup use-override pretty-key) (setq ret (quote translate))))) ((progn (setq fn (ergoemacs-get-override-function key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (or ret (commandp fn t))) (if ret nil (ergoemacs-read-key-call fn nil key) (setq ret (quote local-function-override)))) ((progn (setq fn (ergoemacs-real-key-binding key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (or ret (commandp fn t))) (if ret nil (setq fn (or (command-remapping fn (point)) fn)) (if (memq fn ergoemacs-universal-fns) (progn (setq ret (ergoemacs-read-key-lookup-get-ret---universal fn)))) (if ret nil (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key (or (and ... ...) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote function))))) ((progn (setq fn (or (let (... ...) (unwind-protect ... ...)) (if (eq ... ...) (quote ergoemacs-undefined) (let ... ...)))) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (or ret (commandp fn t))) (if ret nil (setq fn (or (command-remapping fn (point)) fn)) (setq ergoemacs-single-command-keys key) (let (message-log-max) (if (string= pretty-key-undefined pretty-key) (message "%s%s%s" pretty-key (ergoemacs-unicode-char "→" "->") fn) (message "%s%s%s (from %s)" pretty-key (ergoemacs-unicode-char "→" "->") fn pretty-key-undefined))) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-global-or-override))))))
  (unwind-protect (progn (if (and overriding-terminal-local-map (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 overriding-terminal-local-map))) (error nil))) (progn (setq use-override (copy-keymap overriding-terminal-local-map)) (setq overriding-terminal-local-map (cdr (cdr overriding-terminal-local-map))) (setq lookup (car (prog1 overriding-terminal-local-map (setq overriding-terminal-local-map ...)))) (while (condition-case nil (progn (eq ... ...)) (error nil)) (setq overriding-terminal-local-map (cdr overriding-terminal-local-map))) (setq overriding-terminal-local-map (cons lookup overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons "ergoemacs-modified" overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons (quote keymap) overriding-terminal-local-map)))) (if (and overriding-local-map (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 overriding-local-map))) (error nil))) (progn (setq use-override (copy-keymap overriding-local-map)) (setq overriding-local-map (cdr (cdr overriding-local-map))) (setq lookup (car (prog1 overriding-local-map (setq overriding-local-map ...)))) (while (condition-case nil (progn (eq ... ...)) (error nil)) (setq overriding-local-map (cdr overriding-local-map))) (setq overriding-local-map (cons lookup overriding-local-map)) (setq overriding-local-map (cons "ergoemacs-modified" overriding-local-map)) (setq overriding-local-map (cons (quote keymap) overriding-local-map)))) (if (and (setq lookup (get-char-property (point) (quote keymap))) (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 lookup))) (error nil))) (progn (setq lookup (cdr (cdr (copy-keymap lookup)))) (setq tmp-overlay (car (prog1 lookup (setq lookup ...)))) (while (condition-case nil (progn (eq ... ...)) (error nil)) (setq lookup (cdr lookup))) (setq lookup (cons tmp-overlay lookup)) (setq lookup (cons "ergoemacs-modified" lookup)) (setq lookup (cons (quote keymap) lookup)) (let (deactivate-mark) (setq tmp-overlay (make-overlay (max ... ...) (min ... ...))) (overlay-put tmp-overlay (quote keymap) lookup) (overlay-put tmp-overlay (quote priority) 536870910)))) (cond ((and key (member key ergoemacs-shortcut-prefix-keys)) (setq ret (quote keymap))) ((and hash (commandp (nth 0 hash) t)) (ergoemacs-read-key--echo-command pretty-key (or (and (symbolp ...) (symbol-name ...)) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-shortcut-remap (nth 0 hash)) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-remap))) ((and hash (stringp (nth 0 (nth 0 hash))) (not (nth 1 (nth 0 hash)))) (ergoemacs-read-key--send-unread (read-kbd-macro (nth 0 (nth 0 hash)) t) lookup use-override pretty-key) (setq ret (quote unread))) ((and hash (stringp (nth 0 (nth 0 hash)))) (setq ret (list (nth 0 (nth 0 hash)) (nth 1 (nth 0 hash)) (nth 1 (nth 0 hash))))) ((progn (setq tmp (lookup-key local-function-key-map key)) (if (and tmp (integerp tmp)) (progn (setq tmp nil))) (if tmp nil (setq tmp (lookup-key key-translation-map key)) (if (and tmp ...) (progn ...))) tmp) (cond ((or (keymapp tmp)) (setq ret (quote keymap))) ((and ergoemacs-describe-key (vectorp tmp)) (setq ergoemacs-single-command-keys nil) (message "%s translates to %s" pretty-key (ergoemacs-pretty-key ...)) (setq ergoemacs-describe-key nil) (setq ret (quote translate))) ((and (vectorp tmp) (progn ... ... ... ...)) (setq fn (or ... fn)) (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key (or ... ...)) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote translate-fn))) ((vectorp tmp) (ergoemacs-read-key--send-unread tmp lookup use-override pretty-key) (setq ret (quote translate))))) ((progn (setq fn (ergoemacs-get-override-function key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (or ret (commandp fn t))) (if ret nil (ergoemacs-read-key-call fn nil key) (setq ret (quote local-function-override)))) ((progn (setq fn (ergoemacs-real-key-binding key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (or ret (commandp fn t))) (if ret nil (setq fn (or (command-remapping fn ...) fn)) (if (memq fn ergoemacs-universal-fns) (progn (setq ret ...))) (if ret nil (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key (or ... ...)) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote function))))) ((progn (setq fn (or (let ... ...) (if ... ... ...))) (if (ergoemacs-smart-function-p fn) (progn (setq fn nil))) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (or ret (commandp fn t))) (if ret nil (setq fn (or (command-remapping fn ...) fn)) (setq ergoemacs-single-command-keys key) (let (message-log-max) (if (string= pretty-key-undefined pretty-key) (message "%s%s%s" pretty-key ... fn) (message "%s%s%s (from %s)" pretty-key ... fn pretty-key-undefined))) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-global-or-override)))))) (if (and tmp-overlay (not ergoemacs-read-key-overriding-overlay-save)) (progn (delete-overlay tmp-overlay))))
  (let* (ergoemacs-read-input-keys ergoemacs-modal ergoemacs-shortcut-keys ergoemacs-no-shortcut-keys (hash (and key (gethash key ergoemacs-command-shortcuts-hash))) lookup tmp-overlay use-override tmp ret fn) (unwind-protect (progn (if (and overriding-terminal-local-map (condition-case nil (progn (string= "ergoemacs-modified" ...)) (error nil))) (progn (setq use-override (copy-keymap overriding-terminal-local-map)) (setq overriding-terminal-local-map (cdr (cdr overriding-terminal-local-map))) (setq lookup (car (prog1 overriding-terminal-local-map ...))) (while (condition-case nil (progn ...) (error nil)) (setq overriding-terminal-local-map (cdr overriding-terminal-local-map))) (setq overriding-terminal-local-map (cons lookup overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons "ergoemacs-modified" overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons (quote keymap) overriding-terminal-local-map)))) (if (and overriding-local-map (condition-case nil (progn (string= "ergoemacs-modified" ...)) (error nil))) (progn (setq use-override (copy-keymap overriding-local-map)) (setq overriding-local-map (cdr (cdr overriding-local-map))) (setq lookup (car (prog1 overriding-local-map ...))) (while (condition-case nil (progn ...) (error nil)) (setq overriding-local-map (cdr overriding-local-map))) (setq overriding-local-map (cons lookup overriding-local-map)) (setq overriding-local-map (cons "ergoemacs-modified" overriding-local-map)) (setq overriding-local-map (cons (quote keymap) overriding-local-map)))) (if (and (setq lookup (get-char-property (point) (quote keymap))) (condition-case nil (progn (string= "ergoemacs-modified" ...)) (error nil))) (progn (setq lookup (cdr (cdr ...))) (setq tmp-overlay (car (prog1 lookup ...))) (while (condition-case nil (progn ...) (error nil)) (setq lookup (cdr lookup))) (setq lookup (cons tmp-overlay lookup)) (setq lookup (cons "ergoemacs-modified" lookup)) (setq lookup (cons (quote keymap) lookup)) (let (deactivate-mark) (setq tmp-overlay (make-overlay ... ...)) (overlay-put tmp-overlay (quote keymap) lookup) (overlay-put tmp-overlay (quote priority) 536870910)))) (cond ((and key (member key ergoemacs-shortcut-prefix-keys)) (setq ret (quote keymap))) ((and hash (commandp (nth 0 hash) t)) (ergoemacs-read-key--echo-command pretty-key (or (and ... ...) (ergoemacs-unicode-char "λ" "lambda"))) (ergoemacs-shortcut-remap (nth 0 hash)) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-remap))) ((and hash (stringp (nth 0 ...)) (not (nth 1 ...))) (ergoemacs-read-key--send-unread (read-kbd-macro (nth 0 ...) t) lookup use-override pretty-key) (setq ret (quote unread))) ((and hash (stringp (nth 0 ...))) (setq ret (list (nth 0 ...) (nth 1 ...) (nth 1 ...)))) ((progn (setq tmp (lookup-key local-function-key-map key)) (if (and tmp ...) (progn ...)) (if tmp nil (setq tmp ...) (if ... ...)) tmp) (cond ((or ...) (setq ret ...)) ((and ergoemacs-describe-key ...) (setq ergoemacs-single-command-keys nil) (message "%s translates to %s" pretty-key ...) (setq ergoemacs-describe-key nil) (setq ret ...)) ((and ... ...) (setq fn ...) (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key ...) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret ...)) ((vectorp tmp) (ergoemacs-read-key--send-unread tmp lookup use-override pretty-key) (setq ret ...)))) ((progn (setq fn (ergoemacs-get-override-function key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn ...)) (or ret (commandp fn t))) (if ret nil (ergoemacs-read-key-call fn nil key) (setq ret (quote local-function-override)))) ((progn (setq fn (ergoemacs-real-key-binding key)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (if (ergoemacs-smart-function-p fn) (progn ...)) (or ret (commandp fn t))) (if ret nil (setq fn (or ... fn)) (if (memq fn ergoemacs-universal-fns) (progn ...)) (if ret nil (setq ergoemacs-single-command-keys key) (ergoemacs-read-key--echo-command pretty-key ...) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret ...)))) ((progn (setq fn (or ... ...)) (if (ergoemacs-smart-function-p fn) (progn ...)) (setq ret (ergoemacs-read-key-lookup-get-ret fn)) (or ret (commandp fn t))) (if ret nil (setq fn (or ... fn)) (setq ergoemacs-single-command-keys key) (let (message-log-max) (if ... ... ...)) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-global-or-override)))))) (if (and tmp-overlay (not ergoemacs-read-key-overriding-overlay-save)) (progn (delete-overlay tmp-overlay)))) ret)
  (prog1 (let* (ergoemacs-read-input-keys ergoemacs-modal ergoemacs-shortcut-keys ergoemacs-no-shortcut-keys (hash (and key (gethash key ergoemacs-command-shortcuts-hash))) lookup tmp-overlay use-override tmp ret fn) (unwind-protect (progn (if (and overriding-terminal-local-map (condition-case nil (progn ...) (error nil))) (progn (setq use-override (copy-keymap overriding-terminal-local-map)) (setq overriding-terminal-local-map (cdr ...)) (setq lookup (car ...)) (while (condition-case nil ... ...) (setq overriding-terminal-local-map ...)) (setq overriding-terminal-local-map (cons lookup overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons "ergoemacs-modified" overriding-terminal-local-map)) (setq overriding-terminal-local-map (cons ... overriding-terminal-local-map)))) (if (and overriding-local-map (condition-case nil (progn ...) (error nil))) (progn (setq use-override (copy-keymap overriding-local-map)) (setq overriding-local-map (cdr ...)) (setq lookup (car ...)) (while (condition-case nil ... ...) (setq overriding-local-map ...)) (setq overriding-local-map (cons lookup overriding-local-map)) (setq overriding-local-map (cons "ergoemacs-modified" overriding-local-map)) (setq overriding-local-map (cons ... overriding-local-map)))) (if (and (setq lookup (get-char-property ... ...)) (condition-case nil (progn ...) (error nil))) (progn (setq lookup (cdr ...)) (setq tmp-overlay (car ...)) (while (condition-case nil ... ...) (setq lookup ...)) (setq lookup (cons tmp-overlay lookup)) (setq lookup (cons "ergoemacs-modified" lookup)) (setq lookup (cons ... lookup)) (let (deactivate-mark) (setq tmp-overlay ...) (overlay-put tmp-overlay ... lookup) (overlay-put tmp-overlay ... 536870910)))) (cond ((and key (member key ergoemacs-shortcut-prefix-keys)) (setq ret (quote keymap))) ((and hash (commandp ... t)) (ergoemacs-read-key--echo-command pretty-key (or ... ...)) (ergoemacs-shortcut-remap (nth 0 hash)) (setq ergoemacs-single-command-keys nil) (setq ret (quote function-remap))) ((and hash (stringp ...) (not ...)) (ergoemacs-read-key--send-unread (read-kbd-macro ... t) lookup use-override pretty-key) (setq ret (quote unread))) ((and hash (stringp ...)) (setq ret (list ... ... ...))) ((progn (setq tmp ...) (if ... ...) (if tmp nil ... ...) tmp) (cond (... ...) (... ... ... ... ...) (... ... ... ... ... ... ...) (... ... ...))) ((progn (setq fn ...) (setq ret ...) (if ... ...) (or ret ...)) (if ret nil (ergoemacs-read-key-call fn nil key) (setq ret ...))) ((progn (setq fn ...) (setq ret ...) (if ... ...) (or ret ...)) (if ret nil (setq fn ...) (if ... ...) (if ret nil ... ... ... ... ...))) ((progn (setq fn ...) (if ... ...) (setq ret ...) (or ret ...)) (if ret nil (setq fn ...) (setq ergoemacs-single-command-keys key) (let ... ...) (ergoemacs-read-key-call fn nil key) (setq ergoemacs-single-command-keys nil) (setq ret ...))))) (if (and tmp-overlay (not ergoemacs-read-key-overriding-overlay-save)) (progn (delete-overlay tmp-overlay)))) ret) (if unread-command-events (progn (if ergoemacs-modal (progn (setq ergoemacs-modal-save ergoemacs-modal))) (setq ergoemacs-modal nil) (set-default (quote ergoemacs-modal) nil))) (if ergoemacs-single-command-keys (progn (setq ergoemacs-read-input-keys nil))))
  ergoemacs-read-key-lookup([15] "^O】")
  (if key-trial (ergoemacs-read-key-lookup key-trial pretty-key-trial) nil)
  (setq local-fn (if key-trial (ergoemacs-read-key-lookup key-trial pretty-key-trial) nil))
  (while key-trials (setq key-trial nil) (while (and key-trials (not key-trial)) (setq tmp (car (prog1 key-trials (setq key-trials (cdr key-trials))))) (if (plist-get next-key (intern (concat tmp "-key"))) (progn (setq key-trial (if ergoemacs-read-key (vconcat ergoemacs-read-key (plist-get next-key ...)) (plist-get next-key (intern ...))) pretty-key-trial (if pretty-key (concat pretty-key (concat ... ...)) (concat (plist-get next-key ...) (if ergoemacs-use-ergoemacs-key-descriptions "" " "))))))) (if pretty-key-undefined nil (setq pretty-key-undefined pretty-key-trial)) (setq ergoemacs-shift-translated (string-match "-shift-translated" tmp)) (setq deactivate-mark nil) (setq local-fn (if key-trial (ergoemacs-read-key-lookup key-trial pretty-key-trial) nil)) (setq ergoemacs-deactivate-mark deactivate-mark) (cond ((eq local-fn (quote keymap)) (let ((new-fn (and ergoemacs-read-key (let ... ...)))) (if (condition-case nil (progn (commandp new-fn t)) (error nil)) (progn (setq local-fn (quote major-minor-override-fn)) (ergoemacs-read-key-call new-fn nil ergoemacs-read-key)) (if real-read (progn (setq history ...))) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial))) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn (setq history (cons (list type ...) history)))) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence (nth 0 local-fn)) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote (4))) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list (* 4 (nth 0 current-prefix-arg)))) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (cond ((eq local-fn (quote keymap)) (if real-read (progn (setq history (cons (list type ...) history)))) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn (setq history (cons (list type ...) history)))) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence (nth 0 local-fn)) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote (4))) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list (* 4 (nth 0 current-prefix-arg)))) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (if key-trials nil (setq key-trial nil)))
  (catch (quote ergoemacs-key-trials) (while key-trials (setq key-trial nil) (while (and key-trials (not key-trial)) (setq tmp (car (prog1 key-trials (setq key-trials (cdr key-trials))))) (if (plist-get next-key (intern (concat tmp "-key"))) (progn (setq key-trial (if ergoemacs-read-key (vconcat ergoemacs-read-key ...) (plist-get next-key ...)) pretty-key-trial (if pretty-key (concat pretty-key ...) (concat ... ...)))))) (if pretty-key-undefined nil (setq pretty-key-undefined pretty-key-trial)) (setq ergoemacs-shift-translated (string-match "-shift-translated" tmp)) (setq deactivate-mark nil) (setq local-fn (if key-trial (ergoemacs-read-key-lookup key-trial pretty-key-trial) nil)) (setq ergoemacs-deactivate-mark deactivate-mark) (cond ((eq local-fn (quote keymap)) (let ((new-fn (and ergoemacs-read-key ...))) (if (condition-case nil (progn ...) (error nil)) (progn (setq local-fn ...) (ergoemacs-read-key-call new-fn nil ergoemacs-read-key)) (if real-read (progn ...)) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial))) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn (setq history (cons ... history)))) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence (nth 0 local-fn)) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote (4))) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list (* 4 (nth 0 current-prefix-arg)))) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (cond ((eq local-fn (quote keymap)) (if real-read (progn (setq history (cons ... history)))) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn (setq history (cons ... history)))) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence (nth 0 local-fn)) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote (4))) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list (* 4 (nth 0 current-prefix-arg)))) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (if key-trials nil (setq key-trial nil))) nil)
  (if (catch (quote ergoemacs-key-trials) (while key-trials (setq key-trial nil) (while (and key-trials (not key-trial)) (setq tmp (car (prog1 key-trials (setq key-trials ...)))) (if (plist-get next-key (intern (concat tmp "-key"))) (progn (setq key-trial (if ergoemacs-read-key ... ...) pretty-key-trial (if pretty-key ... ...))))) (if pretty-key-undefined nil (setq pretty-key-undefined pretty-key-trial)) (setq ergoemacs-shift-translated (string-match "-shift-translated" tmp)) (setq deactivate-mark nil) (setq local-fn (if key-trial (ergoemacs-read-key-lookup key-trial pretty-key-trial) nil)) (setq ergoemacs-deactivate-mark deactivate-mark) (cond ((eq local-fn (quote keymap)) (let ((new-fn ...)) (if (condition-case nil ... ...) (progn ... ...) (if real-read ...) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial))) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn (setq history ...))) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence (nth 0 local-fn)) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote (4))) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list (* 4 ...))) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (cond ((eq local-fn (quote keymap)) (if real-read (progn (setq history ...))) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn (setq history ...))) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence (nth 0 local-fn)) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote (4))) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn (quote universal)) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list (* 4 ...))) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (if key-trials nil (setq key-trial nil))) nil) nil (beep) (if (minibufferp) nil (let (message-log-max) (message "%s is undefined!" pretty-key-undefined))))
  (if local-fn (ergoemacs-read-key-call local-fn) (setq pretty-key-undefined nil) (setq key-trials nil) (setq key-trials (cons base key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key base)) (setq key-trials (cons (concat base "-et") key-trials)) (setq key-trials (cons (concat base "-shift-translated") key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key (concat base "-shift-translated"))) (setq key-trials (cons (concat base "-shift-translated-et") key-trials)) (if (and ergoemacs-read-key ergoemacs-translate-emacs-keys) (progn (setq tmp (gethash (plist-get next-key (intern (concat base "-key"))) ergoemacs-command-shortcuts-hash)) (if (and tmp (commandp (nth 0 tmp) t)) (progn (progn (let (...) (while --dolist-tail-- ...))))))) (if ergoemacs-translate-keys (progn (progn (let ((--dolist-tail-- (quote ...))) (while --dolist-tail-- (let (...) (setq key-trials ...) (setq next-key ...) (setq key-trials ...) (setq --dolist-tail-- ...))))))) (setq key-trials (reverse key-trials)) (if (catch (quote ergoemacs-key-trials) (while key-trials (setq key-trial nil) (while (and key-trials (not key-trial)) (setq tmp (car (prog1 key-trials ...))) (if (plist-get next-key (intern ...)) (progn (setq key-trial ... pretty-key-trial ...)))) (if pretty-key-undefined nil (setq pretty-key-undefined pretty-key-trial)) (setq ergoemacs-shift-translated (string-match "-shift-translated" tmp)) (setq deactivate-mark nil) (setq local-fn (if key-trial (ergoemacs-read-key-lookup key-trial pretty-key-trial) nil)) (setq ergoemacs-deactivate-mark deactivate-mark) (cond ((eq local-fn (quote keymap)) (let (...) (if ... ... ... ...)) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn ...)) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence ...) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn ...) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote ...)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn ...) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list ...)) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (cond ((eq local-fn (quote keymap)) (if real-read (progn ...)) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial) (throw (quote ergoemacs-key-trials) t)) ((eq (type-of local-fn) (quote cons)) (if real-read (progn ...)) (setq continue-read t ergoemacs--input (ergoemacs-to-sequence ...) ergoemacs-read-key nil pretty-key nil type (quote normal) real-type (nth 1 local-fn) key-trial nil key-trials nil pretty-key-trial nil first-type (nth 2 local-fn)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn ...) (not current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (quote ...)) (throw (quote ergoemacs-key-trials) t)) ((and (eq local-fn ...) (listp current-prefix-arg)) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg (list ...)) (throw (quote ergoemacs-key-trials) t)) (local-fn (throw (quote ergoemacs-key-trials) t))) (if key-trials nil (setq key-trial nil))) nil) nil (beep) (if (minibufferp) nil (let (message-log-max) (message "%s is undefined!" pretty-key-undefined)))))
  (if (eq local-fn (quote ergoemacs-read-key-help)) (setq continue-read (ergoemacs-read-key-help)) (if local-fn (ergoemacs-read-key-call local-fn) (setq pretty-key-undefined nil) (setq key-trials nil) (setq key-trials (cons base key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key base)) (setq key-trials (cons (concat base "-et") key-trials)) (setq key-trials (cons (concat base "-shift-translated") key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key (concat base "-shift-translated"))) (setq key-trials (cons (concat base "-shift-translated-et") key-trials)) (if (and ergoemacs-read-key ergoemacs-translate-emacs-keys) (progn (setq tmp (gethash (plist-get next-key (intern ...)) ergoemacs-command-shortcuts-hash)) (if (and tmp (commandp (nth 0 tmp) t)) (progn (progn (let ... ...)))))) (if ergoemacs-translate-keys (progn (progn (let ((--dolist-tail-- ...)) (while --dolist-tail-- (let ... ... ... ... ...)))))) (setq key-trials (reverse key-trials)) (if (catch (quote ergoemacs-key-trials) (while key-trials (setq key-trial nil) (while (and key-trials (not key-trial)) (setq tmp (car ...)) (if (plist-get next-key ...) (progn ...))) (if pretty-key-undefined nil (setq pretty-key-undefined pretty-key-trial)) (setq ergoemacs-shift-translated (string-match "-shift-translated" tmp)) (setq deactivate-mark nil) (setq local-fn (if key-trial (ergoemacs-read-key-lookup key-trial pretty-key-trial) nil)) (setq ergoemacs-deactivate-mark deactivate-mark) (cond ((eq local-fn ...) (let ... ...) (throw ... t)) ((eq ... ...) (if real-read ...) (setq continue-read t ergoemacs--input ... ergoemacs-read-key nil pretty-key nil type ... real-type ... key-trial nil key-trials nil pretty-key-trial nil first-type ...) (throw ... t)) ((and ... ...) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg ...) (throw ... t)) ((and ... ...) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg ...) (throw ... t)) (local-fn (throw ... t))) (cond ((eq local-fn ...) (if real-read ...) (setq continue-read t ergoemacs-read-key key-trial pretty-key pretty-key-trial) (throw ... t)) ((eq ... ...) (if real-read ...) (setq continue-read t ergoemacs--input ... ergoemacs-read-key nil pretty-key nil type ... real-type ... key-trial nil key-trials nil pretty-key-trial nil first-type ...) (throw ... t)) ((and ... ...) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg ...) (throw ... t)) ((and ... ...) (setq curr-universal t continue-read t ergoemacs-read-key nil pretty-key nil key-trial nil key-trials nil pretty-key-trial nil current-prefix-arg ...) (throw ... t)) (local-fn (throw ... t))) (if key-trials nil (setq key-trial nil))) nil) nil (beep) (if (minibufferp) nil (let (message-log-max) (message "%s is undefined!" pretty-key-undefined))))))
  (if (and (eq local-fn (quote ergoemacs-read-key-swap)) (or (not curr-universal) ergoemacs-read-key)) (progn (if (and real-read ergoemacs-backspace-will-undo-swap-translation) (progn (setq history (cons (list type (listify-key-sequence ergoemacs-read-key)) history)))) (setq type (ergoemacs-read-key-swap first-type type) continue-read t)) (setq curr-universal nil) (if (or (not (condition-case nil (progn (interactive-form local-fn)) (error nil))) (eq local-fn (quote ergoemacs-read-key-swap))) (progn (setq local-fn nil))) (if (memq local-fn (quote (ergoemacs-read-key-next-key-is-alt ergoemacs-read-key-next-key-is-ctl ergoemacs-read-key-next-key-is-alt-ctl ergoemacs-read-key-next-key-is-quoted))) (progn (setq next-key (funcall local-fn type pretty-key)) (setq local-fn nil))) (if (eq local-fn (quote ergoemacs-read-key-help)) (setq continue-read (ergoemacs-read-key-help)) (if local-fn (ergoemacs-read-key-call local-fn) (setq pretty-key-undefined nil) (setq key-trials nil) (setq key-trials (cons base key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key base)) (setq key-trials (cons (concat base "-et") key-trials)) (setq key-trials (cons (concat base "-shift-translated") key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key (concat base "-shift-translated"))) (setq key-trials (cons (concat base "-shift-translated-et") key-trials)) (if (and ergoemacs-read-key ergoemacs-translate-emacs-keys) (progn (setq tmp (gethash (plist-get next-key ...) ergoemacs-command-shortcuts-hash)) (if (and tmp (commandp ... t)) (progn (progn ...))))) (if ergoemacs-translate-keys (progn (progn (let (...) (while --dolist-tail-- ...))))) (setq key-trials (reverse key-trials)) (if (catch (quote ergoemacs-key-trials) (while key-trials (setq key-trial nil) (while (and key-trials ...) (setq tmp ...) (if ... ...)) (if pretty-key-undefined nil (setq pretty-key-undefined pretty-key-trial)) (setq ergoemacs-shift-translated (string-match "-shift-translated" tmp)) (setq deactivate-mark nil) (setq local-fn (if key-trial ... nil)) (setq ergoemacs-deactivate-mark deactivate-mark) (cond (... ... ...) (... ... ... ...) (... ... ...) (... ... ...) (local-fn ...)) (cond (... ... ... ...) (... ... ... ...) (... ... ...) (... ... ...) (local-fn ...)) (if key-trials nil (setq key-trial nil))) nil) nil (beep) (if (minibufferp) nil (let (message-log-max) (message "%s is undefined!" pretty-key-undefined)))))))
  (if (eq local-fn (quote ergoemacs-read-key-undo-last)) (if (= 0 (length history)) (setq continue-read nil) (setq tmp (car (prog1 history (setq history (cdr history))))) (setq continue-read t ergoemacs--input (nth 1 tmp) real-read nil real-type (nth 0 tmp)) (setq ergoemacs-read-key nil pretty-key nil type (quote normal) key-trial nil key-trials nil pretty-key-trial nil pretty-key nil)) (if (and (eq local-fn (quote ergoemacs-read-key-swap)) (or (not curr-universal) ergoemacs-read-key)) (progn (if (and real-read ergoemacs-backspace-will-undo-swap-translation) (progn (setq history (cons (list type ...) history)))) (setq type (ergoemacs-read-key-swap first-type type) continue-read t)) (setq curr-universal nil) (if (or (not (condition-case nil (progn (interactive-form local-fn)) (error nil))) (eq local-fn (quote ergoemacs-read-key-swap))) (progn (setq local-fn nil))) (if (memq local-fn (quote (ergoemacs-read-key-next-key-is-alt ergoemacs-read-key-next-key-is-ctl ergoemacs-read-key-next-key-is-alt-ctl ergoemacs-read-key-next-key-is-quoted))) (progn (setq next-key (funcall local-fn type pretty-key)) (setq local-fn nil))) (if (eq local-fn (quote ergoemacs-read-key-help)) (setq continue-read (ergoemacs-read-key-help)) (if local-fn (ergoemacs-read-key-call local-fn) (setq pretty-key-undefined nil) (setq key-trials nil) (setq key-trials (cons base key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key base)) (setq key-trials (cons (concat base "-et") key-trials)) (setq key-trials (cons (concat base "-shift-translated") key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key (concat base "-shift-translated"))) (setq key-trials (cons (concat base "-shift-translated-et") key-trials)) (if (and ergoemacs-read-key ergoemacs-translate-emacs-keys) (progn (setq tmp (gethash ... ergoemacs-command-shortcuts-hash)) (if (and tmp ...) (progn ...)))) (if ergoemacs-translate-keys (progn (progn (let ... ...)))) (setq key-trials (reverse key-trials)) (if (catch (quote ergoemacs-key-trials) (while key-trials (setq key-trial nil) (while ... ... ...) (if pretty-key-undefined nil ...) (setq ergoemacs-shift-translated ...) (setq deactivate-mark nil) (setq local-fn ...) (setq ergoemacs-deactivate-mark deactivate-mark) (cond ... ... ... ... ...) (cond ... ... ... ... ...) (if key-trials nil ...)) nil) nil (beep) (if (minibufferp) nil (let (message-log-max) (message "%s is undefined!" pretty-key-undefined))))))))
  (if (string= tmp (key-description (ergoemacs-key-fn-lookup (quote keyboard-quit)))) (cond ((and (not ergoemacs-read-key)) (ergoemacs-keyboard-quit)) ((and ergoemacs-read-key-last-help (boundp (quote guide-key-mode)) guide-key-mode) (setq ergoemacs-read-key-last-help nil guide-key/guide-key-sequence (delete (key-description ergoemacs-read-key) guide-key/guide-key-sequence) continue-read t) (guide-key/close-guide-buffer)) (t (if (minibufferp) nil (let (message-log-max) (setq tmp (gethash type ergoemacs-translation-text)) (message "%s%s%s Canceled with %s" (if ergoemacs-describe-key "Help for: " "") (if tmp (nth 5 tmp) "") (or pretty-key "") (if ergoemacs-use-ergoemacs-key-descriptions (plist-get next-key ...) (concat ... " ")))))) (setq ergoemacs-describe-key nil)) (setq tmp (plist-get next-key (quote :normal-key))) (setq local-keymap (ergoemacs-local-map type)) (if (and (or real-read (and (boundp (quote modal-default)) modal-default)) local-keymap) (setq local-fn (lookup-key local-keymap tmp)) (setq local-fn nil)) (if (eq local-fn (quote ergoemacs-read-key-undo-last)) (if (= 0 (length history)) (setq continue-read nil) (setq tmp (car (prog1 history (setq history (cdr history))))) (setq continue-read t ergoemacs--input (nth 1 tmp) real-read nil real-type (nth 0 tmp)) (setq ergoemacs-read-key nil pretty-key nil type (quote normal) key-trial nil key-trials nil pretty-key-trial nil pretty-key nil)) (if (and (eq local-fn (quote ergoemacs-read-key-swap)) (or (not curr-universal) ergoemacs-read-key)) (progn (if (and real-read ergoemacs-backspace-will-undo-swap-translation) (progn (setq history (cons ... history)))) (setq type (ergoemacs-read-key-swap first-type type) continue-read t)) (setq curr-universal nil) (if (or (not (condition-case nil (progn ...) (error nil))) (eq local-fn (quote ergoemacs-read-key-swap))) (progn (setq local-fn nil))) (if (memq local-fn (quote (ergoemacs-read-key-next-key-is-alt ergoemacs-read-key-next-key-is-ctl ergoemacs-read-key-next-key-is-alt-ctl ergoemacs-read-key-next-key-is-quoted))) (progn (setq next-key (funcall local-fn type pretty-key)) (setq local-fn nil))) (if (eq local-fn (quote ergoemacs-read-key-help)) (setq continue-read (ergoemacs-read-key-help)) (if local-fn (ergoemacs-read-key-call local-fn) (setq pretty-key-undefined nil) (setq key-trials nil) (setq key-trials (cons base key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key base)) (setq key-trials (cons (concat base "-et") key-trials)) (setq key-trials (cons (concat base "-shift-translated") key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key (concat base "-shift-translated"))) (setq key-trials (cons (concat base "-shift-translated-et") key-trials)) (if (and ergoemacs-read-key ergoemacs-translate-emacs-keys) (progn (setq tmp ...) (if ... ...))) (if ergoemacs-translate-keys (progn (progn ...))) (setq key-trials (reverse key-trials)) (if (catch (quote ergoemacs-key-trials) (while key-trials ... ... ... ... ... ... ... ... ... ...) nil) nil (beep) (if (minibufferp) nil (let ... ...))))))))
  (while continue-read (setq continue-read nil) (if (and (not ergoemacs--input) real-type) (progn (setq type real-type) (setq curr-universal first-universal) (setq real-type nil))) (if (and ergoemacs-read-key (boundp (quote guide-key-mode)) guide-key-mode (not (equal ergoemacs-read-key-last-help ergoemacs-read-key)) (guide-key/popup-guide-buffer-p ergoemacs-read-key)) (progn (setq ergoemacs-read-key-last-help ergoemacs-read-key) (guide-key/popup-function ergoemacs-read-key))) (setq real-read (not ergoemacs--input)) (setq base (concat ":" (symbol-name type)) next-key (vector (ergoemacs-read-event type pretty-key nil curr-universal))) (setq next-key (ergoemacs-translate next-key)) (setq tmp (plist-get next-key (quote :normal))) (cond ((string= tmp "ESC") (setq tmp "<escape>")) ((string= tmp "RET") (setq tmp "<return>"))) (if (string= tmp (key-description (ergoemacs-key-fn-lookup (quote keyboard-quit)))) (cond ((and (not ergoemacs-read-key)) (ergoemacs-keyboard-quit)) ((and ergoemacs-read-key-last-help (boundp (quote guide-key-mode)) guide-key-mode) (setq ergoemacs-read-key-last-help nil guide-key/guide-key-sequence (delete (key-description ergoemacs-read-key) guide-key/guide-key-sequence) continue-read t) (guide-key/close-guide-buffer)) (t (if (minibufferp) nil (let (message-log-max) (setq tmp (gethash type ergoemacs-translation-text)) (message "%s%s%s Canceled with %s" (if ergoemacs-describe-key "Help for: " "") (if tmp ... "") (or pretty-key "") (if ergoemacs-use-ergoemacs-key-descriptions ... ...))))) (setq ergoemacs-describe-key nil)) (setq tmp (plist-get next-key (quote :normal-key))) (setq local-keymap (ergoemacs-local-map type)) (if (and (or real-read (and (boundp (quote modal-default)) modal-default)) local-keymap) (setq local-fn (lookup-key local-keymap tmp)) (setq local-fn nil)) (if (eq local-fn (quote ergoemacs-read-key-undo-last)) (if (= 0 (length history)) (setq continue-read nil) (setq tmp (car (prog1 history (setq history ...)))) (setq continue-read t ergoemacs--input (nth 1 tmp) real-read nil real-type (nth 0 tmp)) (setq ergoemacs-read-key nil pretty-key nil type (quote normal) key-trial nil key-trials nil pretty-key-trial nil pretty-key nil)) (if (and (eq local-fn (quote ergoemacs-read-key-swap)) (or (not curr-universal) ergoemacs-read-key)) (progn (if (and real-read ergoemacs-backspace-will-undo-swap-translation) (progn (setq history ...))) (setq type (ergoemacs-read-key-swap first-type type) continue-read t)) (setq curr-universal nil) (if (or (not (condition-case nil ... ...)) (eq local-fn (quote ergoemacs-read-key-swap))) (progn (setq local-fn nil))) (if (memq local-fn (quote (ergoemacs-read-key-next-key-is-alt ergoemacs-read-key-next-key-is-ctl ergoemacs-read-key-next-key-is-alt-ctl ergoemacs-read-key-next-key-is-quoted))) (progn (setq next-key (funcall local-fn type pretty-key)) (setq local-fn nil))) (if (eq local-fn (quote ergoemacs-read-key-help)) (setq continue-read (ergoemacs-read-key-help)) (if local-fn (ergoemacs-read-key-call local-fn) (setq pretty-key-undefined nil) (setq key-trials nil) (setq key-trials (cons base key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key base)) (setq key-trials (cons ... key-trials)) (setq key-trials (cons ... key-trials)) (setq next-key (ergoemacs-read-key-add-translation next-key ...)) (setq key-trials (cons ... key-trials)) (if (and ergoemacs-read-key ergoemacs-translate-emacs-keys) (progn ... ...)) (if ergoemacs-translate-keys (progn ...)) (setq key-trials (reverse key-trials)) (if (catch ... ... nil) nil (beep) (if ... nil ...))))))))
  (let ((continue-read t) (guide-key/guide-key-sequence (quote nil)) (guide-key/recursive-key-sequence-flag t) (real-type (or type (quote normal))) (first-type (or type (quote normal))) deactivate-mark pretty-key pretty-key-undefined next-key (ergoemacs-read-key key) key-trial pretty-key-trial (type (or initial-key-type (quote normal))) base local-keymap local-fn key-trials real-read (first-universal universal) (curr-universal nil) ergoemacs--input tmp history) (setq ergoemacs--input (ergoemacs-to-sequence ergoemacs-read-key) ergoemacs-read-key nil) (while continue-read (setq continue-read nil) (if (and (not ergoemacs--input) real-type) (progn (setq type real-type) (setq curr-universal first-universal) (setq real-type nil))) (if (and ergoemacs-read-key (boundp (quote guide-key-mode)) guide-key-mode (not (equal ergoemacs-read-key-last-help ergoemacs-read-key)) (guide-key/popup-guide-buffer-p ergoemacs-read-key)) (progn (setq ergoemacs-read-key-last-help ergoemacs-read-key) (guide-key/popup-function ergoemacs-read-key))) (setq real-read (not ergoemacs--input)) (setq base (concat ":" (symbol-name type)) next-key (vector (ergoemacs-read-event type pretty-key nil curr-universal))) (setq next-key (ergoemacs-translate next-key)) (setq tmp (plist-get next-key (quote :normal))) (cond ((string= tmp "ESC") (setq tmp "<escape>")) ((string= tmp "RET") (setq tmp "<return>"))) (if (string= tmp (key-description (ergoemacs-key-fn-lookup (quote keyboard-quit)))) (cond ((and (not ergoemacs-read-key)) (ergoemacs-keyboard-quit)) ((and ergoemacs-read-key-last-help (boundp (quote guide-key-mode)) guide-key-mode) (setq ergoemacs-read-key-last-help nil guide-key/guide-key-sequence (delete (key-description ergoemacs-read-key) guide-key/guide-key-sequence) continue-read t) (guide-key/close-guide-buffer)) (t (if (minibufferp) nil (let (message-log-max) (setq tmp ...) (message "%s%s%s Canceled with %s" ... ... ... ...)))) (setq ergoemacs-describe-key nil)) (setq tmp (plist-get next-key (quote :normal-key))) (setq local-keymap (ergoemacs-local-map type)) (if (and (or real-read (and (boundp ...) modal-default)) local-keymap) (setq local-fn (lookup-key local-keymap tmp)) (setq local-fn nil)) (if (eq local-fn (quote ergoemacs-read-key-undo-last)) (if (= 0 (length history)) (setq continue-read nil) (setq tmp (car (prog1 history ...))) (setq continue-read t ergoemacs--input (nth 1 tmp) real-read nil real-type (nth 0 tmp)) (setq ergoemacs-read-key nil pretty-key nil type (quote normal) key-trial nil key-trials nil pretty-key-trial nil pretty-key nil)) (if (and (eq local-fn (quote ergoemacs-read-key-swap)) (or (not curr-universal) ergoemacs-read-key)) (progn (if (and real-read ergoemacs-backspace-will-undo-swap-translation) (progn ...)) (setq type (ergoemacs-read-key-swap first-type type) continue-read t)) (setq curr-universal nil) (if (or (not ...) (eq local-fn ...)) (progn (setq local-fn nil))) (if (memq local-fn (quote ...)) (progn (setq next-key ...) (setq local-fn nil))) (if (eq local-fn (quote ergoemacs-read-key-help)) (setq continue-read (ergoemacs-read-key-help)) (if local-fn (ergoemacs-read-key-call local-fn) (setq pretty-key-undefined nil) (setq key-trials nil) (setq key-trials ...) (setq next-key ...) (setq key-trials ...) (setq key-trials ...) (setq next-key ...) (setq key-trials ...) (if ... ...) (if ergoemacs-translate-keys ...) (setq key-trials ...) (if ... nil ... ...))))))))
  ergoemacs-read-key([15])
  (let* ((keys (this-single-command-keys)) (args (gethash keys ergoemacs-command-shortcuts-hash))) (if args nil (setq keys (read-kbd-macro (key-description keys) t)) (setq args (gethash keys ergoemacs-command-shortcuts-hash))) (ergoemacs-read-key keys) (setq ergoemacs-single-command-keys nil))
  ergoemacs-shortcut---internal()
  ergoemacs-shortcut()
  call-interactively(ergoemacs-shortcut nil nil)
mattfidler commented 10 years ago

I don't think this is an ergoemacs-mode issue.

I can reproduce the issue with the following code under windows:

(require 'package)
(package-initialize)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/")
             'APPEND)
(unless package-archive-contents
  (package-refresh-contents))
(setq package-list '(bookmark+ icicles))
(dolist (package package-list)
  (unless (package-installed-p package)
    (package-install package)))

(require 'bookmark+)
(require 'icicles)
;; Change path to ergoemacs mode:
;; (add-to-list 'load-path "~src/ergoemacs-mode/")
;; (require 'ergoemacs-mode)
;; (ergoemacs-mode 1)
(icy-mode 1)
(setq max-lisp-eval-depth (* 1000 max-lisp-eval-depth)
      max-specpdl-size (* 1000 max-specpdl-size)
      debug-on-error t
      debug-on-quit t)

For me after 3 attempts to open a file, my emacs crashes.

mattfidler commented 10 years ago

I was running emacs 24.3 and had the stack overflow without enabling ergoemacs-mode

mattfidler commented 10 years ago

I sent Drew an email about this

brabalan commented 10 years ago

Thanks. As it's not an ergoemacs bug, I'll close this.

mattfidler commented 10 years ago

I forgot the -Q in emacs, so I couldn't reproduce it with the -Q. Something interacting with my site-start.el

mattfidler commented 10 years ago

Anyhow, I changed the method that is likely to work better, let me know if it works.

brabalan commented 10 years ago

I'll keep updating and will reopen if I see this again.