From afb5d709049eb40291fa0126d48efca2f7061a10 Mon Sep 17 00:00:00 2001 From: Stephen Leake <stephen_leake@member.fsf.org> Date: Thu, 21 Jan 2010 13:25:54 +0100 Subject: [PATCH] Fix bug#5435. --- lisp/ChangeLog | 5 +++++ lisp/progmodes/ada-mode.el | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3d99f723a31..4a453c58759 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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). diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index 3694de23f88..6e7af70a683 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el @@ -4163,7 +4163,8 @@ Return nil if the private is part of the package name, as in (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 @@ Return nil if the private is part of the package name, as in ;; 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) -- 2.39.5