From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Feng Li Newsgroups: gmane.emacs.devel Subject: Re: Fixing a bug in pascal-mode Date: Sun, 06 Apr 2014 20:40:50 +1000 Message-ID: <86ha66aggd.fsf@gmail.com> References: <868urjncwl.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1396780894 15644 80.91.229.3 (6 Apr 2014 10:41:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 6 Apr 2014 10:41:34 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Apr 06 12:41:27 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WWkVx-00059a-Li for ged-emacs-devel@m.gmane.org; Sun, 06 Apr 2014 12:41:25 +0200 Original-Received: from localhost ([::1]:57543 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WWkVx-0005aq-Ae for ged-emacs-devel@m.gmane.org; Sun, 06 Apr 2014 06:41:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36412) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WWkVn-0005Jg-5u for emacs-devel@gnu.org; Sun, 06 Apr 2014 06:41:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WWkVd-0003l8-CF for emacs-devel@gnu.org; Sun, 06 Apr 2014 06:41:15 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:36723) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WWkVd-0003l0-5V for emacs-devel@gnu.org; Sun, 06 Apr 2014 06:41:05 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WWkVb-0004qE-S4 for emacs-devel@gnu.org; Sun, 06 Apr 2014 12:41:03 +0200 Original-Received: from 202.172.124.5 ([202.172.124.5]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 06 Apr 2014 12:41:03 +0200 Original-Received: from fengli by 202.172.124.5 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 06 Apr 2014 12:41:03 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 60 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 202.172.124.5 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) Cancel-Lock: sha1:2+Yqlp/rj1D+slppq62qNZ36f5I= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:171318 Archived-At: Feng Li writes: > Hi Emacs devs, > > I just fixed a small bug in pascal-mode. Here's the diff > > diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el > index a693295..4058826 100644 > --- a/lisp/progmodes/pascal.el > +++ b/lisp/progmodes/pascal.el > @@ -168,7 +168,7 @@ > ;; "record" "array" "file") > (,(concat "\\<\\(array\\|boolean\\|c\\(har\\|onst\\)\\|file\\|" > "integer\\|re\\(al\\|cord\\)\\|type\\|var\\)\\>") > - font-lock-type-face) > + . font-lock-type-face) > ("\\<\\(label\\|external\\|forward\\)\\>" . font-lock-constant-face) > ("\\<\\([0-9]+\\)[ \t]*:" 1 font-lock-function-name-face) > ;; ("of" "to" "for" "if" "then" "else" "case" "while" Another one, this fixes pascal variables that contain keywords surrounded by '_' chars (eg. do_this): diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index 4058826..10b7619 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el @@ -166,20 +166,20 @@ (3 font-lock-function-name-face)) ;; ("type" "const" "real" "integer" "char" "boolean" "var" ;; "record" "array" "file") - (,(concat "\\<\\(array\\|boolean\\|c\\(har\\|onst\\)\\|file\\|" - "integer\\|re\\(al\\|cord\\)\\|type\\|var\\)\\>") + (,(concat "\\_<\\(array\\|boolean\\|c\\(har\\|onst\\)\\|file\\|" + "integer\\|re\\(al\\|cord\\)\\|type\\|var\\)\\_>") . font-lock-type-face) - ("\\<\\(label\\|external\\|forward\\)\\>" . font-lock-constant-face) - ("\\<\\([0-9]+\\)[ \t]*:" 1 font-lock-function-name-face) + ("\\_<\\(label\\|external\\|forward\\)\\_>" . font-lock-constant-face) + ("\\_<\\([0-9]+\\)[ \t]*:" 1 font-lock-function-name-face) ;; ("of" "to" "for" "if" "then" "else" "case" "while" ;; "do" "until" "and" "or" "not" "in" "with" "repeat" "begin" "end") - ,(concat "\\<\\(" + ,(concat "\\_<\\(" "and\\|begin\\|case\\|do\\|e\\(lse\\|nd\\)\\|for\\|i[fn]\\|" "not\\|o[fr]\\|repeat\\|t\\(hen\\|o\\)\\|until\\|w\\(hile\\|ith\\)" - "\\)\\>") - ("\\<\\(goto\\)\\>[ \t]*\\([0-9]+\\)?" + "\\)\\_>") + ("\\_<\\(goto\\)\\_>[ \t]*\\([0-9]+\\)?" 1 font-lock-keyword-face) - ("\\<\\(goto\\)\\>[ \t]*\\([0-9]+\\)?" + ("\\_<\\(goto\\)\\_>[ \t]*\\([0-9]+\\)?" 2 font-lock-keyword-face t)) "Additional expressions to highlight in Pascal mode.") -- Feng Li