changeset 106957:368fd338fecd

Fix bug#5435.
author Juanma Barranquero <lekktu@gmail.com>
date Thu, 21 Jan 2010 13:25:54 +0100
parents ca11a89eb77d
children 7e2ebba4063d
files lisp/ChangeLog lisp/progmodes/ada-mode.el
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Jan 21 09:07:49 2010 +0000
+++ b/lisp/ChangeLog	Thu Jan 21 13:25:54 2010 +0100
@@ -1,3 +1,8 @@
+2010-01-21  Stephen Leake  <stephen_leake@member.fsf.org>
+
+        * progmodes/ada-mode.el (ada-in-paramlist-p): Pragma syntax
+	is the same as subprogram call, not declaration.  (Bug#5435).
+
 2010-01-20  Chong Yidong  <cyd@stupidchicken.com>
 
 	* term.el (term-send-raw-meta): Revert 2009-12-04 change (Bug#5330).
--- a/lisp/progmodes/ada-mode.el	Thu Jan 21 09:07:49 2010 +0000
+++ b/lisp/progmodes/ada-mode.el	Thu Jan 21 13:25:54 2010 +0100
@@ -4163,7 +4163,8 @@
 
 
 (defun ada-in-paramlist-p ()
-  "Return t if point is inside a parameter-list."
+  "Return t if point is inside the parameter-list of a declaration,
+but not a subprogram call or aggregate."
   (save-excursion
     (and
      (ada-search-ignore-string-comment "(\\|)" t nil t)
@@ -4194,13 +4195,13 @@
 
      ;; right keyword two words before parenthesis ?
      ;; Type is in this list because of discriminants
+     ;; pragma is not, because the syntax is that of a subprogram call.
      (looking-at (eval-when-compile
 		   (concat "\\<\\("
 			   "procedure\\|function\\|body\\|"
 			   "task\\|entry\\|accept\\|"
 			   "access[ \t]+procedure\\|"
 			   "access[ \t]+function\\|"
-			   "pragma\\|"
 			   "type\\)\\>"))))))
 
 (defun ada-search-ignore-complex-boolean (regexp backwardp)