Mercurial > emacs
annotate lisp/progmodes/ada-mode.el @ 94445:52a0ed7601cb
(gdb-info-stack-custom): Use
gud-tool-bar-item-visible-no-fringe.
(gdb-display-buffer): Don't pop new buffer if gud-comint-buffer
is already visible in frame. Remove optional size parameter
and add optional frame parameter.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Tue, 29 Apr 2008 00:41:23 +0000 |
parents | f991f10f15ec |
children | 52b7a8c22af5 |
rev | line source |
---|---|
38422
7a94f1c588c4
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
38401
diff
changeset
|
1 ;;; ada-mode.el --- major-mode for editing Ada sources |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2 |
64699
629afbe74e61
Update copyright for release of 22.1 for progmodes directory.
Nick Roberts <nickrob@snap.net.nz>
parents:
64434
diff
changeset
|
3 ;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, |
79717 | 4 ;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
6 ;; Author: Rolf Ebert <ebert@inf.enst.fr> |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
7 ;; Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de> |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
8 ;; Emmanuel Briot <briot@gnat.com> |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
9 ;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org> |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
10 ;; Keywords: languages ada |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
11 |
38422
7a94f1c588c4
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
38401
diff
changeset
|
12 ;; This file is part of GNU Emacs. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
13 |
38401 | 14 ;; GNU Emacs is free software; you can redistribute it and/or modify |
10705 | 15 ;; it under the terms of the GNU General Public License as published by |
78234
c1ec1c8a8d2e
Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
16 ;; the Free Software Foundation; either version 3, or (at your option) |
10705 | 17 ;; any later version. |
18 | |
38401 | 19 ;; GNU Emacs is distributed in the hope that it will be useful, |
10705 | 20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
22 ;; GNU General Public License for more details. | |
23 | |
24 ;; You should have received a copy of the GNU General Public License | |
38401 | 25 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
64085 | 26 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
27 ;; Boston, MA 02110-1301, USA. | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
28 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
29 ;;; Commentary: |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
30 ;; This mode is a major mode for editing Ada code. This is a major |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
31 ;; rewrite of the file packaged with Emacs-20. The Ada mode is |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
32 ;; composed of four Lisp files: ada-mode.el, ada-xref.el, ada-prj.el |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
33 ;; and ada-stmt.el. Only this file (ada-mode.el) is completely |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
34 ;; independent from the GNU Ada compiler GNAT, distributed by Ada |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
35 ;; Core Technologies. All the other files rely heavily on features |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
36 ;; provided only by GNAT. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
37 ;; |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
38 ;; Note: this mode will not work with Emacs 19. If you are on a VMS |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
39 ;; system, where the latest version of Emacs is 19.28, you will need |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
40 ;; another file, called ada-vms.el, that provides some required |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
41 ;; functions. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
42 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
43 ;;; Usage: |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
44 ;; Emacs should enter Ada mode automatically when you load an Ada file. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
45 ;; By default, the valid extensions for Ada files are .ads, .adb or .ada |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
46 ;; If the ada-mode does not start automatically, then simply type the |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
47 ;; following command : |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
48 ;; M-x ada-mode |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
49 ;; |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
50 ;; By default, ada-mode is configured to take full advantage of the GNAT |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
51 ;; compiler (the menus will include the cross-referencing features,...). |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
52 ;; If you are using another compiler, you might want to set the following |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
53 ;; variable in your .emacs (Note: do not set this in the ada-mode-hook, it |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
54 ;; won't work) : |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
55 ;; (setq ada-which-compiler 'generic) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
56 ;; |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
57 ;; This mode requires find-file.el to be present on your system. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
58 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
59 ;;; History: |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
60 ;; The first Ada mode for GNU Emacs was written by V. Broman in |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
61 ;; 1985. He based his work on the already existing Modula-2 mode. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
62 ;; This was distributed as ada.el in versions of Emacs prior to 19.29. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
63 ;; |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
64 ;; Lynn Slater wrote an extensive Ada mode in 1989. It consisted of |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
65 ;; several files with support for dired commands and other nice |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
66 ;; things. It is currently available from the PAL |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
67 ;; (wuarchive.wustl.edu:/languages/ada) as ada-mode-1.06a.tar.Z. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
68 ;; |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
69 ;; The probably very first Ada mode (called electric-ada.el) was |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
70 ;; written by Steven D. Litvintchouk and Steven M. Rosen for the |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
71 ;; Gosling Emacs. L. Slater based his development on ada.el and |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
72 ;; electric-ada.el. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
73 ;; |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
74 ;; A complete rewrite by M. Heritsch and R. Ebert has been done. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
75 ;; Some ideas from the Ada mode mailing list have been |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
76 ;; added. Some of the functionality of L. Slater's mode has not |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
77 ;; (yet) been recoded in this new mode. Perhaps you prefer sticking |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
78 ;; to his version. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
79 ;; |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
80 ;; A complete rewrite for Emacs-20 / GNAT-3.11 has been done by Ada Core |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
81 ;; Technologies. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
82 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
83 ;;; Credits: |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
84 ;; Many thanks to John McCabe <john@assen.demon.co.uk> for sending so |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
85 ;; many patches included in this package. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
86 ;; Christian Egli <Christian.Egli@hcsd.hac.com>: |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
87 ;; ada-imenu-generic-expression |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
88 ;; Many thanks also to the following persons that have contributed |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
89 ;; to the ada-mode |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
90 ;; Philippe Waroquiers (PW) <philippe@cfmu.eurocontrol.be> in particular, |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
91 ;; woodruff@stc.llnl.gov (John Woodruff) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
92 ;; jj@ddci.dk (Jesper Joergensen) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
93 ;; gse@ocsystems.com (Scott Evans) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
94 ;; comar@gnat.com (Cyrille Comar) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
95 ;; stephen.leake@gsfc.nasa.gov (Stephen Leake) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
96 ;; robin-reply@reagans.org |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
97 ;; and others for their valuable hints. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
98 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
99 ;;; Code: |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
100 ;; Note: Every function in this package is compiler-independent. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
101 ;; The names start with ada- |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
102 ;; The variables that the user can edit can all be modified through |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
103 ;; the customize mode. They are sorted in alphabetical order in this |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
104 ;; file. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
105 |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
106 ;; Supported packages. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
107 ;; This package supports a number of other Emacs modes. These other modes |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
108 ;; should be loaded before the ada-mode, which will then setup some variables |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
109 ;; to improve the support for Ada code. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
110 ;; Here is the list of these modes: |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
111 ;; `which-function-mode': Display the name of the subprogram the cursor is |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
112 ;; in in the mode line. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
113 ;; `outline-mode': Provides the capability to collapse or expand the code |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
114 ;; for specific language constructs, for instance if you want to hide the |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
115 ;; code corresponding to a subprogram |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
116 ;; `align': This mode is now provided with Emacs 21, but can also be |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
117 ;; installed manually for older versions of Emacs. It provides the |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
118 ;; capability to automatically realign the selected region (for instance |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
119 ;; all ':=', ':' and '--' will be aligned on top of each other. |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
120 ;; `imenu': Provides a menu with the list of entities defined in the current |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
121 ;; buffer, and an easy way to jump to any of them |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
122 ;; `speedbar': Provides a separate file browser, and the capability for each |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
123 ;; file to see the list of entities defined in it and to jump to them |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
124 ;; easily |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
125 ;; `abbrev-mode': Provides the capability to define abbreviations, which |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
126 ;; are automatically expanded when you type them. See the Emacs manual. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
127 |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
128 (require 'find-file nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
129 (require 'align nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
130 (require 'which-func nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
131 (require 'compile nil t) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
132 |
65223
554ac3736464
(compile-auto-highlight, skeleton-further-elements): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents:
64717
diff
changeset
|
133 (defvar compile-auto-highlight) |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
134 (defvar ispell-check-comments) |
65223
554ac3736464
(compile-auto-highlight, skeleton-further-elements): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents:
64717
diff
changeset
|
135 (defvar skeleton-further-elements) |
554ac3736464
(compile-auto-highlight, skeleton-further-elements): Add defvars.
Juanma Barranquero <lekktu@gmail.com>
parents:
64717
diff
changeset
|
136 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
137 (defun ada-mode-version () |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
138 "Return Ada mode version." |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
139 (interactive) |
74002
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
140 (let ((version-string "3.7")) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
141 (if (interactive-p) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
142 (message version-string) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
143 version-string))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
144 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
145 (defvar ada-mode-hook nil |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
146 "*List of functions to call when Ada mode is invoked. |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
147 This hook is automatically executed after the `ada-mode' is |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
148 fully loaded. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
149 This is a good place to add Ada environment specific bindings.") |
18120 | 150 |
151 (defgroup ada nil | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
152 "Major mode for editing and compiling Ada source in Emacs." |
66963
a11fdee52c05
Add :link (custom-group-link font-lock-faces) to defgroup.
Juri Linkov <juri@jurta.org>
parents:
65584
diff
changeset
|
153 :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) |
18120 | 154 :group 'languages) |
155 | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
156 (defcustom ada-auto-case t |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
157 "*Non-nil means automatically change case of preceding word while typing. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
158 Casing is done according to `ada-case-keyword', `ada-case-identifier' |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
159 and `ada-case-attribute'." |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
160 :type 'boolean :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
161 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
162 (defcustom ada-broken-decl-indent 0 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
163 "*Number of columns to indent a broken declaration. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
164 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
165 An example is : |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
166 declare |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
167 A, |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
168 >>>>>B : Integer;" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
169 :type 'integer :group 'ada) |
18120 | 170 |
171 (defcustom ada-broken-indent 2 | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
172 "*Number of columns to indent the continuation of a broken line. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
173 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
174 An example is : |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
175 My_Var : My_Type := (Field1 => |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
176 >>>>>>>>>Value);" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
177 :type 'integer :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
178 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
179 (defcustom ada-continuation-indent ada-broken-indent |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
180 "*Number of columns to indent the continuation of broken lines in parenthesis. |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
181 |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
182 An example is : |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
183 Func (Param1, |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
184 >>>>>Param2);" |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
185 :type 'integer :group 'ada) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
186 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
187 (defcustom ada-case-attribute 'ada-capitalize-word |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
188 "*Function to call to adjust the case of Ada attributes. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
189 It may be `downcase-word', `upcase-word', `ada-loose-case-word', |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
190 `ada-capitalize-word' or `ada-no-auto-case'." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
191 :type '(choice (const downcase-word) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
192 (const upcase-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
193 (const ada-capitalize-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
194 (const ada-loose-case-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
195 (const ada-no-auto-case)) |
18120 | 196 :group 'ada) |
10705 | 197 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
198 (defcustom ada-case-exception-file |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
199 (list (convert-standard-filename' "~/.emacs_case_exceptions")) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
200 "*List of special casing exceptions dictionaries for identifiers. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
201 The first file is the one where new exceptions will be saved by Emacs |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
202 when you call `ada-create-case-exception'. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
203 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
204 These files should contain one word per line, that gives the casing |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
205 to be used for that word in Ada files. If the line starts with the |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
206 character *, then the exception will be used for substrings that either |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
207 start at the beginning of a word or after a _ character, and end either |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
208 at the end of the word or at a _ character. Each line can be terminated |
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
209 by a comment." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
210 :type '(repeat (file)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
211 :group 'ada) |
18120 | 212 |
213 (defcustom ada-case-keyword 'downcase-word | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
214 "*Function to call to adjust the case of an Ada keywords. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
215 It may be `downcase-word', `upcase-word', `ada-loose-case-word' or |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
216 `ada-capitalize-word'." |
18120 | 217 :type '(choice (const downcase-word) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
218 (const upcase-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
219 (const ada-capitalize-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
220 (const ada-loose-case-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
221 (const ada-no-auto-case)) |
18120 | 222 :group 'ada) |
223 | |
224 (defcustom ada-case-identifier 'ada-loose-case-word | |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
225 "*Function to call to adjust the case of an Ada identifier. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
226 It may be `downcase-word', `upcase-word', `ada-loose-case-word' or |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
227 `ada-capitalize-word'." |
18120 | 228 :type '(choice (const downcase-word) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
229 (const upcase-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
230 (const ada-capitalize-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
231 (const ada-loose-case-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
232 (const ada-no-auto-case)) |
18120 | 233 :group 'ada) |
234 | |
235 (defcustom ada-clean-buffer-before-saving t | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
236 "*Non-nil means remove trailing spaces and untabify the buffer before saving." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
237 :type 'boolean :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
238 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
239 (defcustom ada-indent 3 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
240 "*Size of Ada indentation. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
241 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
242 An example is : |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
243 procedure Foo is |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
244 begin |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
245 >>>>>>>>>>null;" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
246 :type 'integer :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
247 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
248 (defcustom ada-indent-after-return t |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
249 "*Non-nil means automatically indent after RET or LFD." |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
250 :type 'boolean :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
251 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
252 (defcustom ada-indent-align-comments t |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
253 "*Non-nil means align comments on previous line comments, if any. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
254 If nil, indentation is calculated as usual. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
255 Note that indentation is calculated only if `ada-indent-comment-as-code' is t. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
256 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
257 For instance: |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
258 A := 1; -- A multi-line comment |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
259 -- aligned if ada-indent-align-comments is t" |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
260 :type 'boolean :group 'ada) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
261 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
262 (defcustom ada-indent-comment-as-code t |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
263 "*Non-nil means indent comment lines as code. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
264 A nil value means do not auto-indent comments." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
265 :type 'boolean :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
266 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
267 (defcustom ada-indent-handle-comment-special nil |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
268 "*Non-nil if comment lines should be handled specially inside parenthesis. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
269 By default, if the line that contains the open parenthesis has some |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
270 text following it, then the following lines will be indented in the |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
271 same column as this text. This will not be true if the first line is |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
272 a comment and `ada-indent-handle-comment-special' is t. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
273 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
274 type A is |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
275 ( Value_1, -- common behavior, when not a comment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
276 Value_2); |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
277 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
278 type A is |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
279 ( -- `ada-indent-handle-comment-special' is nil |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
280 Value_1, |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
281 Value_2); |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
282 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
283 type A is |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
284 ( -- `ada-indent-handle-comment-special' is non-nil |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
285 Value_1, |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
286 Value_2);" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
287 :type 'boolean :group 'ada) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
288 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
289 (defcustom ada-indent-is-separate t |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
290 "*Non-nil means indent 'is separate' or 'is abstract' if on a single line." |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
291 :type 'boolean :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
292 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
293 (defcustom ada-indent-record-rel-type 3 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
294 "*Indentation for 'record' relative to 'type' or 'use'. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
295 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
296 An example is: |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
297 type A is |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
298 >>>>>>>>>>>record" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
299 :type 'integer :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
300 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
301 (defcustom ada-indent-renames ada-broken-indent |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
302 "*Indentation for renames relative to the matching function statement. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
303 If `ada-indent-return' is null or negative, the indentation is done relative to |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
304 the open parenthesis (if there is no parenthesis, `ada-broken-indent' is used). |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
305 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
306 An example is: |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
307 function A (B : Integer) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
308 return C; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
309 >>>renames Foo;" |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
310 :type 'integer :group 'ada) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
311 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
312 (defcustom ada-indent-return 0 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
313 "*Indentation for 'return' relative to the matching 'function' statement. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
314 If `ada-indent-return' is null or negative, the indentation is done relative to |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
315 the open parenthesis (if there is no parenthesis, `ada-broken-indent' is used). |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
316 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
317 An example is: |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
318 function A (B : Integer) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
319 >>>>>return C;" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
320 :type 'integer :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
321 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
322 (defcustom ada-indent-to-open-paren t |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
323 "*Non-nil means indent according to the innermost open parenthesis." |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
324 :type 'boolean :group 'ada) |
18120 | 325 |
41012
39ee7e7e2200
(ada-fill-comment-prefix): GNAT wants 2 spaces.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38446
diff
changeset
|
326 (defcustom ada-fill-comment-prefix "-- " |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
327 "*Text inserted in the first columns when filling a comment paragraph. |
41036
aaa6f44a1b96
(ada-fill-comment-prefix): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
41012
diff
changeset
|
328 Note: if you modify this variable, you will have to invoke `ada-mode' |
aaa6f44a1b96
(ada-fill-comment-prefix): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
41012
diff
changeset
|
329 again to take account of the new value." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
330 :type 'string :group 'ada) |
18120 | 331 |
332 (defcustom ada-fill-comment-postfix " --" | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
333 "*Text inserted at the end of each line when filling a comment paragraph. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
334 Used by `ada-fill-comment-paragraph-postfix'." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
335 :type 'string :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
336 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
337 (defcustom ada-label-indent -4 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
338 "*Number of columns to indent a label. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
339 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
340 An example is: |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
341 procedure Foo is |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
342 begin |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
343 >>>>Label: |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
344 |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
345 This is also used for <<..>> labels" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
346 :type 'integer :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
347 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
348 (defcustom ada-language-version 'ada95 |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
349 "*Ada language version; one of `ada83', `ada95', `ada2005'." |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
350 :type '(choice (const ada83) (const ada95) (const ada2005)) :group 'ada) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
351 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
352 (defcustom ada-move-to-declaration nil |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
353 "*Non-nil means `ada-move-to-start' moves to the subprogram declaration, not to 'begin'." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
354 :type 'boolean :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
355 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
356 (defcustom ada-popup-key '[down-mouse-3] |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
357 "*Key used for binding the contextual menu. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
358 If nil, no contextual menu is available." |
35959 | 359 :type '(restricted-sexp :match-alternatives (stringp vectorp)) |
35263 | 360 :group 'ada) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
361 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
362 (defcustom ada-search-directories |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
363 (append '(".") |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
364 (split-string (or (getenv "ADA_INCLUDE_PATH") "") ":") |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
365 '("/usr/adainclude" "/usr/local/adainclude" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
366 "/opt/gnu/adainclude")) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
367 "*Default list of directories to search for Ada files. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
368 See the description for the `ff-search-directories' variable. This variable |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
369 is the initial value of `ada-search-directories-internal'." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
370 :type '(repeat (choice :tag "Directory" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
371 (const :tag "default" nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
372 (directory :format "%v"))) |
18120 | 373 :group 'ada) |
374 | |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
375 (defvar ada-search-directories-internal ada-search-directories |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
376 "Internal version of `ada-search-directories'. |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
377 Its value is the concatenation of the search path as read in the project file |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
378 and the standard runtime location, and the value of the user-defined |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
379 `ada-search-directories'.") |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
380 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
381 (defcustom ada-stmt-end-indent 0 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
382 "*Number of columns to indent the end of a statement on a separate line. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
383 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
384 An example is: |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
385 if A = B |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
386 >>>>then" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
387 :type 'integer :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
388 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
389 (defcustom ada-tab-policy 'indent-auto |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
390 "*Control the behavior of the TAB key. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
391 Must be one of : |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
392 `indent-rigidly' : always adds `ada-indent' blanks at the beginning of the line. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
393 `indent-auto' : use indentation functions in this file. |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
394 `always-tab' : do `indent-relative'." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
395 :type '(choice (const indent-auto) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
396 (const indent-rigidly) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
397 (const always-tab)) |
18120 | 398 :group 'ada) |
10705 | 399 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
400 (defcustom ada-use-indent ada-broken-indent |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
401 "*Indentation for the lines in a 'use' statement. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
402 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
403 An example is: |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
404 use Ada.Text_IO, |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
405 >>>>Ada.Numerics;" |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
406 :type 'integer :group 'ada) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
407 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
408 (defcustom ada-when-indent 3 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
409 "*Indentation for 'when' relative to 'exception' or 'case'. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
410 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
411 An example is: |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
412 case A is |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
413 >>>>when B =>" |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
414 :type 'integer :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
415 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
416 (defcustom ada-with-indent ada-broken-indent |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
417 "*Indentation for the lines in a 'with' statement. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
418 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
419 An example is: |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
420 with Ada.Text_IO, |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
421 >>>>Ada.Numerics;" |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
422 :type 'integer :group 'ada) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
423 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
424 (defcustom ada-which-compiler 'gnat |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
425 "*Name of the compiler to use. |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
426 This will determine what features are made available through the Ada mode. |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
427 The possible choices are: |
74202
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
428 `gnat': Use Ada Core Technologies' GNAT compiler. Add some cross-referencing |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
429 features. |
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
430 `generic': Use a generic compiler." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
431 :type '(choice (const gnat) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
432 (const generic)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
433 :group 'ada) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
434 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
435 |
10705 | 436 ;;; ---- end of user configurable variables |
437 | |
438 | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
439 (defvar ada-body-suffixes '(".adb") |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
440 "List of possible suffixes for Ada body files. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
441 The extensions should include a `.' if needed.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
442 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
443 (defvar ada-spec-suffixes '(".ads") |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
444 "List of possible suffixes for Ada spec files. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
445 The extensions should include a `.' if needed.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
446 |
32300
5acb191f2a15
(ada-mode-menu): Add name to menu map.
Dave Love <fx@gnu.org>
parents:
30411
diff
changeset
|
447 (defvar ada-mode-menu (make-sparse-keymap "Ada") |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
448 "Menu for Ada mode.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
449 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
450 (defvar ada-mode-map (make-sparse-keymap) |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
451 "Local keymap used for Ada mode.") |
10705 | 452 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
453 (defvar ada-mode-abbrev-table nil |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
454 "Local abbrev table for Ada mode.") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
455 |
10705 | 456 (defvar ada-mode-syntax-table nil |
457 "Syntax table to be used for editing Ada source code.") | |
458 | |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
459 (defvar ada-mode-symbol-syntax-table nil |
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
460 "Syntax table for Ada, where `_' is a word constituent.") |
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
461 |
73935
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
462 (eval-when-compile |
74002
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
463 ;; These values are used in eval-when-compile expressions. |
73935
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
464 (defconst ada-83-string-keywords |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
465 '("abort" "abs" "accept" "access" "all" "and" "array" "at" "begin" |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
466 "body" "case" "constant" "declare" "delay" "delta" "digits" "do" |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
467 "else" "elsif" "end" "entry" "exception" "exit" "for" "function" |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
468 "generic" "goto" "if" "in" "is" "limited" "loop" "mod" "new" |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
469 "not" "null" "of" "or" "others" "out" "package" "pragma" "private" |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
470 "procedure" "raise" "range" "record" "rem" "renames" "return" |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
471 "reverse" "select" "separate" "subtype" "task" "terminate" "then" |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
472 "type" "use" "when" "while" "with" "xor") |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
473 "List of Ada 83 keywords. |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
474 Used to define `ada-*-keywords'.") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
475 |
73935
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
476 (defconst ada-95-string-keywords |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
477 '("abstract" "aliased" "protected" "requeue" "tagged" "until") |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
478 "List of keywords new in Ada 95. |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
479 Used to define `ada-*-keywords'.") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
480 |
73935
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
481 (defconst ada-2005-string-keywords |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
482 '("interface" "overriding" "synchronized") |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
483 "List of keywords new in Ada 2005. |
a1e6ec065b4f
(ada-83-string-keywords, ada-95-string-keywords, ada-2005-string-keywords):
Juanma Barranquero <lekktu@gmail.com>
parents:
73932
diff
changeset
|
484 Used to define `ada-*-keywords.'")) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
485 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
486 (defvar ada-ret-binding nil |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
487 "Variable to save key binding of RET when casing is activated.") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
488 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
489 (defvar ada-case-exception '() |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
490 "Alist of words (entities) that have special casing.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
491 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
492 (defvar ada-case-exception-substring '() |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
493 "Alist of substrings (entities) that have special casing. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
494 The substrings are detected for word constituant when the word |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
495 is not itself in `ada-case-exception', and only for substrings that |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
496 either are at the beginning or end of the word, or start after '_'.") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
497 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
498 (defvar ada-lfd-binding nil |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
499 "Variable to save key binding of LFD when casing is activated.") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
500 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
501 (defvar ada-other-file-alist nil |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
502 "Variable used by `find-file' to find the name of the other package. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
503 See `ff-other-file-alist'.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
504 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
505 (defvar ada-align-list |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
506 '(("[^:]\\(\\s-*\\):[^:]" 1 t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
507 ("[^=]\\(\\s-+\\)=[^=]" 1 t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
508 ("\\(\\s-*\\)use\\s-" 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
509 ("\\(\\s-*\\)--" 1)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
510 "Ada support for align.el <= 2.2. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
511 This variable provides regular expressions on which to align different lines. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
512 See `align-mode-alist' for more information.") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
513 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
514 (defvar ada-align-modes |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
515 '((ada-declaration |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
516 (regexp . "[^:]\\(\\s-*\\):[^:]") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
517 (valid . (lambda() (not (ada-in-comment-p)))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
518 (modes . '(ada-mode))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
519 (ada-assignment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
520 (regexp . "[^=]\\(\\s-+\\)=[^=]") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
521 (valid . (lambda() (not (ada-in-comment-p)))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
522 (modes . '(ada-mode))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
523 (ada-comment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
524 (regexp . "\\(\\s-*\\)--") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
525 (modes . '(ada-mode))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
526 (ada-use |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
527 (regexp . "\\(\\s-*\\)use\\s-") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
528 (valid . (lambda() (not (ada-in-comment-p)))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
529 (modes . '(ada-mode))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
530 ) |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
531 "Ada support for align.el >= 2.8. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
532 This variable defines several rules to use to align different lines.") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
533 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
534 (defconst ada-align-region-separate |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
535 (eval-when-compile |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
536 (concat |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
537 "^\\s-*\\($\\|\\(" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
538 "begin\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
539 "declare\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
540 "else\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
541 "end\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
542 "exception\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
543 "for\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
544 "function\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
545 "generic\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
546 "if\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
547 "is\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
548 "procedure\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
549 "record\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
550 "return\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
551 "type\\|" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
552 "when" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
553 "\\)\\>\\)")) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
554 "See the variable `align-region-separate' for more information.") |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
555 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
556 ;;; ---- Below are the regexp used in this package for parsing |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
557 |
10705 | 558 (defconst ada-83-keywords |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
559 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
560 (concat "\\<" (regexp-opt ada-83-string-keywords t) "\\>")) |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
561 "Regular expression matching Ada83 keywords.") |
10705 | 562 |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
563 (defconst ada-95-keywords |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
564 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
565 (concat "\\<" (regexp-opt |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
566 (append |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
567 ada-95-string-keywords |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
568 ada-83-string-keywords) t) "\\>")) |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
569 "Regular expression matching Ada95 keywords.") |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
570 |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
571 (defconst ada-2005-keywords |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
572 (eval-when-compile |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
573 (concat "\\<" (regexp-opt |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
574 (append |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
575 ada-2005-string-keywords |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
576 ada-83-string-keywords |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
577 ada-95-string-keywords) t) "\\>")) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
578 "Regular expression matching Ada2005 keywords.") |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
579 |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
580 (defvar ada-keywords ada-2005-keywords |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
581 "Regular expression matching Ada keywords.") |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
582 ;; FIXME: make this customizable |
10705 | 583 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
584 (defconst ada-ident-re |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
585 "\\(\\sw\\|[_.]\\)+" |
12586
f8bbc7a3b87a
(ada-ident-re): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
12053
diff
changeset
|
586 "Regexp matching Ada (qualified) identifiers.") |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
587 |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
588 ;; "with" needs to be included in the regexp, to match generic subprogram parameters |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
589 ;; Similarly, we put '[not] overriding' on the same line with 'procedure' etc. |
10705 | 590 (defvar ada-procedure-start-regexp |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
591 (concat |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
592 "^[ \t]*\\(with[ \t]+\\)?\\(\\(not[ \t]+\\)?overriding[ \t]+\\)?\\(procedure\\|function\\|task\\)[ \t\n]+" |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
593 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
594 ;; subprogram name: operator ("[+/=*]") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
595 "\\(" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
596 "\\(\"[^\"]+\"\\)" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
597 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
598 ;; subprogram name: name |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
599 "\\|" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
600 "\\(\\(\\sw\\|[_.]\\)+\\)" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
601 "\\)") |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
602 "Regexp matching Ada subprogram start. |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
603 The actual start is at (match-beginning 4). The name is in (match-string 5).") |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
604 |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
605 (defconst ada-name-regexp |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
606 "\\([a-zA-Z][a-zA-Z0-9_.']*[a-zA-Z0-9]\\)" |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
607 "Regexp matching a fully qualified name (including attribute).") |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
608 |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
609 (defconst ada-package-start-regexp |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
610 (concat "^[ \t]*\\(private[ \t]+\\)?\\(package\\)[ \t\n]+\\(body[ \t]*\\)?" ada-name-regexp) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
611 "Regexp matching start of package. |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
612 The package name is in (match-string 4).") |
10705 | 613 |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
614 (defconst ada-compile-goto-error-file-linenr-re |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
615 "\\([-_.a-zA-Z0-9]+\\):\\([0-9]+\\)\\(:\\([0-9]+\\)\\)?" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
616 "Regexp matching filename:linenr[:column].") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
617 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
618 |
10705 | 619 ;;; ---- regexps for indentation functions |
620 | |
621 (defvar ada-block-start-re | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
622 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
623 (concat "\\<\\(" (regexp-opt '("begin" "declare" "else" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
624 "exception" "generic" "loop" "or" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
625 "private" "select" )) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
626 "\\|\\(\\(limited\\|abstract\\|tagged\\)[ \t\n]+\\)*record\\)\\>")) |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
627 "Regexp for keywords starting Ada blocks.") |
10705 | 628 |
629 (defvar ada-end-stmt-re | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
630 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
631 (concat "\\(" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
632 ";" "\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
633 "=>[ \t]*$" "\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
634 "^[ \t]*separate[ \t]*(\\(\\sw\\|[_.]\\)+)" "\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
635 "\\<" (regexp-opt '("begin" "declare" "is" "do" "else" "generic" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
636 "loop" "private" "record" "select" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
637 "then abort" "then") t) "\\>" "\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
638 "^[ \t]*" (regexp-opt '("function" "package" "procedure") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
639 t) "\\>\\(\\sw\\|[ \t_.]\\)+\\<is\\>" "\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
640 "^[ \t]*exception\\>" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
641 "\\)") ) |
10705 | 642 "Regexp of possible ends for a non-broken statement. |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
643 A new statement starts after these.") |
10705 | 644 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
645 (defvar ada-matching-start-re |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
646 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
647 (concat "\\<" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
648 (regexp-opt |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
649 '("end" "loop" "select" "begin" "case" "do" "declare" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
650 "if" "task" "package" "procedure" "function" "record" "protected") t) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
651 "\\>")) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
652 "Regexp used in `ada-goto-matching-start'.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
653 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
654 (defvar ada-matching-decl-start-re |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
655 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
656 (concat "\\<" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
657 (regexp-opt |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
658 '("is" "separate" "end" "declare" "if" "new" "begin" "generic" "when") t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
659 "\\>")) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
660 "Regexp used in `ada-goto-matching-decl-start'.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
661 |
10705 | 662 (defvar ada-loop-start-re |
663 "\\<\\(for\\|while\\|loop\\)\\>" | |
664 "Regexp for the start of a loop.") | |
665 | |
666 (defvar ada-subprog-start-re | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
667 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
668 (concat "\\<" (regexp-opt '("accept" "entry" "function" "package" "procedure" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
669 "protected" "task") t) "\\>")) |
10705 | 670 "Regexp for the start of a subprogram.") |
671 | |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
672 (defvar ada-named-block-re |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
673 "[ \t]*\\(\\sw\\|_\\)+[ \t]*:[^=]" |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
674 "Regexp of the name of a block or loop.") |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
675 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
676 (defvar ada-contextual-menu-on-identifier nil |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
677 "Set to true when the right mouse button was clicked on an identifier.") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
678 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
679 (defvar ada-contextual-menu-last-point nil |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
680 "Position of point just before displaying the menu. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
681 This is a list (point buffer). |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
682 Since `ada-popup-menu' moves the point where the user clicked, the region |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
683 is modified. Therefore no command from the menu knows what the user selected |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
684 before displaying the contextual menu. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
685 To get the original region, restore the point to this position before |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
686 calling `region-end' and `region-beginning'. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
687 Modify this variable if you want to restore the point to another position.") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
688 |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
689 (easy-menu-define ada-contextual-menu nil |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
690 "Menu to use when the user presses the right mouse button. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
691 The variable `ada-contextual-menu-on-identifier' will be set to t before |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
692 displaying the menu if point was on an identifier." |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
693 '("Ada" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
694 ["Goto Declaration/Body" ada-point-and-xref |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
695 :included ada-contextual-menu-on-identifier] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
696 ["Goto Body" ada-point-and-xref-body |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
697 :included ada-contextual-menu-on-identifier] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
698 ["Goto Previous Reference" ada-xref-goto-previous-reference] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
699 ["List References" ada-find-references |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
700 :included ada-contextual-menu-on-identifier] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
701 ["List Local References" ada-find-local-references |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
702 :included ada-contextual-menu-on-identifier] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
703 ["-" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
704 ["Other File" ff-find-other-file] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
705 ["Goto Parent Unit" ada-goto-parent])) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
706 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
707 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
708 ;;------------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
709 ;; Support for imenu (see imenu.el) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
710 ;;------------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
711 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
712 (defconst ada-imenu-comment-re "\\([ \t]*--.*\\)?") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
713 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
714 (defconst ada-imenu-subprogram-menu-re |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
715 (concat "^[ \t]*\\(procedure\\|function\\)[ \t\n]+" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
716 "\\(\\(\\sw\\|_\\)+\\)[ \t\n]*\\([ \t\n]\\|([^)]+)" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
717 ada-imenu-comment-re |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
718 "\\)[ \t\n]*" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
719 "\\(return[ \t\n]+\\(\\sw\\|[_.]\\)+[ \t\n]*\\)?is[ \t\n]")) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
720 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
721 (defvar ada-imenu-generic-expression |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
722 (list |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
723 (list nil ada-imenu-subprogram-menu-re 2) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
724 (list "*Specs*" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
725 (concat |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
726 "^[ \t]*\\(procedure\\|function\\)[ \t\n]+\\(\\(\\sw\\|_\\)+\\)" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
727 "\\(" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
728 "\\(" ada-imenu-comment-re "[ \t\n]+\\|[ \t\n]*([^)]+)" |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
729 ada-imenu-comment-re "\\)";; parameter list or simple space |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
730 "\\([ \t\n]*return[ \t\n]+\\(\\sw\\|[_.]\\)+[ \t\n]*\\)?" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
731 "\\)?;") 2) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
732 '("*Tasks*" "^[ \t]*task[ \t]+\\(type[ \t]+\\)?\\(\\(body[ \t]+\\)?\\(\\sw\\|_\\)+\\)" 2) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
733 '("*Type Defs*" "^[ \t]*\\(sub\\)?type[ \t]+\\(\\(\\sw\\|_\\)+\\)" 2) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
734 '("*Protected*" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
735 "^[ \t]*protected[ \t]+\\(type[ \t]+\\)?\\(\\(body[ \t]+\\)?\\(\\sw\\|_\\)+\\)" 2) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
736 '("*Packages*" "^[ \t]*package[ \t]+\\(\\(body[ \t]+\\)?\\(\\sw\\|[_.]\\)+\\)" 1)) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
737 "Imenu generic expression for Ada mode. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
738 See `imenu-generic-expression'. This variable will create several submenus for |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
739 each type of entity that can be found in an Ada file.") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
740 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
741 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
742 ;;------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
743 ;; Support for compile.el |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
744 ;;------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
745 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
746 (defun ada-compile-mouse-goto-error () |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
747 "Mouse interface for `ada-compile-goto-error'." |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
748 (interactive) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
749 (mouse-set-point last-input-event) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
750 (ada-compile-goto-error (point)) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
751 ) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
752 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
753 (defun ada-compile-goto-error (pos) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
754 "Replace `compile-goto-error' from compile.el. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
755 If POS is on a file and line location, go to this position. It adds |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
756 to compile.el the capacity to go to a reference in an error message. |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
757 For instance, on these lines: |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
758 foo.adb:61:11: [...] in call to size declared at foo.ads:11 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
759 foo.adb:61:11: [...] in call to local declared at line 20 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
760 the 4 file locations can be clicked on and jumped to." |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
761 (interactive "d") |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
762 (goto-char pos) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
763 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
764 (skip-chars-backward "-a-zA-Z0-9_:./\\") |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
765 (cond |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
766 ;; special case: looking at a filename:line not at the beginning of a line |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
767 ;; or a simple line reference "at line ..." |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
768 ((and (not (bolp)) |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
769 (or (looking-at ada-compile-goto-error-file-linenr-re) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
770 (and |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
771 (save-excursion |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
772 (beginning-of-line) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
773 (looking-at ada-compile-goto-error-file-linenr-re)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
774 (save-excursion |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
775 (if (looking-at "\\([0-9]+\\)") (backward-word 1)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
776 (looking-at "line \\([0-9]+\\)")))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
777 ) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
778 (let ((line (if (match-beginning 2) (match-string 2) (match-string 1))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
779 (file (if (match-beginning 2) (match-string 1) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
780 (save-excursion (beginning-of-line) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
781 (looking-at ada-compile-goto-error-file-linenr-re) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
782 (match-string 1)))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
783 (error-pos (point-marker)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
784 source) |
74202
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
785 |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
786 ;; set source marker |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
787 (save-excursion |
74202
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
788 (compilation-find-file (point-marker) (match-string 1) "./") |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
789 (set-buffer file) |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
790 |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
791 (if (stringp line) |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
792 (goto-line (string-to-number line))) |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
793 |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
794 (setq source (point-marker))) |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
795 |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
796 (compilation-goto-locus error-pos source nil) |
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
797 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
798 )) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
799 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
800 ;; otherwise, default behavior |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
801 (t |
74202
abb4062752c5
(ada-which-compiler): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
74073
diff
changeset
|
802 (compile-goto-error)) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
803 ) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
804 (recenter)) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
805 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
806 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
807 ;;------------------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
808 ;; Grammar related function |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
809 ;; The functions below work with the syntax class of the characters in an Ada |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
810 ;; buffer. Two syntax tables are created, depending on whether we want '_' |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
811 ;; to be considered as part of a word or not. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
812 ;; Some characters may have multiple meanings depending on the context: |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
813 ;; - ' is either the beginning of a constant character or an attribute |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
814 ;; - # is either part of a based litteral or a gnatprep statement. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
815 ;; - " starts a string, but not if inside a constant character. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
816 ;; - ( and ) should be ignored if inside a constant character. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
817 ;; Thus their syntax property is changed automatically, and we can still use |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
818 ;; the standard Emacs functions for sexp (see `ada-in-string-p') |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
819 ;; |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
820 ;; On Emacs, this is done through the `syntax-table' text property. The |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
821 ;; corresponding action is applied automatically each time the buffer |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
822 ;; changes. If `font-lock-mode' is enabled (the default) the action is |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
823 ;; set up by `font-lock-syntactic-keywords'. Otherwise, we do it |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
824 ;; manually in `ada-after-change-function'. The proper method is |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
825 ;; installed by `ada-handle-syntax-table-properties'. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
826 ;; |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
827 ;; on XEmacs, the `syntax-table' property does not exist and we have to use a |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
828 ;; slow advice to `parse-partial-sexp' to do the same thing. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
829 ;; When executing parse-partial-sexp, we simply modify the strings before and |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
830 ;; after, so that the special constants '"', '(' and ')' do not interact |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
831 ;; with parse-partial-sexp. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
832 ;; Note: this code is slow and needs to be rewritten as soon as something |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
833 ;; better is available on XEmacs. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
834 ;;------------------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
835 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
836 (defun ada-create-syntax-table () |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
837 "Create the two syntax tables use in the Ada mode. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
838 The standard table declares `_' as a symbol constituent, the second one |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
839 declares it as a word constituent." |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
840 (interactive) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
841 (setq ada-mode-syntax-table (make-syntax-table)) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
842 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
843 ;; define string brackets (`%' is alternative string bracket, but |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
844 ;; almost never used as such and throws font-lock and indentation |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
845 ;; off the track.) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
846 (modify-syntax-entry ?% "$" ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
847 (modify-syntax-entry ?\" "\"" ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
848 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
849 (modify-syntax-entry ?: "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
850 (modify-syntax-entry ?\; "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
851 (modify-syntax-entry ?& "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
852 (modify-syntax-entry ?\| "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
853 (modify-syntax-entry ?+ "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
854 (modify-syntax-entry ?* "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
855 (modify-syntax-entry ?/ "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
856 (modify-syntax-entry ?= "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
857 (modify-syntax-entry ?< "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
858 (modify-syntax-entry ?> "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
859 (modify-syntax-entry ?$ "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
860 (modify-syntax-entry ?\[ "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
861 (modify-syntax-entry ?\] "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
862 (modify-syntax-entry ?\{ "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
863 (modify-syntax-entry ?\} "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
864 (modify-syntax-entry ?. "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
865 (modify-syntax-entry ?\\ "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
866 (modify-syntax-entry ?\' "." ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
867 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
868 ;; a single hyphen is punctuation, but a double hyphen starts a comment |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
869 (modify-syntax-entry ?- ". 12" ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
870 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
871 ;; See the comment above on grammar related function for the special |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
872 ;; setup for '#'. |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
873 (if (featurep 'xemacs) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
874 (modify-syntax-entry ?# "<" ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
875 (modify-syntax-entry ?# "$" ada-mode-syntax-table)) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
876 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
877 ;; and \f and \n end a comment |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
878 (modify-syntax-entry ?\f "> " ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
879 (modify-syntax-entry ?\n "> " ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
880 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
881 ;; define what belongs in Ada symbols |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
882 (modify-syntax-entry ?_ "_" ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
883 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
884 ;; define parentheses to match |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
885 (modify-syntax-entry ?\( "()" ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
886 (modify-syntax-entry ?\) ")(" ada-mode-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
887 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
888 (setq ada-mode-symbol-syntax-table (copy-syntax-table ada-mode-syntax-table)) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
889 (modify-syntax-entry ?_ "w" ada-mode-symbol-syntax-table) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
890 ) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
891 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
892 ;; Support of special characters in XEmacs (see the comments at the beginning |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
893 ;; of the section on Grammar related functions). |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
894 |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
895 (if (featurep 'xemacs) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
896 (defadvice parse-partial-sexp (around parse-partial-sexp-protect-constants) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
897 "Handles special character constants and gnatprep statements." |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
898 (let (change) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
899 (if (< to from) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
900 (let ((tmp from)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
901 (setq from to to tmp))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
902 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
903 (goto-char from) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
904 (while (re-search-forward "'\\([(\")#]\\)'" to t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
905 (setq change (cons (list (match-beginning 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
906 1 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
907 (match-string 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
908 change)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
909 (replace-match "'A'")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
910 (goto-char from) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
911 (while (re-search-forward "\\(#[0-9a-fA-F]*#\\)" to t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
912 (setq change (cons (list (match-beginning 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
913 (length (match-string 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
914 (match-string 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
915 change)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
916 (replace-match (make-string (length (match-string 1)) ?@)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
917 ad-do-it |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
918 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
919 (while change |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
920 (goto-char (caar change)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
921 (delete-char (cadar change)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
922 (insert (caddar change)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
923 (setq change (cdr change))))))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
924 |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
925 (defun ada-set-syntax-table-properties () |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
926 "Assign `syntax-table' properties in accessible part of buffer. |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
927 In particular, character constants are said to be strings, #...# |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
928 are treated as numbers instead of gnatprep comments." |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
929 (let ((modified (buffer-modified-p)) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
930 (buffer-undo-list t) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
931 (inhibit-read-only t) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
932 (inhibit-point-motion-hooks t) |
87703
9e1ef9a0680b
(ada-set-syntax-table-properties): Bind
Martin Rudalics <rudalics@gmx.at>
parents:
87566
diff
changeset
|
933 (inhibit-modification-hooks t) |
9e1ef9a0680b
(ada-set-syntax-table-properties): Bind
Martin Rudalics <rudalics@gmx.at>
parents:
87566
diff
changeset
|
934 buffer-file-name buffer-file-truename) |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
935 (remove-text-properties (point-min) (point-max) '(syntax-table nil)) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
936 (goto-char (point-min)) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
937 (while (re-search-forward |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
938 ;; The following regexp was adapted from |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
939 ;; `ada-font-lock-syntactic-keywords'. |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
940 "^[ \t]*\\(#\\(?:if\\|else\\|elsif\\|end\\)\\)\\|[^a-zA-Z0-9)]\\('\\)[^'\n]\\('\\)" |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
941 nil t) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
942 (if (match-beginning 1) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
943 (put-text-property |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
944 (match-beginning 1) (match-end 1) 'syntax-table '(11 . ?\n)) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
945 (put-text-property |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
946 (match-beginning 2) (match-end 2) 'syntax-table '(7 . ?')) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
947 (put-text-property |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
948 (match-beginning 3) (match-end 3) 'syntax-table '(7 . ?')))) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
949 (unless modified |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
950 (restore-buffer-modified-p nil)))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
951 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
952 (defun ada-after-change-function (beg end old-len) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
953 "Called when the region between BEG and END was changed in the buffer. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
954 OLD-LEN indicates what the length of the replaced text was." |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
955 (save-excursion |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
956 (save-restriction |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
957 (let ((from (progn (goto-char beg) (line-beginning-position))) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
958 (to (progn (goto-char end) (line-end-position)))) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
959 (narrow-to-region from to) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
960 (save-match-data |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
961 (ada-set-syntax-table-properties)))))) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
962 |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
963 (defun ada-initialize-syntax-table-properties () |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
964 "Assign `syntax-table' properties in current buffer." |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
965 (save-excursion |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
966 (save-restriction |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
967 (widen) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
968 (save-match-data |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
969 (ada-set-syntax-table-properties)))) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
970 (add-hook 'after-change-functions 'ada-after-change-function nil t)) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
971 |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
972 (defun ada-handle-syntax-table-properties () |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
973 "Handle `syntax-table' properties." |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
974 (if font-lock-mode |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
975 ;; `font-lock-mode' will take care of `syntax-table' properties. |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
976 (remove-hook 'after-change-functions 'ada-after-change-function t) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
977 ;; Take care of `syntax-table' properties manually. |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
978 (ada-initialize-syntax-table-properties))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
979 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
980 ;;------------------------------------------------------------------ |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
981 ;; Testing the grammatical context |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
982 ;;------------------------------------------------------------------ |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
983 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
984 (defsubst ada-in-comment-p (&optional parse-result) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
985 "Return t if inside a comment. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
986 If PARSE-RESULT is non-nil, use it instead of calling `parse-partial-sexp'." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
987 (nth 4 (or parse-result |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
988 (parse-partial-sexp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
989 (line-beginning-position) (point))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
990 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
991 (defsubst ada-in-string-p (&optional parse-result) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
992 "Return t if point is inside a string. |
73434
3586ad4a01a1
(ada-in-string-p): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
73422
diff
changeset
|
993 If PARSE-RESULT is non-nil, use it instead of calling `parse-partial-sexp'." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
994 (nth 3 (or parse-result |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
995 (parse-partial-sexp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
996 (line-beginning-position) (point))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
997 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
998 (defsubst ada-in-string-or-comment-p (&optional parse-result) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
999 "Return t if inside a comment or string. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1000 If PARSE-RESULT is non-nil, use it instead of calling `parse-partial-sexp'." |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1001 (setq parse-result (or parse-result |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1002 (parse-partial-sexp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1003 (line-beginning-position) (point)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1004 (or (ada-in-string-p parse-result) (ada-in-comment-p parse-result))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1005 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1006 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1007 ;;------------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1008 ;; Contextual menus |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
1009 ;; The Ada mode comes with contextual menus, bound by default to the right |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1010 ;; mouse button. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1011 ;; Add items to this menu by modifying `ada-contextual-menu'. Note that the |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1012 ;; variable `ada-contextual-menu-on-identifier' is set automatically to t |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1013 ;; if the mouse button was pressed on an identifier. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1014 ;;------------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1015 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1016 (defun ada-call-from-contextual-menu (function) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1017 "Execute FUNCTION when called from the contextual menu. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1018 It forces Emacs to change the cursor position." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1019 (interactive) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1020 (funcall function) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1021 (setq ada-contextual-menu-last-point |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1022 (list (point) (current-buffer)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1023 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1024 (defun ada-popup-menu (position) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1025 "Pops up a contextual menu, depending on where the user clicked. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1026 POSITION is the location the mouse was clicked on. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1027 Sets `ada-contextual-menu-last-point' to the current position before |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1028 displaying the menu. When a function from the menu is called, the |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1029 point is where the mouse button was clicked." |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1030 (interactive "e") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1031 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1032 ;; declare this as a local variable, so that the function called |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1033 ;; in the contextual menu does not hide the region in |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1034 ;; transient-mark-mode. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1035 (let ((deactivate-mark nil)) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1036 (setq ada-contextual-menu-last-point |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1037 (list (point) (current-buffer))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1038 (mouse-set-point last-input-event) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1039 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1040 (setq ada-contextual-menu-on-identifier |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1041 (and (char-after) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1042 (or (= (char-syntax (char-after)) ?w) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1043 (= (char-after) ?_)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1044 (not (ada-in-string-or-comment-p)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1045 (save-excursion (skip-syntax-forward "w") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1046 (not (ada-after-keyword-p))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1047 )) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
1048 (if (fboundp 'popup-menu) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
1049 (funcall (symbol-function 'popup-menu) ada-contextual-menu) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
1050 (let (choice) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
1051 (setq choice (x-popup-menu position ada-contextual-menu)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1052 (if choice |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1053 (funcall (lookup-key ada-contextual-menu (vector (car choice))))))) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
1054 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1055 (set-buffer (cadr ada-contextual-menu-last-point)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1056 (goto-char (car ada-contextual-menu-last-point)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1057 )) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1058 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1059 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1060 ;;------------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1061 ;; Misc functions |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1062 ;;------------------------------------------------------------------ |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1063 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1064 ;;;###autoload |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1065 (defun ada-add-extensions (spec body) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1066 "Define SPEC and BODY as being valid extensions for Ada files. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1067 Going from body to spec with `ff-find-other-file' used these |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1068 extensions. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1069 SPEC and BODY are two regular expressions that must match against |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1070 the file name." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1071 (let* ((reg (concat (regexp-quote body) "$")) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1072 (tmp (assoc reg ada-other-file-alist))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1073 (if tmp |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1074 (setcdr tmp (list (cons spec (cadr tmp)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1075 (add-to-list 'ada-other-file-alist (list reg (list spec))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1076 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1077 (let* ((reg (concat (regexp-quote spec) "$")) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1078 (tmp (assoc reg ada-other-file-alist))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1079 (if tmp |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1080 (setcdr tmp (list (cons body (cadr tmp)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1081 (add-to-list 'ada-other-file-alist (list reg (list body))))) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1082 |
41082
6204eb16d008
(ada-add-extensions): Quote regexp special
Andreas Schwab <schwab@suse.de>
parents:
41036
diff
changeset
|
1083 (add-to-list 'auto-mode-alist |
6204eb16d008
(ada-add-extensions): Quote regexp special
Andreas Schwab <schwab@suse.de>
parents:
41036
diff
changeset
|
1084 (cons (concat (regexp-quote spec) "\\'") 'ada-mode)) |
6204eb16d008
(ada-add-extensions): Quote regexp special
Andreas Schwab <schwab@suse.de>
parents:
41036
diff
changeset
|
1085 (add-to-list 'auto-mode-alist |
6204eb16d008
(ada-add-extensions): Quote regexp special
Andreas Schwab <schwab@suse.de>
parents:
41036
diff
changeset
|
1086 (cons (concat (regexp-quote body) "\\'") 'ada-mode)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1087 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1088 (add-to-list 'ada-spec-suffixes spec) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1089 (add-to-list 'ada-body-suffixes body) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1090 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1091 ;; Support for speedbar (Specifies that we want to see these files in |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1092 ;; speedbar) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
1093 (if (fboundp 'speedbar-add-supported-extension) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1094 (progn |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1095 (funcall (symbol-function 'speedbar-add-supported-extension) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1096 spec) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1097 (funcall (symbol-function 'speedbar-add-supported-extension) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1098 body))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1099 ) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1100 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1101 |
10707 | 1102 ;;;###autoload |
10705 | 1103 (defun ada-mode () |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
1104 "Ada mode is the major mode for editing Ada code. |
10705 | 1105 |
1106 Bindings are as follows: (Note: 'LFD' is control-j.) | |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1107 \\{ada-mode-map} |
10705 | 1108 |
1109 Indent line '\\[ada-tab]' | |
1110 Indent line, insert newline and indent the new line. '\\[newline-and-indent]' | |
1111 | |
1112 Re-format the parameter-list point is in '\\[ada-format-paramlist]' | |
1113 Indent all lines in region '\\[ada-indent-region]' | |
1114 | |
1115 Adjust case of identifiers and keywords in region '\\[ada-adjust-case-region]' | |
1116 Adjust case of identifiers and keywords in buffer '\\[ada-adjust-case-buffer]' | |
1117 | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1118 Fill comment paragraph, justify and append postfix '\\[fill-paragraph]' |
10705 | 1119 |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
1120 Next func/proc/task '\\[ada-next-procedure]' Previous func/proc/task '\\[ada-previous-procedure]' |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
1121 Next package '\\[ada-next-package]' Previous package '\\[ada-previous-package]' |
10705 | 1122 |
1123 Goto matching start of current 'end ...;' '\\[ada-move-to-start]' | |
1124 Goto end of current block '\\[ada-move-to-end]' | |
1125 | |
1126 Comments are handled using standard GNU Emacs conventions, including: | |
1127 Start a comment '\\[indent-for-comment]' | |
1128 Comment region '\\[comment-region]' | |
1129 Uncomment region '\\[ada-uncomment-region]' | |
1130 Continue comment on next line '\\[indent-new-comment-line]' | |
1131 | |
1132 If you use imenu.el: | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1133 Display index-menu of functions and procedures '\\[imenu]' |
10705 | 1134 |
1135 If you use find-file.el: | |
1136 Switch to other file (Body <-> Spec) '\\[ff-find-other-file]' | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1137 or '\\[ff-mouse-find-other-file] |
10705 | 1138 Switch to other file in other window '\\[ada-ff-other-window]' |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1139 or '\\[ff-mouse-find-other-file-other-window] |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1140 If you use this function in a spec and no body is available, it gets created with body stubs. |
10705 | 1141 |
1142 If you use ada-xref.el: | |
1143 Goto declaration: '\\[ada-point-and-xref]' on the identifier | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1144 or '\\[ada-goto-declaration]' with point on the identifier |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1145 Complete identifier: '\\[ada-complete-identifier]'." |
10705 | 1146 |
1147 (interactive) | |
1148 (kill-all-local-variables) | |
84917
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
1149 |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
1150 (set-syntax-table ada-mode-syntax-table) |
10705 | 1151 |
59237
276072a4cd9d
(ada-mode): Use mode-require-final-newline.
Richard M. Stallman <rms@gnu.org>
parents:
55730
diff
changeset
|
1152 (set (make-local-variable 'require-final-newline) mode-require-final-newline) |
10705 | 1153 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1154 ;; Set the paragraph delimiters so that one can select a whole block |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1155 ;; simply with M-h |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1156 (set (make-local-variable 'paragraph-start) "[ \t\n\f]*$") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1157 (set (make-local-variable 'paragraph-separate) "[ \t\n\f]*$") |
10705 | 1158 |
1159 ;; comment end must be set because it may hold a wrong value if | |
1160 ;; this buffer had been in another mode before. RE | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1161 (set (make-local-variable 'comment-end) "") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1162 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1163 ;; used by autofill and indent-new-comment-line |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1164 (set (make-local-variable 'comment-start-skip) "---*[ \t]*") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1165 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1166 ;; used by autofill to break a comment line and continue it on another line. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1167 ;; The reason we need this one is that the default behavior does not work |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1168 ;; correctly with the definition of paragraph-start above when the comment |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1169 ;; is right after a multi-line subprogram declaration (the comments are |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1170 ;; aligned under the latest parameter, not under the declaration start). |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1171 (set (make-local-variable 'comment-line-break-function) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1172 (lambda (&optional soft) (let ((fill-prefix nil)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1173 (indent-new-comment-line soft)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1174 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1175 (set (make-local-variable 'indent-line-function) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1176 'ada-indent-current-function) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1177 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1178 (set (make-local-variable 'comment-column) 40) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1179 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1180 ;; Emacs 20.3 defines a comment-padding to insert spaces between |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1181 ;; the comment and the text. We do not want any, this is already |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1182 ;; included in comment-start |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
1183 (unless (featurep 'xemacs) |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
1184 (set (make-local-variable 'parse-sexp-ignore-comments) t) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
1185 (set (make-local-variable 'comment-padding) 0) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
1186 (set (make-local-variable 'parse-sexp-lookup-properties) t)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1187 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1188 (set 'case-fold-search t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1189 (if (boundp 'imenu-case-fold-search) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1190 (set 'imenu-case-fold-search t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1191 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1192 (set (make-local-variable 'fill-paragraph-function) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1193 'ada-fill-comment-paragraph) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1194 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1195 (set (make-local-variable 'imenu-generic-expression) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1196 ada-imenu-generic-expression) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1197 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1198 ;; Support for compile.el |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1199 ;; We just substitute our own functions to go to the error. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1200 (add-hook 'compilation-mode-hook |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1201 (lambda() |
38446
f63fbebe03fb
(ada-mode): Avoid unneeded version checks.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38422
diff
changeset
|
1202 (set (make-local-variable 'compile-auto-highlight) 40) |
f63fbebe03fb
(ada-mode): Avoid unneeded version checks.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38422
diff
changeset
|
1203 ;; FIXME: This has global impact! -stef |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1204 (define-key compilation-minor-mode-map [mouse-2] |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1205 'ada-compile-mouse-goto-error) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1206 (define-key compilation-minor-mode-map "\C-c\C-c" |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1207 'ada-compile-goto-error) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1208 (define-key compilation-minor-mode-map "\C-m" |
38446
f63fbebe03fb
(ada-mode): Avoid unneeded version checks.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38422
diff
changeset
|
1209 'ada-compile-goto-error))) |
f63fbebe03fb
(ada-mode): Avoid unneeded version checks.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38422
diff
changeset
|
1210 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1211 ;; font-lock support : |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1212 ;; We need to set some properties for XEmacs, and define some variables |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1213 ;; for Emacs |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1214 |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
1215 ;; FIXME: The Emacs code should work just fine under XEmacs AFAIK. --Stef |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
1216 (if (featurep 'xemacs) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1217 ;; XEmacs |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1218 (put 'ada-mode 'font-lock-defaults |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1219 '(ada-font-lock-keywords |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1220 nil t ((?\_ . "w") (?# . ".")) beginning-of-line)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1221 ;; Emacs |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1222 (set (make-local-variable 'font-lock-defaults) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1223 '(ada-font-lock-keywords |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1224 nil t |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1225 ((?\_ . "w") (?# . ".")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1226 beginning-of-line |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1227 (font-lock-syntactic-keywords . ada-font-lock-syntactic-keywords))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1228 ) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1229 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1230 ;; Set up support for find-file.el. |
38446
f63fbebe03fb
(ada-mode): Avoid unneeded version checks.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38422
diff
changeset
|
1231 (set (make-local-variable 'ff-other-file-alist) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1232 'ada-other-file-alist) |
38446
f63fbebe03fb
(ada-mode): Avoid unneeded version checks.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38422
diff
changeset
|
1233 (set (make-local-variable 'ff-search-directories) |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
1234 'ada-search-directories-internal) |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
1235 (setq ff-post-load-hook 'ada-set-point-accordingly |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1236 ff-file-created-hook 'ada-make-body) |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
1237 (add-hook 'ff-pre-load-hook 'ada-which-function-are-we-in) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1238 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1239 (make-local-variable 'ff-special-constructs) |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1240 (mapc (lambda (pair) (add-to-list 'ff-special-constructs pair)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1241 (list |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1242 ;; Top level child package declaration; go to the parent package. |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1243 (cons (eval-when-compile |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1244 (concat "^\\(private[ \t]\\)?[ \t]*package[ \t]+" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1245 "\\(body[ \t]+\\)?" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1246 "\\(\\(\\sw\\|[_.]\\)+\\)\\.\\(\\sw\\|_\\)+[ \t\n]+is")) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1247 (lambda () |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1248 (ff-get-file |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1249 ada-search-directories-internal |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1250 (ada-make-filename-from-adaname (match-string 3)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1251 ada-spec-suffixes))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1252 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1253 ;; A "separate" clause. |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1254 (cons "^separate[ \t\n]*(\\(\\(\\sw\\|[_.]\\)+\\))" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1255 (lambda () |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1256 (ff-get-file |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1257 ada-search-directories-internal |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1258 (ada-make-filename-from-adaname (match-string 1)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1259 ada-spec-suffixes))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1260 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1261 ;; A "with" clause. |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1262 (cons "^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)" |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1263 (lambda () |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1264 (ff-get-file |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1265 ada-search-directories-internal |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1266 (ada-make-filename-from-adaname (match-string 1)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1267 ada-spec-suffixes))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1268 )) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1269 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1270 ;; Support for outline-minor-mode |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1271 (set (make-local-variable 'outline-regexp) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1272 "\\([ \t]*\\(procedure\\|function\\|package\\|if\\|while\\|for\\|declare\\|case\\|end\\|begin\\|loop\\)\\|--\\)") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1273 (set (make-local-variable 'outline-level) 'ada-outline-level) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1274 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1275 ;; Support for imenu : We want a sorted index |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1276 (setq imenu-sort-function 'imenu--sort-by-name) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1277 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1278 ;; Support for ispell : Check only comments |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1279 (set (make-local-variable 'ispell-check-comments) 'exclusive) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1280 |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1281 ;; Support for align |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1282 (add-to-list 'align-dq-string-modes 'ada-mode) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1283 (add-to-list 'align-open-comment-modes 'ada-mode) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1284 (set (make-local-variable 'align-region-separate) ada-align-region-separate) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1285 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1286 ;; Exclude comments alone on line from alignment. |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1287 (add-to-list 'align-exclude-rules-list |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1288 '(ada-solo-comment |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1289 (regexp . "^\\(\\s-*\\)--") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1290 (modes . '(ada-mode)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1291 (add-to-list 'align-exclude-rules-list |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1292 '(ada-solo-use |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1293 (regexp . "^\\(\\s-*\\)\\<use\\>") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1294 (modes . '(ada-mode)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1295 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1296 (setq ada-align-modes nil) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1297 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1298 (add-to-list 'ada-align-modes |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1299 '(ada-declaration-assign |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1300 (regexp . "[^:]\\(\\s-*\\):[^:]") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1301 (valid . (lambda() (not (ada-in-comment-p)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1302 (repeat . t) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1303 (modes . '(ada-mode)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1304 (add-to-list 'ada-align-modes |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1305 '(ada-associate |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1306 (regexp . "[^=]\\(\\s-*\\)=>") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1307 (valid . (lambda() (not (ada-in-comment-p)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1308 (modes . '(ada-mode)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1309 (add-to-list 'ada-align-modes |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1310 '(ada-comment |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1311 (regexp . "\\(\\s-*\\)--") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1312 (modes . '(ada-mode)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1313 (add-to-list 'ada-align-modes |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1314 '(ada-use |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1315 (regexp . "\\(\\s-*\\)\\<use\\s-") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1316 (valid . (lambda() (not (ada-in-comment-p)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1317 (modes . '(ada-mode)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1318 (add-to-list 'ada-align-modes |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1319 '(ada-at |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1320 (regexp . "\\(\\s-+\\)at\\>") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1321 (modes . '(ada-mode)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1322 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1323 (setq align-mode-rules-list ada-align-modes) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
1324 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1325 ;; Set up the contextual menu |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1326 (if ada-popup-key |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1327 (define-key ada-mode-map ada-popup-key 'ada-popup-menu)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1328 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1329 ;; Support for Abbreviations (the user still need to "M-x abbrev-mode" |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1330 (define-abbrev-table 'ada-mode-abbrev-table ()) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1331 (setq local-abbrev-table ada-mode-abbrev-table) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1332 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
1333 ;; Support for which-function mode |
52692
3ec76ef338f9
(ada-mode): Don't use advice. Instead, set which-func-functions.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
1334 (make-local-variable 'which-func-functions) |
3ec76ef338f9
(ada-mode): Don't use advice. Instead, set which-func-functions.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
1335 (setq which-func-functions '(ada-which-function)) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
1336 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1337 ;; Support for indent-new-comment-line (Especially for XEmacs) |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
1338 (set (make-local-variable 'comment-multi-line) nil) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1339 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1340 (setq major-mode 'ada-mode |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1341 mode-name "Ada") |
10705 | 1342 |
1343 (use-local-map ada-mode-map) | |
1344 | |
38446
f63fbebe03fb
(ada-mode): Avoid unneeded version checks.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38422
diff
changeset
|
1345 (easy-menu-add ada-mode-menu ada-mode-map) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1346 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1347 (set-syntax-table ada-mode-syntax-table) |
10705 | 1348 |
1349 (if ada-clean-buffer-before-saving | |
1350 (progn | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1351 ;; remove all spaces at the end of lines in the whole buffer. |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
1352 (add-hook 'local-write-file-hooks 'delete-trailing-whitespace) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1353 ;; convert all tabs to the correct number of spaces. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1354 (add-hook 'local-write-file-hooks |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1355 (lambda () (untabify (point-min) (point-max)))))) |
10705 | 1356 |
62213
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1357 (set (make-local-variable 'skeleton-further-elements) |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1358 '((< '(backward-delete-char-untabify |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1359 (min ada-indent (current-column)))))) |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1360 (add-hook 'skeleton-end-hook 'ada-adjust-case-skeleton nil t) |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1361 |
62772
f2892faa87d4
* progmodes/ada-mode.el (ada-mode):
Lute Kamstra <lute@gnu.org>
parents:
62213
diff
changeset
|
1362 (run-mode-hooks 'ada-mode-hook) |
10705 | 1363 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1364 ;; To be run after the hook, in case the user modified |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1365 ;; ada-fill-comment-prefix |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1366 (make-local-variable 'comment-start) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1367 (if ada-fill-comment-prefix |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1368 (set 'comment-start ada-fill-comment-prefix) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1369 (set 'comment-start "-- ")) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
1370 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1371 ;; Run this after the hook to give the users a chance to activate |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1372 ;; font-lock-mode |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1373 |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
1374 (unless (featurep 'xemacs) |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
1375 (ada-initialize-syntax-table-properties) |
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
1376 (add-hook 'font-lock-mode-hook 'ada-handle-syntax-table-properties nil t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1377 |
10705 | 1378 ;; the following has to be done after running the ada-mode-hook |
1379 ;; because users might want to set the values of these variable | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1380 ;; inside the hook |
10705 | 1381 |
1382 (cond ((eq ada-language-version 'ada83) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1383 (setq ada-keywords ada-83-keywords)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1384 ((eq ada-language-version 'ada95) |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
1385 (setq ada-keywords ada-95-keywords)) |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
1386 ((eq ada-language-version 'ada2005) |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
1387 (setq ada-keywords ada-2005-keywords))) |
10705 | 1388 |
1389 (if ada-auto-case | |
1390 (ada-activate-keys-for-case))) | |
1391 | |
62213
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1392 (defun ada-adjust-case-skeleton () |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1393 "Adjust the case of the text inserted by a skeleton." |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1394 (save-excursion |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1395 (let ((aa-end (point))) |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1396 (ada-adjust-case-region |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1397 (progn (goto-char (symbol-value 'beg)) (forward-word -1) (point)) |
39b445ca202b
(ada-adjust-case-skeleton): Moved from ada-stmt.el.
Richard M. Stallman <rms@gnu.org>
parents:
59237
diff
changeset
|
1398 (goto-char aa-end))))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1399 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1400 (defun ada-region-selected () |
87401
5c852af4e53c
(ada-region-selected): Use `use-region-p'.
Richard M. Stallman <rms@gnu.org>
parents:
84917
diff
changeset
|
1401 "Should we operate on an active region?" |
5c852af4e53c
(ada-region-selected): Use `use-region-p'.
Richard M. Stallman <rms@gnu.org>
parents:
84917
diff
changeset
|
1402 (if (fboundp 'use-region-p) |
5c852af4e53c
(ada-region-selected): Use `use-region-p'.
Richard M. Stallman <rms@gnu.org>
parents:
84917
diff
changeset
|
1403 (use-region-p) |
5c852af4e53c
(ada-region-selected): Use `use-region-p'.
Richard M. Stallman <rms@gnu.org>
parents:
84917
diff
changeset
|
1404 (region-active-p))) |
10705 | 1405 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1406 ;;----------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1407 ;; auto-casing |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
1408 ;; Since Ada is case-insensitive, the Ada mode provides an extensive set of |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1409 ;; functions to auto-case identifiers, keywords, ... |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1410 ;; The basic rules for autocasing are defined through the variables |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1411 ;; `ada-case-attribute', `ada-case-keyword' and `ada-case-identifier'. These |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1412 ;; are references to the functions that will do the actual casing. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1413 ;; |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1414 ;; However, in most cases, the user will want to define some exceptions to |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1415 ;; these casing rules. This is done through a list of files, that contain |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1416 ;; one word per line. These files are stored in `ada-case-exception-file'. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1417 ;; For backward compatibility, this variable can also be a string. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1418 ;;----------------------------------------------------------------- |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1419 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1420 (defun ada-save-exceptions-to-file (file-name) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1421 "Save the casing exception lists to the file FILE-NAME. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1422 Casing exception lists are `ada-case-exception' and `ada-case-exception-substring'." |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1423 (find-file (expand-file-name file-name)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1424 (erase-buffer) |
84917
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
1425 (mapc (lambda (x) (insert (car x) "\n")) |
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
1426 (sort (copy-sequence ada-case-exception) |
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
1427 (lambda(a b) (string< (car a) (car b))))) |
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
1428 (mapc (lambda (x) (insert "*" (car x) "\n")) |
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
1429 (sort (copy-sequence ada-case-exception-substring) |
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
1430 (lambda(a b) (string< (car a) (car b))))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1431 (save-buffer) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1432 (kill-buffer nil) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1433 ) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
1434 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1435 (defun ada-create-case-exception (&optional word) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1436 "Define WORD as an exception for the casing system. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1437 If WORD is not given, then the current word in the buffer is used instead. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1438 The new words is added to the first file in `ada-case-exception-file'. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1439 The standard casing rules will no longer apply to this word." |
10705 | 1440 (interactive) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1441 (let ((previous-syntax-table (syntax-table)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1442 file-name |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1443 ) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1444 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1445 (cond ((stringp ada-case-exception-file) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1446 (setq file-name ada-case-exception-file)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1447 ((listp ada-case-exception-file) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1448 (setq file-name (car ada-case-exception-file))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1449 (t |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1450 (error (concat "No exception file specified. " |
63425
d6e1fdb10546
(ada-create-case-exception, ada-create-case-exception-substring,
Juanma Barranquero <lekktu@gmail.com>
parents:
62772
diff
changeset
|
1451 "See variable ada-case-exception-file")))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1452 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1453 (set-syntax-table ada-mode-symbol-syntax-table) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1454 (unless word |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1455 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1456 (skip-syntax-backward "w") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1457 (setq word (buffer-substring-no-properties |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1458 (point) (save-excursion (forward-word 1) (point)))))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1459 (set-syntax-table previous-syntax-table) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1460 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1461 ;; Reread the exceptions file, in case it was modified by some other, |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1462 (ada-case-read-exceptions-from-file file-name) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1463 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1464 ;; If the word is already in the list, even with a different casing |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1465 ;; we simply want to replace it. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1466 (if (and (not (equal ada-case-exception '())) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1467 (assoc-string word ada-case-exception t)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1468 (setcar (assoc-string word ada-case-exception t) word) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1469 (add-to-list 'ada-case-exception (cons word t)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1470 ) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1471 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1472 (ada-save-exceptions-to-file file-name) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1473 )) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1474 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1475 (defun ada-create-case-exception-substring (&optional word) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1476 "Define the substring WORD as an exception for the casing system. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1477 If WORD is not given, then the current word in the buffer is used instead, |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1478 or the selected region if any is active. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1479 The new word is added to the first file in `ada-case-exception-file'. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1480 When auto-casing a word, this substring will be special-cased, unless the |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1481 word itself has a special casing." |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1482 (interactive) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1483 (let ((file-name |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1484 (cond ((stringp ada-case-exception-file) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1485 ada-case-exception-file) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1486 ((listp ada-case-exception-file) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1487 (car ada-case-exception-file)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1488 (t |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
1489 (error (concat "No exception file specified. " |
63425
d6e1fdb10546
(ada-create-case-exception, ada-create-case-exception-substring,
Juanma Barranquero <lekktu@gmail.com>
parents:
62772
diff
changeset
|
1490 "See variable ada-case-exception-file")))))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1491 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1492 ;; Find the substring to define as an exception. Order is: the parameter, |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1493 ;; if any, or the selected region, or the word under the cursor |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1494 (cond |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1495 (word nil) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1496 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1497 ((ada-region-selected) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1498 (setq word (buffer-substring-no-properties |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1499 (region-beginning) (region-end)))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1500 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1501 (t |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1502 (let ((underscore-syntax (char-syntax ?_))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1503 (unwind-protect |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1504 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1505 (modify-syntax-entry ?_ "." (syntax-table)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1506 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1507 (skip-syntax-backward "w") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1508 (set 'word (buffer-substring-no-properties |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1509 (point) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1510 (save-excursion (forward-word 1) (point)))))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1511 (modify-syntax-entry ?_ (make-string 1 underscore-syntax) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1512 (syntax-table)))))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1513 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1514 ;; Reread the exceptions file, in case it was modified by some other, |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1515 (ada-case-read-exceptions-from-file file-name) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1516 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1517 ;; If the word is already in the list, even with a different casing |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1518 ;; we simply want to replace it. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1519 (if (and (not (equal ada-case-exception-substring '())) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1520 (assoc-string word ada-case-exception-substring t)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1521 (setcar (assoc-string word ada-case-exception-substring t) word) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1522 (add-to-list 'ada-case-exception-substring (cons word t)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1523 ) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1524 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1525 (ada-save-exceptions-to-file file-name) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1526 |
65584
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
1527 (message "%s" (concat "Defining " word " as a casing exception")))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1528 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1529 (defun ada-case-read-exceptions-from-file (file-name) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1530 "Read the content of the casing exception file FILE-NAME." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1531 (if (file-readable-p (expand-file-name file-name)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1532 (let ((buffer (current-buffer))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1533 (find-file (expand-file-name file-name)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1534 (set-syntax-table ada-mode-symbol-syntax-table) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1535 (widen) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1536 (goto-char (point-min)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1537 (while (not (eobp)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1538 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1539 ;; If the item is already in the list, even with an other casing, |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1540 ;; do not add it again. This way, the user can easily decide which |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1541 ;; priority should be applied to each casing exception |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1542 (let ((word (buffer-substring-no-properties |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1543 (point) (save-excursion (forward-word 1) (point))))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1544 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1545 ;; Handling a substring ? |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1546 (if (char-equal (string-to-char word) ?*) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1547 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1548 (setq word (substring word 1)) |
55730
b4eeb441c089
Use assoc-string, not assoc-ignore-case.
Richard M. Stallman <rms@gnu.org>
parents:
54889
diff
changeset
|
1549 (unless (assoc-string word ada-case-exception-substring t) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1550 (add-to-list 'ada-case-exception-substring (cons word t)))) |
55730
b4eeb441c089
Use assoc-string, not assoc-ignore-case.
Richard M. Stallman <rms@gnu.org>
parents:
54889
diff
changeset
|
1551 (unless (assoc-string word ada-case-exception t) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1552 (add-to-list 'ada-case-exception (cons word t))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1553 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1554 (forward-line 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1555 (kill-buffer nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1556 (set-buffer buffer))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1557 ) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1558 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1559 (defun ada-case-read-exceptions () |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1560 "Read all the casing exception files from `ada-case-exception-file'." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1561 (interactive) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1562 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1563 ;; Reinitialize the casing exception list |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1564 (setq ada-case-exception '() |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1565 ada-case-exception-substring '()) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1566 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1567 (cond ((stringp ada-case-exception-file) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1568 (ada-case-read-exceptions-from-file ada-case-exception-file)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1569 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1570 ((listp ada-case-exception-file) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1571 (mapcar 'ada-case-read-exceptions-from-file |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1572 ada-case-exception-file)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1573 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1574 (defun ada-adjust-case-substring () |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1575 "Adjust case of substrings in the previous word." |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1576 (interactive) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1577 (let ((substrings ada-case-exception-substring) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1578 (max (point)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1579 (case-fold-search t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1580 (underscore-syntax (char-syntax ?_)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1581 re) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1582 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1583 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1584 (forward-word -1) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
1585 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1586 (unwind-protect |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1587 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1588 (modify-syntax-entry ?_ "." (syntax-table)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
1589 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1590 (while substrings |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1591 (setq re (concat "\\b" (regexp-quote (caar substrings)) "\\b")) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
1592 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1593 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1594 (while (re-search-forward re max t) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
1595 (replace-match (caar substrings) t))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1596 (setq substrings (cdr substrings)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1597 ) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1598 ) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1599 (modify-syntax-entry ?_ (make-string 1 underscore-syntax) (syntax-table))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1600 ))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1601 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1602 (defun ada-adjust-case-identifier () |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1603 "Adjust case of the previous identifier. |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
1604 The auto-casing is done according to the value of `ada-case-identifier' |
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
1605 and the exceptions defined in `ada-case-exception-file'." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1606 (interactive) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1607 (if (or (equal ada-case-exception '()) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1608 (equal (char-after) ?_)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1609 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1610 (funcall ada-case-identifier -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1611 (ada-adjust-case-substring)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1612 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1613 (progn |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1614 (let ((end (point)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1615 (start (save-excursion (skip-syntax-backward "w") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1616 (point))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1617 match) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1618 ;; If we have an exception, replace the word by the correct casing |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1619 (if (setq match (assoc-string (buffer-substring start end) |
55730
b4eeb441c089
Use assoc-string, not assoc-ignore-case.
Richard M. Stallman <rms@gnu.org>
parents:
54889
diff
changeset
|
1620 ada-case-exception t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1621 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1622 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1623 (delete-region start end) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1624 (insert (car match))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1625 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1626 ;; Else simply re-case the word |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1627 (funcall ada-case-identifier -1) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1628 (ada-adjust-case-substring)))))) |
10705 | 1629 |
1630 (defun ada-after-keyword-p () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1631 "Return t if cursor is after a keyword that is not an attribute." |
10705 | 1632 (save-excursion |
1633 (forward-word -1) | |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1634 (and (not (and (char-before) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1635 (or (= (char-before) ?_) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1636 (= (char-before) ?'))));; unless we have a _ or ' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1637 (looking-at (concat ada-keywords "[^_]"))))) |
10705 | 1638 |
1639 (defun ada-adjust-case (&optional force-identifier) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1640 "Adjust the case of the word before the character just typed. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1641 If FORCE-IDENTIFIER is non-nil then also adjust keyword as identifier." |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1642 (if (not (bobp)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1643 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1644 (forward-char -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1645 (if (and (not (bobp)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1646 ;; or if at the end of a character constant |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1647 (not (and (eq (following-char) ?') |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1648 (eq (char-before (1- (point))) ?'))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1649 ;; or if the previous character was not part of a word |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1650 (eq (char-syntax (char-before)) ?w) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1651 ;; if in a string or a comment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1652 (not (ada-in-string-or-comment-p)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1653 ) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1654 (if (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1655 (forward-word -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1656 (or (= (point) (point-min)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1657 (backward-char 1)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1658 (= (following-char) ?')) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1659 (funcall ada-case-attribute -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1660 (if (and |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1661 (not force-identifier) ; (MH) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1662 (ada-after-keyword-p)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1663 (funcall ada-case-keyword -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1664 (ada-adjust-case-identifier)))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1665 (forward-char 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
1666 )) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1667 ) |
10705 | 1668 |
1669 (defun ada-adjust-case-interactive (arg) | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1670 "Adjust the case of the previous word, and process the character just typed. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1671 ARG is the prefix the user entered with \\[universal-argument]." |
10705 | 1672 (interactive "P") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1673 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1674 (if ada-auto-case |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1675 (let ((lastk last-command-char) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1676 (previous-syntax-table (syntax-table))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1677 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1678 (unwind-protect |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1679 (progn |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1680 (set-syntax-table ada-mode-symbol-syntax-table) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1681 (cond ((or (eq lastk ?\n) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1682 (eq lastk ?\r)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1683 ;; horrible kludge |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1684 (insert " ") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1685 (ada-adjust-case) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1686 ;; horrible dekludge |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1687 (delete-backward-char 1) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1688 ;; some special keys and their bindings |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1689 (cond |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1690 ((eq lastk ?\n) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1691 (funcall ada-lfd-binding)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1692 ((eq lastk ?\r) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1693 (funcall ada-ret-binding)))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1694 ((eq lastk ?\C-i) (ada-tab)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1695 ;; Else just insert the character |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1696 ((self-insert-command (prefix-numeric-value arg)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1697 ;; if there is a keyword in front of the underscore |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1698 ;; then it should be part of an identifier (MH) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1699 (if (eq lastk ?_) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1700 (ada-adjust-case t) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1701 (ada-adjust-case)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1702 ) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1703 ;; Restore the syntax table |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1704 (set-syntax-table previous-syntax-table)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1705 ) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1706 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1707 ;; Else, no auto-casing |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1708 (cond |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1709 ((eq last-command-char ?\n) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1710 (funcall ada-lfd-binding)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1711 ((eq last-command-char ?\r) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1712 (funcall ada-ret-binding)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1713 (t |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1714 (self-insert-command (prefix-numeric-value arg)))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1715 )) |
10705 | 1716 |
1717 (defun ada-activate-keys-for-case () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1718 "Modify the key bindings for all the keys that should readjust the casing." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1719 (interactive) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1720 ;; Save original key-bindings to allow swapping ret/lfd |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1721 ;; when casing is activated. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1722 ;; The 'or ...' is there to be sure that the value will not |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1723 ;; be changed again when Ada mode is called more than once |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1724 (or ada-ret-binding (setq ada-ret-binding (key-binding "\C-M"))) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1725 (or ada-lfd-binding (setq ada-lfd-binding (key-binding "\C-j"))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1726 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1727 ;; Call case modifying function after certain keys. |
10705 | 1728 (mapcar (function (lambda(key) (define-key |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1729 ada-mode-map |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1730 (char-to-string key) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1731 'ada-adjust-case-interactive))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1732 '( ?` ?_ ?# ?% ?& ?* ?( ?) ?- ?= ?+ |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1733 ?| ?\; ?: ?' ?\" ?< ?, ?. ?> ?/ ?\n 32 ?\r ))) |
10705 | 1734 |
1735 (defun ada-loose-case-word (&optional arg) | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1736 "Upcase first letter and letters following `_' in the following word. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1737 No other letter is modified. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1738 ARG is ignored, and is there for compatibility with `capitalize-word' only." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1739 (interactive) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1740 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1741 (let ((end (save-excursion (skip-syntax-forward "w") (point))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1742 (first t)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1743 (skip-syntax-backward "w") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1744 (while (and (or first (search-forward "_" end t)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1745 (< (point) end)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1746 (and first |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1747 (setq first nil)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1748 (insert-char (upcase (following-char)) 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1749 (delete-char 1))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1750 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1751 (defun ada-no-auto-case (&optional arg) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1752 "Do nothing. ARG is ignored. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1753 This function can be used for the auto-casing variables in Ada mode, to |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
1754 adapt to unusal auto-casing schemes. Since it does nothing, you can for |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1755 instance use it for `ada-case-identifier' if you don't want any special |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1756 auto-casing for identifiers, whereas keywords have to be lower-cased. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1757 See also `ada-auto-case' to disable auto casing altogether." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1758 ) |
10705 | 1759 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1760 (defun ada-capitalize-word (&optional arg) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1761 "Upcase first letter and letters following '_', lower case other letters. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1762 ARG is ignored, and is there for compatibility with `capitalize-word' only." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1763 (interactive) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1764 (let ((end (save-excursion (skip-syntax-forward "w") (point))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1765 (begin (save-excursion (skip-syntax-backward "w") (point)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1766 (modify-syntax-entry ?_ "_") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1767 (capitalize-region begin end) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1768 (modify-syntax-entry ?_ "w"))) |
10705 | 1769 |
1770 (defun ada-adjust-case-region (from to) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1771 "Adjust the case of all words in the region between FROM and TO. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1772 Attention: This function might take very long for big regions!" |
10705 | 1773 (interactive "*r") |
1774 (let ((begin nil) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1775 (end nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1776 (keywordp nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1777 (attribp nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1778 (previous-syntax-table (syntax-table))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1779 (message "Adjusting case ...") |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
1780 (unwind-protect |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1781 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1782 (set-syntax-table ada-mode-symbol-syntax-table) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1783 (goto-char to) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1784 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1785 ;; loop: look for all identifiers, keywords, and attributes |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1786 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1787 (while (re-search-backward "\\<\\(\\sw+\\)\\>" from t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1788 (setq end (match-end 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1789 (setq attribp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1790 (and (> (point) from) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1791 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1792 (forward-char -1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1793 (setq attribp (looking-at "'.[^']"))))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1794 (or |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1795 ;; do nothing if it is a string or comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1796 (ada-in-string-or-comment-p) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1797 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1798 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1799 ;; get the identifier or keyword or attribute |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1800 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1801 (setq begin (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1802 (setq keywordp (looking-at ada-keywords)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1803 (goto-char end) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1804 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1805 ;; casing according to user-option |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1806 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1807 (if attribp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1808 (funcall ada-case-attribute -1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1809 (if keywordp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1810 (funcall ada-case-keyword -1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1811 (ada-adjust-case-identifier))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1812 (goto-char begin)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1813 (message "Adjusting case ... Done")) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1814 (set-syntax-table previous-syntax-table)))) |
10705 | 1815 |
1816 (defun ada-adjust-case-buffer () | |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
1817 "Adjust the case of all words in the whole buffer. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1818 ATTENTION: This function might take very long for big buffers!" |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
1819 (interactive "*") |
10705 | 1820 (ada-adjust-case-region (point-min) (point-max))) |
1821 | |
1822 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1823 ;;-------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1824 ;; Format Parameter Lists |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1825 ;; Some special algorithms are provided to indent the parameter lists in |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1826 ;; subprogram declarations. This is done in two steps: |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1827 ;; - First parses the parameter list. The returned list has the following |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1828 ;; format: |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1829 ;; ( (<Param_Name> in? out? access? <Type_Name> <Default_Expression>) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1830 ;; ... ) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1831 ;; This is done in `ada-scan-paramlist'. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1832 ;; - Delete and recreate the parameter list in function |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1833 ;; `ada-insert-paramlist'. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1834 ;; Both steps are called from `ada-format-paramlist'. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1835 ;; Note: Comments inside the parameter list are lost. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1836 ;; The syntax has to be correct, or the reformating will fail. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1837 ;;-------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1838 |
10705 | 1839 (defun ada-format-paramlist () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1840 "Reformat the parameter list point is in." |
10705 | 1841 (interactive) |
1842 (let ((begin nil) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1843 (end nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1844 (delend nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1845 (paramlist nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1846 (previous-syntax-table (syntax-table))) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
1847 (unwind-protect |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1848 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1849 (set-syntax-table ada-mode-symbol-syntax-table) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1850 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1851 ;; check if really inside parameter list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1852 (or (ada-in-paramlist-p) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1853 (error "Not in parameter list")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1854 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1855 ;; find start of current parameter-list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1856 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1857 (concat ada-subprog-start-re "\\|\\<body\\>" ) t nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1858 (down-list 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1859 (backward-char 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1860 (setq begin (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1861 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1862 ;; find end of parameter-list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1863 (forward-sexp 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1864 (setq delend (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1865 (delete-char -1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1866 (insert "\n") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1867 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1868 ;; find end of last parameter-declaration |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1869 (forward-comment -1000) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1870 (setq end (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1871 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1872 ;; build a list of all elements of the parameter-list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1873 (setq paramlist (ada-scan-paramlist (1+ begin) end)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1874 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1875 ;; delete the original parameter-list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1876 (delete-region begin delend) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1877 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1878 ;; insert the new parameter-list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1879 (goto-char begin) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1880 (ada-insert-paramlist paramlist)) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
1881 |
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
1882 ;; restore syntax-table |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1883 (set-syntax-table previous-syntax-table) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
1884 ))) |
10705 | 1885 |
1886 (defun ada-scan-paramlist (begin end) | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1887 "Scan the parameter list found in between BEGIN and END. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1888 Return the equivalent internal parameter list." |
10705 | 1889 (let ((paramlist (list)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1890 (param (list)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1891 (notend t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1892 (apos nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1893 (epos nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1894 (semipos nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1895 (match-cons nil)) |
10705 | 1896 |
1897 (goto-char begin) | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1898 |
10705 | 1899 ;; loop until end of last parameter |
1900 (while notend | |
1901 | |
1902 ;; find first character of parameter-declaration | |
1903 (ada-goto-next-non-ws) | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1904 (setq apos (point)) |
10705 | 1905 |
1906 ;; find last character of parameter-declaration | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1907 (if (setq match-cons |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1908 (ada-search-ignore-string-comment "[ \t\n]*;" nil end t)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1909 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1910 (setq epos (car match-cons)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1911 (setq semipos (cdr match-cons))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1912 (setq epos end)) |
10705 | 1913 |
1914 ;; read name(s) of parameter(s) | |
1915 (goto-char apos) | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1916 (looking-at "\\(\\(\\sw\\|[_, \t\n]\\)*\\(\\sw\\|_\\)\\)[ \t\n]*:[^=]") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1917 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1918 (setq param (list (match-string 1))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1919 (ada-search-ignore-string-comment ":" nil epos t 'search-forward) |
10705 | 1920 |
1921 ;; look for 'in' | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1922 (setq apos (point)) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1923 (setq param |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1924 (append param |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1925 (list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1926 (consp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1927 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1928 "in" nil epos t 'word-search-forward))))) |
10705 | 1929 |
1930 ;; look for 'out' | |
1931 (goto-char apos) | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1932 (setq param |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1933 (append param |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1934 (list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1935 (consp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1936 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1937 "out" nil epos t 'word-search-forward))))) |
10705 | 1938 |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
1939 ;; look for 'access' |
10705 | 1940 (goto-char apos) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1941 (setq param |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1942 (append param |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1943 (list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1944 (consp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1945 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1946 "access" nil epos t 'word-search-forward))))) |
10705 | 1947 |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
1948 ;; skip 'in'/'out'/'access' |
10705 | 1949 (goto-char apos) |
1950 (ada-goto-next-non-ws) | |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
1951 (while (looking-at "\\<\\(in\\|out\\|access\\)\\>") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1952 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1953 (ada-goto-next-non-ws)) |
10705 | 1954 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
1955 ;; read type of parameter |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1956 ;; We accept spaces in the name, since some software like Rose |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1957 ;; generates something like: "A : B 'Class" |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
1958 (looking-at "\\<\\(\\sw\\|[_.' \t]\\)+\\>") |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1959 (setq param |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1960 (append param |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1961 (list (match-string 0)))) |
10705 | 1962 |
1963 ;; read default-expression, if there is one | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1964 (goto-char (setq apos (match-end 0))) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1965 (setq param |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1966 (append param |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1967 (list |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1968 (if (setq match-cons |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1969 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1970 ":=" nil epos t 'search-forward)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1971 (buffer-substring (car match-cons) epos) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1972 nil)))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1973 |
10705 | 1974 ;; add this parameter-declaration to the list |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1975 (setq paramlist (append paramlist (list param))) |
10705 | 1976 |
1977 ;; check if it was the last parameter | |
1978 (if (eq epos end) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1979 (setq notend nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1980 (goto-char semipos)) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
1981 ) |
10705 | 1982 (reverse paramlist))) |
1983 | |
1984 (defun ada-insert-paramlist (paramlist) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
1985 "Insert a formatted PARAMLIST in the buffer." |
10705 | 1986 (let ((i (length paramlist)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1987 (parlen 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1988 (typlen 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1989 (inp nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1990 (outp nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1991 (accessp nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1992 (column nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
1993 (firstcol nil)) |
10705 | 1994 |
1995 ;; loop until last parameter | |
1996 (while (not (zerop i)) | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
1997 (setq i (1- i)) |
10705 | 1998 |
1999 ;; get max length of parameter-name | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2000 (setq parlen (max parlen (length (nth 0 (nth i paramlist))))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2001 |
10705 | 2002 ;; get max length of type-name |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2003 (setq typlen (max typlen (length (nth 4 (nth i paramlist))))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2004 |
10705 | 2005 ;; is there any 'in' ? |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2006 (setq inp (or inp (nth 1 (nth i paramlist)))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2007 |
10705 | 2008 ;; is there any 'out' ? |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2009 (setq outp (or outp (nth 2 (nth i paramlist)))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2010 |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
2011 ;; is there any 'access' ? |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2012 (setq accessp (or accessp (nth 3 (nth i paramlist)))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2013 ) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2014 |
10705 | 2015 ;; does paramlist already start on a separate line ? |
2016 (if (save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2017 (re-search-backward "^.\\|[^ \t]" nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2018 (looking-at "^.")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2019 ;; yes => re-indent it |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2020 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2021 (ada-indent-current) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2022 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2023 (if (looking-at "\\(is\\|return\\)") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2024 (replace-match " \\1")))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2025 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2026 ;; no => insert it where we are after removing any whitespace |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2027 (fixup-whitespace) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2028 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2029 (cond |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2030 ((looking-at "[ \t]*\\(\n\\|;\\)") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2031 (replace-match "\\1")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2032 ((looking-at "[ \t]*\\(is\\|return\\)") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2033 (replace-match " \\1")))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2034 (insert " ")) |
10705 | 2035 |
2036 (insert "(") | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2037 (ada-indent-current) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2038 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2039 (setq firstcol (current-column)) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2040 (setq i (length paramlist)) |
10705 | 2041 |
2042 ;; loop until last parameter | |
2043 (while (not (zerop i)) | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2044 (setq i (1- i)) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2045 (setq column firstcol) |
10705 | 2046 |
2047 ;; insert parameter-name, space and colon | |
2048 (insert (nth 0 (nth i paramlist))) | |
2049 (indent-to (+ column parlen 1)) | |
2050 (insert ": ") | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2051 (setq column (current-column)) |
10705 | 2052 |
2053 ;; insert 'in' or space | |
2054 (if (nth 1 (nth i paramlist)) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2055 (insert "in ") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2056 (if (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2057 (or inp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2058 accessp) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2059 (not (nth 3 (nth i paramlist)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2060 (insert " "))) |
10705 | 2061 |
2062 ;; insert 'out' or space | |
2063 (if (nth 2 (nth i paramlist)) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2064 (insert "out ") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2065 (if (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2066 (or outp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2067 accessp) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2068 (not (nth 3 (nth i paramlist)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2069 (insert " "))) |
10705 | 2070 |
13231
fb78cec8e440
All doc strings changed to comply with standard Emacs conventions.
Richard M. Stallman <rms@gnu.org>
parents:
13160
diff
changeset
|
2071 ;; insert 'access' |
10705 | 2072 (if (nth 3 (nth i paramlist)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2073 (insert "access ")) |
10705 | 2074 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2075 (setq column (current-column)) |
10705 | 2076 |
2077 ;; insert type-name and, if necessary, space and default-expression | |
2078 (insert (nth 4 (nth i paramlist))) | |
2079 (if (nth 5 (nth i paramlist)) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2080 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2081 (indent-to (+ column typlen 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2082 (insert (nth 5 (nth i paramlist))))) |
10705 | 2083 |
2084 ;; check if it was the last parameter | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2085 (if (zerop i) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2086 (insert ")") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2087 ;; no => insert ';' and newline and indent |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2088 (insert ";") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2089 (newline) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2090 (indent-to firstcol)) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2091 ) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2092 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2093 ;; if anything follows, except semicolon, newline, is or return |
10705 | 2094 ;; put it in a new line and indent it |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2095 (unless (looking-at "[ \t]*\\(;\\|\n\\|is\\|return\\)") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2096 (ada-indent-newline-indent)) |
10705 | 2097 )) |
2098 | |
2099 | |
2100 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2101 ;;;---------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2102 ;; Indentation Engine |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2103 ;; All indentations are indicated as a two-element string: |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2104 ;; - position of reference in the buffer |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2105 ;; - offset to indent from this position (can also be a symbol or a list |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2106 ;; that are evaluated) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2107 ;; Thus the total indentation for a line is the column number of the reference |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2108 ;; position plus whatever value the evaluation of the second element provides. |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
2109 ;; This mechanism is used so that the Ada mode can "explain" how the |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2110 ;; indentation was calculated, by showing which variables were used. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2111 ;; |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2112 ;; The indentation itself is done in only one pass: first we try to guess in |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2113 ;; what context we are by looking at the following keyword or punctuation |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2114 ;; sign. If nothing remarkable is found, just try to guess the indentation |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2115 ;; based on previous lines. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2116 ;; |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2117 ;; The relevant functions for indentation are: |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2118 ;; - `ada-indent-region': Re-indent a region of text |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2119 ;; - `ada-justified-indent-current': Re-indent the current line and shows the |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2120 ;; calculation that were done |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2121 ;; - `ada-indent-current': Re-indent the current line |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2122 ;; - `ada-get-current-indent': Calculate the indentation for the current line, |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2123 ;; based on the context (see above). |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2124 ;; - `ada-get-indent-*': Calculate the indentation in a specific context. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2125 ;; For efficiency, these functions do not check they are in the correct |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2126 ;; context. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2127 ;;;---------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2128 |
10705 | 2129 (defun ada-indent-region (beg end) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2130 "Indent the region between BEG end END." |
10705 | 2131 (interactive "*r") |
2132 (goto-char beg) | |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
2133 (let ((block-done 0) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2134 (lines-remaining (count-lines beg end)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2135 (msg (format "%%4d out of %4d lines remaining ..." |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2136 (count-lines beg end))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2137 (endmark (copy-marker end))) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
2138 ;; catch errors while indenting |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2139 (while (< (point) endmark) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2140 (if (> block-done 39) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2141 (progn |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2142 (setq lines-remaining (- lines-remaining block-done) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2143 block-done 0) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2144 (message msg lines-remaining))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2145 (if (= (char-after) ?\n) nil |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2146 (ada-indent-current)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2147 (forward-line 1) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2148 (setq block-done (1+ block-done))) |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
2149 (message "Indenting ... done"))) |
10705 | 2150 |
2151 (defun ada-indent-newline-indent () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2152 "Indent the current line, insert a newline and then indent the new line." |
10705 | 2153 (interactive "*") |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
2154 (ada-indent-current) |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
2155 (newline) |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
2156 (ada-indent-current)) |
10705 | 2157 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2158 (defun ada-indent-newline-indent-conditional () |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2159 "Insert a newline and indent it. |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2160 The original line is indented first if `ada-indent-after-return' is non-nil." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2161 (interactive "*") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2162 (if ada-indent-after-return (ada-indent-current)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2163 (newline) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2164 (ada-indent-current)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2165 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2166 (defun ada-justified-indent-current () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2167 "Indent the current line and explain how the calculation was done." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2168 (interactive) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2169 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2170 (let ((cur-indent (ada-indent-current))) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2171 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2172 (let ((line (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2173 (goto-char (car cur-indent)) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2174 (count-lines 1 (point))))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2175 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2176 (if (equal (cdr cur-indent) '(0)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2177 (message (concat "same indentation as line " (number-to-string line))) |
65584
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2178 (message "%s" (mapconcat (lambda(x) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2179 (cond |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2180 ((symbolp x) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2181 (symbol-name x)) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2182 ((numberp x) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2183 (number-to-string x)) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2184 ((listp x) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2185 (concat "- " (symbol-name (cadr x)))) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2186 )) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2187 (cdr cur-indent) |
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2188 " + ")))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2189 (save-excursion |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2190 (goto-char (car cur-indent)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2191 (sit-for 1)))) |
10705 | 2192 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2193 (defun ada-batch-reformat () |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2194 "Re-indent and re-case all the files found on the command line. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2195 This function should be used from the Unix/Windows command line, with a |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2196 command like: |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2197 emacs -batch -l ada-mode -f ada-batch-reformat file1 file2 ..." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2198 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2199 (while command-line-args-left |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2200 (let ((source (car command-line-args-left))) |
65584
6dbba0bd58df
Message format fixes, commit no. 3
Deepak Goel <deego@gnufans.org>
parents:
65223
diff
changeset
|
2201 (message "Formating %s" source) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2202 (find-file source) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2203 (ada-indent-region (point-min) (point-max)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2204 (ada-adjust-case-buffer) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2205 (write-file source)) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2206 (setq command-line-args-left (cdr command-line-args-left))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2207 (message "Done") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2208 (kill-emacs 0)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2209 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2210 (defsubst ada-goto-previous-word () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2211 "Move point to the beginning of the previous word of Ada code. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2212 Return the new position of point or nil if not found." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2213 (ada-goto-next-word t)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2214 |
10705 | 2215 (defun ada-indent-current () |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2216 "Indent current line as Ada code. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2217 Return the calculation that was done, including the reference point and the |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2218 offset." |
10705 | 2219 (interactive) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2220 (let ((previous-syntax-table (syntax-table)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2221 (orgpoint (point-marker)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2222 cur-indent tmp-indent |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2223 prev-indent) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2224 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2225 (unwind-protect |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2226 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2227 (set-syntax-table ada-mode-symbol-syntax-table) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2228 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2229 ;; This need to be done here so that the advice is not always |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2230 ;; activated (this might interact badly with other modes) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2231 (if (featurep 'xemacs) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2232 (ad-activate 'parse-partial-sexp t)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2233 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2234 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2235 (setq cur-indent |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2236 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2237 ;; Not First line in the buffer ? |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2238 (if (save-excursion (zerop (forward-line -1))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2239 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2240 (back-to-indentation) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2241 (ada-get-current-indent)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2242 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2243 ;; first line in the buffer |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2244 (list (point-min) 0)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2245 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2246 ;; Evaluate the list to get the column to indent to |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2247 ;; prev-indent contains the column to indent to |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2248 (if cur-indent |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2249 (setq prev-indent (save-excursion (goto-char (car cur-indent)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2250 (current-column)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2251 tmp-indent (cdr cur-indent)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2252 (setq prev-indent 0 tmp-indent '())) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2253 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2254 (while (not (null tmp-indent)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2255 (cond |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2256 ((numberp (car tmp-indent)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2257 (setq prev-indent (+ prev-indent (car tmp-indent)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2258 (t |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2259 (setq prev-indent (+ prev-indent (eval (car tmp-indent))))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2260 ) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2261 (setq tmp-indent (cdr tmp-indent))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2262 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2263 ;; only re-indent if indentation is different then the current |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2264 (if (= (save-excursion (back-to-indentation) (current-column)) prev-indent) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2265 nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2266 (beginning-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2267 (delete-horizontal-space) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2268 (indent-to prev-indent)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2269 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2270 ;; restore position of point |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2271 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2272 (goto-char orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2273 (if (< (current-column) (current-indentation)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2274 (back-to-indentation))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2275 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2276 ;; restore syntax-table |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2277 (set-syntax-table previous-syntax-table) |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
2278 (if (featurep 'xemacs) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2279 (ad-deactivate 'parse-partial-sexp)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2280 ) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2281 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2282 cur-indent |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2283 )) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2284 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2285 (defun ada-get-current-indent () |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2286 "Return the indentation to use for the current line." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2287 (let (column |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2288 pos |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2289 match-cons |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2290 result |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2291 (orgpoint (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2292 (beginning-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2293 (forward-comment -10000) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2294 (forward-line 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2295 (point)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2296 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2297 (setq result |
10705 | 2298 (cond |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2299 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2300 ;;----------------------------- |
10705 | 2301 ;; in open parenthesis, but not in parameter-list |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2302 ;;----------------------------- |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2303 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2304 ((and ada-indent-to-open-paren |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2305 (not (ada-in-paramlist-p)) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2306 (setq column (ada-in-open-paren-p))) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2307 |
10705 | 2308 ;; check if we have something like this (Table_Component_Type => |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2309 ;; Source_File_Record) |
10705 | 2310 (save-excursion |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2311 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2312 ;; Align the closing parenthesis on the opening one |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2313 (if (= (following-char) ?\)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2314 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2315 (goto-char column) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2316 (skip-chars-backward " \t") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2317 (list (1- (point)) 0)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2318 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2319 (if (and (skip-chars-backward " \t") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2320 (= (char-before) ?\n) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2321 (not (forward-comment -10000)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2322 (= (char-before) ?>)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2323 ;; ??? Could use a different variable |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2324 (list column 'ada-broken-indent) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2325 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2326 ;; We want all continuation lines to be indented the same |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2327 ;; (ada-broken-line from the opening parenthesis. However, in |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2328 ;; parameter list, each new parameter should be indented at the |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2329 ;; column as the opening parenthesis. |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2330 |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2331 ;; A special case to handle nested boolean expressions, as in |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2332 ;; ((B |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2333 ;; and then C) -- indented by ada-broken-indent |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2334 ;; or else D) -- indenting this line. |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2335 ;; ??? This is really a hack, we should have a proper way to go to |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2336 ;; ??? the beginning of the statement |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2337 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2338 (if (= (char-before) ?\)) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2339 (backward-sexp)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2340 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2341 (if (memq (char-before) '(?, ?\; ?\( ?\))) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2342 (list column 0) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2343 (list column 'ada-continuation-indent) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2344 ))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2345 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2346 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2347 ;; at end of buffer |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2348 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2349 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2350 ((not (char-after)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2351 (ada-indent-on-previous-lines nil orgpoint orgpoint)) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2352 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2353 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2354 ;; starting with e |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2355 ;;--------------------------- |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2356 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2357 ((= (downcase (char-after)) ?e) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2358 (cond |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2359 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2360 ;; ------- end ------ |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2361 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2362 ((looking-at "end\\>") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2363 (let ((label 0) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2364 limit) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2365 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2366 (ada-goto-matching-start 1) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2367 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2368 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2369 ;; found 'loop' => skip back to 'while' or 'for' |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2370 ;; if 'loop' is not on a separate line |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2371 ;; Stop the search for 'while' and 'for' when a ';' is encountered. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2372 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2373 (if (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2374 (beginning-of-line) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2375 (looking-at ".+\\<loop\\>")) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2376 (progn |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2377 (save-excursion |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2378 (setq limit (car (ada-search-ignore-string-comment ";" t)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2379 (if (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2380 (and |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2381 (setq match-cons |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2382 (ada-search-ignore-string-comment ada-loop-start-re t limit)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2383 (not (looking-at "\\<loop\\>")))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2384 (progn |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2385 (goto-char (car match-cons)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2386 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2387 (beginning-of-line) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2388 (if (looking-at ada-named-block-re) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2389 (setq label (- ada-label-indent)))))))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2390 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2391 ;; found 'record' => |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2392 ;; if the keyword is found at the beginning of a line (or just |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2393 ;; after limited, we indent on it, otherwise we indent on the |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2394 ;; beginning of the type declaration) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2395 ;; type A is (B : Integer; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2396 ;; C : Integer) is record |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2397 ;; end record; -- This is badly indented otherwise |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2398 (if (looking-at "record") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2399 (if (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2400 (beginning-of-line) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2401 (looking-at "^[ \t]*\\(record\\|limited record\\)")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2402 (list (save-excursion (back-to-indentation) (point)) 0) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2403 (list (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2404 (car (ada-search-ignore-string-comment "\\<type\\>" t))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2405 0)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2406 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2407 ;; Else keep the same indentation as the beginning statement |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2408 (list (+ (save-excursion (back-to-indentation) (point)) label) 0))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2409 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2410 ;; ------ exception ---- |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2411 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2412 ((looking-at "exception\\>") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2413 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2414 (ada-goto-matching-start 1) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2415 (list (save-excursion (back-to-indentation) (point)) 0))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2416 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2417 ;; else |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2418 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2419 ((looking-at "else\\>") |
73434
3586ad4a01a1
(ada-in-string-p): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
73422
diff
changeset
|
2420 (if (save-excursion (ada-goto-previous-word) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2421 (looking-at "\\<or\\>")) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2422 (ada-indent-on-previous-lines nil orgpoint orgpoint) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2423 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2424 (ada-goto-matching-start 1 nil t) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2425 (list (progn (back-to-indentation) (point)) 0)))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2426 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2427 ;; elsif |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2428 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2429 ((looking-at "elsif\\>") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2430 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2431 (ada-goto-matching-start 1 nil t) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2432 (list (progn (back-to-indentation) (point)) 0))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2433 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2434 )) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2435 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2436 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2437 ;; starting with w (when) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2438 ;;--------------------------- |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2439 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2440 ((and (= (downcase (char-after)) ?w) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2441 (looking-at "when\\>")) |
10705 | 2442 (save-excursion |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2443 (ada-goto-matching-start 1) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2444 (list (save-excursion (back-to-indentation) (point)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2445 'ada-when-indent))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2446 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2447 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2448 ;; starting with t (then) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2449 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2450 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2451 ((and (= (downcase (char-after)) ?t) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2452 (looking-at "then\\>")) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2453 (if (save-excursion (ada-goto-previous-word) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2454 (looking-at "and\\>")) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2455 (ada-indent-on-previous-lines nil orgpoint orgpoint) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2456 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2457 ;; Select has been added for the statement: "select ... then abort" |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2458 (ada-search-ignore-string-comment |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2459 "\\<\\(elsif\\|if\\|select\\)\\>" t nil) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2460 (list (progn (back-to-indentation) (point)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2461 'ada-stmt-end-indent)))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2462 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2463 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2464 ;; starting with l (loop) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2465 ;;--------------------------- |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2466 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2467 ((and (= (downcase (char-after)) ?l) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2468 (looking-at "loop\\>")) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2469 (setq pos (point)) |
10705 | 2470 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2471 (goto-char (match-end 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2472 (ada-goto-stmt-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2473 (if (looking-at "\\<\\(loop\\|if\\)\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2474 (ada-indent-on-previous-lines nil orgpoint orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2475 (unless (looking-at ada-loop-start-re) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2476 (ada-search-ignore-string-comment ada-loop-start-re |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2477 nil pos)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2478 (if (looking-at "\\<loop\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2479 (ada-indent-on-previous-lines nil orgpoint orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2480 (list (progn (back-to-indentation) (point)) 'ada-stmt-end-indent))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2481 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2482 ;;---------------------------- |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2483 ;; starting with l (limited) or r (record) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2484 ;;---------------------------- |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2485 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2486 ((or (and (= (downcase (char-after)) ?l) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2487 (looking-at "limited\\>")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2488 (and (= (downcase (char-after)) ?r) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2489 (looking-at "record\\>"))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2490 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2491 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2492 (ada-search-ignore-string-comment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2493 "\\<\\(type\\|use\\)\\>" t nil) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2494 (if (looking-at "\\<use\\>") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2495 (ada-search-ignore-string-comment "for" t nil nil |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2496 'word-search-backward)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2497 (list (progn (back-to-indentation) (point)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2498 'ada-indent-record-rel-type))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2499 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2500 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2501 ;; starting with b (begin) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2502 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2503 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2504 ((and (= (downcase (char-after)) ?b) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2505 (looking-at "begin\\>")) |
10705 | 2506 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2507 (if (ada-goto-matching-decl-start t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2508 (list (progn (back-to-indentation) (point)) 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2509 (ada-indent-on-previous-lines nil orgpoint orgpoint)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2510 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2511 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2512 ;; starting with i (is) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2513 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2514 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2515 ((and (= (downcase (char-after)) ?i) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2516 (looking-at "is\\>")) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2517 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2518 (if (and ada-indent-is-separate |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2519 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2520 (goto-char (match-end 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2521 (ada-goto-next-non-ws (save-excursion (end-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2522 (point))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2523 (looking-at "\\<abstract\\>\\|\\<separate\\>"))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2524 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2525 (ada-goto-stmt-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2526 (list (progn (back-to-indentation) (point)) 'ada-indent)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2527 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2528 (ada-goto-stmt-start) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2529 (if (looking-at "\\<package\\|procedure\\|function\\>") |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2530 (list (progn (back-to-indentation) (point)) 0) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2531 (list (progn (back-to-indentation) (point)) 'ada-indent))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2532 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2533 ;;--------------------------- |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2534 ;; starting with r (return, renames) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2535 ;;--------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2536 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2537 ((and (= (downcase (char-after)) ?r) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2538 (looking-at "re\\(turn\\|names\\)\\>")) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2539 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2540 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2541 (let ((var 'ada-indent-return)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2542 ;; If looking at a renames, skip the 'return' statement too |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2543 (if (looking-at "renames") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2544 (let (pos) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2545 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2546 (set 'pos (ada-search-ignore-string-comment ";\\|return\\>" t))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2547 (if (and pos |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2548 (= (downcase (char-after (car pos))) ?r)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2549 (goto-char (car pos))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2550 (set 'var 'ada-indent-renames))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2551 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2552 (forward-comment -1000) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2553 (if (= (char-before) ?\)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2554 (forward-sexp -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2555 (forward-word -1)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2556 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2557 ;; If there is a parameter list, and we have a function declaration |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2558 ;; or a access to subprogram declaration |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2559 (let ((num-back 1)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2560 (if (and (= (following-char) ?\() |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2561 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2562 (or (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2563 (backward-word 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2564 (looking-at "\\(function\\|procedure\\)\\>")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2565 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2566 (backward-word 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2567 (set 'num-back 2) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2568 (looking-at "\\(function\\|procedure\\)\\>"))))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2569 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2570 ;; The indentation depends of the value of ada-indent-return |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2571 (if (<= (eval var) 0) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2572 (list (point) (list '- var)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2573 (list (progn (backward-word num-back) (point)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2574 var)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2575 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2576 ;; Else there is no parameter list, but we have a function |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2577 ;; Only do something special if the user want to indent |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2578 ;; relative to the "function" keyword |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2579 (if (and (> (eval var) 0) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2580 (save-excursion (forward-word -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2581 (looking-at "function\\>"))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2582 (list (progn (forward-word -1) (point)) var) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2583 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2584 ;; Else... |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2585 (ada-indent-on-previous-lines nil orgpoint orgpoint))))))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2586 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2587 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2588 ;; starting with 'o' or 'p' |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2589 ;; 'or' as statement-start |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2590 ;; 'private' as statement-start |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2591 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2592 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2593 ((and (or (= (downcase (char-after)) ?o) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2594 (= (downcase (char-after)) ?p)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2595 (or (ada-looking-at-semi-or) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2596 (ada-looking-at-semi-private))) |
10705 | 2597 (save-excursion |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2598 ;; ??? Wasn't this done already in ada-looking-at-semi-or ? |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2599 (ada-goto-matching-start 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2600 (list (progn (back-to-indentation) (point)) 0))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2601 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2602 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2603 ;; starting with 'd' (do) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2604 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2605 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2606 ((and (= (downcase (char-after)) ?d) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2607 (looking-at "do\\>")) |
10705 | 2608 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2609 (ada-goto-stmt-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2610 (list (progn (back-to-indentation) (point)) 'ada-stmt-end-indent))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2611 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2612 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2613 ;; starting with '-' (comment) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2614 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2615 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2616 ((= (char-after) ?-) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2617 (if ada-indent-comment-as-code |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2618 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2619 ;; Indent comments on previous line comments if required |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2620 ;; We must use a search-forward (even if the code is more complex), |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2621 ;; since we want to find the beginning of the comment. |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2622 (let (pos) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2623 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2624 (if (and ada-indent-align-comments |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2625 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2626 (forward-line -1) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2627 (beginning-of-line) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2628 (while (and (not pos) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2629 (search-forward "--" |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2630 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2631 (end-of-line) (point)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2632 t)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2633 (unless (ada-in-string-p) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2634 (setq pos (point)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2635 pos)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2636 (list (- pos 2) 0) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2637 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2638 ;; Else always on previous line |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2639 (ada-indent-on-previous-lines nil orgpoint orgpoint))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2640 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2641 ;; Else same indentation as the previous line |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2642 (list (save-excursion (back-to-indentation) (point)) 0))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2643 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2644 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2645 ;; starting with '#' (preprocessor line) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2646 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2647 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2648 ((and (= (char-after) ?#) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2649 (equal ada-which-compiler 'gnat) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2650 (looking-at "#[ \t]*\\(if\\|els\\(e\\|if\\)\\|end[ \t]*if\\)")) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2651 (list (save-excursion (beginning-of-line) (point)) 0)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2652 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2653 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2654 ;; starting with ')' (end of a parameter list) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2655 ;;-------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2656 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2657 ((and (not (eobp)) (= (char-after) ?\))) |
10705 | 2658 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2659 (forward-char 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2660 (backward-sexp 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2661 (list (point) 0))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2662 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2663 ;;--------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2664 ;; new/abstract/separate |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2665 ;;--------------------------------- |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2666 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2667 ((looking-at "\\(new\\|abstract\\|separate\\)\\>") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2668 (ada-indent-on-previous-lines nil orgpoint orgpoint)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2669 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2670 ;;--------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2671 ;; package/function/procedure |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2672 ;;--------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2673 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2674 ((and (or (= (downcase (char-after)) ?p) (= (downcase (char-after)) ?f)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2675 (looking-at "\\<\\(package\\|function\\|procedure\\)\\>")) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2676 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2677 ;; Go up until we find either a generic section, or the end of the |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2678 ;; previous subprogram/package |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2679 (let (found) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2680 (while (and (not found) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2681 (ada-search-ignore-string-comment |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2682 "\\<\\(generic\\|end\\|begin\\|package\\|procedure\\|function\\)\\>" t)) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2683 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2684 ;; avoid "with procedure"... in generic parts |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2685 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2686 (forward-word -1) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2687 (setq found (not (looking-at "with")))))) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2688 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2689 (if (looking-at "generic") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2690 (list (progn (back-to-indentation) (point)) 0) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2691 (ada-indent-on-previous-lines nil orgpoint orgpoint)))) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2692 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2693 ;;--------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2694 ;; label |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2695 ;;--------------------------------- |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
2696 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2697 ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2698 (if (ada-in-decl-p) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2699 (ada-indent-on-previous-lines nil orgpoint orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2700 (append (ada-indent-on-previous-lines nil orgpoint orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2701 '(ada-label-indent)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2702 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2703 )) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2704 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2705 ;;--------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2706 ;; Other syntaxes |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2707 ;;--------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2708 (or result (ada-indent-on-previous-lines nil orgpoint orgpoint)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2709 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2710 (defun ada-indent-on-previous-lines (&optional nomove orgpoint initial-pos) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2711 "Calculate the indentation for the new line after ORGPOINT. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2712 The result list is based on the previous lines in the buffer. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2713 If NOMOVE is nil, moves point to the beginning of the current statement. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2714 if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2715 (if initial-pos |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2716 (goto-char initial-pos)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2717 (let ((oldpoint (point))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2718 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2719 ;; Is inside a parameter-list ? |
10705 | 2720 (if (ada-in-paramlist-p) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2721 (ada-get-indent-paramlist) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2722 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2723 ;; move to beginning of current statement |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2724 (unless nomove |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2725 (ada-goto-stmt-start)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2726 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2727 ;; no beginning found => don't change indentation |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2728 (if (and (eq oldpoint (point)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2729 (not nomove)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2730 (ada-get-indent-nochange) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2731 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2732 (cond |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2733 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2734 ((and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2735 ada-indent-to-open-paren |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2736 (ada-in-open-paren-p)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2737 (ada-get-indent-open-paren)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2738 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2739 ((looking-at "end\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2740 (ada-get-indent-end orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2741 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2742 ((looking-at ada-loop-start-re) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2743 (ada-get-indent-loop orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2744 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2745 ((looking-at ada-subprog-start-re) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2746 (ada-get-indent-subprog orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2747 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2748 ((looking-at ada-block-start-re) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2749 (ada-get-indent-block-start orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2750 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2751 ((looking-at "\\(sub\\)?type\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2752 (ada-get-indent-type orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2753 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2754 ;; "then" has to be included in the case of "select...then abort" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2755 ;; statements, since (goto-stmt-start) at the beginning of |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2756 ;; the current function would leave the cursor on that position |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2757 ((looking-at "\\(\\(els\\)?if\\>\\)\\|then abort\\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2758 (ada-get-indent-if orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2759 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2760 ((looking-at "case\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2761 (ada-get-indent-case orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2762 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2763 ((looking-at "when\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2764 (ada-get-indent-when orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2765 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2766 ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2767 (ada-get-indent-label orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2768 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2769 ((looking-at "separate\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2770 (ada-get-indent-nochange)) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2771 |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2772 ;; A label |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2773 ((looking-at "<<") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2774 (list (+ (save-excursion (back-to-indentation) (point)) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
2775 (- ada-label-indent)))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
2776 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2777 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2778 ((looking-at "with\\>\\|use\\>") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2779 ;; Are we still in that statement, or are we in fact looking at |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2780 ;; the previous one ? |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2781 (if (save-excursion (search-forward ";" oldpoint t)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2782 (list (progn (back-to-indentation) (point)) 0) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2783 (list (point) (if (looking-at "with") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2784 'ada-with-indent |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2785 'ada-use-indent)))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2786 ;; |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2787 (t |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2788 (ada-get-indent-noindent orgpoint))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2789 )) |
10705 | 2790 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2791 (defun ada-get-indent-open-paren () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2792 "Calculate the indentation when point is behind an unclosed parenthesis." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2793 (list (ada-in-open-paren-p) 0)) |
10705 | 2794 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2795 (defun ada-get-indent-nochange () |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2796 "Return the current indentation of the previous line." |
10705 | 2797 (save-excursion |
2798 (forward-line -1) | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2799 (back-to-indentation) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2800 (list (point) 0))) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2801 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2802 (defun ada-get-indent-paramlist () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2803 "Calculate the indentation when point is inside a parameter list." |
10705 | 2804 (save-excursion |
2805 (ada-search-ignore-string-comment "[^ \t\n]" t nil t) | |
2806 (cond | |
2807 ;; in front of the first parameter | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2808 ((= (char-after) ?\() |
10705 | 2809 (goto-char (match-end 0)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2810 (list (point) 0)) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2811 |
10705 | 2812 ;; in front of another parameter |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2813 ((= (char-after) ?\;) |
10705 | 2814 (goto-char (cdr (ada-search-ignore-string-comment "(\\|;" t nil t))) |
2815 (ada-goto-next-non-ws) | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2816 (list (point) 0)) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2817 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2818 ;; After an affectation (default parameter value in subprogram |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2819 ;; declaration) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2820 ((and (= (following-char) ?=) (= (preceding-char) ?:)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2821 (back-to-indentation) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2822 (list (point) 'ada-broken-indent)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2823 |
10705 | 2824 ;; inside a parameter declaration |
2825 (t | |
2826 (goto-char (cdr (ada-search-ignore-string-comment "(\\|;" t nil t))) | |
2827 (ada-goto-next-non-ws) | |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2828 (list (point) 0))))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2829 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2830 (defun ada-get-indent-end (orgpoint) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2831 "Calculate the indentation when point is just before an end statement. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2832 ORGPOINT is the limit position used in the calculation." |
10705 | 2833 (let ((defun-name nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2834 (indent nil)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
2835 |
10705 | 2836 ;; is the line already terminated by ';' ? |
2837 (if (save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2838 (ada-search-ignore-string-comment ";" nil orgpoint nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2839 'search-forward)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2840 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2841 ;; yes, look what's following 'end' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2842 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2843 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2844 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2845 (cond |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2846 ((looking-at "\\<\\(loop\\|select\\|if\\|case\\)\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2847 (save-excursion (ada-check-matching-start (match-string 0))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2848 (list (save-excursion (back-to-indentation) (point)) 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2849 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2850 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2851 ;; loop/select/if/case/record/select |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2852 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2853 ((looking-at "\\<record\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2854 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2855 (ada-check-matching-start (match-string 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2856 ;; we are now looking at the matching "record" statement |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2857 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2858 (ada-goto-stmt-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2859 ;; now on the matching type declaration, or use clause |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2860 (unless (looking-at "\\(for\\|type\\)\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2861 (ada-search-ignore-string-comment "\\<type\\>" t)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2862 (list (progn (back-to-indentation) (point)) 0))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2863 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2864 ;; a named block end |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2865 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2866 ((looking-at ada-ident-re) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2867 (setq defun-name (match-string 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2868 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2869 (ada-goto-matching-start 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2870 (ada-check-defun-name defun-name)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2871 (list (progn (back-to-indentation) (point)) 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2872 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2873 ;; a block-end without name |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2874 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2875 ((= (char-after) ?\;) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2876 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2877 (ada-goto-matching-start 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2878 (if (looking-at "\\<begin\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2879 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2880 (setq indent (list (point) 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2881 (if (ada-goto-matching-decl-start t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2882 (list (progn (back-to-indentation) (point)) 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2883 indent)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2884 (list (progn (back-to-indentation) (point)) 0) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2885 ))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2886 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2887 ;; anything else - should maybe signal an error ? |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2888 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2889 (t |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2890 (list (save-excursion (back-to-indentation) (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2891 'ada-broken-indent)))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2892 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2893 (list (save-excursion (back-to-indentation) (point)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2894 'ada-broken-indent)))) |
10705 | 2895 |
2896 (defun ada-get-indent-case (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2897 "Calculate the indentation when point is just before a case statement. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2898 ORGPOINT is the limit position used in the calculation." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2899 (let ((match-cons nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2900 (opos (point))) |
10705 | 2901 (cond |
2902 ;; | |
2903 ;; case..is..when..=> | |
2904 ;; | |
2905 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2906 (setq match-cons (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2907 ;; the `=>' must be after the keyword `is'. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2908 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2909 "is" nil orgpoint nil 'word-search-forward) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2910 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2911 "[ \t\n]+=>" nil orgpoint)))) |
10705 | 2912 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2913 (goto-char (car match-cons)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2914 (unless (ada-search-ignore-string-comment "when" t opos) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2915 (error "Missing 'when' between 'case' and '=>'")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2916 (list (save-excursion (back-to-indentation) (point)) 'ada-indent))) |
10705 | 2917 ;; |
2918 ;; case..is..when | |
2919 ;; | |
2920 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2921 (setq match-cons (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2922 "when" nil orgpoint nil 'word-search-forward))) |
10705 | 2923 (goto-char (cdr match-cons)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2924 (list (save-excursion (back-to-indentation) (point)) 'ada-broken-indent)) |
10705 | 2925 ;; |
2926 ;; case..is | |
2927 ;; | |
2928 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2929 (setq match-cons (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2930 "is" nil orgpoint nil 'word-search-forward))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2931 (list (save-excursion (back-to-indentation) (point)) 'ada-when-indent)) |
10705 | 2932 ;; |
2933 ;; incomplete case | |
2934 ;; | |
2935 (t | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2936 (list (save-excursion (back-to-indentation) (point)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2937 'ada-broken-indent))))) |
10705 | 2938 |
2939 (defun ada-get-indent-when (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2940 "Calculate the indentation when point is just before a when statement. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2941 ORGPOINT is the limit position used in the calculation." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2942 (let ((cur-indent (save-excursion (back-to-indentation) (point)))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2943 (if (ada-search-ignore-string-comment "[ \t\n]*=>" nil orgpoint) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2944 (list cur-indent 'ada-indent) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2945 (list cur-indent 'ada-broken-indent)))) |
10705 | 2946 |
2947 (defun ada-get-indent-if (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2948 "Calculate the indentation when point is just before an if statement. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2949 ORGPOINT is the limit position used in the calculation." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2950 (let ((cur-indent (save-excursion (back-to-indentation) (point))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2951 (match-cons nil)) |
10705 | 2952 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2953 ;; Move to the correct then (ignore all "and then") |
10705 | 2954 ;; |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
2955 (while (and (setq match-cons (ada-search-ignore-string-comment |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2956 "\\<\\(then\\|and[ \t]*then\\)\\>" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2957 nil orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2958 (= (downcase (char-after (car match-cons))) ?a))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2959 ;; If "then" was found (we are looking at it) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2960 (if match-cons |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2961 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2962 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2963 ;; 'then' first in separate line ? |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2964 ;; => indent according to 'then', |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2965 ;; => else indent according to 'if' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2966 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2967 (if (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2968 (back-to-indentation) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2969 (looking-at "\\<then\\>")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2970 (setq cur-indent (save-excursion (back-to-indentation) (point)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2971 ;; skip 'then' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2972 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2973 (list cur-indent 'ada-indent)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2974 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2975 (list cur-indent 'ada-broken-indent)))) |
10705 | 2976 |
2977 (defun ada-get-indent-block-start (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
2978 "Calculate the indentation when point is at the start of a block. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2979 ORGPOINT is the limit position used in the calculation." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
2980 (let ((pos nil)) |
10705 | 2981 (cond |
2982 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2983 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2984 (setq pos (ada-goto-next-non-ws orgpoint))) |
10705 | 2985 (goto-char pos) |
2986 (save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
2987 (ada-indent-on-previous-lines t orgpoint))) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
2988 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2989 ;; Special case for record types, for instance for: |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2990 ;; type A is (B : Integer; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2991 ;; C : Integer) is record |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2992 ;; null; -- This is badly indented otherwise |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2993 ((looking-at "record") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2994 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2995 ;; If record is at the beginning of the line, indent from there |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2996 (if (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2997 (beginning-of-line) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2998 (looking-at "^[ \t]*\\(record\\|limited record\\)")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
2999 (list (save-excursion (back-to-indentation) (point)) 'ada-indent) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3000 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3001 ;; else indent relative to the type command |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3002 (list (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3003 (car (ada-search-ignore-string-comment "\\<type\\>" t))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3004 'ada-indent))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3005 |
10705 | 3006 ;; nothing follows the block-start |
3007 (t | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3008 (list (save-excursion (back-to-indentation) (point)) 'ada-indent))))) |
10705 | 3009 |
3010 (defun ada-get-indent-subprog (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3011 "Calculate the indentation when point is just before a subprogram. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3012 ORGPOINT is the limit position used in the calculation." |
10705 | 3013 (let ((match-cons nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3014 (cur-indent (save-excursion (back-to-indentation) (point))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3015 (foundis nil)) |
10705 | 3016 ;; |
3017 ;; is there an 'is' in front of point ? | |
3018 ;; | |
3019 (if (save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3020 (setq match-cons |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3021 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3022 "\\<\\(is\\|do\\)\\>" nil orgpoint))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3023 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3024 ;; yes, then skip to its end |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3025 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3026 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3027 (setq foundis t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3028 (goto-char (cdr match-cons))) |
10705 | 3029 ;; |
3030 ;; no, then goto next non-ws, if there is one in front of point | |
3031 ;; | |
3032 (progn | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3033 (unless (ada-goto-next-non-ws orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3034 (goto-char orgpoint)))) |
10705 | 3035 |
3036 (cond | |
3037 ;; | |
3038 ;; nothing follows 'is' | |
3039 ;; | |
3040 ((and | |
3041 foundis | |
3042 (save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3043 (not (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3044 "[^ \t\n]" nil orgpoint t)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3045 (list cur-indent 'ada-indent)) |
10705 | 3046 ;; |
3047 ;; is abstract/separate/new ... | |
3048 ;; | |
3049 ((and | |
3050 foundis | |
3051 (save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3052 (setq match-cons |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3053 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3054 "\\<\\(separate\\|new\\|abstract\\)\\>" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3055 nil orgpoint)))) |
10705 | 3056 (goto-char (car match-cons)) |
12586
f8bbc7a3b87a
(ada-ident-re): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
12053
diff
changeset
|
3057 (ada-search-ignore-string-comment ada-subprog-start-re t) |
10705 | 3058 (ada-get-indent-noindent orgpoint)) |
3059 ;; | |
3060 ;; something follows 'is' | |
3061 ;; | |
3062 ((and | |
3063 foundis | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3064 (save-excursion (setq match-cons (ada-goto-next-non-ws orgpoint))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3065 (goto-char match-cons) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3066 (ada-indent-on-previous-lines t orgpoint))) |
10705 | 3067 ;; |
3068 ;; no 'is' but ';' | |
3069 ;; | |
3070 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3071 (ada-search-ignore-string-comment ";" nil orgpoint nil 'search-forward)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3072 (list cur-indent 0)) |
10705 | 3073 ;; |
3074 ;; no 'is' or ';' | |
3075 ;; | |
3076 (t | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3077 (list cur-indent 'ada-broken-indent))))) |
10705 | 3078 |
3079 (defun ada-get-indent-noindent (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3080 "Calculate the indentation when point is just before a 'noindent stmt'. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3081 ORGPOINT is the limit position used in the calculation." |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3082 (let ((label 0)) |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3083 (save-excursion |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3084 (beginning-of-line) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3085 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3086 (cond |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3087 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3088 ;; This one is called when indenting a line preceded by a multi-line |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3089 ;; subprogram declaration (in that case, we are at this point inside |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3090 ;; the parameter declaration list) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3091 ((ada-in-paramlist-p) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3092 (ada-previous-procedure) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3093 (list (save-excursion (back-to-indentation) (point)) 0)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3094 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3095 ;; This one is called when indenting the second line of a multi-line |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3096 ;; declaration section, in a declare block or a record declaration |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3097 ((looking-at "[ \t]*\\(\\sw\\|_\\)*[ \t]*,[ \t]*$") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3098 (list (save-excursion (back-to-indentation) (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3099 'ada-broken-decl-indent)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3100 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3101 ;; This one is called in every over case when indenting a line at the |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3102 ;; top level |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3103 (t |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3104 (if (looking-at ada-named-block-re) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3105 (setq label (- ada-label-indent)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3106 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3107 (let (p) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3108 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3109 ;; "with private" or "null record" cases |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3110 (if (or (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3111 (and (ada-search-ignore-string-comment "\\<private\\>" nil orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3112 (setq p (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3113 (save-excursion (forward-char -7);; skip back "private" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3114 (ada-goto-previous-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3115 (looking-at "with")))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3116 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3117 (and (ada-search-ignore-string-comment "\\<record\\>" nil orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3118 (setq p (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3119 (save-excursion (forward-char -6);; skip back "record" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3120 (ada-goto-previous-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3121 (looking-at "null"))))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3122 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3123 (goto-char p) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3124 (re-search-backward "\\<\\(type\\|subtype\\)\\>" nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3125 (list (save-excursion (back-to-indentation) (point)) 0))))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3126 (if (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3127 (ada-search-ignore-string-comment ";" nil orgpoint nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3128 'search-forward)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3129 (list (+ (save-excursion (back-to-indentation) (point)) label) 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3130 (list (+ (save-excursion (back-to-indentation) (point)) label) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3131 'ada-broken-indent))))))) |
10705 | 3132 |
3133 (defun ada-get-indent-label (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3134 "Calculate the indentation when before a label or variable declaration. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3135 ORGPOINT is the limit position used in the calculation." |
10705 | 3136 (let ((match-cons nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3137 (cur-indent (save-excursion (back-to-indentation) (point)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3138 (ada-search-ignore-string-comment ":" nil) |
10705 | 3139 (cond |
3140 ;; loop label | |
3141 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3142 (setq match-cons (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3143 ada-loop-start-re nil orgpoint))) |
10705 | 3144 (goto-char (car match-cons)) |
3145 (ada-get-indent-loop orgpoint)) | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3146 |
10705 | 3147 ;; declare label |
3148 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3149 (setq match-cons (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3150 "\\<declare\\|begin\\>" nil orgpoint))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3151 (goto-char (car match-cons)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3152 (list (save-excursion (back-to-indentation) (point)) 'ada-indent)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3153 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3154 ;; variable declaration |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3155 ((ada-in-decl-p) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3156 (if (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3157 (ada-search-ignore-string-comment ";" nil orgpoint)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3158 (list cur-indent 0) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3159 (list cur-indent 'ada-broken-indent))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3160 |
10705 | 3161 ;; nothing follows colon |
3162 (t | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3163 (list cur-indent '(- ada-label-indent)))))) |
10705 | 3164 |
3165 (defun ada-get-indent-loop (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3166 "Calculate the indentation when just before a loop or a for ... use. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3167 ORGPOINT is the limit position used in the calculation." |
10705 | 3168 (let ((match-cons nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3169 (pos (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3170 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3171 ;; If looking at a named block, skip the label |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3172 (label (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3173 (beginning-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3174 (if (looking-at ada-named-block-re) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3175 (- ada-label-indent) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3176 0)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3177 |
10705 | 3178 (cond |
3179 | |
3180 ;; | |
3181 ;; statement complete | |
3182 ;; | |
3183 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3184 (ada-search-ignore-string-comment ";" nil orgpoint nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3185 'search-forward)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3186 (list (+ (save-excursion (back-to-indentation) (point)) label) 0)) |
10705 | 3187 ;; |
3188 ;; simple loop | |
3189 ;; | |
3190 ((looking-at "loop\\>") | |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3191 (setq pos (ada-get-indent-block-start orgpoint)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3192 (if (equal label 0) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3193 pos |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3194 (list (+ (car pos) label) (cdr pos)))) |
10705 | 3195 |
3196 ;; | |
3197 ;; 'for'- loop (or also a for ... use statement) | |
3198 ;; | |
3199 ((looking-at "for\\>") | |
3200 (cond | |
3201 ;; | |
3202 ;; for ... use | |
3203 ;; | |
3204 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3205 (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3206 (goto-char (match-end 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3207 (ada-goto-next-non-ws orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3208 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3209 (if (= (char-after) ?') (forward-word 1) t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3210 (ada-goto-next-non-ws orgpoint) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3211 (looking-at "\\<use\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3212 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3213 ;; check if there is a 'record' before point |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3214 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3215 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3216 (setq match-cons (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3217 "record" nil orgpoint nil 'word-search-forward)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3218 t))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3219 (if match-cons |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3220 (progn |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3221 (goto-char (car match-cons)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3222 (list (save-excursion (back-to-indentation) (point)) 'ada-indent)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3223 (list (save-excursion (back-to-indentation) (point)) 'ada-broken-indent)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3224 ) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3225 |
10705 | 3226 ;; |
3227 ;; for..loop | |
3228 ;; | |
3229 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3230 (setq match-cons (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3231 "loop" nil orgpoint nil 'word-search-forward))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3232 (goto-char (car match-cons)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3233 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3234 ;; indent according to 'loop', if it's first in the line; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3235 ;; otherwise to 'for' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3236 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3237 (unless (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3238 (back-to-indentation) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3239 (looking-at "\\<loop\\>")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3240 (goto-char pos)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3241 (list (+ (save-excursion (back-to-indentation) (point)) label) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3242 'ada-indent)) |
10705 | 3243 ;; |
3244 ;; for-statement is broken | |
3245 ;; | |
3246 (t | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3247 (list (+ (save-excursion (back-to-indentation) (point)) label) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3248 'ada-broken-indent)))) |
10705 | 3249 |
3250 ;; | |
3251 ;; 'while'-loop | |
3252 ;; | |
3253 ((looking-at "while\\>") | |
3254 ;; | |
3255 ;; while..loop ? | |
3256 ;; | |
3257 (if (save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3258 (setq match-cons (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3259 "loop" nil orgpoint nil 'word-search-forward))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3260 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3261 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3262 (goto-char (car match-cons)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3263 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3264 ;; indent according to 'loop', if it's first in the line; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3265 ;; otherwise to 'while'. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3266 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3267 (unless (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3268 (back-to-indentation) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3269 (looking-at "\\<loop\\>")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3270 (goto-char pos)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3271 (list (+ (save-excursion (back-to-indentation) (point)) label) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3272 'ada-indent)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3273 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3274 (list (+ (save-excursion (back-to-indentation) (point)) label) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3275 'ada-broken-indent)))))) |
10705 | 3276 |
3277 (defun ada-get-indent-type (orgpoint) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3278 "Calculate the indentation when before a type statement. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3279 ORGPOINT is the limit position used in the calculation." |
10705 | 3280 (let ((match-dat nil)) |
3281 (cond | |
3282 ;; | |
3283 ;; complete record declaration | |
3284 ;; | |
3285 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3286 (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3287 (setq match-dat (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3288 "end" nil orgpoint nil 'word-search-forward)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3289 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3290 (looking-at "\\<record\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3291 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3292 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3293 (= (char-after) ?\;))) |
10705 | 3294 (goto-char (car match-dat)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3295 (list (save-excursion (back-to-indentation) (point)) 0)) |
10705 | 3296 ;; |
3297 ;; record type | |
3298 ;; | |
3299 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3300 (setq match-dat (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3301 "record" nil orgpoint nil 'word-search-forward))) |
10705 | 3302 (goto-char (car match-dat)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3303 (list (save-excursion (back-to-indentation) (point)) 'ada-indent)) |
10705 | 3304 ;; |
3305 ;; complete type declaration | |
3306 ;; | |
3307 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3308 (ada-search-ignore-string-comment ";" nil orgpoint nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3309 'search-forward)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3310 (list (save-excursion (back-to-indentation) (point)) 0)) |
10705 | 3311 ;; |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
3312 ;; "type ... is", but not "type ... is ...", which is broken |
10705 | 3313 ;; |
3314 ((save-excursion | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3315 (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3316 (ada-search-ignore-string-comment "is" nil orgpoint nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3317 'word-search-forward) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3318 (not (ada-goto-next-non-ws orgpoint)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3319 (list (save-excursion (back-to-indentation) (point)) 'ada-broken-indent)) |
10705 | 3320 ;; |
3321 ;; broken statement | |
3322 ;; | |
3323 (t | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3324 (list (save-excursion (back-to-indentation) (point)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3325 'ada-broken-indent))))) |
10705 | 3326 |
3327 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3328 ;; ----------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3329 ;; -- searching and matching |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3330 ;; ----------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3331 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3332 (defun ada-goto-stmt-start () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3333 "Move point to the beginning of the statement that point is in or after. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3334 Return the new position of point. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3335 As a special case, if we are looking at a closing parenthesis, skip to the |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3336 open parenthesis." |
10705 | 3337 (let ((match-dat nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3338 (orgpoint (point))) |
10705 | 3339 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3340 (setq match-dat (ada-search-prev-end-stmt)) |
10705 | 3341 (if match-dat |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
3342 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3343 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3344 ;; found a previous end-statement => check if anything follows |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3345 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3346 (unless (looking-at "declare") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3347 (progn |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3348 (unless (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3349 (goto-char (cdr match-dat)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3350 (ada-goto-next-non-ws orgpoint)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3351 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3352 ;; nothing follows => it's the end-statement directly in |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3353 ;; front of point => search again |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3354 ;; |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3355 (setq match-dat (ada-search-prev-end-stmt))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3356 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3357 ;; if found the correct end-statement => goto next non-ws |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3358 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3359 (if match-dat |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3360 (goto-char (cdr match-dat))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3361 (ada-goto-next-non-ws) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3362 )) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
3363 |
10705 | 3364 ;; |
3365 ;; no previous end-statement => we are at the beginning of the | |
3366 ;; accessible part of the buffer | |
3367 ;; | |
3368 (progn | |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3369 (goto-char (point-min)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3370 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3371 ;; skip to the very first statement, if there is one |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3372 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3373 (unless (ada-goto-next-non-ws orgpoint) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3374 (goto-char orgpoint)))) |
10705 | 3375 (point))) |
3376 | |
3377 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3378 (defun ada-search-prev-end-stmt () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3379 "Move point to previous end statement. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3380 Return a cons cell whose car is the beginning and whose cdr |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3381 is the end of the match." |
10705 | 3382 (let ((match-dat nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3383 (found nil)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3384 |
10705 | 3385 ;; search until found or beginning-of-buffer |
3386 (while | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3387 (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3388 (not found) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3389 (setq match-dat (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3390 ada-end-stmt-re t))) |
10705 | 3391 |
3392 (goto-char (car match-dat)) | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3393 (unless (ada-in-open-paren-p) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3394 (cond |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3395 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3396 ((and (looking-at |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3397 "\\<\\(record\\|loop\\|select\\|else\\|then\\)\\>") |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3398 (save-excursion |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3399 (ada-goto-previous-word) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3400 (looking-at "\\<\\(end\\|or\\|and\\)\\>[ \t]*[^;]"))) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3401 (forward-word -1)) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3402 |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3403 ((looking-at "is") |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3404 (setq found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3405 (and (save-excursion (ada-goto-previous-word) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3406 (ada-goto-previous-word) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3407 (not (looking-at "subtype"))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3408 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3409 (save-excursion (goto-char (cdr match-dat)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3410 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3411 ;; words that can go after an 'is' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3412 (not (looking-at |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3413 (eval-when-compile |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3414 (concat "\\<" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3415 (regexp-opt |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3416 '("separate" "access" "array" |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3417 "private" "abstract" "new") t) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3418 "\\>\\|(")))))))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3419 |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3420 ((looking-at "private") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3421 (save-excursion |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3422 (backward-word 1) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3423 (setq found (not (looking-at "is"))))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3424 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3425 (t |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
3426 (setq found t)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3427 ))) |
10705 | 3428 |
3429 (if found | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3430 match-dat |
10705 | 3431 nil))) |
3432 | |
3433 | |
3434 (defun ada-goto-next-non-ws (&optional limit) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3435 "Skip white spaces, newlines and comments to next non-ws character. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3436 Stop the search at LIMIT. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3437 Do not call this function from within a string." |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3438 (unless limit |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3439 (setq limit (point-max))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3440 (while (and (<= (point) limit) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3441 (progn (forward-comment 10000) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3442 (if (and (not (eobp)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3443 (save-excursion (forward-char 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3444 (ada-in-string-p))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3445 (progn (forward-sexp 1) t))))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3446 (if (< (point) limit) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3447 (point) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3448 nil) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3449 ) |
10705 | 3450 |
3451 | |
3452 (defun ada-goto-stmt-end (&optional limit) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3453 "Move point to the end of the statement that point is in or before. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3454 Return the new position of point or nil if not found. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3455 Stop the search at LIMIT." |
10705 | 3456 (if (ada-search-ignore-string-comment ada-end-stmt-re nil limit) |
3457 (point) | |
3458 nil)) | |
3459 | |
3460 | |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3461 (defun ada-goto-next-word (&optional backward) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3462 "Move point to the beginning of the next word of Ada code. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3463 If BACKWARD is non-nil, jump to the beginning of the previous word. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3464 Return the new position of point or nil if not found." |
10705 | 3465 (let ((match-cons nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3466 (orgpoint (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3467 (old-syntax (char-to-string (char-syntax ?_)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3468 (modify-syntax-entry ?_ "w") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3469 (unless backward |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3470 (skip-syntax-forward "w")) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3471 (if (setq match-cons |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3472 (if backward |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3473 (ada-search-ignore-string-comment "\\w" t nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3474 (ada-search-ignore-string-comment "\\w" nil nil t))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3475 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3476 ;; move to the beginning of the word found |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3477 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3478 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3479 (goto-char (car match-cons)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3480 (skip-syntax-backward "w") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3481 (point)) |
10705 | 3482 ;; |
3483 ;; if not found, restore old position of point | |
3484 ;; | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3485 (goto-char orgpoint) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3486 'nil) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3487 (modify-syntax-entry ?_ old-syntax)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3488 ) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3489 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3490 |
10705 | 3491 (defun ada-check-matching-start (keyword) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3492 "Signal an error if matching block start is not KEYWORD. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3493 Moves point to the matching block start." |
10705 | 3494 (ada-goto-matching-start 0) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3495 (unless (looking-at (concat "\\<" keyword "\\>")) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3496 (error "Matching start is not '%s'" keyword))) |
10705 | 3497 |
3498 | |
3499 (defun ada-check-defun-name (defun-name) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3500 "Check if the name of the matching defun really is DEFUN-NAME. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3501 Assumes point to be already positioned by `ada-goto-matching-start'. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3502 Moves point to the beginning of the declaration." |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3503 |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3504 ;; named block without a `declare' |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3505 (if (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3506 (ada-goto-previous-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3507 (looking-at (concat "\\<" defun-name "\\> *:"))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3508 t ; do nothing |
10705 | 3509 ;; |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3510 ;; 'accept' or 'package' ? |
10705 | 3511 ;; |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3512 (unless (looking-at ada-subprog-start-re) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3513 (ada-goto-matching-decl-start)) |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3514 ;; |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3515 ;; 'begin' of 'procedure'/'function'/'task' or 'declare' |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3516 ;; |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3517 (save-excursion |
10705 | 3518 ;; |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3519 ;; a named 'declare'-block ? => jump to the label |
10705 | 3520 ;; |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3521 (if (looking-at "\\<declare\\>") |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3522 (backward-word 1) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3523 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3524 ;; no, => 'procedure'/'function'/'task'/'protected' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3525 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3526 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3527 (forward-word 2) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3528 (backward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3529 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3530 ;; skip 'body' 'type' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3531 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3532 (if (looking-at "\\<\\(body\\|type\\)\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3533 (forward-word 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3534 (forward-sexp 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3535 (backward-sexp 1))) |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3536 ;; |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3537 ;; should be looking-at the correct name |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
3538 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3539 (unless (looking-at (concat "\\<" defun-name "\\>")) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3540 (error "Matching defun has different name: %s" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3541 (buffer-substring (point) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3542 (progn (forward-sexp 1) (point)))))))) |
10705 | 3543 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3544 (defun ada-goto-matching-decl-start (&optional noerror recursive) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3545 "Move point to the matching declaration start of the current 'begin'. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3546 If NOERROR is non-nil, it only returns nil if no match was found." |
10705 | 3547 (let ((nest-count 1) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3548 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3549 ;; first should be set to t if we should stop at the first |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3550 ;; "begin" we encounter. |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3551 (first (not recursive)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3552 (count-generic nil) |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
3553 (stop-at-when nil) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3554 ) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3555 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3556 ;; Ignore "when" most of the time, except if we are looking at the |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3557 ;; beginning of a block (structure: case .. is |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3558 ;; when ... => |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3559 ;; begin ... |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3560 ;; exception ... ) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3561 (if (looking-at "begin") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3562 (setq stop-at-when t)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3563 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3564 (if (or |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3565 (looking-at "\\<\\(package\\|procedure\\|function\\)\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3566 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3567 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3568 "\\<\\(package\\|procedure\\|function\\|generic\\)\\>" t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3569 (looking-at "generic"))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3570 (setq count-generic t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3571 |
10705 | 3572 ;; search backward for interesting keywords |
3573 (while (and | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3574 (not (zerop nest-count)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3575 (ada-search-ignore-string-comment ada-matching-decl-start-re t)) |
10705 | 3576 ;; |
3577 ;; calculate nest-depth | |
3578 ;; | |
3579 (cond | |
3580 ;; | |
3581 ((looking-at "end") | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3582 (ada-goto-matching-start 1 noerror) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3583 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3584 ;; In some case, two begin..end block can follow each other closely, |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3585 ;; which we have to detect, as in |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3586 ;; procedure P is |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3587 ;; procedure Q is |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3588 ;; begin |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3589 ;; end; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3590 ;; begin -- here we should go to procedure, not begin |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3591 ;; end |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3592 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3593 (if (looking-at "begin") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3594 (let ((loop-again t)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3595 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3596 (while loop-again |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3597 ;; If begin was just there as the beginning of a block |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3598 ;; (with no declare) then do nothing, otherwise just |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3599 ;; register that we have to find the statement that |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3600 ;; required the begin |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3601 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3602 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3603 "\\<\\(declare\\|begin\\|end\\|procedure\\|function\\|task\\|package\\)\\>" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3604 t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3605 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3606 (if (looking-at "end") |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3607 (ada-goto-matching-start 1 noerror t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3608 ;; (ada-goto-matching-decl-start noerror t) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3609 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3610 (setq loop-again nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3611 (unless (looking-at "begin") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3612 (setq nest-count (1+ nest-count)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3613 )) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3614 ))) |
10705 | 3615 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3616 ((looking-at "generic") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3617 (if count-generic |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3618 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3619 (setq first nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3620 (setq nest-count (1- nest-count))))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3621 ;; |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3622 ((looking-at "if") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3623 (save-excursion |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3624 (forward-word -1) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3625 (unless (looking-at "\\<end[ \t\n]*if\\>") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3626 (progn |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3627 (setq nest-count (1- nest-count)) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
3628 (setq first nil))))) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
3629 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3630 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3631 ((looking-at "declare\\|generic") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3632 (setq nest-count (1- nest-count)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3633 (setq first t)) |
10705 | 3634 ;; |
3635 ((looking-at "is") | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3636 ;; check if it is only a type definition, but not a protected |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3637 ;; type definition, which should be handled like a procedure. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3638 (if (or (looking-at "is[ \t]+<>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3639 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3640 (forward-comment -10000) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3641 (forward-char -1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3642 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3643 ;; Detect if we have a closing parenthesis (Could be |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3644 ;; either the end of subprogram parameters or (<>) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3645 ;; in a type definition |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3646 (if (= (char-after) ?\)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3647 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3648 (forward-char 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3649 (backward-sexp 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3650 (forward-comment -10000) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3651 )) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3652 (skip-chars-backward "a-zA-Z0-9_.'") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3653 (ada-goto-previous-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3654 (and |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3655 (looking-at "\\<\\(sub\\)?type\\|case\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3656 (save-match-data |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3657 (ada-goto-previous-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3658 (not (looking-at "\\<protected\\>")))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3659 )) ; end of `or' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3660 (goto-char (match-beginning 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3661 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3662 (setq nest-count (1- nest-count)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3663 (setq first nil)))) |
10705 | 3664 |
3665 ;; | |
3666 ((looking-at "new") | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3667 (if (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3668 (ada-goto-previous-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3669 (looking-at "is")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3670 (goto-char (match-beginning 0)))) |
10705 | 3671 ;; |
3672 ((and first | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3673 (looking-at "begin")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3674 (setq nest-count 0)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3675 ;; |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
3676 ((looking-at "when") |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3677 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3678 (forward-word -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3679 (unless (looking-at "\\<exit[ \t\n]*when\\>") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3680 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3681 (if stop-at-when |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3682 (setq nest-count (1- nest-count))) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3683 )))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3684 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3685 ((looking-at "begin") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3686 (setq first nil)) |
10705 | 3687 ;; |
3688 (t | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3689 (setq nest-count (1+ nest-count)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3690 (setq first nil))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3691 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3692 );; end of loop |
10705 | 3693 |
3694 ;; check if declaration-start is really found | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3695 (if (and |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3696 (zerop nest-count) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3697 (if (looking-at "is") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3698 (ada-search-ignore-string-comment ada-subprog-start-re t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3699 (looking-at "declare\\|generic"))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3700 t |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3701 (if noerror nil |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3702 (error "No matching proc/func/task/declare/package/protected"))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3703 )) |
10705 | 3704 |
3705 (defun ada-goto-matching-start (&optional nest-level noerror gotothen) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3706 "Move point to the beginning of a block-start. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3707 Which block depends on the value of NEST-LEVEL, which defaults to zero. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3708 If NOERROR is non-nil, it only returns nil if no matching start was found. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3709 If GOTOTHEN is non-nil, point moves to the 'then' following 'if'." |
10705 | 3710 (let ((nest-count (if nest-level nest-level 0)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3711 (found nil) |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3712 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3713 (last-was-begin '()) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3714 ;; List all keywords encountered while traversing |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3715 ;; something like '("end" "end" "begin") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3716 ;; This is removed from the list when "package", "procedure",... |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3717 ;; are seen. The goal is to find whether a package has an elaboration |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3718 ;; part |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3719 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3720 (pos nil)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3721 |
10705 | 3722 ;; search backward for interesting keywords |
3723 (while (and | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3724 (not found) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3725 (ada-search-ignore-string-comment ada-matching-start-re t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3726 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
3727 (unless (and (looking-at "\\<record\\>") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3728 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3729 (forward-word -1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3730 (looking-at "\\<null\\>"))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3731 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3732 ;; calculate nest-depth |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3733 (cond |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3734 ;; found block end => increase nest depth |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3735 ((looking-at "end") |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3736 (push nil last-was-begin) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3737 (setq nest-count (1+ nest-count))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3738 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3739 ;; found loop/select/record/case/if => check if it starts or |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3740 ;; ends a block |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3741 ((looking-at "loop\\|select\\|record\\|case\\|if") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3742 (setq pos (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3743 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3744 ;; check if keyword follows 'end' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3745 (ada-goto-previous-word) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3746 (if (looking-at "\\<end\\>[ \t]*[^;]") |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3747 (progn |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3748 ;; it ends a block => increase nest depth |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3749 (setq nest-count (1+ nest-count) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3750 pos (point)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3751 (push nil last-was-begin)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3752 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3753 ;; it starts a block => decrease nest depth |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3754 (setq nest-count (1- nest-count)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3755 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3756 ;; Some nested "begin .. end" blocks with no "declare"? |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3757 ;; => remove those entries |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3758 (while (car last-was-begin) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3759 (setq last-was-begin (cdr (cdr last-was-begin)))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3760 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3761 (setq last-was-begin (cdr last-was-begin)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3762 )) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3763 (goto-char pos) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3764 ) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3765 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3766 ;; found package start => check if it really is a block |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3767 ((looking-at "package") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3768 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3769 ;; ignore if this is just a renames statement |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3770 (let ((current (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3771 (pos (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3772 "\\<\\(is\\|renames\\|;\\)\\>" nil))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3773 (if pos |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3774 (goto-char (car pos)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3775 (error (concat |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3776 "No matching 'is' or 'renames' for 'package' at" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3777 " line " |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3778 (number-to-string (count-lines 1 (1+ current))))))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3779 (unless (looking-at "renames") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3780 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3781 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3782 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3783 ;; ignore it if it is only a declaration with 'new' |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3784 ;; We could have package Foo is new .... |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3785 ;; or package Foo is separate; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3786 ;; or package Foo is begin null; end Foo |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3787 ;; for elaboration code (elaboration) |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3788 (if (and (not (looking-at "\\<\\(new\\|separate\\|begin\\)\\>")) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3789 (not (car last-was-begin))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3790 (setq nest-count (1- nest-count)))))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3791 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3792 (setq last-was-begin (cdr last-was-begin)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3793 ) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3794 ;; found task start => check if it has a body |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3795 ((looking-at "task") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3796 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3797 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3798 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3799 (cond |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3800 ((looking-at "\\<body\\>")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3801 ((looking-at "\\<type\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3802 ;; In that case, do nothing if there is a "is" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3803 (forward-word 2);; skip "type" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3804 (ada-goto-next-non-ws);; skip type name |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3805 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3806 ;; Do nothing if we are simply looking at a simple |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3807 ;; "task type name;" statement with no block |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3808 (unless (looking-at ";") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3809 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3810 ;; Skip the parameters |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3811 (if (looking-at "(") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3812 (ada-search-ignore-string-comment ")" nil)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3813 (let ((tmp (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3814 "\\<\\(is\\|;\\)\\>" nil))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3815 (if tmp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3816 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3817 (goto-char (car tmp)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3818 (if (looking-at "is") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3819 (setq nest-count (1- nest-count))))))))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3820 (t |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3821 ;; Check if that task declaration had a block attached to |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3822 ;; it (i.e do nothing if we have just "task name;") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3823 (unless (progn (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3824 (looking-at "[ \t]*;")) |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3825 (setq nest-count (1- nest-count)))))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3826 (setq last-was-begin (cdr last-was-begin)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3827 ) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3828 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3829 ((looking-at "declare") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3830 ;; remove entry for begin and end (include nested begin..end |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3831 ;; groups) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3832 (setq last-was-begin (cdr last-was-begin)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3833 (let ((count 1)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3834 (while (and (> count 0)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3835 (if (equal (car last-was-begin) t) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3836 (setq count (1+ count)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3837 (setq count (1- count))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3838 (setq last-was-begin (cdr last-was-begin)) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3839 ))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3840 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3841 ((looking-at "protected") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3842 ;; Ignore if this is just a declaration |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3843 (save-excursion |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3844 (let ((pos (ada-search-ignore-string-comment |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3845 "\\(\\<is\\>\\|\\<renames\\>\\|;\\)" nil))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3846 (if pos |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3847 (goto-char (car pos))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3848 (if (looking-at "is") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3849 ;; remove entry for end |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3850 (setq last-was-begin (cdr last-was-begin))))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3851 (setq nest-count (1- nest-count))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3852 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3853 ((or (looking-at "procedure") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3854 (looking-at "function")) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3855 ;; Ignore if this is just a declaration |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3856 (save-excursion |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3857 (let ((pos (ada-search-ignore-string-comment |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3858 "\\(\\<is\\>\\|\\<renames\\>\\|)[ \t]*;\\)" nil))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3859 (if pos |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3860 (goto-char (car pos))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3861 (if (looking-at "is") |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3862 ;; remove entry for begin and end |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3863 (setq last-was-begin (cdr (cdr last-was-begin)))))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3864 ) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3865 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3866 ;; all the other block starts |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3867 (t |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3868 (push (looking-at "begin") last-was-begin) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3869 (setq nest-count (1- nest-count))) |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3870 |
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
3871 ) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3872 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3873 ;; match is found, if nest-depth is zero |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3874 (setq found (zerop nest-count))))) ; end of loop |
10705 | 3875 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3876 (if (bobp) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3877 (point) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3878 (if found |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3879 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3880 ;; match found => is there anything else to do ? |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3881 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3882 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3883 (cond |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3884 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3885 ;; found 'if' => skip to 'then', if it's on a separate line |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3886 ;; and GOTOTHEN is non-nil |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3887 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3888 ((and |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3889 gotothen |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3890 (looking-at "if") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3891 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3892 (ada-search-ignore-string-comment "then" nil nil nil |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3893 'word-search-forward) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3894 (back-to-indentation) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3895 (looking-at "\\<then\\>"))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3896 (goto-char (match-beginning 0))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3897 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3898 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3899 ;; found 'do' => skip back to 'accept' |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3900 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3901 ((looking-at "do") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3902 (unless (ada-search-ignore-string-comment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3903 "accept" t nil nil |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3904 'word-search-backward) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3905 (error "Missing 'accept' in front of 'do'")))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3906 (point)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3907 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3908 (if noerror |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3909 nil |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3910 (error "No matching start")))))) |
10705 | 3911 |
3912 | |
3913 (defun ada-goto-matching-end (&optional nest-level noerror) | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
3914 "Move point to the end of a block. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
3915 Which block depends on the value of NEST-LEVEL, which defaults to zero. |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
3916 If NOERROR is non-nil, it only returns nil if no matching start found." |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3917 (let ((nest-count (or nest-level 0)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3918 (regex (eval-when-compile |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3919 (concat "\\<" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3920 (regexp-opt '("end" "loop" "select" "begin" "case" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3921 "if" "task" "package" "record" "do" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3922 "procedure" "function") t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3923 "\\>"))) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3924 found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3925 pos |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3926 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3927 ;; First is used for subprograms: they are generally handled |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3928 ;; recursively, but of course we do not want to do that the |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3929 ;; first time (see comment below about subprograms) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3930 (first (not (looking-at "declare")))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3931 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3932 ;; If we are already looking at one of the keywords, this shouldn't count |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3933 ;; in the nesting loop below, so we just make sure we don't count it. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3934 ;; "declare" is a special case because we need to look after the "begin" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3935 ;; keyword |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3936 (if (looking-at "\\<if\\|loop\\|case\\|begin\\>") |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3937 (forward-char 1)) |
10705 | 3938 |
3939 ;; | |
3940 ;; search forward for interesting keywords | |
3941 ;; | |
3942 (while (and | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3943 (not found) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3944 (ada-search-ignore-string-comment regex nil)) |
10705 | 3945 |
3946 ;; | |
3947 ;; calculate nest-depth | |
3948 ;; | |
3949 (backward-word 1) | |
3950 (cond | |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3951 ;; procedures and functions need to be processed recursively, in |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3952 ;; case they are defined in a declare/begin block, as in: |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3953 ;; declare -- NL 0 (nested level) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3954 ;; A : Boolean; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3955 ;; procedure B (C : D) is |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3956 ;; begin -- NL 1 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3957 ;; null; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3958 ;; end B; -- NL 0, and we would exit |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3959 ;; begin |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3960 ;; end; -- we should exit here |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3961 ;; processing them recursively avoids the need for any special |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3962 ;; handling. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3963 ;; Nothing should be done if we have only the specs or a |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3964 ;; generic instantion. |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3965 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3966 ((and (looking-at "\\<procedure\\|function\\>")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3967 (if first |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3968 (forward-word 1) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3969 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3970 (setq pos (point)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3971 (ada-search-ignore-string-comment "is\\|;") |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3972 (if (= (char-before) ?s) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3973 (progn |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3974 (ada-goto-next-non-ws) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3975 (unless (looking-at "\\<new\\>") |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3976 (progn |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3977 (goto-char pos) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
3978 (ada-goto-matching-end 0 t))))))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3979 |
10705 | 3980 ;; found block end => decrease nest depth |
3981 ((looking-at "\\<end\\>") | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3982 (setq nest-count (1- nest-count) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3983 found (<= nest-count 0)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3984 ;; skip the following keyword |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3985 (if (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3986 (skip-chars-forward "end") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3987 (ada-goto-next-non-ws) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3988 (looking-at "\\<\\(loop\\|select\\|record\\|case\\|if\\)\\>")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3989 (forward-word 1))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
3990 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3991 ;; found package start => check if it really starts a block, and is not |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
3992 ;; in fact a generic instantiation for instance |
10705 | 3993 ((looking-at "\\<package\\>") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3994 (ada-search-ignore-string-comment "is" nil nil nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3995 'word-search-forward) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3996 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3997 ;; ignore and skip it if it is only a 'new' package |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3998 (if (looking-at "\\<new\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
3999 (goto-char (match-end 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4000 (setq nest-count (1+ nest-count) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4001 found (<= nest-count 0)))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
4002 |
10705 | 4003 ;; all the other block starts |
4004 (t | |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4005 (if (not first) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4006 (setq nest-count (1+ nest-count))) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4007 (setq found (<= nest-count 0)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4008 (forward-word 1))) ; end of 'cond' |
10705 | 4009 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4010 (setq first nil)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4011 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4012 (if found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4013 t |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4014 (if noerror |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4015 nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4016 (error "No matching end"))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4017 )) |
10705 | 4018 |
4019 | |
4020 (defun ada-search-ignore-string-comment | |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4021 (search-re &optional backward limit paramlists search-func) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4022 "Regexp-search for SEARCH-RE, ignoring comments, strings. |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4023 Returns a cons cell of begin and end of match data or nil, if not found. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4024 If BACKWARD is non-nil, search backward; search forward otherwise. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4025 The search stops at pos LIMIT. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4026 If PARAMLISTS is nil, ignore parameter lists. |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
4027 The search is done using SEARCH-FUNC. SEARCH-FUNC can be optimized |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4028 in case we are searching for a constant string. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4029 Point is moved at the beginning of the SEARCH-RE." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4030 (let (found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4031 begin |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4032 end |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4033 parse-result |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4034 (previous-syntax-table (syntax-table))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4035 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4036 ;; FIXME: need to pass BACKWARD to search-func! |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4037 (unless search-func |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4038 (setq search-func (if backward 're-search-backward 're-search-forward))) |
10705 | 4039 |
4040 ;; | |
4041 ;; search until found or end-of-buffer | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4042 ;; We have to test that we do not look further than limit |
10705 | 4043 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4044 (set-syntax-table ada-mode-symbol-syntax-table) |
10705 | 4045 (while (and (not found) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4046 (or (not limit) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4047 (or (and backward (<= limit (point))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4048 (>= limit (point)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4049 (funcall search-func search-re limit 1)) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4050 (setq begin (match-beginning 0)) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4051 (setq end (match-end 0)) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4052 |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4053 (setq parse-result (parse-partial-sexp |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4054 (save-excursion (beginning-of-line) (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4055 (point))) |
10705 | 4056 |
4057 (cond | |
4058 ;; | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4059 ;; If inside a string, skip it (and the following comments) |
10705 | 4060 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4061 ((ada-in-string-p parse-result) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4062 (if (featurep 'xemacs) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4063 (search-backward "\"" nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4064 (goto-char (nth 8 parse-result))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4065 (unless backward (forward-sexp 1))) |
10705 | 4066 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4067 ;; If inside a comment, skip it (and the following comments) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4068 ;; There is a special code for comments at the end of the file |
10705 | 4069 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4070 ((ada-in-comment-p parse-result) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4071 (if (featurep 'xemacs) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4072 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4073 (forward-line 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4074 (beginning-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4075 (forward-comment -1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4076 (goto-char (nth 8 parse-result))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4077 (unless backward |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4078 ;; at the end of the file, it is not possible to skip a comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4079 ;; so we just go at the end of the line |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4080 (if (forward-comment 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4081 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4082 (forward-comment 1000) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4083 (beginning-of-line)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4084 (end-of-line)))) |
10705 | 4085 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4086 ;; directly in front of a comment => skip it, if searching forward |
10705 | 4087 ;; |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4088 ((and (= (char-after begin) ?-) (= (char-after (1+ begin)) ?-)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4089 (unless backward (progn (forward-char -1) (forward-comment 1000)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4090 |
10705 | 4091 ;; |
4092 ;; found a parameter-list but should ignore it => skip it | |
4093 ;; | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4094 ((and (not paramlists) (ada-in-paramlist-p)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4095 (if backward |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4096 (search-backward "(" nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4097 (search-forward ")" nil t))) |
10705 | 4098 ;; |
4099 ;; found what we were looking for | |
4100 ;; | |
4101 (t | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4102 (setq found t)))) ; end of loop |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4103 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4104 (set-syntax-table previous-syntax-table) |
10705 | 4105 |
4106 (if found | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4107 (cons begin end) |
10705 | 4108 nil))) |
4109 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4110 ;; ------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4111 ;; -- Testing the position of the cursor |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4112 ;; ------------------------------------------------------- |
10705 | 4113 |
4114 (defun ada-in-decl-p () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4115 "Return t if point is inside a declarative part. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4116 Assumes point to be at the end of a statement." |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4117 (or (ada-in-paramlist-p) |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4118 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4119 (ada-goto-matching-decl-start t)))) |
10705 | 4120 |
4121 | |
4122 (defun ada-looking-at-semi-or () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4123 "Return t if looking at an 'or' following a semicolon." |
10705 | 4124 (save-excursion |
4125 (and (looking-at "\\<or\\>") | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4126 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4127 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4128 (ada-goto-stmt-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4129 (looking-at "\\<or\\>"))))) |
10705 | 4130 |
4131 | |
4132 (defun ada-looking-at-semi-private () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4133 "Return t if looking at the start of a private section in a package. |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
4134 Return nil if the private is part of the package name, as in |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4135 'private package A is...' (this can only happen at top level)." |
10705 | 4136 (save-excursion |
4137 (and (looking-at "\\<private\\>") | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4138 (not (looking-at "\\<private[ \t]*\\(package\\|generic\\)")) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4139 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4140 ;; Make sure this is the start of a private section (ie after |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4141 ;; a semicolon or just after the package declaration, but not |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4142 ;; after a 'type ... is private' or 'is new ... with private' |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4143 ;; |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4144 ;; Note that a 'private' statement at the beginning of the buffer |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4145 ;; does not indicate a private section, since this is instead a |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4146 ;; 'private procedure ...' |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
4147 (progn (forward-comment -1000) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4148 (and (not (bobp)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4149 (or (= (char-before) ?\;) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4150 (and (forward-word -3) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4151 (looking-at "\\<package\\>")))))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4152 |
10705 | 4153 |
4154 (defun ada-in-paramlist-p () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4155 "Return t if point is inside a parameter-list." |
10705 | 4156 (save-excursion |
4157 (and | |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4158 (ada-search-ignore-string-comment "(\\|)" t nil t) |
10705 | 4159 ;; inside parentheses ? |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4160 (= (char-after) ?\() |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4161 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4162 ;; We could be looking at two things here: |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4163 ;; operator definition: function "." ( |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4164 ;; subprogram definition: procedure .... ( |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4165 ;; Let's skip back over the first one |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4166 (progn |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4167 (skip-chars-backward " \t\n") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4168 (if (= (char-before) ?\") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4169 (backward-char 3) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4170 (backward-word 1)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4171 t) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4172 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4173 ;; and now over the second one |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4174 (backward-word 1) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4175 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4176 ;; We should ignore the case when the reserved keyword is in a |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4177 ;; comment (for instance, when we have: |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4178 ;; -- .... package |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4179 ;; Test (A) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4180 ;; we should return nil |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4181 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4182 (not (ada-in-string-or-comment-p)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4183 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4184 ;; right keyword two words before parenthesis ? |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4185 ;; Type is in this list because of discriminants |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4186 (looking-at (eval-when-compile |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4187 (concat "\\<\\(" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4188 "procedure\\|function\\|body\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4189 "task\\|entry\\|accept\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4190 "access[ \t]+procedure\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4191 "access[ \t]+function\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4192 "pragma\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4193 "type\\)\\>")))))) |
10705 | 4194 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4195 (defun ada-search-ignore-complex-boolean (regexp backwardp) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4196 "Search for REGEXP, ignoring comments, strings, 'and then', 'or else'. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4197 If BACKWARDP is non-nil, search backward; search forward otherwise." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4198 (let (result) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4199 (while (and (setq result (ada-search-ignore-string-comment regexp backwardp)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4200 (save-excursion (forward-word -1) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4201 (looking-at "and then\\|or else")))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4202 result)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4203 |
10705 | 4204 (defun ada-in-open-paren-p () |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4205 "Non-nil if in an open parenthesis. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4206 Return value is the position of the first non-ws behind the last unclosed |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4207 parenthesis, or nil." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4208 (save-excursion |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4209 (let ((parse (parse-partial-sexp |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4210 (point) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4211 (or (car (ada-search-ignore-complex-boolean |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4212 "\\<\\(;\\|is\\|then\\|loop\\|begin\\|else\\)\\>" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4213 t)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4214 (point-min))))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4215 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4216 (if (nth 1 parse) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4217 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4218 (goto-char (1+ (nth 1 parse))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4219 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4220 ;; Skip blanks, if they are not followed by a comment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4221 ;; See: |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4222 ;; type A is ( Value_0, |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4223 ;; Value_1); |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4224 ;; type B is ( -- comment |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4225 ;; Value_2); |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
4226 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4227 (if (or (not ada-indent-handle-comment-special) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4228 (not (looking-at "[ \t]+--"))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4229 (skip-chars-forward " \t")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4230 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4231 (point)))))) |
10705 | 4232 |
4233 | |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4234 ;; ----------------------------------------------------------- |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4235 ;; -- Behavior Of TAB Key |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4236 ;; ----------------------------------------------------------- |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4237 |
10705 | 4238 (defun ada-tab () |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4239 "Do indenting or tabbing according to `ada-tab-policy'. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4240 In Transient Mark mode, if the mark is active, operate on the contents |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4241 of the region. Otherwise, operate only on the current line." |
10705 | 4242 (interactive) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4243 (cond ((eq ada-tab-policy 'indent-rigidly) (ada-tab-hard)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4244 ((eq ada-tab-policy 'indent-auto) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4245 (if (ada-region-selected) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4246 (ada-indent-region (region-beginning) (region-end)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4247 (ada-indent-current))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4248 ((eq ada-tab-policy 'always-tab) (error "Not implemented")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4249 )) |
10705 | 4250 |
4251 (defun ada-untab (arg) | |
4252 "Delete leading indenting according to `ada-tab-policy'." | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4253 ;; FIXME: ARG is ignored |
10705 | 4254 (interactive "P") |
4255 (cond ((eq ada-tab-policy 'indent-rigidly) (ada-untab-hard)) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4256 ((eq ada-tab-policy 'indent-auto) (error "Not implemented")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4257 ((eq ada-tab-policy 'always-tab) (error "Not implemented")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4258 )) |
10705 | 4259 |
4260 (defun ada-indent-current-function () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4261 "Ada mode version of the `indent-line-function'." |
10705 | 4262 (interactive "*") |
4263 (let ((starting-point (point-marker))) | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4264 (beginning-of-line) |
10705 | 4265 (ada-tab) |
4266 (if (< (point) starting-point) | |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4267 (goto-char starting-point)) |
10705 | 4268 (set-marker starting-point nil) |
4269 )) | |
4270 | |
4271 (defun ada-tab-hard () | |
4272 "Indent current line to next tab stop." | |
4273 (interactive) | |
4274 (save-excursion | |
4275 (beginning-of-line) | |
4276 (insert-char ? ada-indent)) | |
4277 (if (save-excursion (= (point) (progn (beginning-of-line) (point)))) | |
4278 (forward-char ada-indent))) | |
4279 | |
4280 (defun ada-untab-hard () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4281 "Indent current line to previous tab stop." |
10705 | 4282 (interactive) |
73434
3586ad4a01a1
(ada-in-string-p): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
73422
diff
changeset
|
4283 (let ((bol (save-excursion (progn (beginning-of-line) (point)))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4284 (eol (save-excursion (progn (end-of-line) (point))))) |
73434
3586ad4a01a1
(ada-in-string-p): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
73422
diff
changeset
|
4285 (indent-rigidly bol eol (- 0 ada-indent)))) |
10705 | 4286 |
4287 | |
4288 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4289 ;; ------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4290 ;; -- Miscellaneous |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4291 ;; ------------------------------------------------------------ |
10705 | 4292 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4293 ;; Not needed any more for Emacs 21.2, but still needed for backward |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4294 ;; compatibility |
73434
3586ad4a01a1
(ada-in-string-p): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
73422
diff
changeset
|
4295 (defun ada-remove-trailing-spaces () |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4296 "Remove trailing spaces in the whole buffer." |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4297 (interactive) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4298 (save-match-data |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4299 (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4300 (save-restriction |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4301 (widen) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4302 (goto-char (point-min)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4303 (while (re-search-forward "[ \t]+$" (point-max) t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4304 (replace-match "" nil nil)))))) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4305 |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4306 (defun ada-gnat-style () |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4307 "Clean up comments, `(' and `,' for GNAT style checking switch." |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4308 (interactive) |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4309 (save-excursion |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4310 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4311 ;; The \n is required, or the line after an empty comment line is |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4312 ;; simply ignored. |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4313 (goto-char (point-min)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4314 (while (re-search-forward "--[ \t]*\\([^-\n]\\)" nil t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4315 (replace-match "-- \\1") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4316 (forward-line 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4317 (beginning-of-line)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
4318 |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4319 (goto-char (point-min)) |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4320 (while (re-search-forward "\\>(" nil t) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4321 (if (not (ada-in-string-or-comment-p)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4322 (replace-match " ("))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4323 (goto-char (point-min)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4324 (while (re-search-forward ";--" nil t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4325 (forward-char -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4326 (if (not (ada-in-string-or-comment-p)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4327 (replace-match "; --"))) |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4328 (goto-char (point-min)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4329 (while (re-search-forward "([ \t]+" nil t) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4330 (if (not (ada-in-string-or-comment-p)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4331 (replace-match "("))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4332 (goto-char (point-min)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4333 (while (re-search-forward ")[ \t]+)" nil t) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4334 (if (not (ada-in-string-or-comment-p)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4335 (replace-match "))"))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4336 (goto-char (point-min)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4337 (while (re-search-forward "\\>:" nil t) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4338 (if (not (ada-in-string-or-comment-p)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4339 (replace-match " :"))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4340 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4341 ;; Make sure there is a space after a ','. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4342 ;; Always go back to the beginning of the match, since otherwise |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4343 ;; a statement like ('F','D','E') is incorrectly modified. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4344 (goto-char (point-min)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4345 (while (re-search-forward ",[ \t]*\\(.\\)" nil t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4346 (if (not (save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4347 (goto-char (match-beginning 0)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4348 (ada-in-string-or-comment-p))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4349 (replace-match ", \\1"))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4350 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4351 ;; Operators should be surrounded by spaces. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4352 (goto-char (point-min)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4353 (while (re-search-forward |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4354 "[ \t]*\\(/=\\|\\*\\*\\|:=\\|\\.\\.\\|[-:+*/]\\)[ \t]*" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4355 nil t) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4356 (goto-char (match-beginning 1)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4357 (if (or (looking-at "--") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4358 (ada-in-string-or-comment-p)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4359 (progn |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4360 (forward-line 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4361 (beginning-of-line)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4362 (cond |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4363 ((string= (match-string 1) "/=") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4364 (replace-match " /= ")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4365 ((string= (match-string 1) "..") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4366 (replace-match " .. ")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4367 ((string= (match-string 1) "**") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4368 (replace-match " ** ")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4369 ((string= (match-string 1) ":=") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4370 (replace-match " := ")) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4371 (t |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4372 (replace-match " \\1 "))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4373 (forward-char 1))) |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4374 )) |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4375 |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
4376 |
10705 | 4377 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4378 ;; ------------------------------------------------------------- |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4379 ;; -- Moving To Procedures/Packages/Statements |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4380 ;; ------------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4381 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4382 (defun ada-move-to-start () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4383 "Move point to the matching start of the current Ada structure." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4384 (interactive) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4385 (let ((pos (point)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4386 (previous-syntax-table (syntax-table))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4387 (unwind-protect |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4388 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4389 (set-syntax-table ada-mode-symbol-syntax-table) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4390 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4391 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4392 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4393 ;; do nothing if in string or comment or not on 'end ...;' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4394 ;; or if an error occurs during processing |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4395 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4396 (or |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4397 (ada-in-string-or-comment-p) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4398 (and (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4399 (or (looking-at "[ \t]*\\<end\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4400 (backward-word 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4401 (or (looking-at "[ \t]*\\<end\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4402 (backward-word 1)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4403 (or (looking-at "[ \t]*\\<end\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4404 (error "Not on end ...;"))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4405 (ada-goto-matching-start 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4406 (setq pos (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4407 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4408 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4409 ;; on 'begin' => go on, according to user option |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4410 ;; |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4411 ada-move-to-declaration |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4412 (looking-at "\\<begin\\>") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4413 (ada-goto-matching-decl-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4414 (setq pos (point)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4415 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4416 ) ; end of save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4417 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4418 ;; now really move to the found position |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4419 (goto-char pos)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4420 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4421 ;; restore syntax-table |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4422 (set-syntax-table previous-syntax-table)))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4423 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4424 (defun ada-move-to-end () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4425 "Move point to the matching end of the block around point. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4426 Moves to 'begin' if in a declarative part." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4427 (interactive) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4428 (let ((pos (point)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4429 decl-start |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4430 (previous-syntax-table (syntax-table))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4431 (unwind-protect |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4432 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4433 (set-syntax-table ada-mode-symbol-syntax-table) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4434 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4435 (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4436 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4437 (cond |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4438 ;; Go to the beginning of the current word, and check if we are |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4439 ;; directly on 'begin' |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4440 ((save-excursion |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4441 (skip-syntax-backward "w") |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4442 (looking-at "\\<begin\\>")) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4443 (ada-goto-matching-end 1) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4444 ) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
4445 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4446 ;; on first line of subprogram body |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4447 ;; Do nothing for specs or generic instantion, since these are |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4448 ;; handled as the general case (find the enclosing block) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4449 ;; We also need to make sure that we ignore nested subprograms |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4450 ((save-excursion |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4451 (and (skip-syntax-backward "w") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4452 (looking-at "\\<function\\>\\|\\<procedure\\>" ) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4453 (ada-search-ignore-string-comment "is\\|;") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4454 (not (= (char-before) ?\;)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4455 )) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4456 (skip-syntax-backward "w") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4457 (ada-goto-matching-end 0 t)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
4458 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4459 ;; on first line of task declaration |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4460 ((save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4461 (and (ada-goto-stmt-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4462 (looking-at "\\<task\\>" ) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4463 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4464 (ada-goto-next-non-ws) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4465 (looking-at "\\<body\\>"))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4466 (ada-search-ignore-string-comment "begin" nil nil nil |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4467 'word-search-forward)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4468 ;; accept block start |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4469 ((save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4470 (and (ada-goto-stmt-start) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4471 (looking-at "\\<accept\\>" ))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4472 (ada-goto-matching-end 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4473 ;; package start |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4474 ((save-excursion |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4475 (setq decl-start (and (ada-goto-matching-decl-start t) (point))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4476 (and decl-start (looking-at "\\<package\\>"))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4477 (ada-goto-matching-end 1)) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4478 |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4479 ;; On a "declare" keyword |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4480 ((save-excursion |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4481 (skip-syntax-backward "w") |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4482 (looking-at "\\<declare\\>")) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4483 (ada-goto-matching-end 0 t)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
4484 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4485 ;; inside a 'begin' ... 'end' block |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4486 (decl-start |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4487 (goto-char decl-start) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4488 (ada-goto-matching-end 0 t)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
4489 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4490 ;; (hopefully ;-) everything else |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4491 (t |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4492 (ada-goto-matching-end 1))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4493 (setq pos (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4494 ) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4495 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4496 ;; now really move to the position found |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4497 (goto-char pos)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4498 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4499 ;; restore syntax-table |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4500 (set-syntax-table previous-syntax-table)))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4501 |
10705 | 4502 (defun ada-next-procedure () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4503 "Move point to next procedure." |
10705 | 4504 (interactive) |
4505 (end-of-line) | |
4506 (if (re-search-forward ada-procedure-start-regexp nil t) | |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
4507 (goto-char (match-beginning 4)) |
10705 | 4508 (error "No more functions/procedures/tasks"))) |
4509 | |
4510 (defun ada-previous-procedure () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4511 "Move point to previous procedure." |
10705 | 4512 (interactive) |
4513 (beginning-of-line) | |
4514 (if (re-search-backward ada-procedure-start-regexp nil t) | |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
4515 (goto-char (match-beginning 4)) |
10705 | 4516 (error "No more functions/procedures/tasks"))) |
4517 | |
4518 (defun ada-next-package () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4519 "Move point to next package." |
10705 | 4520 (interactive) |
4521 (end-of-line) | |
4522 (if (re-search-forward ada-package-start-regexp nil t) | |
4523 (goto-char (match-beginning 1)) | |
4524 (error "No more packages"))) | |
4525 | |
4526 (defun ada-previous-package () | |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4527 "Move point to previous package." |
10705 | 4528 (interactive) |
4529 (beginning-of-line) | |
4530 (if (re-search-backward ada-package-start-regexp nil t) | |
4531 (goto-char (match-beginning 1)) | |
4532 (error "No more packages"))) | |
4533 | |
4534 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4535 ;; ------------------------------------------------------------ |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4536 ;; -- Define keymap and menus for Ada |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4537 ;; ------------------------------------------------------------- |
10705 | 4538 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4539 (defun ada-create-keymap () |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4540 "Create the keymap associated with the Ada mode." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4541 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4542 ;; Indentation and Formatting |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4543 (define-key ada-mode-map "\C-j" 'ada-indent-newline-indent-conditional) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4544 (define-key ada-mode-map "\C-m" 'ada-indent-newline-indent-conditional) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4545 (define-key ada-mode-map "\t" 'ada-tab) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4546 (define-key ada-mode-map "\C-c\t" 'ada-justified-indent-current) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4547 (define-key ada-mode-map "\C-c\C-l" 'ada-indent-region) |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
4548 (define-key ada-mode-map [(shift tab)] 'ada-untab) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4549 (define-key ada-mode-map "\C-c\C-f" 'ada-format-paramlist) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4550 ;; We don't want to make meta-characters case-specific. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4551 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4552 ;; Movement |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4553 (define-key ada-mode-map "\M-\C-e" 'ada-next-procedure) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4554 (define-key ada-mode-map "\M-\C-a" 'ada-previous-procedure) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4555 (define-key ada-mode-map "\C-c\C-a" 'ada-move-to-start) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4556 (define-key ada-mode-map "\C-c\C-e" 'ada-move-to-end) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4557 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4558 ;; Compilation |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4559 (unless (lookup-key ada-mode-map "\C-c\C-c") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4560 (define-key ada-mode-map "\C-c\C-c" 'compile)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4561 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4562 ;; Casing |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4563 (define-key ada-mode-map "\C-c\C-b" 'ada-adjust-case-buffer) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4564 (define-key ada-mode-map "\C-c\C-t" 'ada-case-read-exceptions) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4565 (define-key ada-mode-map "\C-c\C-y" 'ada-create-case-exception) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4566 (define-key ada-mode-map "\C-c\C-\M-y" 'ada-create-case-exception-substring) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4567 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4568 ;; On XEmacs, you can easily specify whether DEL should deletes |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4569 ;; one character forward or one character backward. Take this into |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4570 ;; account |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
4571 (define-key ada-mode-map |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
4572 (if (boundp 'delete-key-deletes-forward) [backspace] "\177") |
78601
047d1fc93812
(ada-create-keymap): Paren typo.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78600
diff
changeset
|
4573 'backward-delete-char-untabify) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4574 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4575 ;; Make body |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4576 (define-key ada-mode-map "\C-c\C-n" 'ada-make-subprogram-body) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4577 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4578 ;; Use predefined function of Emacs19 for comments (RE) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4579 (define-key ada-mode-map "\C-c;" 'comment-region) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4580 (define-key ada-mode-map "\C-c:" 'ada-uncomment-region) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4581 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4582 ;; The following keys are bound to functions defined in ada-xref.el or |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4583 ;; ada-prj,el., However, RMS rightly thinks that the code should be shared, |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4584 ;; and activated only if the right compiler is used |
84917
e52cb6ef60ec
(ada-save-exceptions-to-file): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
78601
diff
changeset
|
4585 |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
4586 (define-key ada-mode-map (if (featurep 'xemacs) '(shift button3) [S-mouse-3]) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
4587 'ada-point-and-xref) |
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
4588 (define-key ada-mode-map [(control tab)] 'ada-complete-identifier) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4589 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4590 (define-key ada-mode-map "\C-co" 'ff-find-other-file) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4591 (define-key ada-mode-map "\C-c5\C-d" 'ada-goto-declaration-other-frame) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4592 (define-key ada-mode-map "\C-c\C-d" 'ada-goto-declaration) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4593 (define-key ada-mode-map "\C-c\C-s" 'ada-xref-goto-previous-reference) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4594 (define-key ada-mode-map "\C-c\C-c" 'ada-compile-application) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4595 (define-key ada-mode-map "\C-cc" 'ada-change-prj) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4596 (define-key ada-mode-map "\C-cd" 'ada-set-default-project-file) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4597 (define-key ada-mode-map "\C-cg" 'ada-gdb-application) |
74002
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
4598 (define-key ada-mode-map "\C-c\C-m" 'ada-set-main-compile-application) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4599 (define-key ada-mode-map "\C-cr" 'ada-run-application) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4600 (define-key ada-mode-map "\C-c\C-o" 'ada-goto-parent) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4601 (define-key ada-mode-map "\C-c\C-r" 'ada-find-references) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4602 (define-key ada-mode-map "\C-cl" 'ada-find-local-references) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4603 (define-key ada-mode-map "\C-c\C-v" 'ada-check-current) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4604 (define-key ada-mode-map "\C-cf" 'ada-find-file) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4605 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4606 (define-key ada-mode-map "\C-cu" 'ada-prj-edit) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4607 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4608 ;; The templates, defined in ada-stmt.el |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4609 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4610 (let ((map (make-sparse-keymap))) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4611 (define-key map "h" 'ada-header) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4612 (define-key map "\C-a" 'ada-array) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4613 (define-key map "b" 'ada-exception-block) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4614 (define-key map "d" 'ada-declare-block) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4615 (define-key map "c" 'ada-case) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4616 (define-key map "\C-e" 'ada-elsif) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4617 (define-key map "e" 'ada-else) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4618 (define-key map "\C-k" 'ada-package-spec) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4619 (define-key map "k" 'ada-package-body) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4620 (define-key map "\C-p" 'ada-procedure-spec) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4621 (define-key map "p" 'ada-subprogram-body) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4622 (define-key map "\C-f" 'ada-function-spec) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4623 (define-key map "f" 'ada-for-loop) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4624 (define-key map "i" 'ada-if) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4625 (define-key map "l" 'ada-loop) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4626 (define-key map "\C-r" 'ada-record) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4627 (define-key map "\C-s" 'ada-subtype) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4628 (define-key map "S" 'ada-tabsize) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4629 (define-key map "\C-t" 'ada-task-spec) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4630 (define-key map "t" 'ada-task-body) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4631 (define-key map "\C-y" 'ada-type) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4632 (define-key map "\C-v" 'ada-private) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4633 (define-key map "u" 'ada-use) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4634 (define-key map "\C-u" 'ada-with) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4635 (define-key map "\C-w" 'ada-when) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4636 (define-key map "w" 'ada-while-loop) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4637 (define-key map "\C-x" 'ada-exception) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4638 (define-key map "x" 'ada-exit) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4639 (define-key ada-mode-map "\C-ct" map)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4640 ) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4641 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4642 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4643 (defun ada-create-menu () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4644 "Create the Ada menu as shown in the menu bar." |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4645 (let ((m '("Ada" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4646 ("Help" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4647 ["Ada Mode" (info "ada-mode") t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4648 ["GNAT User's Guide" (info "gnat_ugn") |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4649 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4650 ["GNAT Reference Manual" (info "gnat_rm") |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4651 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4652 ["Gcc Documentation" (info "gcc") |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4653 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4654 ["Gdb Documentation" (info "gdb") |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4655 (eq ada-which-compiler 'gnat)] |
73932
242a56e8b2c0
Replace conditional (require 'ispell) with defvar.
Juanma Barranquero <lekktu@gmail.com>
parents:
73922
diff
changeset
|
4656 ["Ada95 Reference Manual" (info "arm95") t]) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4657 ("Options" :included (eq major-mode 'ada-mode) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4658 ["Auto Casing" (setq ada-auto-case (not ada-auto-case)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4659 :style toggle :selected ada-auto-case] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4660 ["Auto Indent After Return" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4661 (setq ada-indent-after-return (not ada-indent-after-return)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4662 :style toggle :selected ada-indent-after-return] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4663 ["Automatically Recompile For Cross-references" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4664 (setq ada-xref-create-ali (not ada-xref-create-ali)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4665 :style toggle :selected ada-xref-create-ali |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4666 :included (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4667 ["Confirm Commands" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4668 (setq ada-xref-confirm-compile (not ada-xref-confirm-compile)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4669 :style toggle :selected ada-xref-confirm-compile |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4670 :included (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4671 ["Show Cross-references In Other Buffer" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4672 (setq ada-xref-other-buffer (not ada-xref-other-buffer)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4673 :style toggle :selected ada-xref-other-buffer |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4674 :included (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4675 ["Tight Integration With GNU Visual Debugger" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4676 (setq ada-tight-gvd-integration (not ada-tight-gvd-integration)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4677 :style toggle :selected ada-tight-gvd-integration |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4678 :included (string-match "gvd" ada-prj-default-debugger)]) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4679 ["Customize" (customize-group 'ada) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4680 :included (fboundp 'customize-group)] |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4681 ["Check file" ada-check-current t] |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4682 ["Compile file" ada-compile-current t] |
74002
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
4683 ["Set main and Build" ada-set-main-compile-application t] |
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
4684 ["Show main" ada-show-current-main t] |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4685 ["Build" ada-compile-application t] |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4686 ["Run" ada-run-application t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4687 ["Debug" ada-gdb-application (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4688 ["------" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4689 ("Project" |
74002
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
4690 ["Show project" ada-show-current-project t] |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4691 ["Load..." ada-set-default-project-file t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4692 ["New..." ada-prj-new t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4693 ["Edit..." ada-prj-edit t]) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4694 ("Goto" :included (eq major-mode 'ada-mode) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4695 ["Goto Declaration/Body" ada-goto-declaration |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4696 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4697 ["Goto Body" ada-goto-body |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4698 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4699 ["Goto Declaration Other Frame" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4700 ada-goto-declaration-other-frame |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4701 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4702 ["Goto Previous Reference" ada-xref-goto-previous-reference |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4703 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4704 ["List Local References" ada-find-local-references |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4705 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4706 ["List References" ada-find-references |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4707 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4708 ["Goto Reference To Any Entity" ada-find-any-references |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4709 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4710 ["Goto Parent Unit" ada-goto-parent |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4711 (eq ada-which-compiler 'gnat)] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4712 ["--" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4713 ["Next compilation error" next-error t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4714 ["Previous Package" ada-previous-package t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4715 ["Next Package" ada-next-package t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4716 ["Previous Procedure" ada-previous-procedure t] |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4717 ["Next Procedure" ada-next-procedure t] |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4718 ["Goto Start Of Statement" ada-move-to-start t] |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4719 ["Goto End Of Statement" ada-move-to-end t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4720 ["-" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4721 ["Other File" ff-find-other-file t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4722 ["Other File Other Window" ada-ff-other-window t]) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4723 ("Edit" :included (eq major-mode 'ada-mode) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4724 ["Search File On Source Path" ada-find-file t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4725 ["------" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4726 ["Complete Identifier" ada-complete-identifier t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4727 ["-----" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4728 ["Indent Line" ada-indent-current-function t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4729 ["Justify Current Indentation" ada-justified-indent-current t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4730 ["Indent Lines in Selection" ada-indent-region t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4731 ["Indent Lines in File" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4732 (ada-indent-region (point-min) (point-max)) t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4733 ["Format Parameter List" ada-format-paramlist t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4734 ["-" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4735 ["Comment Selection" comment-region t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4736 ["Uncomment Selection" ada-uncomment-region t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4737 ["--" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4738 ["Fill Comment Paragraph" fill-paragraph t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4739 ["Fill Comment Paragraph Justify" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4740 ada-fill-comment-paragraph-justify t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4741 ["Fill Comment Paragraph Postfix" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4742 ada-fill-comment-paragraph-postfix t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4743 ["---" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4744 ["Adjust Case Selection" ada-adjust-case-region t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4745 ["Adjust Case in File" ada-adjust-case-buffer t] |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4746 ["Create Case Exception" ada-create-case-exception t] |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4747 ["Create Case Exception Substring" |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4748 ada-create-case-exception-substring t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4749 ["Reload Case Exceptions" ada-case-read-exceptions t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4750 ["----" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4751 ["Make body for subprogram" ada-make-subprogram-body t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4752 ["-----" nil nil] |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4753 ["Narrow to subprogram" ada-narrow-to-defun t]) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4754 ("Templates" |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4755 :included (eq major-mode 'ada-mode) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4756 ["Header" ada-header t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4757 ["-" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4758 ["Package Body" ada-package-body t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4759 ["Package Spec" ada-package-spec t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4760 ["Function Spec" ada-function-spec t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4761 ["Procedure Spec" ada-procedure-spec t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4762 ["Proc/func Body" ada-subprogram-body t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4763 ["Task Body" ada-task-body t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4764 ["Task Spec" ada-task-spec t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4765 ["Declare Block" ada-declare-block t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4766 ["Exception Block" ada-exception-block t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4767 ["--" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4768 ["Entry" ada-entry t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4769 ["Entry family" ada-entry-family t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4770 ["Select" ada-select t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4771 ["Accept" ada-accept t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4772 ["Or accept" ada-or-accep t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4773 ["Or delay" ada-or-delay t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4774 ["Or terminate" ada-or-terminate t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4775 ["---" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4776 ["Type" ada-type t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4777 ["Private" ada-private t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4778 ["Subtype" ada-subtype t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4779 ["Record" ada-record t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4780 ["Array" ada-array t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4781 ["----" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4782 ["If" ada-if t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4783 ["Else" ada-else t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4784 ["Elsif" ada-elsif t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4785 ["Case" ada-case t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4786 ["-----" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4787 ["While Loop" ada-while-loop t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4788 ["For Loop" ada-for-loop t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4789 ["Loop" ada-loop t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4790 ["------" nil nil] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4791 ["Exception" ada-exception t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4792 ["Exit" ada-exit t] |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4793 ["When" ada-when t]) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4794 ))) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
4795 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4796 (easy-menu-define ada-mode-menu ada-mode-map "Menu keymap for Ada mode" m) |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4797 (if (featurep 'xemacs) |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4798 (progn |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4799 (define-key ada-mode-map [menu-bar] ada-mode-menu) |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4800 (set 'mode-popup-menu (cons "Ada mode" ada-mode-menu)))))) |
10705 | 4801 |
4802 | |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4803 ;; ------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4804 ;; Commenting/Uncommenting code |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4805 ;; The following two calls are provided to enhance the standard |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4806 ;; comment-region function, which only allows uncommenting if the |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4807 ;; comment is at the beginning of a line. If the line have been re-indented, |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4808 ;; we are unable to use comment-region, which makes no sense. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4809 ;; |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4810 ;; In addition, we provide an interface to the standard comment handling |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4811 ;; function for justifying the comments. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4812 ;; ------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4813 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4814 (defadvice comment-region (before ada-uncomment-anywhere disable) |
87566
0c4a74c24677
* progmodes/ada-xref.el (ada-prj-find-prj-file):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87401
diff
changeset
|
4815 (if (and (consp arg) ;; a prefix with \C-u is of the form '(4), whereas |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4816 ;; \C-u 2 sets arg to '2' (fixed by S.Leake) |
87566
0c4a74c24677
* progmodes/ada-xref.el (ada-prj-find-prj-file):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87401
diff
changeset
|
4817 (derived-mode-p 'ada-mode)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4818 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4819 (let ((cs (concat "^[ \t]*" (regexp-quote comment-start)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4820 (goto-char beg) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4821 (while (re-search-forward cs end t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4822 (replace-match comment-start)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4823 )))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4824 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4825 (defun ada-uncomment-region (beg end &optional arg) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4826 "Uncomment region BEG .. END. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4827 ARG gives number of comment characters." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4828 (interactive "r\nP") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4829 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4830 ;; This advice is not needed anymore with Emacs21. However, for older |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4831 ;; versions, as well as for XEmacs, we still need to enable it. |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4832 (if (or (<= emacs-major-version 20) (featurep 'xemacs)) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4833 (progn |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4834 (ad-activate 'comment-region) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4835 (comment-region beg end (- (or arg 2))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4836 (ad-deactivate 'comment-region)) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4837 (comment-region beg end (list (- (or arg 2)))) |
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4838 (ada-indent-region beg end))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4839 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4840 (defun ada-fill-comment-paragraph-justify () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4841 "Fill current comment paragraph and justify each line as well." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4842 (interactive) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4843 (ada-fill-comment-paragraph 'full)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4844 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4845 (defun ada-fill-comment-paragraph-postfix () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4846 "Fill current comment paragraph and justify each line as well. |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4847 Adds `ada-fill-comment-postfix' at the end of each line." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4848 (interactive) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4849 (ada-fill-comment-paragraph 'full t)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4850 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4851 (defun ada-fill-comment-paragraph (&optional justify postfix) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4852 "Fill the current comment paragraph. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4853 If JUSTIFY is non-nil, each line is justified as well. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4854 If POSTFIX and JUSTIFY are non-nil, `ada-fill-comment-postfix' is appended |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4855 to each line filled and justified. |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4856 The paragraph is indented on the first line." |
10705 | 4857 (interactive "P") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4858 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4859 ;; check if inside comment or just in front a comment |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4860 (if (and (not (ada-in-comment-p)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4861 (not (looking-at "[ \t]*--"))) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4862 (error "Not inside comment")) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4863 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4864 (let* (indent from to |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4865 (opos (point-marker)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4866 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4867 ;; Sets this variable to nil, otherwise it prevents |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4868 ;; fill-region-as-paragraph to work on Emacs <= 20.2 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4869 (parse-sexp-lookup-properties nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4870 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4871 fill-prefix |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4872 (fill-column (current-fill-column))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4873 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4874 ;; Find end of paragraph |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4875 (back-to-indentation) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4876 (while (and (not (eobp)) (looking-at ".*--[ \t]*[^ \t\n]")) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4877 (forward-line 1) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4878 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4879 ;; If we were at the last line in the buffer, create a dummy empty |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4880 ;; line at the end of the buffer. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4881 (if (eobp) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4882 (insert "\n") |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4883 (back-to-indentation))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4884 (beginning-of-line) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4885 (setq to (point-marker)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4886 (goto-char opos) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4887 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4888 ;; Find beginning of paragraph |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4889 (back-to-indentation) |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4890 (while (and (not (bobp)) (looking-at ".*--[ \t]*[^ \t\n]")) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4891 (forward-line -1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4892 (back-to-indentation)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4893 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
4894 ;; We want one line above the first one, unless we are at the beginning |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4895 ;; of the buffer |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4896 (unless (bobp) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
4897 (forward-line 1)) |
41036
aaa6f44a1b96
(ada-fill-comment-prefix): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
41012
diff
changeset
|
4898 (beginning-of-line) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4899 (setq from (point-marker)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4900 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4901 ;; Calculate the indentation we will need for the paragraph |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4902 (back-to-indentation) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4903 (setq indent (current-column)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4904 ;; unindent the first line of the paragraph |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4905 (delete-region from (point)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4906 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4907 ;; Remove the old postfixes |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4908 (goto-char from) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4909 (while (re-search-forward "--\n" to t) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4910 (replace-match "\n")) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4911 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4912 (goto-char (1- to)) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4913 (setq to (point-marker)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4914 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4915 ;; Indent and justify the paragraph |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4916 (setq fill-prefix ada-fill-comment-prefix) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4917 (set-left-margin from to indent) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4918 (if postfix |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4919 (setq fill-column (- fill-column (length ada-fill-comment-postfix)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4920 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4921 (fill-region-as-paragraph from to justify) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4922 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4923 ;; Add the postfixes if required |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4924 (if postfix |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4925 (save-restriction |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4926 (goto-char from) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4927 (narrow-to-region from to) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4928 (while (not (eobp)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4929 (end-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4930 (insert-char ? (- fill-column (current-column))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4931 (insert ada-fill-comment-postfix) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4932 (forward-line)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4933 )) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4934 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4935 ;; In Emacs <= 20.2 and XEmacs <=20.4, there is a bug, and a newline is |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4936 ;; inserted at the end. Delete it |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
4937 (if (or (featurep 'xemacs) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4938 (<= emacs-major-version 19) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4939 (and (= emacs-major-version 20) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4940 (<= emacs-minor-version 2))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4941 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4942 (goto-char to) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4943 (end-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4944 (delete-char 1))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4945 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4946 (goto-char opos))) |
10705 | 4947 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4948 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4949 ;; --------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4950 ;; support for find-file.el |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4951 ;; These functions are used by find-file to guess the file names from |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4952 ;; unit names, and to find the other file (spec or body) from the current |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4953 ;; file (body or spec). |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4954 ;; It is also used to find in which function we are, so as to put the |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4955 ;; cursor at the correct position. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4956 ;; Standard Ada does not force any relation between unit names and file names, |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4957 ;; so some of these functions can only be a good approximation. However, they |
79854
d979323205c7
Fix typos in comments.
Juanma Barranquero <lekktu@gmail.com>
parents:
79717
diff
changeset
|
4958 ;; are also overridden in `ada-xref'.el when we know that the user is using |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4959 ;; GNAT. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4960 ;; --------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4961 |
79854
d979323205c7
Fix typos in comments.
Juanma Barranquero <lekktu@gmail.com>
parents:
79717
diff
changeset
|
4962 ;; Overridden when we work with GNAT, to use gnatkrunch |
10705 | 4963 (defun ada-make-filename-from-adaname (adaname) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
4964 "Determine the filename in which ADANAME is found. |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4965 This matches the GNAT default naming convention, except for |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
4966 pre-defined units." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4967 (while (string-match "\\." adaname) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4968 (setq adaname (replace-match "-" t t adaname))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4969 (downcase adaname) |
10705 | 4970 ) |
4971 | |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
4972 (defun ada-other-file-name () |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4973 "Return the name of the other file. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4974 The name returned is the body if `current-buffer' is the spec, |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
4975 or the spec otherwise." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4976 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4977 (let ((is-spec nil) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4978 (is-body nil) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4979 (suffixes ada-spec-suffixes) |
73434
3586ad4a01a1
(ada-in-string-p): Doc fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
73422
diff
changeset
|
4980 (name (buffer-file-name))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4981 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4982 ;; Guess whether we have a spec or a body, and get the basename of the |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4983 ;; file. Since the extension may not start with '.', we can not use |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4984 ;; file-name-extension |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4985 (while (and (not is-spec) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4986 suffixes) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4987 (if (string-match (concat "\\(.*\\)" (car suffixes) "$") name) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4988 (setq is-spec t |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4989 name (match-string 1 name))) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4990 (setq suffixes (cdr suffixes))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4991 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4992 (if (not is-spec) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4993 (progn |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
4994 (setq suffixes ada-body-suffixes) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4995 (while (and (not is-body) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4996 suffixes) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4997 (if (string-match (concat "\\(.*\\)" (car suffixes) "$") name) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4998 (setq is-body t |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
4999 name (match-string 1 name))) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5000 (setq suffixes (cdr suffixes))))) |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
5001 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5002 ;; If this wasn't in either list, return name itself |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5003 (if (not (or is-spec is-body)) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5004 name |
33786
9f63b158eb6b
* simple.el (delete-trailing-whitespace): New interactive function.
Sam Steingold <sds@gnu.org>
parents:
33716
diff
changeset
|
5005 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5006 ;; Else find the other possible names |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5007 (if is-spec |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5008 (setq suffixes ada-body-suffixes) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5009 (setq suffixes ada-spec-suffixes)) |
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5010 (setq is-spec name) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5011 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5012 (while suffixes |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5013 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5014 ;; If we are using project file, search for the other file in all |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5015 ;; the possible src directories. |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
5016 |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
5017 (if (fboundp 'ada-find-src-file-in-dir) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5018 (let ((other |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5019 (ada-find-src-file-in-dir |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5020 (file-name-nondirectory (concat name (car suffixes)))))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5021 (if other |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5022 (set 'is-spec other))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5023 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5024 ;; Else search in the current directory |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5025 (if (file-exists-p (concat name (car suffixes))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5026 (setq is-spec (concat name (car suffixes))))) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5027 (setq suffixes (cdr suffixes))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5028 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5029 is-spec))) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5030 |
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5031 (defun ada-which-function-are-we-in () |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5032 "Return the name of the function whose definition/declaration point is in. |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5033 Used in `ff-pre-load-hook'." |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5034 (setq ff-function-name nil) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5035 (save-excursion |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5036 (end-of-line);; make sure we get the complete name |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5037 (or (if (re-search-backward ada-procedure-start-regexp nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5038 (setq ff-function-name (match-string 5))) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5039 (if (re-search-backward ada-package-start-regexp nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5040 (setq ff-function-name (match-string 4)))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5041 )) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5042 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5043 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5044 (defvar ada-last-which-function-line -1 |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
5045 "Last line on which `ada-which-function' was called.") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5046 (defvar ada-last-which-function-subprog 0 |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5047 "Last subprogram name returned by `ada-which-function'.") |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5048 (make-variable-buffer-local 'ada-last-which-function-subprog) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5049 (make-variable-buffer-local 'ada-last-which-function-line) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5050 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5051 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5052 (defun ada-which-function () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5053 "Return the name of the function whose body the point is in. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5054 This function works even in the case of nested subprograms, whereas the |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
5055 standard Emacs function `which-function' does not. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5056 Since the search can be long, the results are cached." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5057 |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
5058 (let ((line (count-lines 1 (point))) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5059 (pos (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5060 end-pos |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5061 func-name indent |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5062 found) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5063 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5064 ;; If this is the same line as before, simply return the same result |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5065 (if (= line ada-last-which-function-line) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5066 ada-last-which-function-subprog |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5067 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5068 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5069 ;; In case the current line is also the beginning of the body |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5070 (end-of-line) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5071 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5072 ;; Are we looking at "function Foo\n (paramlist)" |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5073 (skip-chars-forward " \t\n(") |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
5074 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5075 (condition-case nil |
45931
a4c8d672ccbe
* progmodes/ada-mode.el: Update copyright notice.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
44933
diff
changeset
|
5076 (up-list 1) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5077 (error nil)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5078 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5079 (skip-chars-forward " \t\n") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5080 (if (looking-at "return") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5081 (progn |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5082 (forward-word 1) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5083 (skip-chars-forward " \t\n") |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5084 (skip-chars-forward "a-zA-Z0-9_'"))) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
5085 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5086 ;; Can't simply do forward-word, in case the "is" is not on the |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5087 ;; same line as the closing parenthesis |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5088 (skip-chars-forward "is \t\n") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5089 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5090 ;; No look for the closest subprogram body that has not ended yet. |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5091 ;; Not that we expect all the bodies to be finished by "end <name>", |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5092 ;; or a simple "end;" indented in the same column as the start of |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5093 ;; the subprogram. The goal is to be as efficient as possible. |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5094 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5095 (while (and (not found) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5096 (re-search-backward ada-imenu-subprogram-menu-re nil t)) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5097 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5098 ;; Get the function name, but not the properties, or this changes |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5099 ;; the face in the modeline on Emacs 21 |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5100 (setq func-name (match-string-no-properties 2)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5101 (if (and (not (ada-in-comment-p)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5102 (not (save-excursion |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5103 (goto-char (match-end 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5104 (looking-at "[ \t\n]*new")))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5105 (save-excursion |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5106 (back-to-indentation) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5107 (setq indent (current-column)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5108 (if (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5109 (concat "end[ \t]+" func-name "[ \t]*;\\|^" |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5110 (make-string indent ? ) "end;")) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5111 (setq end-pos (point)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5112 (setq end-pos (point-max))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5113 (if (>= end-pos pos) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5114 (setq found func-name)))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5115 ) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5116 (setq ada-last-which-function-line line |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5117 ada-last-which-function-subprog found) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5118 found)))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5119 |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5120 (defun ada-ff-other-window () |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5121 "Find other file in other window using `ff-find-other-file'." |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5122 (interactive) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5123 (and (fboundp 'ff-find-other-file) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5124 (ff-find-other-file t))) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5125 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5126 (defun ada-set-point-accordingly () |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5127 "Move to the function declaration that was set by `ff-which-function-are-we-in'." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5128 (if ff-function-name |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5129 (progn |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5130 (goto-char (point-min)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5131 (unless (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5132 (concat ff-function-name "\\b") nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5133 (goto-char (point-min)))))) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5134 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5135 (defun ada-get-body-name (&optional spec-name) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5136 "Return the file name for the body of SPEC-NAME. |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5137 If SPEC-NAME is nil, return the body for the current package. |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
5138 Return nil if no body was found." |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5139 (interactive) |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5140 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5141 (unless spec-name (setq spec-name (buffer-file-name))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5142 |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5143 ;; Remove the spec extension. We can not simply remove the file extension, |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5144 ;; but we need to take into account the specific non-GNAT extensions that the |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5145 ;; user might have specified. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5146 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5147 (let ((suffixes ada-spec-suffixes) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5148 end) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5149 (while suffixes |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5150 (setq end (- (length spec-name) (length (car suffixes)))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5151 (if (string-equal (car suffixes) (substring spec-name end)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5152 (setq spec-name (substring spec-name 0 end))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5153 (setq suffixes (cdr suffixes)))) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5154 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5155 ;; If find-file.el was available, use its functions |
50812
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
5156 (if (fboundp 'ff-get-file-name) |
15929fed5553
(ada-xemacs): Variable removed, since it's better to use (featurep 'xemacs).
Juanma Barranquero <lekktu@gmail.com>
parents:
50736
diff
changeset
|
5157 (ff-get-file-name ada-search-directories-internal |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5158 (ada-make-filename-from-adaname |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5159 (file-name-nondirectory |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5160 (file-name-sans-extension spec-name))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5161 ada-body-suffixes) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5162 ;; Else emulate it very simply |
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5163 (concat (ada-make-filename-from-adaname |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5164 (file-name-nondirectory |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5165 (file-name-sans-extension spec-name))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5166 ".adb"))) |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5167 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5168 |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5169 ;; --------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5170 ;; support for font-lock.el |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5171 ;; Strings are a real pain in Ada because a single quote character is |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5172 ;; overloaded as a string quote and type/instance delimiter. By default, a |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5173 ;; single quote is given punctuation syntax in `ada-mode-syntax-table'. |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5174 ;; So, for Font Lock mode purposes, we mark single quotes as having string |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5175 ;; syntax when the gods that created Ada determine them to be. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5176 ;; |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5177 ;; This only works in Emacs. See the comments before the grammar functions |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5178 ;; at the beginning of this file for how this is done with XEmacs. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5179 ;; ---------------------------------------------------- |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5180 |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5181 (defconst ada-font-lock-syntactic-keywords |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5182 ;; Mark single quotes as having string quote syntax in 'c' instances. |
80134
b0f27575dc50
(ada-font-lock-syntactic-keywords):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
79854
diff
changeset
|
5183 ;; We used to explicitly avoid ''' as a special case for fear the buffer |
b0f27575dc50
(ada-font-lock-syntactic-keywords):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
79854
diff
changeset
|
5184 ;; be highlighted as a string, but it seems this fear is unfounded. |
b0f27575dc50
(ada-font-lock-syntactic-keywords):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
79854
diff
changeset
|
5185 '(("[^a-zA-Z0-9)]\\('\\)[^\n]\\('\\)" (1 (7 . ?')) (2 (7 . ?'))) |
78589
56d6a084bbb6
(ada-create-syntax-table): Move
Martin Rudalics <rudalics@gmx.at>
parents:
78234
diff
changeset
|
5186 ("^[ \t]*\\(#\\(if\\|else\\|elsif\\|end\\)\\)" (1 (11 . ?\n))))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5187 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5188 (defvar ada-font-lock-keywords |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5189 (eval-when-compile |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5190 (list |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5191 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5192 ;; handle "type T is access function return S;" |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5193 (list "\\<\\(function[ \t]+return\\)\\>" '(1 font-lock-keyword-face) ) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5194 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5195 ;; preprocessor line |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5196 (list "^[ \t]*\\(#.*\n\\)" '(1 font-lock-type-face t)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5197 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5198 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5199 ;; accept, entry, function, package (body), protected (body|type), |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5200 ;; pragma, procedure, task (body) plus name. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5201 (list (concat |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5202 "\\<\\(" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5203 "accept\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5204 "entry\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5205 "function\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5206 "package[ \t]+body\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5207 "package\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5208 "pragma\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5209 "procedure\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5210 "protected[ \t]+body\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5211 "protected[ \t]+type\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5212 "protected\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5213 "task[ \t]+body\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5214 "task[ \t]+type\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5215 "task" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5216 "\\)\\>[ \t]*" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5217 "\\(\\sw+\\(\\.\\sw*\\)*\\)?") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5218 '(1 font-lock-keyword-face) '(2 font-lock-function-name-face nil t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5219 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5220 ;; Optional keywords followed by a type name. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5221 (list (concat ; ":[ \t]*" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5222 "\\<\\(access[ \t]+all\\|access[ \t]+constant\\|access\\|constant\\|in[ \t]+reverse\\|\\|in[ \t]+out\\|in\\|out\\)\\>" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5223 "[ \t]*" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5224 "\\(\\sw+\\(\\.\\sw*\\)*\\)?") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5225 '(1 font-lock-keyword-face nil t) '(2 font-lock-type-face nil t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5226 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5227 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5228 ;; Main keywords, except those treated specially below. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5229 (concat "\\<" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5230 (regexp-opt |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5231 '("abort" "abs" "abstract" "accept" "access" "aliased" "all" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5232 "and" "array" "at" "begin" "case" "declare" "delay" "delta" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5233 "digits" "do" "else" "elsif" "entry" "exception" "exit" "for" |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5234 "generic" "if" "in" "interface" "is" "limited" "loop" "mod" "not" |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5235 "null" "or" "others" "overriding" "private" "protected" "raise" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5236 "range" "record" "rem" "renames" "requeue" "return" "reverse" |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5237 "select" "separate" "synchronized" "tagged" "task" "terminate" |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5238 "then" "until" "when" "while" "with" "xor") t) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5239 "\\>") |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5240 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5241 ;; Anything following end and not already fontified is a body name. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5242 '("\\<\\(end\\)\\>\\([ \t]+\\)?\\(\\(\\sw\\|[_.]\\)+\\)?" |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5243 (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5244 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5245 ;; Keywords followed by a type or function name. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5246 (list (concat "\\<\\(" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5247 "new\\|of\\|subtype\\|type" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5248 "\\)\\>[ \t]*\\(\\sw+\\(\\.\\sw*\\)*\\)?[ \t]*\\((\\)?") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5249 '(1 font-lock-keyword-face) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5250 '(2 (if (match-beginning 4) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5251 font-lock-function-name-face |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5252 font-lock-type-face) nil t)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5253 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5254 ;; Keywords followed by a (comma separated list of) reference. |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5255 ;; Note that font-lock only works on single lines, thus we can not |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5256 ;; correctly highlight a with_clause that spans multiple lines. |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5257 (list (concat "\\<\\(goto\\|raise\\|use\\|with\\)" |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5258 "[ \t]+\\([a-zA-Z0-9_., \t]+\\)\\W") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5259 '(1 font-lock-keyword-face) '(2 font-lock-reference-face nil t)) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5260 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5261 ;; |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5262 ;; Goto tags. |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5263 '("<<\\(\\sw+\\)>>" 1 font-lock-reference-face) |
44465
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5264 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5265 ;; Highlight based-numbers (R. Reagan <robin-reply@reagans.org>) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5266 (list "\\([0-9]+#[0-9a-fA-F_]+#\\)" '(1 font-lock-constant-face t)) |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5267 |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5268 ;; Ada unnamed numerical constants |
0a0f75d152df
(ada-case-exception-file, ada-indent-handle-comment-special): New variables.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42619
diff
changeset
|
5269 (list "\\W\\([-+]?[0-9._]+\\)\\>" '(1 font-lock-constant-face)) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45931
diff
changeset
|
5270 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5271 )) |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5272 "Default expressions to highlight in Ada mode.") |
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5273 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5274 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5275 ;; --------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5276 ;; Support for outline.el |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5277 ;; --------------------------------------------------------- |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5278 |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5279 (defun ada-outline-level () |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5280 "This is so that `current-column' DTRT in otherwise-hidden text." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5281 ;; patch from Dave Love <fx@gnu.org> |
24446
25556de3fe49
(ada-outline-level): Bind buffer-invisibility-spec.
Dave Love <fx@gnu.org>
parents:
24325
diff
changeset
|
5282 (let (buffer-invisibility-spec) |
25556de3fe49
(ada-outline-level): Bind buffer-invisibility-spec.
Dave Love <fx@gnu.org>
parents:
24325
diff
changeset
|
5283 (save-excursion |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5284 (back-to-indentation) |
24446
25556de3fe49
(ada-outline-level): Bind buffer-invisibility-spec.
Dave Love <fx@gnu.org>
parents:
24325
diff
changeset
|
5285 (current-column)))) |
17914
e5e2ef0dd5ab
(ada-krunch-args): Use gnatkr instead of gnatk8.
Richard M. Stallman <rms@gnu.org>
parents:
14415
diff
changeset
|
5286 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5287 ;; --------------------------------------------------------- |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5288 ;; Support for narrow-to-region |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5289 ;; --------------------------------------------------------- |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5290 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5291 (defun ada-narrow-to-defun (&optional arg) |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5292 "Make text outside current subprogram invisible. |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5293 The subprogram visible is the one that contains or follow point. |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5294 Optional ARG is ignored. |
73422
e1bac685e6a0
(ada-83-string-keywords, ada-last-which-function-line ada-no-auto-case,
Juanma Barranquero <lekktu@gmail.com>
parents:
71924
diff
changeset
|
5295 Use \\[widen] to go back to the full visibility for the buffer." |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5296 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5297 (interactive) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5298 (save-excursion |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5299 (let (end) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5300 (widen) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5301 (forward-line 1) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5302 (ada-previous-procedure) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5303 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5304 (save-excursion |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5305 (beginning-of-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5306 (setq end (point))) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5307 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5308 (ada-move-to-end) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5309 (end-of-line) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5310 (narrow-to-region end (point)) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5311 (message |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5312 "Use M-x widen to get back to full visibility in the buffer")))) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5313 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5314 ;; --------------------------------------------------------- |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5315 ;; Automatic generation of code |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
5316 ;; The Ada mode has a set of function to automatically generate a subprogram |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5317 ;; or package body from its spec. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5318 ;; These function only use a primary and basic algorithm, this could use a |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5319 ;; lot of improvement. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5320 ;; When the user is using GNAT, we rather use gnatstub to generate an accurate |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5321 ;; body. |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5322 ;; ---------------------------------------------------------- |
10705 | 5323 |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5324 (defun ada-gen-treat-proc (match) |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5325 "Make dummy body of a procedure/function specification. |
63528
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5326 MATCH is a cons cell containing the start and end locations of the last search |
d6d50a511d12
(ada-format-paramlist)
Juanma Barranquero <lekktu@gmail.com>
parents:
63425
diff
changeset
|
5327 for `ada-procedure-start-regexp'." |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5328 (goto-char (car match)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5329 (let (func-found procname functype) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5330 (cond |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5331 ((or (looking-at "^[ \t]*procedure") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5332 (setq func-found (looking-at "^[ \t]*function"))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5333 ;; treat it as a proc/func |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5334 (forward-word 2) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5335 (forward-word -1) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5336 (setq procname (buffer-substring (point) (cdr match))) ; store proc name |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5337 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5338 ;; goto end of procname |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5339 (goto-char (cdr match)) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5340 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5341 ;; skip over parameterlist |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5342 (unless (looking-at "[ \t\n]*\\(;\\|return\\)") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5343 (forward-sexp)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5344 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5345 ;; if function, skip over 'return' and result type. |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5346 (if func-found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5347 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5348 (forward-word 1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5349 (skip-chars-forward " \t\n") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5350 (setq functype (buffer-substring (point) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5351 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5352 (skip-chars-forward |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5353 "a-zA-Z0-9_\.") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5354 (point)))))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5355 ;; look for next non WS |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5356 (cond |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5357 ((looking-at "[ \t]*;") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5358 (delete-region (match-beginning 0) (match-end 0));; delete the ';' |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5359 (ada-indent-newline-indent) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5360 (insert "is") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5361 (ada-indent-newline-indent) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5362 (if func-found |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5363 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5364 (insert "Result : " functype ";") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5365 (ada-indent-newline-indent))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5366 (insert "begin") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5367 (ada-indent-newline-indent) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5368 (if func-found |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5369 (insert "return Result;") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5370 (insert "null;")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5371 (ada-indent-newline-indent) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5372 (insert "end " procname ";") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5373 (ada-indent-newline-indent) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5374 ) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5375 ;; else |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5376 ((looking-at "[ \t\n]*is") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5377 ;; do nothing |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5378 ) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5379 ((looking-at "[ \t\n]*rename") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5380 ;; do nothing |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5381 ) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5382 (t |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5383 (message "unknown syntax")))) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5384 (t |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5385 (if (looking-at "^[ \t]*task") |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5386 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5387 (message "Task conversion is not yet implemented") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5388 (forward-word 2) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5389 (if (looking-at "[ \t]*;") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5390 (forward-line) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5391 (ada-move-to-end)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5392 )))))) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5393 |
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5394 (defun ada-make-body () |
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5395 "Create an Ada package body in the current buffer. |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5396 The spec must be the previously visited buffer. |
74073
ef8cf7255613
(ada-make-body): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents:
74002
diff
changeset
|
5397 This function typically is to be hooked into `ff-file-created-hook'." |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5398 (delete-region (point-min) (point-max)) |
64434
0eca480a23a7
(ada-make-body): Use `insert-buffer-substring' and `goto-char', not `insert-buffer'.
Juanma Barranquero <lekktu@gmail.com>
parents:
64085
diff
changeset
|
5399 (insert-buffer-substring (car (cdr (buffer-list)))) |
0eca480a23a7
(ada-make-body): Use `insert-buffer-substring' and `goto-char', not `insert-buffer'.
Juanma Barranquero <lekktu@gmail.com>
parents:
64085
diff
changeset
|
5400 (goto-char (point-min)) |
12039
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5401 (ada-mode) |
a75524689022
(initial comments): Copyright 1995; don't speak
Karl Heuer <kwzh@gnu.org>
parents:
11869
diff
changeset
|
5402 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5403 (let (found ada-procedure-or-package-start-regexp) |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5404 (if (setq found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5405 (ada-search-ignore-string-comment ada-package-start-regexp nil)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5406 (progn (goto-char (cdr found)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5407 (insert " body") |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5408 ) |
10705 | 5409 (error "No package")) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5410 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5411 (setq ada-procedure-or-package-start-regexp |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5412 (concat ada-procedure-start-regexp |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5413 "\\|" |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5414 ada-package-start-regexp)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5415 |
33716
c55ff055c68a
(ada-mode): `set '' -> `setq'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
32300
diff
changeset
|
5416 (while (setq found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5417 (ada-search-ignore-string-comment |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5418 ada-procedure-or-package-start-regexp nil)) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5419 (progn |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5420 (goto-char (car found)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5421 (if (looking-at ada-package-start-regexp) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5422 (progn (goto-char (cdr found)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5423 (insert " body")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5424 (ada-gen-treat-proc found)))))) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5425 |
30411
41f228350eca
Got rid of all byte-compiler warnings on Emacs Load
Gerd Moellmann <gerd@gnu.org>
parents:
28995
diff
changeset
|
5426 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5427 (defun ada-make-subprogram-body () |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5428 "Create a dummy subprogram body in package body file from spec surrounding point." |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5429 (interactive) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5430 (let* ((found (re-search-backward ada-procedure-start-regexp nil t)) |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5431 (spec (match-beginning 0)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5432 body-file) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5433 (if found |
73531
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5434 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5435 (goto-char spec) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5436 (if (and (re-search-forward "(\\|;" nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5437 (= (char-before) ?\()) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5438 (progn |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5439 (ada-search-ignore-string-comment ")" nil) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5440 (ada-search-ignore-string-comment ";" nil))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5441 (setq spec (buffer-substring spec (point))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5442 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5443 ;; If find-file.el was available, use its functions |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5444 (setq body-file (ada-get-body-name)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5445 (if body-file |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5446 (find-file body-file) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5447 (error "No body found for the package. Create it first")) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5448 |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5449 (save-restriction |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5450 (widen) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5451 (goto-char (point-max)) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5452 (forward-comment -10000) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5453 (re-search-backward "\\<end\\>" nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5454 ;; Move to the beginning of the elaboration part, if any |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5455 (re-search-backward "^begin" nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5456 (newline) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5457 (forward-char -1) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5458 (insert spec) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5459 (re-search-backward ada-procedure-start-regexp nil t) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5460 (ada-gen-treat-proc (cons (match-beginning 0) (match-end 0))) |
7e876e4226ed
Change maintainer, apply whitespace-clean, checkdoc. Minor improvements to many
Juanma Barranquero <lekktu@gmail.com>
parents:
73434
diff
changeset
|
5461 )) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5462 (error "Not in subprogram spec")))) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5463 |
26225
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5464 ;; -------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5465 ;; Global initializations |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5466 ;; -------------------------------------------------------- |
91cb7b3bae3c
Changed format of years in copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents:
25903
diff
changeset
|
5467 |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5468 ;; Create the keymap once and for all. If we do that in ada-mode, |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5469 ;; the keys changed in the user's .emacs have to be modified |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5470 ;; every time |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5471 (ada-create-keymap) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5472 (ada-create-menu) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5473 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5474 ;; Create the syntax tables, but do not activate them |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5475 (ada-create-syntax-table) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5476 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5477 ;; Add the default extensions (and set up speedbar) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5478 (ada-add-extensions ".ads" ".adb") |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5479 ;; This two files are generated by GNAT when running with -gnatD |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5480 (if (equal ada-which-compiler 'gnat) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5481 (ada-add-extensions ".ads.dg" ".adb.dg")) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5482 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5483 ;; Read the special cases for exceptions |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5484 (ada-case-read-exceptions) |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5485 |
71537
2a4ed80e93ba
(ada-which-compiler, ada-mode-menu, ada-compile-mouse-goto-error,
Juanma Barranquero <lekktu@gmail.com>
parents:
68764
diff
changeset
|
5486 ;; Setup auto-loading of the other Ada mode files. |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5487 (autoload 'ada-change-prj "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5488 (autoload 'ada-check-current "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5489 (autoload 'ada-compile-application "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5490 (autoload 'ada-compile-current "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5491 (autoload 'ada-complete-identifier "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5492 (autoload 'ada-find-file "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5493 (autoload 'ada-find-any-references "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5494 (autoload 'ada-find-src-file-in-dir "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5495 (autoload 'ada-find-local-references "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5496 (autoload 'ada-find-references "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5497 (autoload 'ada-gdb-application "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5498 (autoload 'ada-goto-declaration "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5499 (autoload 'ada-goto-declaration-other-frame "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5500 (autoload 'ada-goto-parent "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5501 (autoload 'ada-make-body-gnatstub "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5502 (autoload 'ada-point-and-xref "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5503 (autoload 'ada-reread-prj-file "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5504 (autoload 'ada-run-application "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5505 (autoload 'ada-set-default-project-file "ada-xref" nil nil) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5506 (autoload 'ada-set-default-project-file "ada-xref" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5507 (autoload 'ada-xref-goto-previous-reference "ada-xref" nil t) |
74002
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
5508 (autoload 'ada-set-main-compile-application "ada-xref" nil t) |
5909c257c4ea
(ada-mode-version): Bump version.
Juanma Barranquero <lekktu@gmail.com>
parents:
73935
diff
changeset
|
5509 (autoload 'ada-show-current-main "ada-xref" nil t) |
73922
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5510 |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5511 (autoload 'ada-customize "ada-prj" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5512 (autoload 'ada-prj-edit "ada-prj" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5513 (autoload 'ada-prj-new "ada-prj" nil t) |
289cedd46cd8
Delete `eval-and-compile' around `require'.
Juanma Barranquero <lekktu@gmail.com>
parents:
73531
diff
changeset
|
5514 (autoload 'ada-prj-save "ada-prj" nil t) |
50736
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5515 |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5516 (autoload 'ada-array "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5517 (autoload 'ada-case "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5518 (autoload 'ada-declare-block "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5519 (autoload 'ada-else "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5520 (autoload 'ada-elsif "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5521 (autoload 'ada-exception "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5522 (autoload 'ada-exception-block "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5523 (autoload 'ada-exit "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5524 (autoload 'ada-for-loop "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5525 (autoload 'ada-function-spec "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5526 (autoload 'ada-header "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5527 (autoload 'ada-if "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5528 (autoload 'ada-loop "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5529 (autoload 'ada-package-body "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5530 (autoload 'ada-package-spec "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5531 (autoload 'ada-private "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5532 (autoload 'ada-procedure-spec "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5533 (autoload 'ada-record "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5534 (autoload 'ada-subprogram-body "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5535 (autoload 'ada-subtype "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5536 (autoload 'ada-tabsize "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5537 (autoload 'ada-task-body "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5538 (autoload 'ada-task-spec "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5539 (autoload 'ada-type "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5540 (autoload 'ada-use "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5541 (autoload 'ada-when "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5542 (autoload 'ada-while-loop "ada-stmt" nil t) |
b0ce71ab9c28
(ada-search-directories): Take into account ADA_INCLUDE_PATH for better
Juanma Barranquero <lekktu@gmail.com>
parents:
49598
diff
changeset
|
5543 (autoload 'ada-with "ada-stmt" nil t) |
25903
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5544 |
812005e9c20e
(ada-get-indent-*, ada-indent-current, ada-goto-*,
Gerd Moellmann <gerd@gnu.org>
parents:
25420
diff
changeset
|
5545 ;;; provide ourselves |
10705 | 5546 (provide 'ada-mode) |
5547 | |
78600
4f60c94dc647
Fix up comment style in header.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
78589
diff
changeset
|
5548 ;; arch-tag: 1b7d45ec-1698-43b5-8d4a-e479ea023270 |
10707 | 5549 ;;; ada-mode.el ends here |