Code Monkey home page Code Monkey logo

Comments (10)

jojojames avatar jojojames commented on August 28, 2024

More info - debug on quit log

Debugger entered--Lisp error: (quit)
syntax-ppss(22578)
byte-code("\212\302\303�!8\206}��dW\203���fz\304>\203���f\305=?\206}�\306�!@\211�\205|�\307\310\311\312" "\313U\204>�\302\303�\314!8\206|�\307\310\311\315" "\313U\204S�\302\303�T!8\206|�\307\310\311\316" "\313U\204h�\302\303�S!8\206|�\307\310\311\317" "\313U?\205|�\302\303�\314Z!8))\207" [p s 4 syntax-ppss (60 62) 10 syntax-after logand lsh 1 16 0 2 17 18 19] 5)
sp-point-in-comment()
sp-get-comment-bounds()
evil-cp-delete-or-splice-region(22558 22754)
evil-cp-delete-char-or-splice(22558 22754 line nil)
call-interactively(evil-cp-delete-char-or-splice nil nil)
command-execute(evil-cp-delete-char-or-splice)

from evil-cleverparens.

jojojames avatar jojojames commented on August 28, 2024

Maybe @Fuco1 has a better idea here since the hang originates from smartparens code.

Another trace, 100% reproducible.

Debugger entered--Lisp error: (quit)
#[0 "\302\242\203=�\300\242\302\242Z
\306HA
\306H@T\245\307_W\203=�
\310H\211�@t\240\266�
\310H\211�A\300\242\302\242Z\241\266�\311\302\242\300\242\312\211\301%\207\302\242\204\214�\301\203\214�\304\313\301!\206P�\307\3018\240\203\214�\304\242\300\242X\203\214�\300\242\304\242Z��W\203\214�
\314H\211�@t\240\266�
\314H\211�A\300\242\304\242Z\241\266�\303\311\304\242\300\242"\240\210\202E�\312��ee\312�\203\254�\300\242�\211@@\262�W\203\254��\262��A\262�\202\222��\203\301��\211@@\262�\262�\303�\211@A\262�\240\210��\204\322���\204\322�\315\316\317\320\211$\210\302\242\203\336�\302\242�W\203\350��\262�\303\242\262�\202��
\321H\211�@t\240\266�
\321H\211�A\300\242\302\242Z\241\266�\302\242\262�\301\262���\204 �\322\323!\203 ���\203 �\324\325!\210������\203a�\300\242b\210�� \210�V\203a�\300\242W\203a�\326\327\"\330>\204a� \306H\211�@T\240\266� \306H\211�A\300\242Z\241\266�\262�\312\262�\300\242�Z��W\203\222� \307H\211�@T\240\266� \307H\211�A\300\242�Z\\241\266�\303\311�\300\242\312\211��%\240\210\202C� \331H\211�@T\240\266� \331H\211�A\300\242��Z\\241\266�\300\242�Z��\307_V\203\350�\303\311�\211\300\242\\307\245\211\262�\312\211\303\242%\240\210�\303\242B�\203\336��\211��AB\241\266�\202\344�\211��B��\210\202\253�\303\311�\300\242\312\211\303\242%\240\210\300\242\303\242B�\203���\211@@\262�\300\242Z��V\203���\211��AB\241\266�\202B���\240\210\202B���\2034���\211@@\262�\300\242Z��V\203=�\211��B��\202B����\240\210\210\266�\300\242\303\242B��\303\242\207" [(20840) (2 19507 19562 nil nil nil 0 nil nil (17220 19507)) (19585) (nil) (1) syntax-ppss-stats 5 2 0 parse-partial-sexp nil syntax-ppss-toplevel-pos 1 add-hook before-change-functions syntax-ppss-flush-cache t 4 boundp font-lock-beginning-of-syntax-function make-local-variable syntax-begin-function get-text-property face (font-lock-string-face font-lock-doc-face font-lock-comment-face) 3 syntax-ppss-max-span syntax-ppss-cache syntax-ppss-last] 12 "\n\n(fn)"]() funcall(#[0 "\302\242\203=�\300\242\302\242Z \306HA \306H@T\245\307_W\203=� \310H\211�@T\240\266� \310H\211�A\300\242\302\242Z\\241\266�\311\302\242\300\242\312\211\301%\207\302\242\204\214�\301\203\214�\304\313\301!\206P�\307\3018\240\203\214�\304\242\300\242X\203\214�\300\242\304\242Z��W\203\214� \314H\211�@T\240\266� \314H\211�A\300\242\304\242Z\\241\266�\303\311\304\242\300\242\"\240\210\202E�\312��ee\312�\203\254�\300\242�\211@@\262�W\203\254��\262��A\262�\202\222��\203\301��\211@@\262�\262�\303�\211@A\262�\240\210��\204\322���\204\322�\315\316\317\320\211$\210\302\242\203\336�\302\242�W\203\350��\262�\303\242\262�\202�� \321H\211�@T\240\266� \321H\211�A\300\242\302\242Z\\241\266�\302\242\262�\301\262���\204 �\322\323!\203 ���\203 �\324\325!\210������\203a�\300\242b\210�� \210�V\203a�\300\242W\203a�\326\327"\330>\204a�
\306H\211�@t\240\266�
\306H\211�A\300\242Z\\241\266�\262�\312\262�\300\242�Z��W\203\222�
\307H\211�@t\240\266�
\307H\211�A\300\242�Z\241\266�\303\311�\300\242\312\211��%\240\210\202C�
\331H\211�@t\240\266�
\331H\211�A\300\242��Z\241\266�\300\242�Z��\307_V\203\350�\303\311�\211\300\242\307\245\211\262�\312\211\303\242%\240\210�\303\242B�\203\336��\211��AB\241\266�\202\344�\211��B��\210\202\253�\303\311�\300\242\312\211\303\242%\240\210\300\242\303\242B�\203���\211@@\262�\300\242Z��V\203���\211��AB\241\266�\202B���\240\210\202B���\2034���\211@@\262�\300\242Z��V\203=�\211��B��\202B����\240\210\210\266�\300\242\303\242B��\303\242\207" [(20840) (2 19507 19562 nil nil nil 0 nil nil (17220 19507)) (19585) (nil) (1) syntax-ppss-stats 5 2 0 parse-partial-sexp nil syntax-ppss-toplevel-pos 1 add-hook before-change-functions syntax-ppss-flush-cache t 4 boundp font-lock-beginning-of-syntax-function make-local-variable syntax-begin-function get-text-property face (font-lock-string-face font-lock-doc-face font-lock-comment-face) 3 syntax-ppss-max-span syntax-ppss-cache syntax-ppss-last] 12 "\n\n(fn)"])
syntax-ppss(20840)
byte-code("\212\302\303�!8\206}��dW\203���fz\304>\203���f\305=?\206}�\306�!@\211�\205|�\307\310\311\312" "\313U\204>�\302\303�\314!8\206|�\307\310\311\315" "\313U\204S�\302\303�T!8\206|�\307\310\311\316" "\313U\204h�\302\303�S!8\206|�\307\310\311\317" "\313U?\205|�\302\303�\314Z!8))\207" [p s 4 syntax-ppss (60 62) 10 syntax-after logand lsh 1 16 0 2 17 18 19] 5)
sp-point-in-comment()
sp-get-comment-bounds()
evil-cp-delete-or-splice-region(20820 21027)
evil-cp-delete-char-or-splice(20820 21027 line nil)
call-interactively(evil-cp-delete-char-or-splice nil nil)
command-execute(evil-cp-delete-char-or-splice)

from evil-cleverparens.

Fuco1 avatar Fuco1 commented on August 28, 2024

I think it would help if you load the .el files and not the compiled code, the backtraces will be a lot more readable.

I know nothing about this package though :/

from evil-cleverparens.

jojojames avatar jojojames commented on August 28, 2024

@Fuco1

Hopefully this is better,

Debugger entered--Lisp error: (quit)
syntax-ppss(20889)
(nth 4 (syntax-ppss p))
(or (nth 4 (syntax-ppss p)) (and (< p (point-max)) (memq (char-syntax (char-after p)) (quote (60 62))) (not (eq (char-after p) 10))) (let ((s (car (syntax-after p)))) (if s (progn (or (and (/= 0 (logand ... s)) (nth 4 (syntax-ppss ...))) (and (/= 0 (logand ... s)) (nth 4 (syntax-ppss ...))) (and (/= 0 (logand ... s)) (nth 4 (syntax-ppss ...))) (and (/= 0 (logand ... s)) (nth 4 (syntax-ppss ...))))))))
(save-excursion (or (nth 4 (syntax-ppss p)) (and (< p (point-max)) (memq (char-syntax (char-after p)) (quote (60 62))) (not (eq (char-after p) 10))) (let ((s (car (syntax-after p)))) (if s (progn (or (and (/= 0 ...) (nth 4 ...)) (and (/= 0 ...) (nth 4 ...)) (and (/= 0 ...) (nth 4 ...)) (and (/= 0 ...) (nth 4 ...))))))))
(progn (save-excursion (or (nth 4 (syntax-ppss p)) (and (< p (point-max)) (memq (char-syntax (char-after p)) (quote (60 62))) (not (eq (char-after p) 10))) (let ((s (car (syntax-after p)))) (if s (progn (or (and ... ...) (and ... ...) (and ... ...) (and ... ...))))))))
(condition-case nil (progn (save-excursion (or (nth 4 (syntax-ppss p)) (and (< p (point-max)) (memq (char-syntax (char-after p)) (quote (60 62))) (not (eq (char-after p) 10))) (let ((s (car ...))) (if s (progn (or ... ... ... ...))))))) (error nil))
sp-point-in-comment()
(or (sp-point-in-comment) (save-excursion (backward-char 1) (looking-at "[[:space:]]+\s<")))
(and (not (bobp)) (or (sp-point-in-comment) (save-excursion (backward-char 1) (looking-at "[[:space:]]+\s<"))))
(while (and (not (bobp)) (or (sp-point-in-comment) (save-excursion (backward-char 1) (looking-at "[[:space:]]+\s<")))) (backward-char 1))
(save-excursion (while (and (not (bobp)) (or (sp-point-in-comment) (save-excursion (backward-char 1) (looking-at "[[:space:]]+\s<")))) (backward-char 1)) (if (not (or (bobp) (or (sp-point-in-comment) (save-excursion (backward-char 1) (looking-at "[[:space:]]+\s<"))))) (progn (forward-char))) (point))
(let ((open (save-excursion (while (and (not (bobp)) (or (sp-point-in-comment) (save-excursion ... ...))) (backward-char 1)) (if (not (or (bobp) (or ... ...))) (progn (forward-char))) (point))) (close (save-excursion (while (and (not (eobp)) (or (sp-point-in-comment) (looking-at "[[:space:]]+\s<"))) (forward-char 1)) (let ((pp (1- ...))) (if (not (or ... ... ... ... ... ...)) (progn (backward-char 1)))) (point)))) (cons open close))
(progn (let ((open (save-excursion (while (and (not ...) (or ... ...)) (backward-char 1)) (if (not (or ... ...)) (progn (forward-char))) (point))) (close (save-excursion (while (and (not ...) (or ... ...)) (forward-char 1)) (let ((pp ...)) (if (not ...) (progn ...))) (point)))) (cons open close)))
(if (or (sp-point-in-comment) (looking-at "[[:space:]]+\s<")) (progn (let ((open (save-excursion (while (and ... ...) (backward-char 1)) (if (not ...) (progn ...)) (point))) (close (save-excursion (while (and ... ...) (forward-char 1)) (let (...) (if ... ...)) (point)))) (cons open close))))
sp-get-comment-bounds()
(or (sp-get-comment-bounds) (sp-get-quoted-string-bounds))
(cdr (or (sp-get-comment-bounds) (sp-get-quoted-string-bounds)))
(let* ((ending (cdr (or (sp-get-comment-bounds) (sp-get-quoted-string-bounds)))) (diff (- (min end ending) (point)))) (delete-char diff) (setq chars-left (- chars-left diff)))
(cond ((evil-cp--point-in-string-or-comment) (let* ((ending (cdr (or (sp-get-comment-bounds) (sp-get-quoted-string-bounds)))) (diff (- (min end ending) (point)))) (delete-char diff) (setq chars-left (- chars-left diff)))) ((evil-cp--looking-at-opening-p) (let ((other-paren (evil-cp--matching-paren-pos))) (if (< (point) other-paren end) (let ((char-count (let ... ...))) (delete-char char-count) (setq chars-left (- chars-left char-count))) (evil-cp--splice-form) (setq chars-left (1- chars-left))))) ((evil-cp--looking-at-string-opening-p) (let ((other-quote (evil-cp--matching-paren-pos))) (if (< (point) other-quote end) (let ((char-count (let ... ...))) (delete-char char-count) (setq chars-left (- chars-left char-count))) (forward-char) (setq chars-left (1- chars-left))))) ((evil-cp--looking-at-paren-p) (evil-cp--splice-form) (setq chars-left (1- chars-left))) ((evil-cp--looking-at-string-delimiter-p) (forward-char) (setq chars-left (1- chars-left))) (t (delete-char 1) (setq chars-left (1- chars-left))))
(while (> chars-left 0) (cond ((evil-cp--point-in-string-or-comment) (let* ((ending (cdr (or ... ...))) (diff (- (min end ending) (point)))) (delete-char diff) (setq chars-left (- chars-left diff)))) ((evil-cp--looking-at-opening-p) (let ((other-paren (evil-cp--matching-paren-pos))) (if (< (point) other-paren end) (let ((char-count ...)) (delete-char char-count) (setq chars-left (- chars-left char-count))) (evil-cp--splice-form) (setq chars-left (1- chars-left))))) ((evil-cp--looking-at-string-opening-p) (let ((other-quote (evil-cp--matching-paren-pos))) (if (< (point) other-quote end) (let ((char-count ...)) (delete-char char-count) (setq chars-left (- chars-left char-count))) (forward-char) (setq chars-left (1- chars-left))))) ((evil-cp--looking-at-paren-p) (evil-cp--splice-form) (setq chars-left (1- chars-left))) ((evil-cp--looking-at-string-delimiter-p) (forward-char) (setq chars-left (1- chars-left))) (t (delete-char 1) (setq chars-left (1- chars-left)))))
(let ((chars-left (- end beg))) (while (> chars-left 0) (cond ((evil-cp--point-in-string-or-comment) (let* ((ending (cdr ...)) (diff (- ... ...))) (delete-char diff) (setq chars-left (- chars-left diff)))) ((evil-cp--looking-at-opening-p) (let ((other-paren (evil-cp--matching-paren-pos))) (if (< (point) other-paren end) (let (...) (delete-char char-count) (setq chars-left ...)) (evil-cp--splice-form) (setq chars-left (1- chars-left))))) ((evil-cp--looking-at-string-opening-p) (let ((other-quote (evil-cp--matching-paren-pos))) (if (< (point) other-quote end) (let (...) (delete-char char-count) (setq chars-left ...)) (forward-char) (setq chars-left (1- chars-left))))) ((evil-cp--looking-at-paren-p) (evil-cp--splice-form) (setq chars-left (1- chars-left))) ((evil-cp--looking-at-string-delimiter-p) (forward-char) (setq chars-left (1- chars-left))) (t (delete-char 1) (setq chars-left (1- chars-left))))))
evil-cp-delete-or-splice-region(20873 21041)
(cond ((or (evil-cp--balanced-block-p beg end) (evil-cp--override)) (evil-delete-char beg end type register)) ((eq type (quote block)) (evil-cp--yank-rectangle beg end register yank-handler) (evil-apply-on-block (function evil-cp-delete-or-splice-region) beg end nil)) (t (if evil-cleverparens-complete-parens-in-yanked-region (evil-cp-yank beg end type register yank-handler) (evil-yank beg end type register yank-handler)) (evil-cp-delete-or-splice-region beg end)))
(if (and evil-inhibit-operator (called-interactively-p (quote any))) nil (cond ((or (evil-cp--balanced-block-p beg end) (evil-cp--override)) (evil-delete-char beg end type register)) ((eq type (quote block)) (evil-cp--yank-rectangle beg end register yank-handler) (evil-apply-on-block (function evil-cp-delete-or-splice-region) beg end nil)) (t (if evil-cleverparens-complete-parens-in-yanked-region (evil-cp-yank beg end type register yank-handler) (evil-yank beg end type register yank-handler)) (evil-cp-delete-or-splice-region beg end))))
(let ((evil-inhibit-operator evil-inhibit-operator-value)) (if (and evil-inhibit-operator (called-interactively-p (quote any))) nil (cond ((or (evil-cp--balanced-block-p beg end) (evil-cp--override)) (evil-delete-char beg end type register)) ((eq type (quote block)) (evil-cp--yank-rectangle beg end register yank-handler) (evil-apply-on-block (function evil-cp-delete-or-splice-region) beg end nil)) (t (if evil-cleverparens-complete-parens-in-yanked-region (evil-cp-yank beg end type register yank-handler) (evil-yank beg end type register yank-handler)) (evil-cp-delete-or-splice-region beg end)))))
(unwind-protect (let ((evil-inhibit-operator evil-inhibit-operator-value)) (if (and evil-inhibit-operator (called-interactively-p (quote any))) nil (cond ((or (evil-cp--balanced-block-p beg end) (evil-cp--override)) (evil-delete-char beg end type register)) ((eq type (quote block)) (evil-cp--yank-rectangle beg end register yank-handler) (evil-apply-on-block (function evil-cp-delete-or-splice-region) beg end nil)) (t (if evil-cleverparens-complete-parens-in-yanked-region (evil-cp-yank beg end type register yank-handler) (evil-yank beg end type register yank-handler)) (evil-cp-delete-or-splice-region beg end))))) (setq evil-inhibit-operator-value nil))
evil-cp-delete-char-or-splice(20873 21041 line nil)
call-interactively(evil-cp-delete-char-or-splice nil nil)
command-execute(evil-cp-delete-char-or-splice)

from evil-cleverparens.

Fuco1 avatar Fuco1 commented on August 28, 2024

Thanks, much better indeed! I'll take a look.

from evil-cleverparens.

pesterhazy avatar pesterhazy commented on August 28, 2024

I'm seeing the same error in Spacemacs in a Clojure file:

Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil)
  insert(nil)
  (progn (insert region) (sp-region-ok-p (point-min) (point-max)))
  (unwind-protect (progn (insert region) (sp-region-ok-p (point-min) (point-max))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert region) (sp-region-ok-p (point-min) (point-max))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert region) (sp-region-ok-p (point-min) (point-max))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
  (let ((region (evil-yank-rectangle beg end))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert region) (sp-region-ok-p (point-min) (point-max))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
  evil-cp--balanced-block-p(1670 1671)
  evil-cp-delete-char-or-splice(1670 1671 exclusive nil)
  funcall-interactively(evil-cp-delete-char-or-splice 1670 1671 exclusive nil)
  call-interactively(evil-cp-delete-char-or-splice nil nil)
  command-execute(evil-cp-delete-char-or-splice)

It breaks x (though not backspace). Which is a shame because otherwise cleverparens is absolutely terrific!

from evil-cleverparens.

jojojames avatar jojojames commented on August 28, 2024

@pesterhazy

I'd recommend Lispyville instead.

This bug along with #56 makes evil-cleverparens breaks evil a little too much for me.

from evil-cleverparens.

Fuco1 avatar Fuco1 commented on August 28, 2024

The insert originates in cp code though, the call to sp-region-ok-p is never executed (from the stacktrace)

from evil-cleverparens.

tomdl89 avatar tomdl89 commented on August 28, 2024

@jojojames I'm going through old evil-cleverparens issues looking to fix or close them. The link to the video is long dead. Any repro steps I can try?

from evil-cleverparens.

tomdl89 avatar tomdl89 commented on August 28, 2024

Closing as I can't replicate. Feel free to reopen with repro instructions.

from evil-cleverparens.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.