Subject: 25.1.50; nonstandard cl-defstruct in isearch.el causes edebug instrumentation to fail

From: Gemini Lasswell <[email-masked]>
Date: Thu, 13 Oct 2016 15:14:04 -0700

In the declaration of isearch--state in isearch.el, the default values
are omitted in the list of read-only slots. This causes edebug not to be
able to instrument the file, since the edebug specification for
cl-defstruct does not include this possibility.

To reproduce, starting with emacs -Q at the head of the emacs source tree:
1. C-x C-f lisp/isearch.el RET
2. M-x edebug-all-defs RET
3. M-x toggle-debug-on-error RET
4. M-x eval-buffer RET

Here's the resulting backtrace:
Debugger entered--Lisp error: (invalid-read-syntax "Failed matching" ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp)))
  signal(invalid-read-syntax ("Failed matching" ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp))))
  edebug-syntax-error("Failed matching" ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp)))
  apply(edebug-syntax-error ("Failed matching" ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp))))
  edebug-no-match((((string :read-only t) (message :read-only t) (point :read-only t) (success :read-only t) (forward :read-only t) (other-end :read-only t) (word :read-only t) (error :read-only t) (wrapped :read-only t) (barrier :read-only t) (case-fold-search :read-only t) (pop-fun :read-only t)) (46896 (46897 . 46903) (46904 . 46914) (46915 . 46916) . 46917) (46920 (46921 . 46928) (46929 . 46939) (46940 . 46941) . 46942) (46945 (46946 . 46951) (46952 . 46962) (46963 . 46964) . 46965) (46968 (46969 . 46976) (46977 . 46987) (46988 . 46989) . 46990) (46993 (46994 . 47001) (47002 . 47012) (47013 . 47014) . 47015) (47018 (47019 . 47028) (47029 . 47039) (47040 . 47041) . 47042) (47045 (47046 . 47050) (47051 . 47061) (47062 . 47063) . 47064) (47067 (47068 . 47073) (47074 . 47084) (47085 . 47086) . 47087) (47090 (47091 . 47098) (47099 . 47109) (47110 . 47111) . 47112) (47115 (47116 . 47123) (47124 . 47134) (47135 . 47136) . 47137) (47140 (47141 . 47157) (47158 . 47168) (47169 . 47170) . 47171) (47174 (47175 . 47182) (47183 . 47193) (47194 . 47195) . 47196) . 47197) "Failed matching" ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp)))
  edebug-match-sublist((((string :read-only t) (message :read-only t) (point :read-only t) (success :read-only t) (forward :read-only t) (other-end :read-only t) (word :read-only t) (error :read-only t) (wrapped :read-only t) (barrier :read-only t) (case-fold-search :read-only t) (pop-fun :read-only t)) (46896 (46897 . 46903) (46904 . 46914) (46915 . 46916) . 46917) (46920 (46921 . 46928) (46929 . 46939) (46940 . 46941) . 46942) (46945 (46946 . 46951) (46952 . 46962) (46963 . 46964) . 46965) (46968 (46969 . 46976) (46977 . 46987) (46988 . 46989) . 46990) (46993 (46994 . 47001) (47002 . 47012) (47013 . 47014) . 47015) (47018 (47019 . 47028) (47029 . 47039) (47040 . 47041) . 47042) (47045 (47046 . 47050) (47051 . 47061) (47062 . 47063) . 47064) (47067 (47068 . 47073) (47074 . 47084) (47085 . 47086) . 47087) (47090 (47091 . 47098) (47099 . 47109) (47110 . 47111) . 47112) (47115 (47116 . 47123) (47124 . 47134) (47135 . 47136) . 47137) (47140 (47141 . 47157) (47158 . 47168) (47169 . 47170) . 47171) (47174 (47175 . 47182) (47183 . 47193) (47194 . 47195) . 47196) . 47197) ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp)))
  edebug-match-list((((cl-defstruct (isearch--state (:constructor nil) (:copier nil) (:constructor isearch--get-state (&aux (string isearch-string) (message isearch-message) (point (point)) (success isearch-success) (forward isearch-forward) (other-end isearch-other-end) (word isearch-regexp-function) (error isearch-error) (wrapped isearch-wrapped) (barrier isearch-barrier) (case-fold-search isearch-case-fold-search) (pop-fun (if isearch-push-state-function ...))))) (string :read-only t) (message :read-only t) (point :read-only t) (success :read-only t) (forward :read-only t) (other-end :read-only t) (word :read-only t) (error :read-only t) (wrapped :read-only t) (barrier :read-only t) (case-fold-search :read-only t) (pop-fun :read-only t))) (46116 (46117 . 46129) (46130 (46131 . 46145) (46161 (46162 . 46174) (46175 . 46178) . 46179) (46195 (46196 . 46203) (46204 . 46207) . 46208) (46224 (46225 . 46237) (46238 . 46256) (46273 (46274 . 46278) (46296 (46297 . 46303) (46304 . 46318) . 46319) (46337 (46338 . 46345) (46346 . 46361) . 46362) (46380 (46381 . 46386) (46387 (46388 . 46393) . 46394) . 46395) (46413 (46414 . 46421) (46422 . 46437) . 46438) (46456 (46457 . 46464) (46465 . 46480) . 46481) (46499 (46500 . 46509) (46510 . 46527) . 46528) (46546 (46547 . 46551) (46552 . 46575) . 46576) (46594 (46595 . 46600) (46601 . 46614) . 46615) (46633 (46634 . 46641) (46642 . 46657) . 46658) (46676 (46677 . 46684) (46685 . 46700) . 46701) (46719 (46720 . 46736) (46737 . 46761) . 46762) (46780 (46781 . 46788) (46789 (46790 . 46792) (46793 . 46820) (46851 ... ... . 46888) . 46889) . 46890) . 46891) . 46892) . 46893) (46896 (46897 . 46903) (46904 . 46914) (46915 . 46916) . 46917) (46920 (46921 . 46928) (46929 . 46939) (46940 . 46941) . 46942) (46945 (46946 . 46951) (46952 . 46962) (46963 . 46964) . 46965) (46968 (46969 . 46976) (46977 . 46987) (46988 . 46989) . 46990) (46993 (46994 . 47001) (47002 . 47012) (47013 . 47014) . 47015) (47018 (47019 . 47028) (47029 . 47039) (47040 . 47041) . 47042) (47045 (47046 . 47050) (47051 . 47061) (47062 . 47063) . 47064) (47067 (47068 . 47073) (47074 . 47084) (47085 . 47086) . 47087) (47090 (47091 . 47098) (47099 . 47109) (47110 . 47111) . 47112) (47115 (47116 . 47123) (47124 . 47134) (47135 . 47136) . 47137) (47140 (47141 . 47157) (47158 . 47168) (47169 . 47170) . 47171) (47174 (47175 . 47182) (47183 . 47193) (47194 . 47195) . 47196) . 47197)) ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp)))
  edebug-match-one-spec((((cl-defstruct (isearch--state (:constructor nil) (:copier nil) (:constructor isearch--get-state (&aux (string isearch-string) (message isearch-message) (point (point)) (success isearch-success) (forward isearch-forward) (other-end isearch-other-end) (word isearch-regexp-function) (error isearch-error) (wrapped isearch-wrapped) (barrier isearch-barrier) (case-fold-search isearch-case-fold-search) (pop-fun (if isearch-push-state-function ...))))) (string :read-only t) (message :read-only t) (point :read-only t) (success :read-only t) (forward :read-only t) (other-end :read-only t) (word :read-only t) (error :read-only t) (wrapped :read-only t) (barrier :read-only t) (case-fold-search :read-only t) (pop-fun :read-only t))) (46116 (46117 . 46129) (46130 (46131 . 46145) (46161 (46162 . 46174) (46175 . 46178) . 46179) (46195 (46196 . 46203) (46204 . 46207) . 46208) (46224 (46225 . 46237) (46238 . 46256) (46273 (46274 . 46278) (46296 (46297 . 46303) (46304 . 46318) . 46319) (46337 (46338 . 46345) (46346 . 46361) . 46362) (46380 (46381 . 46386) (46387 (46388 . 46393) . 46394) . 46395) (46413 (46414 . 46421) (46422 . 46437) . 46438) (46456 (46457 . 46464) (46465 . 46480) . 46481) (46499 (46500 . 46509) (46510 . 46527) . 46528) (46546 (46547 . 46551) (46552 . 46575) . 46576) (46594 (46595 . 46600) (46601 . 46614) . 46615) (46633 (46634 . 46641) (46642 . 46657) . 46658) (46676 (46677 . 46684) (46685 . 46700) . 46701) (46719 (46720 . 46736) (46737 . 46761) . 46762) (46780 (46781 . 46788) (46789 (46790 . 46792) (46793 . 46820) (46851 ... ... . 46888) . 46889) . 46890) . 46891) . 46892) . 46893) (46896 (46897 . 46903) (46904 . 46914) (46915 . 46916) . 46917) (46920 (46921 . 46928) (46929 . 46939) (46940 . 46941) . 46942) (46945 (46946 . 46951) (46952 . 46962) (46963 . 46964) . 46965) (46968 (46969 . 46976) (46977 . 46987) (46988 . 46989) . 46990) (46993 (46994 . 47001) (47002 . 47012) (47013 . 47014) . 47015) (47018 (47019 . 47028) (47029 . 47039) (47040 . 47041) . 47042) (47045 (47046 . 47050) (47051 . 47061) (47062 . 47063) . 47064) (47067 (47068 . 47073) (47074 . 47084) (47085 . 47086) . 47087) (47090 (47091 . 47098) (47099 . 47109) (47110 . 47111) . 47112) (47115 (47116 . 47123) (47124 . 47134) (47135 . 47136) . 47137) (47140 (47141 . 47157) (47158 . 47168) (47169 . 47170) . 47171) (47174 (47175 . 47182) (47183 . 47193) (47194 . 47195) . 47196) . 47197)) ("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp)))
  edebug-match-specs((((cl-defstruct (isearch--state (:constructor nil) (:copier nil) (:constructor isearch--get-state (&aux (string isearch-string) (message isearch-message) (point (point)) (success isearch-success) (forward isearch-forward) (other-end isearch-other-end) (word isearch-regexp-function) (error isearch-error) (wrapped isearch-wrapped) (barrier isearch-barrier) (case-fold-search isearch-case-fold-search) (pop-fun (if isearch-push-state-function ...))))) (string :read-only t) (message :read-only t) (point :read-only t) (success :read-only t) (forward :read-only t) (other-end :read-only t) (word :read-only t) (error :read-only t) (wrapped :read-only t) (barrier :read-only t) (case-fold-search :read-only t) (pop-fun :read-only t))) (46116 (46117 . 46129) (46130 (46131 . 46145) (46161 (46162 . 46174) (46175 . 46178) . 46179) (46195 (46196 . 46203) (46204 . 46207) . 46208) (46224 (46225 . 46237) (46238 . 46256) (46273 (46274 . 46278) (46296 (46297 . 46303) (46304 . 46318) . 46319) (46337 (46338 . 46345) (46346 . 46361) . 46362) (46380 (46381 . 46386) (46387 (46388 . 46393) . 46394) . 46395) (46413 (46414 . 46421) (46422 . 46437) . 46438) (46456 (46457 . 46464) (46465 . 46480) . 46481) (46499 (46500 . 46509) (46510 . 46527) . 46528) (46546 (46547 . 46551) (46552 . 46575) . 46576) (46594 (46595 . 46600) (46601 . 46614) . 46615) (46633 (46634 . 46641) (46642 . 46657) . 46658) (46676 (46677 . 46684) (46685 . 46700) . 46701) (46719 (46720 . 46736) (46737 . 46761) . 46762) (46780 (46781 . 46788) (46789 (46790 . 46792) (46793 . 46820) (46851 ... ... . 46888) . 46889) . 46890) . 46891) . 46892) . 46893) (46896 (46897 . 46903) (46904 . 46914) (46915 . 46916) . 46917) (46920 (46921 . 46928) (46929 . 46939) (46940 . 46941) . 46942) (46945 (46946 . 46951) (46952 . 46962) (46963 . 46964) . 46965) (46968 (46969 . 46976) (46977 . 46987) (46988 . 46989) . 46990) (46993 (46994 . 47001) (47002 . 47012) (47013 . 47014) . 47015) (47018 (47019 . 47028) (47029 . 47039) (47040 . 47041) . 47042) (47045 (47046 . 47050) (47051 . 47061) (47062 . 47063) . 47064) (47067 (47068 . 47073) (47074 . 47084) (47085 . 47086) . 47087) (47090 (47091 . 47098) (47099 . 47109) (47110 . 47111) . 47112) (47115 (47116 . 47123) (47124 . 47134) (47135 . 47136) . 47137) (47140 (47141 . 47157) (47158 . 47168) (47169 . 47170) . 47171) (47174 (47175 . 47182) (47183 . 47193) (47194 . 47195) . 47196) . 47197)) (("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp))) edebug-match-specs)
  edebug-match((((cl-defstruct (isearch--state (:constructor nil) (:copier nil) (:constructor isearch--get-state (&aux (string isearch-string) (message isearch-message) (point (point)) (success isearch-success) (forward isearch-forward) (other-end isearch-other-end) (word isearch-regexp-function) (error isearch-error) (wrapped isearch-wrapped) (barrier isearch-barrier) (case-fold-search isearch-case-fold-search) (pop-fun (if isearch-push-state-function ...))))) (string :read-only t) (message :read-only t) (point :read-only t) (success :read-only t) (forward :read-only t) (other-end :read-only t) (word :read-only t) (error :read-only t) (wrapped :read-only t) (barrier :read-only t) (case-fold-search :read-only t) (pop-fun :read-only t))) (46116 (46117 . 46129) (46130 (46131 . 46145) (46161 (46162 . 46174) (46175 . 46178) . 46179) (46195 (46196 . 46203) (46204 . 46207) . 46208) (46224 (46225 . 46237) (46238 . 46256) (46273 (46274 . 46278) (46296 (46297 . 46303) (46304 . 46318) . 46319) (46337 (46338 . 46345) (46346 . 46361) . 46362) (46380 (46381 . 46386) (46387 (46388 . 46393) . 46394) . 46395) (46413 (46414 . 46421) (46422 . 46437) . 46438) (46456 (46457 . 46464) (46465 . 46480) . 46481) (46499 (46500 . 46509) (46510 . 46527) . 46528) (46546 (46547 . 46551) (46552 . 46575) . 46576) (46594 (46595 . 46600) (46601 . 46614) . 46615) (46633 (46634 . 46641) (46642 . 46657) . 46658) (46676 (46677 . 46684) (46685 . 46700) . 46701) (46719 (46720 . 46736) (46737 . 46761) . 46762) (46780 (46781 . 46788) (46789 (46790 . 46792) (46793 . 46820) (46851 ... ... . 46888) . 46889) . 46890) . 46891) . 46892) . 46893) (46896 (46897 . 46903) (46904 . 46914) (46915 . 46916) . 46917) (46920 (46921 . 46928) (46929 . 46939) (46940 . 46941) . 46942) (46945 (46946 . 46951) (46952 . 46962) (46963 . 46964) . 46965) (46968 (46969 . 46976) (46977 . 46987) (46988 . 46989) . 46990) (46993 (46994 . 47001) (47002 . 47012) (47013 . 47014) . 47015) (47018 (47019 . 47028) (47029 . 47039) (47040 . 47041) . 47042) (47045 (47046 . 47050) (47051 . 47061) (47062 . 47063) . 47064) (47067 (47068 . 47073) (47074 . 47084) (47085 . 47086) . 47087) (47090 (47091 . 47098) (47099 . 47109) (47110 . 47111) . 47112) (47115 (47116 . 47123) (47124 . 47134) (47135 . 47136) . 47137) (47140 (47141 . 47157) (47158 . 47168) (47169 . 47170) . 47171) (47174 (47175 . 47182) (47183 . 47193) (47194 . 47195) . 47196) . 47197)) (("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp))))
  edebug-make-form-wrapper((((cl-defstruct (isearch--state (:constructor nil) (:copier nil) (:constructor isearch--get-state (&aux (string isearch-string) (message isearch-message) (point (point)) (success isearch-success) (forward isearch-forward) (other-end isearch-other-end) (word isearch-regexp-function) (error isearch-error) (wrapped isearch-wrapped) (barrier isearch-barrier) (case-fold-search isearch-case-fold-search) (pop-fun (if isearch-push-state-function ...))))) (string :read-only t) (message :read-only t) (point :read-only t) (success :read-only t) (forward :read-only t) (other-end :read-only t) (word :read-only t) (error :read-only t) (wrapped :read-only t) (barrier :read-only t) (case-fold-search :read-only t) (pop-fun :read-only t))) (46116 (46117 . 46129) (46130 (46131 . 46145) (46161 (46162 . 46174) (46175 . 46178) . 46179) (46195 (46196 . 46203) (46204 . 46207) . 46208) (46224 (46225 . 46237) (46238 . 46256) (46273 (46274 . 46278) (46296 (46297 . 46303) (46304 . 46318) . 46319) (46337 (46338 . 46345) (46346 . 46361) . 46362) (46380 (46381 . 46386) (46387 (46388 . 46393) . 46394) . 46395) (46413 (46414 . 46421) (46422 . 46437) . 46438) (46456 (46457 . 46464) (46465 . 46480) . 46481) (46499 (46500 . 46509) (46510 . 46527) . 46528) (46546 (46547 . 46551) (46552 . 46575) . 46576) (46594 (46595 . 46600) (46601 . 46614) . 46615) (46633 (46634 . 46641) (46642 . 46657) . 46658) (46676 (46677 . 46684) (46685 . 46700) . 46701) (46719 (46720 . 46736) (46737 . 46761) . 46762) (46780 (46781 . 46788) (46789 (46790 . 46792) (46793 . 46820) (46851 ... ... . 46888) . 46889) . 46890) . 46891) . 46892) . 46893) (46896 (46897 . 46903) (46904 . 46914) (46915 . 46916) . 46917) (46920 (46921 . 46928) (46929 . 46939) (46940 . 46941) . 46942) (46945 (46946 . 46951) (46952 . 46962) (46963 . 46964) . 46965) (46968 (46969 . 46976) (46977 . 46987) (46988 . 46989) . 46990) (46993 (46994 . 47001) (47002 . 47012) (47013 . 47014) . 47015) (47018 (47019 . 47028) (47029 . 47039) (47040 . 47041) . 47042) (47045 (47046 . 47050) (47051 . 47061) (47062 . 47063) . 47064) (47067 (47068 . 47073) (47074 . 47084) (47085 . 47086) . 47087) (47090 (47091 . 47098) (47099 . 47109) (47110 . 47111) . 47112) (47115 (47116 . 47123) (47124 . 47134) (47135 . 47136) . 47137) (47140 (47141 . 47157) (47158 . 47168) (47169 . 47170) . 47171) (47174 (47175 . 47182) (47183 . 47193) (47194 . 47195) . 47196) . 47197)) 46116 47196 (("cl-defstruct" [&or symbolp (gate symbolp &rest [&or symbolp (&or [":conc-name" symbolp] [":constructor" symbolp &optional cl-lambda-list] [":copier" symbolp] [":predicate" symbolp] [":include" symbolp &rest sexp] [":print-function" sexp] [":type" symbolp] [":named"] [":initial-offset" natnump])])] [&optional stringp] &rest &or symbolp (symbolp def-form &optional ":read-only" sexp))))
  edebug-read-and-maybe-wrap-form1()
  edebug-read-and-maybe-wrap-form()
  edebug--read(read #<buffer isearch.el>)
  apply(edebug--read read #<buffer isearch.el>)
  #[128 "\300\301\302#\207" [apply edebug--read read nil] 5 nil](#<buffer isearch.el>)
  eval-buffer()  ; Reading at buffer position 46896
  funcall-interactively(eval-buffer)
  call-interactively(eval-buffer record nil)
  command-execute(eval-buffer record)
  execute-extended-command(nil "eval-buffer" #("eval-buffer\neval-buffer" 0 1 (ws-butler-chg delete) 1 11 (ws-butler-chg chg) 11 12 (read-only nil ws-butler-chg chg) 12 22 (face ((:foreground "black") (background-color . "#6988a1") . ivy-minibuffer-match-face-2) read-only nil ws-butler-chg chg) 22 23 (face ((:foreground "black") ivy-current-match) read-only nil ws-butler-chg chg)))
  funcall-interactively(execute-extended-command nil "eval-buffer" #("eval-buffer\neval-buffer" 0 1 (ws-butler-chg delete) 1 11 (ws-butler-chg chg) 11 12 (read-only nil ws-butler-chg chg) 12 22 (face ((:foreground "black") (background-color . "#6988a1") . ivy-minibuffer-match-face-2) read-only nil ws-butler-chg chg) 22 23 (face ((:foreground "black") ivy-current-match) read-only nil ws-butler-chg chg)))
  call-interactively(execute-extended-command)
  modalka-translation()
  funcall-interactively(modalka-translation)
  call-interactively(modalka-translation nil nil)
  command-execute(modalka-translation)

In GNU Emacs 25.1.50.18 (x86_64-apple-darwin15.6.0, NS appkit-1404.47 Version 10.11.6 (Build 15G1004))
 of 2016-10-12 built on rainbow.local
Windowing system distributor 'Apple', version 10.3.1404
Recent messages:
Edebug: isearch-backward
Edebug: isearch-backward-regexp
Edebug: isearch-forward-symbol-at-point
Edebug: isearch-mode
Edebug: isearch-update
Edebug: isearch-done
Edebug: isearch-update-ring
Entering debugger...
Saving file /Users/gemini/Projects/lisp/*Backtrace*...
Wrote /Users/gemini/Projects/lisp/*Backtrace*

Configured using:
 'configure --with-ns'

Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  ivy-mode: t
  buffer-face-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  pyvenv-mode: t
  shell-dirtrack-mode: t
  nameless-mode: t
  beacon-mode: t
  rainbow-mode: t
  column-enforce-mode: t
  volatile-highlights-mode: t
  region-state-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-global-mode: t
  smartparens-global-strict-mode: t
  smartparens-strict-mode: t
  smartparens-mode: t
  which-key-mode: t
  modalka-mode: t
  recentf-mode: t
  global-auto-revert-mode: t
  winner-mode: t
  display-time-mode: t
  savehist-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec epa derived
epg gnus-util rmail rmail-loaddefs mailabbrev gmm-utils mailheader
tabify debug help-macro edebug vc-git diff-mode colir flx dired
dired-loaddefs counsel esh-util swiper ivy delsel ffap face-remap
guess-style smtpmail sendmail mail-utils yasnippet highlight-indentation
flymake company help-fns radix-tree elpy pyvenv elpy-refactor
smartparens-python python tramp-sh tramp tramp-compat tramp-loaddefs
trampver shell pcomplete format-spec json map grep compile files-x
cus-edit virtualenvwrapper gud comint nameless lisp-mnt ace-window avy
beacon smex ido deft debbugs soap-client mm-decode mm-bodies mm-encode
warnings rng-xsd rng-dt rng-util xsd-regexp xml rainbow-mode ansi-color
color s hydra lv column-enforce-mode etags xref project
volatile-highlights region-state ws-butler smartparens-config
smartparens thingatpt dash which-key modalka quail
smart-mode-line-dark-theme smart-mode-line advice rich-minority
whiteboard-theme classic-theme recentf tree-widget wid-edit autorevert
filenotify winner ring time cus-start cus-load savehist cap-words
superword subword use-package diminish bind-key easy-mmode finder-inf
edmacro kmacro info network-stream starttls url-http tls gnutls
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw
nsm subr-x puny url-cache url-auth url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap cl
package epg-config url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt
gv bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs
pcase cl-lib time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win
ucs-normalize term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core term/tty-colors frame cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote kqueue cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 550742 139479)
 (symbols 48 41198 0)
 (miscs 40 914 826)
 (strings 32 96411 173475)
 (string-bytes 1 2833344)
 (vectors 16 62274)
 (vector-slots 8 1098551 23706)
 (floats 8 945 655)
 (intervals 56 9833 2529)
 (buffers 976 16))