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.
(sql-db2): Doc change.
(sql-help): Doc change by Christian Egli <christian.egli@stest.ch>.
(sql-mysql): Doc change by Christian Egli <christian.egli@stest.ch>.
lambda expression.
(ps-mode-menu-main): Submenu with options on/off was replaced with
a toggle button.
(ps-mode, ps-run-mode): Define with `define-derived-mode'
(ps-mode): Autoload cookie added on same line as comment
(ps-mode-tabkey, ps-mode-backward-delete-char):
(ps-mode-r-balance): Replace `delete-horizontal-space' and
`indent-to' with `indent-line-to'
(ps-mode-print-buffer, ps-mode-print-region): Use `funcall'
instead of `eval'.
(ps-mode-print-region): Use `with-temp-buffer'.
(ps-run-start): Use of `mapconcat'. Use `apply' instead of
`eval'.
(numerous places): Add back-tick and tick around names in
docstrings, fix punctuation in docstrings, remove trailing spaces.
Better handling of C++ template args to avoid confusion with `<'
and `>' used as operators in member init expressions.
From Martin Stjernholm <bug-cc-mode@gnu.org>.
After 4.23 and: After 4.24:
(cperl-contract-levels): Restore position.
(cperl-beautify-level): Likewise.
(cperl-beautify-regexp): Likewise.
(cperl-commentify): Rudimental support for length=1 runs
(cperl-find-pods-heres): Process 1-char long REx comments too /a#/x
After 4.25:
(cperl-commentify): Was recognizing length=2 "strings" as length=1.
(imenu-example--create-perl-index): Was not enforcing
syntaxification-to-the-end.
(cperl-invert-if-unless): Allow `for', `foreach'.
(cperl-find-pods-heres): Quote `cperl-nonoverridable-face'.
Mark qw(), m()x as indentable.
(cperl-init-faces): Highlight `sysopen' too.
Highlight $var in `for my $var' too.
(cperl-invert-if-unless): Was leaving whitespace at end.
(cperl-linefeed): Was splitting $var{$foo} if point after `{'.
(cperl-calculate-indent): Remove old commented out code.
Support (primitive) indentation of qw(), m()x.
After 4.26:
(cperl-problems): Mention `fill-paragraph' on comment. \"" and
q [] with intervening newlines.
(cperl-autoindent-on-semi): New customization variable.
(cperl-electric-semi): Use `cperl-autoindent-on-semi'.
(cperl-tips): Mention how to make CPerl the default mode.
(cperl-mode): Support `outline-minor-mode'. From Mark A. Hershberger.
(cperl-outline-level): New function.
(cperl-highlight-variables-indiscriminately): New customization var.
(cperl-init-faces): Use `cperl-highlight-variables-indiscriminately'.
From Sean Kamath <kamath@pogo.wv.tek.com>.
(cperl-after-block-p): Support CHECK and INIT.
(cperl-init-faces, cperl-short-docs): Likewise and "our".
From Doug MacEachern <dougm@covalent.net>.
After 4.27:
(cperl-find-pods-heres): Recognize \"" as a string.
Mark whitespace between q and [] as `syntax-type' => `prestring'.
Allow whitespace between << and "FOO".
(cperl-problems): Remove \"" and q [] with intervening newlines.
Mention multiple <<EOF as unsupported.
(cperl-highlight-variables-indiscriminately): Doc misprint fixed.
(cperl-indent-parens-as-block): New configuration variable.
(cperl-calculate-indent): Merge cases of indenting non-BLOCK groups.
Use `cperl-indent-parens-as-block'.
(cperl-find-pods-heres): Test for =cut without empty line instead of
complaining about no =cut.
(cperl-electric-pod): Change the REx for POD from "\n\n=" to "^\n=".
(cperl-find-pods-heres): Likewise.
(cperl-electric-pod): Change `forward-sexp' to `forward-word':
POD could've been marked as comment already.
(cperl-unwind-to-safe): Unwind before start of POD too.
After 4.28:
(cperl-forward-re): Throw an error at proper moment REx unfinished.
After 4.29:
(x-color-defined-p): Make an extra case to peacify the warning.
Toplevel: `defvar' to peacify the warnings.
(cperl-find-pods-heres): Could access `font-lock-comment-face' in -nw.
No -nw-compile time warnings now.
(cperl-find-tags): TAGS file had too short substring-to-search.
Be less verbose in non-interactive mode
(imenu-example--create-perl-index): Set index-marker after name
(cperl-outline-regexp): New variable.
(cperl-outline-level): Made compatible with `cperl-outline-regexp'.
(cperl-mode): Made use `cperl-outline-regexp'.
After 4.30:
(cperl-find-pods-heres): =cut the last thing, no blank line, was error.
(cperl-outline-level): Make start-of-file same level as `package'.
After 4.31:
(cperl-electric-pod): `head1' and `over' electric only if empty.
(cperl-unreadable-ok): New variable.
(cperl-find-tags): Use `cperl-unreadable-ok', do not fail
on an unreadable file.
(cperl-write-tags): Use `cperl-unreadable-ok', do not fail
on an unreadable directory.
Consider the text between two errors as belonging to the first error.
(compilation-goto-locus): Use pop-to-buffer rather than
switch-to-buffer-other-frame.
(tcl-using-emacs-19, tcl-using-emacs-19-23, tcl-using-xemacs-19)
(tcl-version, tcl-maintainer, tcl-use-hairy-comment-detector): Remove.
(tcl-mode-map): Remove bindings for tcl-beginning-of-defun,
tcl-end-of-defun, tcl-mark-defun, tcl-indent-for-comment,
tcl-submit-bug-report.
(tcl-mode-syntax-table): Leave \f alone.
(inferior-tcl-mode-map): Remove bindings for tcl-beginning-of-defun,
tcl-end-of-defun, tcl-submit-bug-report.
(tcl-xemacs-menu): Fix up and pass it directly to easymenu.
(tcl-add-emacs-menu): Remove.
(tcl-fill-mode-map, tcl-fill-inferior-map): Moved into the defvar.
(tcl-keyword-list): Add `chain'.
(tcl-font-lock-syntactic-keywords): New variable.
(tcl-pps-has-arg-6): Remove.
(tcl-internal-beginning-of-defun, tcl-internal-end-of-defun)
(tcl-internal-mark-defun): Remove.
(tcl-set-proc-regexp, tcl-set-font-lock-keywords): Use regexp-opt.
(tcl-mode): Use define-derived-mode. Simplify.
Set comment-indent-function.
(tcl-indent-command): Use line-beginning-position and comment-indent.
(tcl-calculate-indent): Renamed from calculate-tcl-indent.
(tcl-indent-line): Use tcl-calculate-indent.
(tcl-indent-exp): Renamed from indent-tcl-exp. Use new names.
(tcl-add-log-defun): Renamed from add-log-tcl-defun. Use match-string.
(tcl-filter): Use with-current-buffer, simplify.
(inferior-tcl-mode): Use define-derived-mode.
(tcl-hairy-in-comment): Renamed tcl-in-comment.
(tcl-simple-in-comment, tcl-in-comment): Removed.
(tcl-files-alist): New function.
(tcl-help-snarf-commands): Use it and return the result directly
rather than through a global variable.
(tcl-reread-help-files): Fix up the call to tcl-help-snarf-commands.
(tcl-help-on-word): Provide the default value to completing-read.
(tcl-hilit): Remove.
(tcl-hashify-buffer, tcl-popup-menu): Simplify.
(tcl-comment-indent): New function.
(tcl-submit-bug-report): Remove.
(tcl-uncomment-region, tcl-indent-for-comment, add-log-tcl-defun)
(indent-tcl-exp, calculate-tcl-indent, tcl-beginning-of-defun)
(tcl-end-of-defun, tcl-mark-defun, tcl-mark): Redefine as aliases.
(grep-command): Mention `grep-use-null-device'.
(grep-compute-defaults): Compute `grep-use-null-device' if necessary.
Make computation of `grep-command' respect `grep-use-null-device'.
(grep): Respect `grep-use-null-device'.
Call `grep-compute-defaults' even if grep-command is set, if
grep-use-null-device is still tentative.
Sync comments w/ maintainer version 5.31.
(hs-isearch-open): Default value now `code'.
Fix docstring to use "code blocks" vs "comment blocks",
as opposed to "block" vs "comment".
(hs-flag-region): Accept `hs-isearch-open' value
of `block' as synonymous w/ `code'.
(hs-hide-block-at-point): For code blocks, pass `code'
to `hs-flag-region' instead of `block'.
Don't change compile-auto-highlight globally.
Don't bother with `font-lock-defaults' property since XEmacs
also understands the `font-lock-defaults' variable.
Use make-local-variable rather than make-variable-buffer-local.
Don't `defconst' comment-indent-function: keep the default.
Call easy-menu-add unconditionally.
(ada-create-keymap): Use [(shift tab)] so it works on both Emacsen.
(ada-create-menu): Use :included for Emacs as well.
(perl-font-lock-syntactic-face-function): New function.
(perl-mode): Use them.
(perl-continuation-line-p): New function, from perl-calculate-indent.
(perl-calculate-indent): Use it, to properly handle continuation
lines of continuation lines.
(perl-comment-indent): Simplify to let newcomment.el do its job.
(perl-electric-terminator, perl-calculate-indent, perl-indent-exp)
(perl-mark-function): Cleanup the namespace.
(perl-calculate-indent): Don't be fooled by nested functions.
into two functions where `c-electric-delete-forward' always deletes
forward and `c-electric-delete' only contains the code
necessary for XEmacs to choose between backward and forward
deletion. `c-electric-delete-forward' is now bound to C-d to
get the electric behavior on that key too.
(c-fill-paragraph): Fixed bogus direct use of c-comment-prefix-regexp,
which caused an error when it's a list.
(sql-db2): Set comint-input-sender to
sql-escape-newlines-and-send.
(sql-db2-program): New option.
(sql-db2-options): New option.
(sql-db2): New function.
(sql-mode-menu): Added highlighting entries.
(sql-highlight-oracle-keywords): New function.
(sql-highlight-postgres-keywords): New function.
(sql-highlight-ansi-keywords): New function.
(sql-help): Doc change.
* progmodes/etags.el (tags-compression-info-list): New variable.
(find-tag-in-order): Use it to deal with compressed source files.
(tag-file-name-match-p): New function.
(etags-recognize-tags-table): Use it for better match of file names.
(sh-font-lock-syntactic-keywords): Use it and fix bogus comment regexp.
(sh-mode): Remove `make-local-variable' for unused var
`font-lock-unfontify-region-function'.
so that C-h m shows the correct information.
Use make-local-variable rather than make-variable-buffer-local.
(cperl-info-buffer, cperl-setup-tmp-buf):
Use make-local-variable rather than make-variable-buffer-local.
Updated to author version 4.23.
(cperl-electric-pod): SYNOPSIS was misspelled.
(cperl-find-pods-heres): @if ? a : b was considered a REx.
(cperl-after-expr-p): Make true after __END__.
ranges like \177-\237, but accepts the character sequence from \177 to
\237. Doc fix.
(ebnf-version): New version (3.4).
(ebnf-setup): Code fix.
(ebnf-range-regexp): New fun.
(ebnf-8-bit-chars): Const fix.
(sql-sybase): Use it. Add sql-database to the list of parameters
provided for login. The options -w 2048 -n are not used any more.
(sql-postgres-options): Changed default from "--pset" to "-P".
(sql-mysql-options): Doc change.
(sql-stop): Doc change.
to create Makefile rules.
(antlr-tool-command): New user option.
(antlr-ask-about-save): New user option.
(antlr-makefile-specification): New user option.
(antlr-file-formats-alist): New variable.
(antlr-special-file-formats): New variable.
(antlr-unknown-file-formats): New user option.
(antlr-help-unknown-file-text): New variable.
(antlr-help-rules-intro): New variable.
(antlr-mode-map): Add [C-c C-r] for `antlr-run-tool'.
(antlr-mode-menu): Add entries.
(antlr-file-dependencies): New function.
(antlr-directory-dependencies): New function.
(antlr-superclasses-glibs): New function.
(antlr-run-tool): New command.
(antlr-makefile-insert-variable): New function.
(antlr-insert-makefile-rules): New function.
(antlr-show-makefile-rules): New command.
More Emacs/XEmacs stuff.
(antlr-no-action-keywords): New constant with value nil.
(antlr-font-lock-keywords-alist): Use it. Old value would break
syntax highlighting in Emacs-21.0.
(antlr-default-directory): Emacs/XEmacs dependend function.
(antlr-read-shell-command): Ditto.
(antlr-with-displaying-help-buffer): Ditto.
imenu, parsing and highlighting changes.
(antlr-imenu-create-index-function): Don't create extra submenus
for definitions in different grammar classes. It is not necessary
for the menu and would make command `imenu' awkward to use.
(antlr-skip-file-prelude): With ANTLR-2.7+, you can specify named
header actions and more than one.
(antlr-font-lock-tokendef-face): Changed color.
(antlr-font-lock-tokenref-face): Changed color.
(antlr-font-lock-additional-keywords): Also highlight lowercase.
(antlr-mode-syntax-table): New variable.
(antlr-mode): Populate and use it instead `java-mode-syntax-table'.
(antlr-with-syntax-table): Don't copy syntax table.
Minor changes: language setting.
(antlr-language-alist): The value for file option "language" can
be both an identifier and a string.
Reported by Rajesh Radhakrishnan <radhakrs@email.uc.edu>.
(antlr-language-limit-n-regexp): Change accordingly.
Minor changes: tabs, hiding.
(antlr-tab-offset-alist): Set `indent-tabs-mode' to nil instead t.
(antlr-action-visibility): Also allow value nil to also hide the
braces. Renamed from `antlr-tiny-action-length'.
Suggested by Jay@aol.com.
(antlr-hide-actions): Change accordingly. Hide line if completely
hidden action is on a line of its own.
* progmodes/ada-mode.el (ada-mode): Use it instead of
`ada-remove-trailing-spaces'
(ada-remove-trailing-spaces): Removed.
* textmodes/two-column.el (2C-merge): Recommend it in the doc.
* textmodes/picture.el (picture-mode-exit): Call it instead of
`picture-clean'.
(picture-clean): Removed.
Make it into a simple syntax-table, shared among all submodes.
(sh-heredoc-face): Re-introduce.
(sh-font-lock-syntactic-face-function): New function.
(sh-mode): Use it. Also use define-derived-mode.
Remove old bogus setting of indent-region-function.
(sh-set-shell): Don't set the syntax-table any more.
(sh-mode-syntax-table) <defun>: Remove.
sh-electric-rparen, sh-electric-less and sh-electric-hash.
(sh-st-punc, sh-here-doc-syntax): Use string-to-syntax.
(sh-font-lock-heredoc, sh-font-lock-paren): New funs.
(sh-font-lock-syntactic-keywords): Use them.
(sh-heredoc-face, sh-st-face, sh-special-syntax): Remove.
(sh-mkword-regexp, sh-electric-rparen-needed-here): Remove.
(sh-mode): Don't override font-lock-unfontify-region-function.
Use a copy of sh-font-lock-syntactic-keywords.
(sh-set-shell): Don't set sh-electric-rparen-needed-here.
Don't call sh-scan-buffer since font-lock does it on the fly.
(sh-get-indent-info): Use `face' rather than `syntax-table'
text-property to detect here-documents.
Replace sh-special-syntax with sh-st-punc.
(sh-prev-line): Use `face' rather than `syntax-table'
text-property to skip over here-documents.
(sh-font-lock-unfontify-region-function, sh-check-paren-in-case)
(sh-set-char-syntax, sh-electric-rparen, sh-electric-hash)
(sh-electric-less, sh-set-here-doc-region)
(sh-remove-our-text-properties, sh-search-word, sh-scan-case)
(sh-scan-buffer, sh-rescan-buffer): Remove.
(sh-mode-syntax-table): Add punctuation syntax for < and >.
(sh-mode): Don't make all vars local here.
(sh-kw): Reformat.
(sh-set-shell): Use dolist. Don't set indent-region-function.
(sh-mode-syntax-table): Use pop.
(sh-remember-variable): Use push.
(sh-help-string-for-variable): Use memq.
(sh-safe-backward-sexp): Remove.
(sh-safe-forward-sexp): Add ARG.
(sh-get-indent-info, sh-prev-stmt): Use it.
(sh-prev-line): Simplify by using forward-comment.
(sh-this-is-a-continuation): Simplify.
(sh-learn-buffer-indent): Use dolist.
(sh-do-nothing): Remove.
(sh-set-char-syntax, sh-set-here-doc-region):
Use inhibit-modification-hooks.
(sh-name-style): Use mapcar and push.
(sh-load-style): Use dolist.
(sh-save-styles-to-buffer): Use with-current-buffer and pp.
(sh-case, sh-while-getopts): Use propertize directly rather
than sh-electric-rparen.