(fortran-break-delimiters-re, fortran-no-break-re): New defconsts.
(fortran-fill): When filling a string, adjust re-search-backward
argument for special case of string just on fill-column.
When filling non-string, allow one extra char if
fortran-break-before-delimiters is non-nil. Suggested by
Michael Hagemann <michael.hagemann@unibas.ch>.
Use fortran-break-delimiters-re and fortran-no-break-re to
correctly handle cases such as "**".
* textmodes/flyspell.el (flyspell-large-region):.
* progmodes/make-mode.el (makefile-query-by-make-minus-q):
* emulation/viper-util.el (viper-glob-unix-files):
* emacs-lisp/shadow.el (shadow-same-file-or-nonexistent):
* man.el (Man-init-defvars):
* jka-compr.el (jka-compr-call-process):
* files.el (get-free-disk-space,insert-directory):
* ediff-ptch.el (ediff-test-patch-utility):
* ediff-diff.el (ediff-test-utility):
* dired-aux.el (dired-check-process):
* mail/sendmail.el (sendmail-send-it): Don't use = or zerop to
test the return value of call-process, because it can be a string.
(grep-find-command, grep-tree-command, grep-tree-files-aliases)
(grep-tree-ignore-case, grep-tree-ignore-CVS-directories)
(grep-regexp-alist, grep-program, find-program)
(grep-find-use-xargs, grep-history, grep-find-history)
(grep-process-setup, grep-compute-defaults)
(grep-default-command, grep, grep-tag-default, grep-find)
(grep-expand-command-macros, grep-tree-last-regexp)
(grep-tree-last-files, grep-tree): Move grep variables, functions
and commands to new file grep.el.
(compilation-mode-map): Remove grep commands from Compile sub-menu.
(compilation-process-setup-function): Doc fix.
(compilation-highlight-regexp, compilation-highlight-overlay): New
defvars used for highlighting current compile error in source buffer.
(compile-internal): New optional args HIGHLIGHT-REGEXP and
LOCAL-MAP which overrides compilation-highlight-regexp and
compilation-mode-map for this compilation.
Delay calling compilation-set-window-height until after running
compilation-process-setup-function so it can buffer-local override
compilation-window-height.
Check buffer-local value of compilation-scroll-output.
(compilation-set-window-height): Use buffer-local value of
compilation-window-height.
(compilation-revert-buffer): Don't pass (undefined)
preserve-modes arg to revert-buffer.
(next-error-no-select, previous-error-no-select): New commands.
(compilation-goto-locus): Temporarily highlight current match in
source buffer using compilation-highlight-regexp.
(grep): New defcustom group.
(grep-window-height): New defcustom, like compilation-window-height.
(grep-auto-highlight): New defcustom, like compile-auto-highlight.
(grep-scroll-output): New defcustom, like compilation-scroll-output.
(grep-command, grep-use-null-device, grep-find-command)
(grep-tree-files-aliases, grep-tree-ignore-case)
(grep-tree-ignore-CVS-directories): Move to grep custom group.
(grep-setup-hook): New hook variable.
(grep-mode-map): New keymap for grep commands. Add Grep menu.
(grep-use-compilation-buffer): New defcustom.
(grep-last-buffer): New defvar, override compilation-last-buffer.
(grep): Add optional arg HIGHLIGHT-REGEXP. Doc fix.
Call compile-internal with args highlight-regexp and grep-mode-map.
(antlr-c-init-language-vars): New function.
(antlr-mode): Use it with cc-mode before v5.29.
(antlr-c-common-init): Don't set some local vars here.
(antlr-mode): Set them here.
(antlr-c-forward-sws): New function alias.
(antlr-mode): Redefine with cc-mode before v5.30.
(antlr-skip-sexps): Use it.
(antlr-skip-exception-part): Ditto.
(antlr-skip-file-prelude): Ditto.
(antlr-outside-rule-p): Ditto.
(antlr-end-of-body): Ditto.
(antlr-option-kind): Ditto.
(antlr-insert-option-area): Ditto.
(antlr-file-dependencies): Ditto.
gud-display with gud-watch.
(gud-speedbar-buttons): Add stuff for watching expressions
in the speedbar when using M-x gdba. Use dolist on old part
of this function.
`font-lock-defaults', also specify that "#" should
be interpreted with `word' syntax.
(scheme-font-lock-keywords-2): Also interpret "#:foo" as keyword.
destructors for classes whose names are matched by
`*-font-lock-extra-types'.
(c-font-lock-invalid-string): Fixed eob problem that primarily
affected XEmacs. Don't use faces to find unterminated strings since
Emacs and XEmacs fontify strings differently - this function should
now work better in XEmacs.
cache contains info on parts that have been narrowed out.
(c-forward-keyword-clause): Fixed error handling. This bug could
cause interactive font locking to bail out.
(c-just-after-func-arglist-p): Handle paren-style types in Pike. Also
fixed some cases of insufficient handling of unbalanced parens.
Call sh-mode-syntax-table directly.
(sh-mode-syntax-table-input): New variable.
(sh-require-final-newline): Don't use eval.
(sh-builtins, sh-leading-keywords, sh-other-keywords)
(sh-variables, sh-font-lock-keywords): Don't use eval.
(sh-set-shell): When setting require-final-newline,
treat value = `require-final-newline' as don't change it.
Set sh-mode-syntax-table locally based on
sh-mode-syntax-table-input and sh-mode-default-syntax-table.
operators.
(c-assignment-operators): New language constant that only contains the
assignment operators.
(c-assignment-op-regexp): New language variable used by c-lineup-math'.
(sh-leading-keywords): Add the bash `time' reserved word.
(sh-variables): Add some bash variables.
(sh-add-completer): Fix nil branch of case statement.
Version 1.8.0 of sql-mode.
Simplify selection of SQL products to define highlighting and
interactive mode. Includes detailed instructions on adding
support for new products.
* sql.el (sql-product): New variable. Identifies SQL product for
use in highlighting and interactive mode.
(sql-interactive-product): New variable. SQL product for
sql-interactive-mode.
(sql-product-support): New variable. Specifies product-specific
parameters to drive highlighting and interactive mode.
(sql-imenu-generic-expression): Add more object types.
(sql-sqlite-options): Correct comment.
(sql-ms-program): Use "osql" rather than "isql".
(sql-prompt-regexp, sql-prompt-length): Update comment.
(sql-mode-menu): Add "Start SQLi session" entry. Replace
Highlighting submenu with Product menu. Fix Send Region entry.
(sql-mode-abbrev-table): Add abbreviations. Support of
SYSTEM-FLAG on define-abbrev. Support was removed with last
check-in; it now handles older Emacsen without the SYSTEM-FLAG.
(sql-mode-font-lock-object-name): Add font-lock pattern for object
names.
(sql-mode-ansi-font-lock-keywords): Set as default value.
(sql-mode-oracle-font-lock-keywords): Set as default value.
Support Oracle 9i keywords.
(sql-mode-postgres-font-lock-keywords): Set as default value.
(sql-mode-linter-font-lock-keywords): Set as default value.
(sql-mode-ms-font-lock-keywords): New variable. Support Microsoft
SQLServer 2000.
(sql-mode-sybase-font-lock-keywords)
(sql-mode-interbase-font-lock-keywords)
(sql-mode-sqlite-font-lock-keywords)
(sql-mode-strong-font-lock-keywords)
(sql-mode-mysql-font-lock-keywords)
(sql-mode-db2-font-lock-keywords): New variables. Default to ANSI
keywords.
(sql-mode-font-lock-defaults): Update comment.
(sql-product-feature): New function. Returns feature associated
with a product from `sql-product-support' alist.
(sql-product-font-lock): New function. Set font-lock support
based on `sql-product'.
(sql-add-product-keywords): New function. Add font-lock rules to
product-specific keyword variables.
(sql-set-product): New function. Set `sql-product' and apply
appropriate font-lock highlighting.
(sql-highlight-product): New function. Set font-lock support
based on a product. Also set mode name to include product name.
(sql-highlight-ansi-keywords, sql-highlight-oracle-keywords)
(sql-highlight-postgres-keywords, sql-highlight-linter-keywords):
Use `sql-set-product'.
(sql-highlight-ms-keywords)
(sql-highlight-sybase-keywords)
(sql-highlight-interbase-keywords)
(sql-highlight-strong-keywords)
(sql-highlight-mysql-keywords)
(sql-highlight-sqlite-keywords)
(sql-highlight-db2-keywords): New functions. Use
`sql-set-product'.
(sql-get-login): Prompt in the same order as the tokens.
(sql-mode): Uses `sql-product-highlight' and
`sql-product-font-lock'.
(sql-product-interactive): New function. Common portions of
product-specific interactive mode wrappers.
(sql-interactive-mode): Rewritten to use product features.
(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
(sql-db2, sql-linter): Use `sql-product-interactive'.
(sql-connect-oracle, sql-connect-sybase, sql-connect-informix)
(sql-connect-sqlite, sql-connect-mysql, sql-connect-solid)
(sql-connect-ingres, sql-connect-postgres)
(sql-connect-interbase, sql-connect-db2, sql-connect-linter): New
functions. Format command line parameters and invoke comint on
the appropriate interpreter. Code was in the corresponding
`sql-xyz' function before.
(sql-connect-ms): New function. Support -E argument to use
operating system credentials for authentication.
* cc-engine.el (c-end-of-current-token): Return whether or not the
point moved.
(c-search-decl-header-end): Don't trip up on operator identifiers
in C++ and operators like == in all languages.
* cc-engine.el (c-backward-to-decl-anchor): Detect leading labels
correctly.
Simplify selection of SQL products to define highlighting and
interactive mode. Includes detailed instructions on adding support
for new products.
(sql-product): New variable. Identifies SQL product for use in highlighting and
interactive mode.
(sql-interactive-product): New variable. SQL product for sql-interactive-mode.
(sql-product-support): New variable. Specifies product-specific parameters to
drive highlighting and interactive mode.
(sql-imenu-generic-expression): Add more object types.
(sql-sqlite-options): Correct comment.
(sql-ms-program): Use "osql" rather than "isql".
(sql-prompt-regexp, sql-prompt-length): Update comment.
(sql-mode-menu): Add "Start SQLi session" entry. Replace Highlighting submenu
with Product menu. Fix Send Region entry.
(sql-mode-abbrev-table): Add abbreviations. Support of SYSTEM-FLAG on
define-abbrev. Support was removed with last check-in; it now handles older
Emacsen without the SYSTEM-FLAG.
(sql-mode-font-lock-object-name): Add font-lock pattern for object names.
(sql-mode-ansi-font-lock-keywords): Set as default value.
(sql-mode-oracle-font-lock-keywords): Set as default value. Support Oracle 9i
keywords.
(sql-mode-postgres-font-lock-keywords): Set as default value.
(sql-mode-linter-font-lock-keywords): Set as default value.
(sql-mode-ms-font-lock-keywords): New variable. Support Microsoft SQLServer
2000.
(sql-mode-sybase-font-lock-keywords)
(sql-mode-interbase-font-lock-keywords)
(sql-mode-sqlite-font-lock-keywords)
(sql-mode-strong-font-lock-keywords)
(sql-mode-mysql-font-lock-keywords)
(sql-mode-db2-font-lock-keywords): New variables. Default to ANSI keywords.
(sql-mode-font-lock-defaults): Update comment.
(sql-product-feature): New function. Returns feature associated with a product
from `sql-product-support' alist.
(sql-product-font-lock): New function. Set font-lock support based on
`sql-product'.
(sql-add-product-keywords): New function. Add font-lock rules to
product-specific keyword variables.
(sql-set-product): New function. Set `sql-product' and apply appropriate
font-lock highlighting.
(sql-highlight-product): New function. Set font-lock support based on a
product. Also set mode name to include product name.
(sql-highlight-ansi-keywords, sql-highlight-oracle-keywords)
(sql-highlight-postgres-keywords, sql-highlight-linter-keywords):
Use `sql-set-product'.
(sql-highlight-ms-keywords)
(sql-highlight-sybase-keywords)
(sql-highlight-interbase-keywords)
(sql-highlight-strong-keywords)
(sql-highlight-mysql-keywords)
(sql-highlight-sqlite-keywords)
(sql-highlight-db2-keywords): New functions. Use `sql-set-product'.
(sql-get-login): Prompt in the same order as the tokens.
(sql-mode): Uses `sql-product-highlight' and `sql-product-font-lock'.
(sql-product-interactive): New function. Common portions of product-specific
interactive mode wrappers.
(sql-interactive-mode): Rewritten to use product features.
(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
(sql-db2, sql-linter): Use `sql-product-interactive'.
(sql-connect-oracle, sql-connect-sybase, sql-connect-informix)
(sql-connect-sqlite, sql-connect-mysql, sql-connect-solid)
(sql-connect-ingres, sql-connect-postgres)
(sql-connect-interbase, sql-connect-db2, sql-connect-linter): New functions.
Format command line parameters and invoke comint on the appropriate interpreter.
Code was in the corresponding `sql-xyz' function before.
(sql-connect-ms): New function. Support -E argument to use operating system
credentials for authentication.
* cc-engine.el (c-guess-basic-syntax): Do not do hidden buffer
changes; there's third party code that calls this function
directly.
2003-07-07 Martin Stjernholm <bug-cc-mode@gnu.org>
* cc-fonts.el (javadoc-font-lock-keywords,
autodoc-font-lock-keywords): Don't byte compile on font lock
initialization when running from byte compiled files.
2003-07-06 Alan Mackenzie <bug-cc-mode@gnu.org>
* cc-engine.el: Fix AWK mode indentation when previous statement
ends with auto-increment "++".
2003-07-05 Martin Stjernholm <bug-cc-mode@gnu.org>
* cc-langs.el, cc-styles.el (c-style-alist, c-lang-variable-inits,
c-lang-variable-inits-tail): The values of these are changed, so
declare them as variables and not constants.
extension comes before the one for ".C" on auto-mode-alist', to behave
better on case insensitive OS:es. Fixed incorrect entries that were added
to interpreter-mode-alist'. Moved the autoload directives for AWK to the
top level since they aren't recognized anywhere else. Do not use the new
AWK mode doc in the autoload form for the old AWK mode.
"nexti".
(dbx): Define gud-nexti and gud-run.
(gud-find-expr, gud-find-fortran-expr): New functions.
(gud-find-expr): New variable.
(gud-find-c-expr): Simplify.
(sh-font-lock-paren): Use it to allow \C in case patterns.
(sh-get-indent-info): Check the \n before the line for string-status.
(sh-feature): Remove unused var `function'.
(sh-get-indent-info): Remove unused variables.
(sh-prev-thing): Remove unused vars `going', `n', and `found'.
(sh-set-indent): Remove unused var `new-val' and `val0'.
(sh-learn-buffer-indent): Remove unused vars `last-pos' and `lines'.
(sh-guess-basic-offset): Remove unused var `return' and `j'.
(uniquify-ask-about-buffer-names-p, uniquify-ignore-buffers-re)
(uniquify-min-dir-content, uniquify-separator, uniquify-trailing-separator-p):
Remove redundant group specification.
(uniquify-file-name-nondirectory): Delete.
(uniquify-rationalize-file-buffer-names): Simplify.
Use directory names as `filename' component of uniquify-item.
(uniquify-get-proposed-name): Adjust now that `filename' does not
include `base'.
gnatls.
(ada-initialize-runtime-library): Properly parse "." in the output of gnatls.
(ada-add-keymap): Removed, since this is now done in ada-mode.el itself.
(ada-add-ada-menu): Likewise.
(ada-set-default-project-file): New parameter KEEP-EXISTING.
(ada-prj-find-prj-file): New parameter FILE.
(ada-parse-prj-file): Take into account the ADA_INCLUDE_PATH and
ADA_OBJECTS_PATH environment variables. Minor reorganization of the code
(ada-get-all-references): Add support for GNAT 3.16 cross-references.
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.
font-lock-variable-name-face in declarations (so that strings in
declarations are over-ridden). Highlight continuation characters.
(f90-indent-new-line): Remove direct call to f90-indent-line-no,
f90-update-line, since f90-indent-line calls these.
(f90-abbrev-start): Fix XEmacs compatibility.
(f90-no-block-limit, f90-end-of-block, f90-beginning-of-block)
(f90-comment-region, f90-indent-line, f90-indent-region)
(f90-find-breakpoint, f90-block-match): Trivial simplifications.
(f90-looking-at-do, f90-looking-at-select-case)
(f90-looking-at-if-then, f90-looking-at-where-or-forall): Drop
XEmacs 19 support and simplify.
(f90-indent-new-line): No need for case-fold-search. Simplify.
(f90-fill-region): Make marker nil when done. Simplify.
introduced in previous change.
(fortran-tab-mode-string): Change default value.
(fortran-mode): Use mode-line-process (rather than
minor-mode-alist) to indicate tab format code.
(fortran-analyze-file-format): Return fortran-tab-mode-default if
no match.
(fortran-calculate-indent): Do not add extra whitespace to strings
broken over lines. Remove superfluous progn.
(fortran-fill): Handle long strings that must be broken over lines.
`join-line' - join with previous line, unless an argument supplied.
Join comments correctly. No longer has a meaningful return
value, no longer fills (seems contradictory to join AND fill).
(f90-fill-region, f90-menu): Adapt for new f90-join-lines.
* progmodes/etags.el (select-tags-table-mode-map):
Don't create new keymap. Instead copy from button-buffer-map.
Bind push-button to `t' instead of binding
select-tags-table-select directly
* (tags-select-tags-table): New button.
* progmodes/etags.el (select-tags-table): Put
a button for each selections.
find-file-of-tag to avoid name space pollution.
(tag-find-file-of-tag-noselect): Likewise.
(etags-list-tags, etags-tags-apropos): Use
tag-find-file-of-tag instead of find-file-of-tag.
(snarf-tag-function): Doc string is changed. Explained about new optional
argument, `use-explicit'.
(etags-snarf-tag): Added one optional argument `use-explicit'.
(file-of-tag-function): Doc string is changed. Explained about new optional
argument, `relative'.
(file-of-tag): Doc string is changed. Explained about new optional argument,
`relative'. Pass `relative' to `file-of-tag-function'.
(etags-file-of-tag): Added new argument `relative`.
(list-tags): Set `buffer-read-only' to t after making the major mode
apropos-mode.
(etags-list-tags): Used `make-text-button' instead of `add-text-properties'.
Used `snarf-tag-function', `goto-tag-location-function' and `find-file-of-tag'
instead of `find-tag-other-window' (it's too simple).
(find-tag-in-order): Used `find-file-of-tag-noselect' instead of `find-file'.
(etags-tags-apropos): Used `find-file-of-tag-noselect' instead of `find-file'.
Do not use `etags-goto-tag-location` directly; use `goto-tag-location-function'
instead. Print relative file paths instead of complete ones in *Tags List*
buffer, so lines in the buffer become shorter.
(etags-tags-apropos-additional): Use `make-text-button' instead of
`add-text-properties'.
(etags-tags-apropos): Use make-text-button instead of add-text-properties. Use
snarf-tag-function and etags-goto-tag-location instead of find-tag-other-window
(it's too simple).
(asm-mode): Use them in indent-line-function.
Set tab-always-indent to nil to stay closer to previous tab behavior.
Set comment-add. Remove space at end of comment-add.
(asm-newline): Obsolete. Use newline-and-indent instead.
(asm-mode-map): Remove TAB binding.
(asm-code-level-empty-comment-pattern)
(asm-flush-left-empty-comment-pattern)
(asm-inline-empty-comment-pattern): Remove.
(asm-comment): Use newcomment functions instead.
(asm-colon): Don't tab if colon is not after a label.
(asm-line-matches, asm-pop-comment-level): Remove.
(asm-mode-map): Declare and init at the same time.
(asm-code-level-empty-comment-pattern)
(asm-flush-left-empty-comment-pattern)
(asm-inline-empty-comment-pattern): Use \s< so they do not depend
on asm-comment-char. Turn them into constants.
(asm-mode): Simplify.
(asm-line-matches): Remove unused arg.
(toplevel): Require man.
(condition-case): Don't autoload tmm-prompt (it's in loaddefs.el).
(cperl-electric-backspace-untabify): New var.
(cperl-electric-backspace): Use it.
(cperl-vc-header-alist): Extract numeric version from the Id.
(cperl-build-manpage): New fun.
(cperl-menu): Use it. Add toggle-autohelp.
(cperl-mode) <defun-prompt_regexp>: Understand prototypes.
(cperl-electric-brace): Use `cperl-after-block-p' for detection.
(cperl-electric-keyword): Make $if (etc: "$@%&*") non-electric.
'(' after keyword would insert a doubled paren.
(cperl-calculate-indent): Update syntaxification before checks.
Fix wrong indent of blocks starting with POD.
(cperl-find-pods-heres): If no end of HERE-doc found, mark to the end
of buffer. This enables recognition of end of HERE-doc "as one types".
Require "\n" after trailing tag of HERE-doc.
\( made non-quoting outside of string/comment (gdj-contributed).
Likewise for \$. Remove `here-doc-group' text property at start
(makes this property reliable).
Text property `first-format-line' ==> t.
Do not recognize $opt_s and $opt::s as s///.
(cperl-after-block-p): Optional arg pre-block to check for a pre-block
Recognize `continue' blocks too.
(cperl-after-expr-p): Update syntaxification before checks. Work after
here-docs, formats, and PODs too (affects many electric constructs).
(cperl-fix-line-spacing): Allow "_" in $vars of foreach etc.
(cperl-perldoc): Use case-sensitive search.
(cperl-xemacs-p): Move.
(cperl-can-font-lock): New var to replace window-system.
(cperl-enable-font-lock): Use it.
(cperl-use-major-mode): New var.
(cperl-mode): Use it.
(cperl-calculate-indent): Remove code whose removal was missed
in some earlier merge.
(cperl-tags-hier-init): Use display-popup-menus-p.
(ebnf-syntactic): Change group name and tag from "ebnf-syntatic".
(ebnf-syntax, ebnf-lex-comment-char, ebnf-lex-eop-char, ebnf-terminal-regexp)
(ebnf-case-fold-search, ebnf-iso-alternative-p, ebnf-iso-normalize-p)
(ebnf-yac-ignore-error-recovery): Add to group "ebnf-syntactic", not
"ebnf-syntatic".
(ebnf-optimize, ebnf-print-buffer, ebnf-print-region, ebnf-spool-buffer)
(ebnf-spool-region, ebnf-eps-buffer, ebnf-eps-region, ebnf-syntax-buffer)
(ebnf-syntax-region, ebnf-generate-region): Fix typo.
(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.