* progmodes/ada-mode.el (comment-region):
* calendar/todo-mode.el (todo-insert-item):
* bookmark.el (bookmark-buffer-name): Test major-mode rather than mode-name.
(ada-check-emacs-version): Remove.
(ada-mode): Set parse-sexp-* even if they don't exist: can't hurt.
(ada-region-selected): Use (featurep 'xemacs) rather than contortions
to try and quieten the byte-compiler.
(ada-create-keymap): Use [(..)] keys, which work on both (X)Emacs.
set-syntax-table from here to ...
(ada-mode): ... here. Do not change global value of
comment-multi-line. Call new function
ada-initialize-syntax-table-properties and add new function
ada-handle-syntax-table-properties to font-lock-mode-hook.
(ada-deactivate-properties, ada-initialize-properties): Replace
by new functions ...
(ada-handle-syntax-table-properties)
(ada-initialize-syntax-table-properties)
(ada-set-syntax-table-properties): ... to set up syntax-table
properties uniformly, independently from whether font-lock-mode
is enabled or not. Handle read-only buffers and do not change
undo-list when setting syntax-table properties.
(ada-after-change-function): Use ada-set-syntax-table-properties.
(ada-compile-goto-error): Adapt to new argument profile of
compilation-goto-locus in Emacs 22. Don't check if the various compile
functions are defined; we already do "(require 'compile)".
Delete commented out code for old Emacs versions.
Autoloading of "ada-xref", "ada-prj" is useful even if compiler is not GNAT.
(ada-mode-version): Bump version number.
(ada-95-string-keywords, ada-2005-string-keywords, ada-2005-keywords,
ada-name-regexp): New constant.
(ada-language-version, ada-procedure-start-regexp, ada-mode,
ada-font-lock-keywords): Add support for Ada 2005 keywords.
(ada-package-start-regexp): Support private packages, include package
name (for ada-set-point-accordingly).
(ada-next-procedure, ada-previous-procedure, ada-which-function-are-we-in):
Match changes to ada-procedure-start-regexp.
(ada-make-body): Make non-interactive; not a user function.
(ada-make-subprogram-body): Improve doc string.
compatibility with GNAT.
(ada-contextual-menu): Menu defined through `easy-menu-define' instead. Various
adjustments to the indentation engine (handling of subtypes, begin blocks,
etc.).
(ada-create-menu): Major rewrite of the handling of menus to use
`easy-menu-define' for cleaner code and better compatibility with XEmacs. All
menus that were previously in ada-xref.el and ada-prj.el are now defined in this
package, which makes it easier to edit menus.
(ada-narrow-to-defun): Add support for `narrow-to-region'. No longer
explicitely load ada-xref.el and ada-prj.el. Use autoload statements instead.
Synchronize with GNAT release 3.15a1.
Do not attempt to load ada-support, which is only for compatibility
with older Emacs versions, and is not needed for Emacs 21.
(ada-continuation-indent): New variable.
New contextual menu: "List local reference", faster than "List References".
(ada-mode): New alignment rules provided by S. Leake.
(ada-mode): Add support for which-function-mode.
Fix various calls to count-lines, that didn't work correctly when the
buffer was narrowed.
(ada-get-current-indent): Fix indentation of named parameter lists and
nested boolean expressions.
(ada-indent-on-previous-lines): Fix indentation of labels.
(ada-search-prev-end-stmt): Fix searching of the previous end-statement,
specially with regards to nested subprograms.
(comment-region advice): Initially disabled, for better compatibility with
other modes.
(ada-fill-comment-paragraph): Fixed (no longer worked with Emacs 21).
* progmodes/ada-xref.el: Update copyright notice.
(ada-xref-create-ali): The default is now not to create automatically the
ALI files by compiling the unit, since this isn't always reliable and
requires an up-to-date project file.
(ada-prj-default-comp-cmd): No longer use gcc directly to compile
a file, but use gnatmake instead, since this gives access to the GNAT
project files.
(ada-xref-search-with-egrep): New variable, suggested by P. Waroquiers.
(ada-load-project-hook): New variable, for support of GNAT project files.
(ada-update-project-menu): Fix the detection of the project file name.
(ada-add-keymap): Change key binding for ada-find-file, that conflicted
with another binding in ada-mode.el.
(ada-add-menu): New menu "List Local References", to list the reference
to the entity only in the current file, instead of looking in the whole
project. Much faster.
(ada-find-references): New parameters arg and local-only.
(ada-find-any-references): New parameters local-only and append.
(ada-goto-declaration): Fix handling of predefined entities in xref.
(ada-get-all-references): Updated to the new xref format in GNAT 3.15,
still compatible with GNAT 3.14 of course. Fix various calls to
count-lines, that didn't work correctly when the buffer was narrowed.
(ada-case-exception-substring): New variable. Casing exceptions can
now also be defined for substrings, in addition to full identifier
names. This provides more flexibility.
(ada-align-list): New function, provide support for align.el in ada-mode.
(ada-procedure-start-regexp): Add support for operators and generic formal
subprograms and packages.
(ada-imenu-comment-re): New variable.
(ada-imenu-generic-expression): Add support for protected types.
(ada-mode): Set comment-start only after running ada-mode-hook, so that the
user can change ada-comment-start in the hook.
Add support for ispell in comments. Add support for align.el.
(ada-save-exception-file, ada-create-case-exception-substring)
(ada-adjust-case-substring): New functions.
(ada-get-current-indent): Properly handles keywords with uppercases.
(ada-goto-matching-end): Rewritten, fixes problems in the handling of
nested blocks.
(ada-untab-hard): Do not touch the contents of comments and strings.