(sql-linter-program): New variable.
(sql-linter-options): New variable.
(sql-mode-menu): Added Linter keywords.
(sql-mode-linter-font-lock-keywords): New variable.
(sql-highlight-linter-keywords): New function.
(sql-linter): New function.
(sql-ms-options): New variable.
(sql-ms): Use it.
custom-add-to-group. This is the intended way of using defgroup and
also lets custom-make-dependencies do its job.
(defgroup vhdl-highlight-faces): Ditto.
(perl-indent-line): Look at the open-paren to indent a close-paren.
(perl-calculate-indent): Try to better indent args after hanging paren.
Remove special code for open-paren-in-column-0.
(grep): Use it.
(compilation-menu-map): New var.
(compilation-minor-mode-map, compilation-shell-minor-mode-map): Use it.
(compilation-mode-map): Simplify.
(compilation-shell-minor-mode, compilation-minor-mode):
Use define-minor-mode.
(grep-command, grep-find-command, grep-tree-command): Allow value nil.
Do not declare :get property.
(grep-use-null-device): Doc fix. Fix type. Do not declare :get
property.
(makefile-mode): Use write-file-functions.
(makefile-fill-paragraph): Use match-string-no-properties.
(makefile-fill-paragraph): Use line-end-position.
(makefile-add-log-defun): Simplify.
Add a \ in front of open-paren-in-column-0 in docstrings. Otherwise
indentation and font-lock get confused.
(idlwave-function-menu): Use defalias so the funs are called interactively.
Don't rely on knowledge about which Emacs provides imenu or func-menu.
(idlwave-calculate-cont-indent): Fix typo.
(idlwave-font-lock-keywords-*): Don't use setq on a defconst.
Remove unused variables.
such that backward-sexp correctly skips them.
(perl-font-lock-keywords-2): Use regexp-opt.
(perl-font-lock-syntactic-keywords)
(perl-font-lock-syntactic-face-function): Better handle PODs.
Handle package names with ' in them and ($$) in `sub' declarations.
Handle format staements. Handle regexp and quote-like ops.
(perl-empty-syntax-table): New var.
(perl-quote-syntax-table): New fun.
(f90-menu): Remove ":active" keyword where not needed.
(f90-menu, f90-add-imenu-menu): Use lookup-key rather than
imenu--index-alist.
A few whitespace changes.
(f90-font-lock-on, f90-font-lock-off, f90-font-lock-menu): Deleted. Use
easy-menu-define instead.
(f90-mode): Use easy-menu-add.
No longer (require 'imenu) when compiling.
(f90-mark-subprogram, f90-indent-region, f90-fill-region)
(f90-abbrev-start): Use fboundp.
(f90-xemacs-flag): Wrap in eval-and-compile.
(f90-font-lock-keywords): Doc fix.
(f90-mode-abbrev-table): Use the 6th (system-flag) argument of
define-abbrev if available, but work without it as well.
(f90-mark-subprogram-overlay): Variable deleted.
(f90-mark-subprogram): No need to be silent about push-mark.
Get rid of the silly overlay bit.
(f90-abbrev-start): unread-command-event is obsolete in XEmacs too.
loop if something that looks like a macro begins in the middle of a
line.
(c-parse-state): Fixed a bug that could cause `c-state-cache' to
contain two conses in sequence when there's an unbalanced open paren
in a macro.
(ebrowse-hash-table-to-alist): Delete.
(ebrowse-tags-read-name, ebrowse-tags-list-members-in-file)
(ebrowse-tags-complete-symbol): Use the hashtable for completion.
New subroutine, taken out of compilation-parse-errors.
(compilation-parse-errors): Use that, and for directories too.
Don't check whether a directory really exists.
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-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-prj-load-directory): Make sure we do not use one of the new Emacs 21
dialogs to select the file, since we want a directory name only.
(ada-customize): Add support for the new GNAT project files.
(grep-tree-ignore-CVS-directories, grep-tree-ignore-case):
New custom variables.
(grep-compute-defaults): Compute grep-tree-command's default value.
(grep-expand-command-macros): New aux function.
(grep-tree-last-regexp, grep-tree-last-files): New aux variables.
(grep-tree): New command like grep-find but extended prompting.
(f90-font-lock-on, f90-font-lock-off): Add 'menu-alias property.
(f90-font-lock-1, f90-font-lock-2, f90-font-lock-3, f90-font-lock-4): Move
the doc strings.
(f90-menu-bar-menu): New internal variable to hold the top-level menu.
(f90-change-case-menu, f90-font-lock-menu): Minor code changes.
(fortran-previous-statement, fortran-next-statement): Make them skip over
preprocessor lines as they do with comment lines.
(fortran-calculate-indent): Use fortran-preprocessor-re.
(f90-imenu-flag): New name for internal variable f90-imenu.
(f90-blocks-re, f90-program-block-re, f90-end-if-re, f90-no-break-re): Use
regexp-opt.
(f90-end-type-re): Add closing "\\>".
(f90-indent-region): Correctly indent comments embedded in continued lines.
(f90-indent-new-line): Make it indent the current line, as it should.
which doesn't get confused by inherit colons.
(c-end-of-decl-1): Don't treat functions that have "class" or "struct"
in the return type as classes or structs.
(f90-get-end-of-line): Removed and replaced with line-end-position.
(f90-current-indentation): current-column was superfluous, removed.
(f90-match-piece): Removed and replaced with match-string.
(f90-get-present-comment-type): Use match-string rather than
buffer-substring.
(f90-match-end): Use line-beginning-position, line-end-position rather than
beginning-of-line, end-of-line.
is at or near the limit of the comment. Fixed bug when the prefix
from `c-guess-fill-prefix' is longer than the text on the first line
of the comment when it's masked.
(f90-line-continued): Recognize blank/comment lines embedded in
continuation lines.
(f90-looking-at-program-block-start): No extra indentation after
function or subroutine keyword appears in single quotes.
gnatfind-opt, debug-pre-cmd and debug-post-cmd. Fix widget handling
for Emacs 21. ada-mode now only supports a single active project file,
instead of one per buffer. This is far less confusing.
project file per buffer. This was too complex. Instead, there is now
a single active project file at any given time, and the user can switch
the active one through the Ada menu. This revision also provides
better handling of the Windows command line, and the various available
shells on that platform. ada-mode is now fully integrated with the GNU
visual debugger gvd, see http://libre.act-europe.fr.
(ada-prj-default-comp-opt): Use the new GNAT switch -gnatQ. This is only
available with GNAT 3.14.
(ada-prj-gnatfind-switches, ada-cd-command): New variable.
(ada-quote-cmd): New function.
(ada-initialize-runtime-library): Get the location of the actual
runtime the compiler will be using, including support for
cross-platform environments.
(ada-treat-cmd-string): Add support for the new variable
${full_current} add support for debug-pre-cmd and debug-post-cmd, two
commands to run just prior to running the debugger, and just after
starting it. This provide better support for cross-platform and
remote debugging.
(ada-get-absolute-dir): Remove, replace with expand-file-name.
(ada-gdb-application): New parameter executable-name.
(ada-get-ali-file-name): Better handling of separate packages.
Checkin on behalf of the ada-mode maintainer.
(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.
(global-cwarn-mode): Use easy-mmode-define-global-mode.
(cwarn-font-lock-keywords): New function.
Replaces cwarn-font-lock-remove-keywords cwarn-font-lock-add-keywords.
(cwarn-font-lock-match): New macro.
(cwarn-font-lock-match-assignment-in-expression)
(cwarn-font-lock-match-dangerous-semicolon)
(cwarn-font-lock-match-reference): Use it.
Use defvar rather than defconst since it's meant to be settable.
(cperl-syntax-done-to): Don't hardcode 1 as (point-min).
(cperl-fix-line-spacing): Add missing \ in [ t].
(f90-procedures-re, f90-operators-re, f90-hpf-keywords-re): Use regexp-opt.
(f90-keywords-re, f90-keywords-level-3-re): Add `pure' and `elemental'.
(f90-procedures-re): Add `null' and `cpu_time' from F95.
(f90-font-lock-keywords-1): Minor reorganization so we don't need
`override' any more.
(f90-font-lock-keywords-3): Use `keep' rather than `override'.
(f90-indent-subprogram): Use indent-region.
(f90-break-line): Use indent-according-to-mode.
(tcl-electric-hash-style): Change default to nil.
(tcl-imenu-generic-expression): Use tcl-proc-regexp.
(tcl-do-auto-fill): Remove.
(tcl-auto-fill-mode): Rewrite using comment-auto-fill-only-comments.
(tcl-imenu-create-index-function): Function deleted.
(tcl-mode): Check for filladapt-mode.
Use tcl-imenu-generic-expression instead of
tcl-imenu-create-index-function.
(inferior-tcl-mode): Doc fix.
Change not legally significant.
Add fortran-comment-line-start-skip to comment-start-skip.
(fortran-comment-indent): Keep whole-line comments in column 0.
(fortran-find-comment-start-skip): New arg `all'.
If ALL is nil, make sure we only match comment-start-skip if we
can't match fortran-comment-line-start-skip.
Fix bug that made it return t but without moving point when
matching '!'! (a false-comment followed by a real comment).
(fortran-indent-comment): Use new `all' argument above.
Be careful not to add an incorrect comment-starter like "C"
in comment-column.
(fortran-split-line): When splitting a comment, reuse the comment
starter from the current line rather than fortran-comment-line-start.
(fortran-indent-line, fortran-auto-fill): Simplify thanks to the
cleaner behavior of fortran-find-comment-start-skip.
(fortran-fill): Don't be confused by ! inside a comment.
(fortran-break-line): Minor cleanup and simplification.
(antlr-indent-at-bol-alist): New user option.
(antlr-indent-line): Use it.
(antlr-indent-style): New user option.
(antlr-mode): Use it.
(antlr-indent-item-regexp): Customize.
Syntax highlighting changes.
(antlr-font-lock-literal-regexp): New user option.
(antlr-font-lock-syntax-face): New face used for :, |, ....
(antlr-font-lock-default-face): New face.
(antlr-font-lock-additional-keywords): Use them.
New command to insert options -- variables.
(antlr-mode-map): New binding [C-c C-o].
(antlr-mode-menu): New submenus.
(antlr-options-use-submenus): New user option.
(antlr-tool-version): New user option.
(antlr-options-auto-colon): New user option.
(antlr-options-style): New user option.
(antlr-options-push-mark): New user option.
(antlr-options-assign-string): New user option.
(antlr-options-headings): New variable.
New command to insert options -- specific.
(antlr-options-alists): New variable.
(antlr-read-value): New function.
(antlr-read-boolean): New function.
(antlr-language-option-extra): New function.
(antlr-language-limit-n-regexp): Change default to higher LIMIT.
(antlr-c++-mode-extra): New function.
(antlr-grammar-tokens): New function.
(antlr-imenu-create-index-function): New optional argument.
New command to insert options -- functions.
(antlr-insert-option): New command.
(antlr-insert-option-interactive): New function.
(antlr-options-menu-filter): New function.
(antlr-option-kind): New function.
(antlr-scan-lists): New alias.
(antlr-scan-lists-internal): New function.
(antlr-skip-file-prelude): Hack for special SKIP-COMMENT.
(antlr-option-level): New function.
(antlr-syntactic-grammar-depth): New function.
(antlr-option-location): New function.
(antlr-insert-option-do): New function.
(antlr-option-spec): New function.
(antlr-version-string): New function.
(antlr-insert-option-existing): New function.
(antlr-insert-option-space): New function.
(antlr-insert-option-area): New function.
New electric keys ":;|&(){}", TAB works better
with narrowing. Menu change. Miscellaneous.
(antlr-mode-menu): Include "Indent Region" and "Customize Antlr".
(antlr-mode-map): New bindings for characters in ":;|&(){}".
(antlr-electric-character): New command.
(antlr-class-header-regexp): New variable.
(antlr-font-lock-additional-keywords): Use it.
(antlr-imenu-create-index-function): Use it.
(antlr-file-dependencies): Use it.
(antlr-indent-line): Also works with restrictions.
(antlr-indent-command): Interactive spec - changes the buffer.
(antlr-language-for-option): Deletia.
(antlr-language-option): New function, defined instead.
(antlr-mode): Use it.
Add shift-assignment operators to those highlighted, and highlight
the whole operator rather than just the "=". From Broadey Kevin
<Kevin.Broadey@motorola.com>.
(hide-ifdef-mode): Set line-move-ignore-invisible.
(hide-ifdef-region-internal): New function.
(hide-ifdef-region): Use it.
(hif-defined): Return an integer.
(hif-infix-to-prefix): Remove.
(hif-tokenize): Parse from the buffer rather than from a string.
Correctly tokenize integers. Use forward-comment.
(hif-expr): Use hif-or.
(hif-term): Use hif-and.
(hif-factor): Use hif-not. Handle numbers properly.
Don't require parenthesis around `defined's argument.
(hif-and, hif-or, hif-not): New funs.
(hif-canonicalize): Pass a region to hif-tokenize. Use hif-not.
(hif-hide-line): Don't hide the \n before the line.
(hif-possibly-hide): Correctly handle numeric evaluation results.
(makefile-mode): Set indent-line-function.
(makefile-browser-insert-continuation): Use with-current-buffer.
(makefile-beginning-of-line-point, makefile-end-of-line-point): Remove.
(hide-ifdef-mode-submap): Put the def in the defvar.
Use substitute-key-definition.
(hide-ifdef-mode): Use define-minor-mode.
(hif-outline-flag-region): Remove.
(hif-show-all): Define in terms of hif-show-ifdef-region.
(hif-after-revert-function): Rename from hif-before-revert-function.
(hide-ifdef-region, hif-show-ifdef-region): Use overlays.
(hif-tokenize): Use with-syntax-table.
(hif-make-range): Use `else' also for `else-p'.
(hif-range-else-p): Remove.
(hif-find-range): Simplify.
(hif-hide-line): Don't bother preserving buffer-modified-p.
(hide-ifdefs, show-ifdefs, hide-ifdef-block, show-ifdef-block):
Don't use selective-display and inhibit-read-only.
(ps-mode): Make local bindings for `comment-start' and `comment-start-skip'.
(ps-mode-looking-at-nested): Simplify an if-else construct;
use `set-match-data' to set the result.