Ar an cúigiú lá déag de mí Eanair, scríobh Ilya Zakharevich:
> On Sat, Jan 12, 2008 at 10:03:13PM +0200, Ville Skytt? wrote:
> > Thanks for the bug report, Ed, I can reproduce the bug and I'm forwarding the
> > report to cperl-mode upstream.
> >
> > Ilya, this is cperl-mode 5.23 with XEmacs 21.5.28, and the debugger backtrace
> > for the error is:
> >
> > Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
> > cperl-after-expr-p(nil "{;)")
> > cperl-electric-lbrace(nil)
> > call-interactively(cperl-electric-lbrace)
> >
> > See more details below.
>
> Sorry, this does not happen on my system. I think I need the result
> of debugging of non-byte-compiled version.
Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
goto-char(nil)
(progn (goto-char (previous-single-property-change ... ...)) (beginning-of-line 0))
(if (get-text-property (point) (quote here-doc-group)) (progn (goto-char ...) (beginning-of-line 0)))
(while (and (not stop) (> ... lim)) (skip-chars-backward " \n" lim) (setq p (point)) (beginning-of-line) (if (get-text-property ... ...) (progn ... ...)) (if (get-text-property ... ...) (progn ... ...)) (if (looking-at "^[ ]*\\(#\\|$\\)") nil (cperl-to-comment-or-eol) (skip-chars-backward " ") (if ... ...) (setq p ...) (if ... ... ... ...)))
(save-excursion (while (and ... ...) (skip-chars-backward " \n" lim) (setq p ...) (beginning-of-line) (if ... ...) (if ... ...) (if ... nil ... ... ... ... ...)) (or (bobp) (eq ... lim) (looking-at "[ ]*__\\(END\\|DATA\\)__") (progn ...)))
(let ((lim ...) stop p pr) (cperl-update-syntaxification (point) (point)) (save-excursion (while ... ... ... ... ... ... ...) (or ... ... ... ...)))
cperl-after-expr-p(nil "{;)")
cperl-electric-lbrace(nil)
call-interactively(cperl-electric-lbrace)
(dispatch-event "[internal]")
The bit from the 4.35 change log at the start of the file that says
;;; Remove `here-doc-group' text property at start
;;; (makes this property reliable).
may be relevant.
> Thanks,
> Ilya
>
> > > and the { character is not inserted. To reproduce create a file 'bug'
> > > with the following content:
> > >
> > > #!/usr/bin/perl
> > > print <<END
> > > $c
> > >
> > > Then start 'xemacs -vanilla'. C-x C-f b u g RET. Move point to just
> > > after the $ character with C-n C-n C-f. Now type {. I expected a {
> > > character to be inserted but the above message was displayed instead.
|