From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bob Rogers Newsgroups: gmane.emacs.devel Subject: [kbrint@hamachi.rufus.net: cperl-mode problem under emacs 22.1] Date: Thu, 9 Aug 2007 19:57:02 -0400 Message-ID: <18107.43470.539959.124188@rgrjr.dyndns.org> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1186703835 26195 80.91.229.12 (9 Aug 2007 23:57:15 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 9 Aug 2007 23:57:15 +0000 (UTC) To: rms@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 10 01:57:11 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IJHsM-0001EJ-Qj for ged-emacs-devel@m.gmane.org; Fri, 10 Aug 2007 01:57:11 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IJHsM-0008J3-Dt for ged-emacs-devel@m.gmane.org; Thu, 09 Aug 2007 19:57:10 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IJHsI-0008IQ-C2 for emacs-devel@gnu.org; Thu, 09 Aug 2007 19:57:06 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IJHsG-0008Ht-3R for emacs-devel@gnu.org; Thu, 09 Aug 2007 19:57:05 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IJHsF-0008Hq-S9 for emacs-devel@gnu.org; Thu, 09 Aug 2007 19:57:03 -0400 Original-Received: from c-24-34-111-252.hsd1.ma.comcast.net ([24.34.111.252] helo=rgrjr.dyndns.org) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1IJHsF-0005qu-EY for emacs-devel@gnu.org; Thu, 09 Aug 2007 19:57:03 -0400 Original-Received: (qmail 14530 invoked by uid 500); 9 Aug 2007 23:57:02 -0000 In-Reply-To: X-Mailer: VM 7.19 under Emacs 22.1.50.1 X-Detected-Kernel: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:76299 Archived-At: From: Richard Stallman Date: Wed, 08 Aug 2007 00:54:51 -0400 Would someone please try to DTRT, then ack? Sometimes these problems are impossible to fix, or impossible without creating worse problems. But it would be good to try it and see, before giving up. ------- Start of forwarded message ------- X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY autolearn=failed version=3.1.0 From: kevin brintnall To: bug-gnu-emacs@gnu.org Date: Tue, 7 Aug 2007 10:13:55 -0500 (CDT) Subject: cperl-mode problem under emacs 22.1 emacs -q C-x C-f file.pl M-x cperl-mode Type into buffer: $k =~ s{a}{b}; ^ the second open brace will fail to insert, generating message: Args out of range: 14, 15 This is with the built-in cperl-mode 5.22 in Emacs 22.1. This does not happen with emacs 21.x or 20.x. The second hunk of the following patch seems to fix (or at least paper over) this problem. While testing, I found a similar problem: If you put { } into an empty cperl-mode buffer and then try to change it to { $k =~ s{a}{b}; } cperl-find-pods-heres dies in a *different* place when you type the *first* "{". This is addressed by the first hunk. Needless to say, I do not have a whole lot of confidence in these band-aids; cperl-find-pods-heres is 1122 lines long, and I do not even begin to understand it. Take it FWIW. ################################### With cperl-mode 5.23 form ilya, I can type the {}'s, but the following error is generated instead: End of `s{ ... }{ ... }' string/RE not found: (scan-error Unbalanced parentheses 11 13) This causes fontification to fail. I can confirm this, but have no further insights. -- Bob Rogers http://rgrjr.dyndns.org/ ------------------------------------------------------------------------ Index: lisp/progmodes/cperl-mode.el =================================================================== RCS file: /sources/emacs/emacs/lisp/progmodes/cperl-mode.el,v retrieving revision 1.89 diff -c -r1.89 cperl-mode.el *** lisp/progmodes/cperl-mode.el 16 Apr 2007 07:05:28 -0000 1.89 --- lisp/progmodes/cperl-mode.el 9 Aug 2007 23:46:22 -0000 *************** *** 3729,3736 **** (set-syntax-table reset-st)))) (defsubst cperl-look-at-leading-count (is-x-REx e) ! (if (re-search-forward (concat "\\=" (if is-x-REx "[ \t\n]*" "") "[{?+*]") ! (1- e) t) ; return nil on failure, no moving (if (eq ?\{ (preceding-char)) nil (cperl-postpone-fontification (1- (point)) (point) --- 3729,3739 ---- (set-syntax-table reset-st)))) (defsubst cperl-look-at-leading-count (is-x-REx e) ! (if (and (> (point) e) ! ;; return nil on failure, no moving ! (re-search-forward (concat "\\=" ! (if is-x-REx "[ \t\n]*" "") "[{?+*]") ! (1- e) t)) (if (eq ?\{ (preceding-char)) nil (cperl-postpone-fontification (1- (point)) (point) *************** *** 4778,4784 **** (progn (cperl-postpone-fontification (1- e1) e1 'face my-cperl-delimiters-face) ! (if (assoc (char-after b) cperl-starters) (progn (cperl-postpone-fontification b1 (1+ b1) 'face my-cperl-delimiters-face) --- 4781,4788 ---- (progn (cperl-postpone-fontification (1- e1) e1 'face my-cperl-delimiters-face) ! (if (and (not (eobp)) ! (assoc (char-after b) cperl-starters)) (progn (cperl-postpone-fontification b1 (1+ b1) 'face my-cperl-delimiters-face)