aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero <[email protected]>2008-10-12 23:06:29 +0000
committerJuanma Barranquero <[email protected]>2008-10-12 23:06:29 +0000
commitdd4fdc44b1143f7959439eecb00d3a79c471a962 (patch)
treec9e0c3e750a900087a5b5b337edba641652074ff
parentf6c2397a8584597b92d292b32fe254299216ab05 (diff)
* progmodes/ada-mode.el (ada-get-indent-end, ada-goto-matching-start):
Add support for extended return statement. * progmodes/ada-xref.el (ada-gnat-parse-gpr): Don't reverse src-dir and obj-dir; keep user order.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/progmodes/ada-mode.el14
-rw-r--r--lisp/progmodes/ada-xref.el4
3 files changed, 18 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fc71b0eefa..bbcce20ddb 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2008-10-12 Stephen Leake <[email protected]>
+
+ * progmodes/ada-mode.el (ada-get-indent-end, ada-goto-matching-start):
+ Add support for extended return statement.
+
+ * progmodes/ada-xref.el (ada-gnat-parse-gpr): Don't reverse src-dir
+ and obj-dir; keep user order.
+
2008-10-12 Glenn Morris <[email protected]>
* Makefile.in (ELCFILES): Update.
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index ec5504e471..40bbeb9fe4 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -2840,12 +2840,15 @@ ORGPOINT is the limit position used in the calculation."
(forward-word 1)
(ada-goto-next-non-ws)
(cond
- ((looking-at "\\<\\(loop\\|select\\|if\\|case\\)\\>")
+ ;;
+ ;; loop/select/if/case/return
+ ;;
+ ((looking-at "\\<\\(loop\\|select\\|if\\|case\\|return\\)\\>")
(save-excursion (ada-check-matching-start (match-string 0)))
(list (save-excursion (back-to-indentation) (point)) 0))
;;
- ;; loop/select/if/case/record/select
+ ;; record
;;
((looking-at "\\<record\\>")
(save-excursion
@@ -3897,13 +3900,12 @@ If GOTOTHEN is non-nil, point moves to the 'then' following 'if'."
(goto-char (match-beginning 0)))
;;
- ;; found 'do' => skip back to 'accept'
+ ;; found 'do' => skip back to 'accept' or 'return'
;;
((looking-at "do")
(unless (ada-search-ignore-string-comment
- "accept" t nil nil
- 'word-search-backward)
- (error "Missing 'accept' in front of 'do'"))))
+ "\\<accept\\|return\\>" t)
+ (error "Missing 'accept' or 'return' in front of 'do'"))))
(point))
(if noerror
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index d38795658c..1628f461b6 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -406,8 +406,8 @@ Assumes environment variable ADA_PROJECT_PATH is set properly."
;; Set properties
(setq plist (plist-put plist 'gpr_file gpr-file))
- (setq plist (plist-put plist 'src_dir (reverse src-dir)))
- (plist-put plist 'obj_dir (reverse obj-dir))
+ (setq plist (plist-put plist 'src_dir src-dir))
+ (plist-put plist 'obj_dir obj-dir)
)
(kill-buffer nil)
(message "Parsing %s ... done" gpr-file)