* bug#13529: 24.3.50; wrong-type-argument with show-paren-mode
@ 2013-01-22 23:59 Aaron Ecay
2013-01-23 10:19 ` Bastien
0 siblings, 1 reply; 4+ messages in thread
From: Aaron Ecay @ 2013-01-22 23:59 UTC (permalink / raw)
To: 13529
The following is with emacs trunk built from git commit 36964d8b4 (Tue
Jan 22 15:48:00 2013 +0400)
1) emacs -Q
2) M-x set-variable debug-on-error t
3) M-x find-library paren
4) M-x eval-buffer
--- steps 3 and 4 are to get a better backtrace of byte-compiled functions
5) C-x b *scratch*
6) M-x show-paren-mode (mode is now enabled)
7) type ) – i.e. a closing parenthesis
8) Receive the following backtrace
Debugger entered--Lisp error: (wrong-type-argument overlayp nil)
delete-overlay(nil)
(if (integerp pos) nil (delete-overlay show-paren-overlay))
(if (not pos) (progn (and show-paren-overlay (overlay-buffer show-paren-overlay) (delete-overlay show-paren-overlay)) (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1) (delete-overlay show-paren-overlay-1))) (if mismatch (progn (if show-paren-ring-bell-on-mismatch (beep)) (setq face (quote show-paren-mismatch))) (setq face (quote show-paren-match))) (if (and (not show-paren-highlight-openparen) (= dir 1) (integerp pos)) (if (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1)) (progn (delete-overlay show-paren-overlay-1))) (let ((from (if (= dir 1) (point) (- (point) 1))) (to (if (= dir 1) (+ (point) 1) (point)))) (if show-paren-overlay-1 (move-overlay show-paren-overlay-1 from to (current-buffer)) (setq show-paren-overlay-1 (make-overlay from to nil t))) (overlay-put show-paren-overlay-1 (quote priority) show-paren-priority) (overlay-put show-paren-overlay-1 (quote face) face))) (if (integerp pos) nil (delete-overlay show-paren-overlay)) (let ((to (if (or (eq show-paren-style (quote expression)) (and (eq show-paren-style ...) (not ...))) (point) pos)) (from (if (or (eq show-paren-style (quote expression)) (and (eq show-paren-style ...) (not ...))) pos (save-excursion (goto-char pos) (- (point) dir))))) (if show-paren-overlay (move-overlay show-paren-overlay from to (current-buffer)) (setq show-paren-overlay (make-overlay from to nil t)))) (overlay-put show-paren-overlay (quote priority) show-paren-priority) (overlay-put show-paren-overlay (quote face) face))
(let* ((oldpos (point)) (dir (cond ((eq (syntax-class (syntax-after ...)) 5) -1) ((eq (syntax-class (syntax-after ...)) 4) 1))) (unescaped (if dir (progn (= (if (= dir -1) 1 0) (logand 1 (- ... ...)))))) pos mismatch face) (if unescaped (progn (save-excursion (save-restriction (if blink-matching-paren-distance (progn (narrow-to-region ... ...))) (condition-case nil (setq pos (scan-sexps ... dir)) (error (setq pos t mismatch t))) (if (integerp pos) (progn (if ... nil ...))) (if (integerp pos) (progn (let ... ...))))))) (if (not pos) (progn (and show-paren-overlay (overlay-buffer show-paren-overlay) (delete-overlay show-paren-overlay)) (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1) (delete-overlay show-paren-overlay-1))) (if mismatch (progn (if show-paren-ring-bell-on-mismatch (beep)) (setq face (quote show-paren-mismatch))) (setq face (quote show-paren-match))) (if (and (not show-paren-highlight-openparen) (= dir 1) (integerp pos)) (if (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1)) (progn (delete-overlay show-paren-overlay-1))) (let ((from (if (= dir 1) (point) (- ... 1))) (to (if (= dir 1) (+ ... 1) (point)))) (if show-paren-overlay-1 (move-overlay show-paren-overlay-1 from to (current-buffer)) (setq show-paren-overlay-1 (make-overlay from to nil t))) (overlay-put show-paren-overlay-1 (quote priority) show-paren-priority) (overlay-put show-paren-overlay-1 (quote face) face))) (if (integerp pos) nil (delete-overlay show-paren-overlay)) (let ((to (if (or (eq show-paren-style ...) (and ... ...)) (point) pos)) (from (if (or (eq show-paren-style ...) (and ... ...)) pos (save-excursion (goto-char pos) (- ... dir))))) (if show-paren-overlay (move-overlay show-paren-overlay from to (current-buffer)) (setq show-paren-overlay (make-overlay from to nil t)))) (overlay-put show-paren-overlay (quote priority) show-paren-priority) (overlay-put show-paren-overlay (quote face) face)))
(if show-paren-mode (let* ((oldpos (point)) (dir (cond ((eq (syntax-class ...) 5) -1) ((eq (syntax-class ...) 4) 1))) (unescaped (if dir (progn (= (if ... 1 0) (logand 1 ...))))) pos mismatch face) (if unescaped (progn (save-excursion (save-restriction (if blink-matching-paren-distance (progn ...)) (condition-case nil (setq pos ...) (error ...)) (if (integerp pos) (progn ...)) (if (integerp pos) (progn ...)))))) (if (not pos) (progn (and show-paren-overlay (overlay-buffer show-paren-overlay) (delete-overlay show-paren-overlay)) (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1) (delete-overlay show-paren-overlay-1))) (if mismatch (progn (if show-paren-ring-bell-on-mismatch (beep)) (setq face (quote show-paren-mismatch))) (setq face (quote show-paren-match))) (if (and (not show-paren-highlight-openparen) (= dir 1) (integerp pos)) (if (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1)) (progn (delete-overlay show-paren-overlay-1))) (let ((from (if ... ... ...)) (to (if ... ... ...))) (if show-paren-overlay-1 (move-overlay show-paren-overlay-1 from to (current-buffer)) (setq show-paren-overlay-1 (make-overlay from to nil t))) (overlay-put show-paren-overlay-1 (quote priority) show-paren-priority) (overlay-put show-paren-overlay-1 (quote face) face))) (if (integerp pos) nil (delete-overlay show-paren-overlay)) (let ((to (if (or ... ...) (point) pos)) (from (if (or ... ...) pos (save-excursion ... ...)))) (if show-paren-overlay (move-overlay show-paren-overlay from to (current-buffer)) (setq show-paren-overlay (make-overlay from to nil t)))) (overlay-put show-paren-overlay (quote priority) show-paren-priority) (overlay-put show-paren-overlay (quote face) face))) (and show-paren-overlay (delete-overlay show-paren-overlay)) (and show-paren-overlay-1 (delete-overlay show-paren-overlay-1)))
show-paren-function()
apply(show-paren-function nil)
byte-code("r\301^H\302H^H\303H\"\210)\301\207" [timer apply 5 6] 4)
timer-event-handler([t 0 0 125000 t show-paren-function nil idle 0])
In GNU Emacs 24.3.50.4 (x86_64-unknown-linux-gnu, GTK+ Version 3.6.4)
of 2013-01-22 on haize
Windowing system distributor `The X.Org Foundation', version 11.0.11301000
Configured using:
`configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
--libexecdir=/usr/lib --mandir=/usr/share/man --without-sound
--with-xft --with-x-toolkit=gtk'
Important settings:
value of $LC_COLLATE: C
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
--
Aaron Ecay
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#13529: 24.3.50; wrong-type-argument with show-paren-mode
2013-01-22 23:59 bug#13529: 24.3.50; wrong-type-argument with show-paren-mode Aaron Ecay
@ 2013-01-23 10:19 ` Bastien
2013-01-24 19:45 ` Aaron Ecay
0 siblings, 1 reply; 4+ messages in thread
From: Bastien @ 2013-01-23 10:19 UTC (permalink / raw)
To: Aaron Ecay; +Cc: 13529-done
Hi Aaron,
Aaron Ecay <aaronecay@gmail.com> writes:
> The following is with emacs trunk built from git commit 36964d8b4 (Tue
> Jan 22 15:48:00 2013 +0400)
This has been fixed in revno 111588:
http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/111588?start_revid=111588
Thanks,
--
Bastien
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#13529: 24.3.50; wrong-type-argument with show-paren-mode
2013-01-23 10:19 ` Bastien
@ 2013-01-24 19:45 ` Aaron Ecay
2013-01-24 21:19 ` Bastien
0 siblings, 1 reply; 4+ messages in thread
From: Aaron Ecay @ 2013-01-24 19:45 UTC (permalink / raw)
To: Bastien; +Cc: 13529-done
Bastien,
Thanks for the fix. The git checkout I was working from was just a few
commits behind it.
I am however still getting a different error with your patch. It looks
like the new (if (integerp ...) ...) excluded a couple of overlay-put
calls it should have included. See if this patch looks good to you
(applied on top of yours).
diff --git i/lisp/paren.el w/lisp/paren.el
index bf2238d..a9d3be6 100644
--- i/lisp/paren.el
+++ w/lisp/paren.el
@@ -259,11 +259,10 @@ matching parenthesis is highlighted in `show-paren-style' after
(- (point) dir)))))
(if show-paren-overlay
(move-overlay show-paren-overlay from to (current-buffer))
- (setq show-paren-overlay (make-overlay from to nil t)))))
- ;;
- ;; Always set the overlay face, since it varies.
- (overlay-put show-paren-overlay 'priority show-paren-priority)
- (overlay-put show-paren-overlay 'face face)))
+ (setq show-paren-overlay (make-overlay from to nil t))))
+ ;; Always set the overlay face, since it varies.
+ (overlay-put show-paren-overlay 'priority show-paren-priority)
+ (overlay-put show-paren-overlay 'face face))))
;; show-paren-mode is nil in this buffer.
(and show-paren-overlay
(delete-overlay show-paren-overlay))
--
Aaron Ecay
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#13529: 24.3.50; wrong-type-argument with show-paren-mode
2013-01-24 19:45 ` Aaron Ecay
@ 2013-01-24 21:19 ` Bastien
0 siblings, 0 replies; 4+ messages in thread
From: Bastien @ 2013-01-24 21:19 UTC (permalink / raw)
To: Aaron Ecay; +Cc: 13529-done
Hi Aaron,
Aaron Ecay <aaronecay@gmail.com> writes:
> Thanks for the fix. The git checkout I was working from was just a few
> commits behind it.
>
> I am however still getting a different error with your patch. It looks
> like the new (if (integerp ...) ...) excluded a couple of overlay-put
> calls it should have included. See if this patch looks good to you
> (applied on top of yours).
That's right. I applied your patch, thanks a lot!
--
Bastien
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-01-24 21:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-22 23:59 bug#13529: 24.3.50; wrong-type-argument with show-paren-mode Aaron Ecay
2013-01-23 10:19 ` Bastien
2013-01-24 19:45 ` Aaron Ecay
2013-01-24 21:19 ` Bastien
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.