[Bug: 21.5-b28] CPerl mode: 'Wrong type argument: integer-or-marker-p, nil' on { keypress

Aidan Kehoe kehoea at parhasard.net
Fri Jan 18 11:44:15 EST 2008


 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.

-- 
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?



More information about the XEmacs-Beta mailing list