'any' is a holdover from the ancient 'sregex' package where it meant
'not-newline', but is easily mistaken for 'anychar'.
* lisp/emacs-lisp/rx.el (rx--translate-symbol): Warn about 'any'.
* test/lisp/emacs-lisp/rx-tests.el (rx-atoms): Suppress warning here.
* etc/NEWS: Explain.
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1):
* lisp/pcmpl-rpm.el (pcomplete/dnf):
* test/lisp/emacs-lisp/package-vc-tests.el (log-incoming):
Use 'anychar' instead of 'any', since that's probably what was meant.
The previous phrasing could be read as if backquote expansion were
mutable if containing substitions, but that is simply not true;
they should always be treated as non-mutable.
* lisp/time-stamp.el (time-stamp, time-stamp--system-name):
Use 'string-match-p' instead of 'string-match'.
(time-stamp--count-newlines): New function to implement the algorithm.
(time-stamp--system-name-1): New function, a testing seam.
* test/lisp/time-stamp-tests.el (with-time-stamp-system-name): Use the
new testing seam to expand test coverage.
* lisp/progmodes/antlr-mode.el: Prefer #' to quote function names.
Fix a few incorrect ' in docstring markup.
(antlr-font-lock-checked-face): Don't use obsolete
`font-lock-warning-face` variable.
(antlr-do-syntax-propertize): Use `emacs-major-version`.
(antlr-set-tool-version-and-mode-line): Don't set
`indent-region-function` to a non-function value.
(antlr-mode): Remove call to obsolete `easy-menu-add`.
(antlr-delphi-indent-action-line, antlr-ruby-indent-action-line):
Avoid obsolete functions `point-at-[be]ol`.
(antlr-python-indent-action-line): Make sure `syntax-ppss-*` vars are
bound dynamically rather than statically.
* lisp/emacs-lisp/timeout.el (timeout--throttle-advice)
(timeout-throttled-func): Replace 'prog1' with 'progn'
to return the evaluated value of 'result' (bug#79979).
This will capture the correct return value the first time
a throttled function is called. Previously, it would return nil
on the very first call.
(timeout-debounce, timeout-throttle, timeout-throttled-func)
(timeout-debounced-func): Add the autoload cookie.
Problem reported by Ulrich Müller (bug#79974).
* configure.ac (gl_ALIGNASOF): Arrange for it to be defined
even if aclocal is invoked other than via admin/merge-gnulib.
Also, change comments from # to dnl as they don’t make
much sense in the shell script.
Remove Gnulib sources no longer needed or used.
admin/merge-gnulib is typically not smart enough to do that.
* configure.ac: Do not call gl_EEMALLOC, as it is no longer
supplied or needed.
* lib/explicit_bzero.c, lib/malloc/scratch_buffer_dupfree.c:
* lib/xalloc-oversized.h, m4/eealloc.m4, m4/explicit_bzero.m4:
* m4/st_dm_mode.m4, m4/year2038.m4:
Remove.
* etc/NEWS: Fix unbalanced parentheses that break `submit-emacs-patch'
when Paredit is active. This happens because `lm-maintainers', which is
used by `submit-emacs-patch', enables `emacs-lisp-mode' on the `NEWS'
file.
* test/lisp/emacs-lisp/package-vc-tests.el
(package-vc-tests-packages): Rename test packages to avoid
suffix being treated as a version number by
`package--description-file'.
(package-vc-tests-add): Ensure suffix capitalisation remains as
original when calling `replace-regexp-in-string'.
(package-vc-tests-create-repository): Fix typo in temporary
email and use a reserved TLD.
(package-vc-tests-environment-tear-down): Rename preserved
buffers to avoid conflicts between tests.
* test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo): Use
example.com, domain following RFC 2606.
* test/lisp/vc/vc-tests/vc-tests.el
(vc-test--with-author-identity): Use example.com, domain
following RFC 2606.
* lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal):
Use the tty-top-frame to avoid accidentally making an invisible
child frame visible by selecting it
For the ChangeLog with timeline,
see https://sourceforge.net/projects/antlr-mode/files/
The following is the ChangeLog between v2.2c to v3.2.0
without (intermediate) version numbers and changes already in the Emacs
repository.
* antlr-mode.el: Command `antlr-run-tool' now runs on the file for
the current buffer by default.
(antlr-run-tool-on-buffer-file): New user option.
(antlr-run-tool-interactive): Use it.
* antlr-mode.el: Allow `antlr-tool-version' and `antlr-language'
be set in the Local Variables section of a file.
(antlr-hack-local-variables-hook): New function.
(antlr-set-tool-version-and-mode-line): Adapt
(antlr-delayed-mode-hook): Renamed from `antlr-after-body-hook'.
(antlr-font-lock-keywords): Correctly call `font-lock-value-in-major-mode'.
* antlr-mode.el: Miscellaneous corrections and other changes.
(antlr-insert-keyword-rule): Make it work in v2 and v4, too.
(antlr-indent-line): Correctly calculate beginning of action.
(antlr-grammar-header-regexp): Has a value which is valid for v3 and v4.
(antlr-v4-grammar-header-regexp, antlr-v3-grammar-header-regexp):
Delete.
(antlr-tool-version-variables): tool-dependent variable for
`antlr-grammar-header-regexp`' is optional.
(antlr-upcase-p): Delete XEmacs bug workaround.
* antlr-mode.el: Enhance options, add v4 language "Cpp".
(antlr-v4-language-list): Add "Cpp".
(antlr-v4-options-alists, antlr-v3-options-alists)
(antlr-v2-options-alists): Do not hard-code languages.
(antlr-read-language): New function used instead.
(antlr-v4-options-alists): Add grammar option "contextSuperClass"
and Cpp-only "exportMacro".
(antlr-insert-option-do): Call the "right" antlr-mode for v4 grammars.
(antlr-option-spec): Delete function.
(antlr-insert-option-do): Do not use it.
* antlr-mode.el: Correct command `antlr-insert-options'.
(antlr-try-rule-or-grammar-option): New function.
(antlr-option-level): Use it, correcting v3 and v4 behavior.
(antlr-v2-options-alists): Correct "language" option.
(antlr-syntactic-grammar-depth): Correct calculation
(antlr-options-style): Make it really obsolete.
(antlr-read-value): Do not use it.
* antlr-mode.el: Disable command `antlr-show-makefile-rules' for
ANTLR v3 and v4, these have "-depend" to show Makefile deps.
(antlr-show-makefile-rules): User error when used with v3 or v4.
* antlr-mode.el: Adapt command `antlr-run-tool' to ANTLR v3 and
v4, do not calculate v2 option "-glib" for file dependencies.
(antlr-tool-command): Make it tool-version dependent
(antlr-v4-tool-command, antlr-v3-tool-command)
(antlr-v2-tool-command): New user option.
(antlr-run-tool-interactive): Only add "-glib" option with v2.
(antlr-directory-dependencies): Only calculate deps with v2.
(antlr-compilation-error-regexp-alist)
(antlr-v4-compilation-error-regexp-alist): New variable.
(antlr-tool-version-variables, antlr-run-tool): Use it.
* antlr-mode.el: Cleanup, miscellaneous. Replace `match-string'
by `match-string-no-properties' (see vc history).
(antlr-grammar-file): New function.
(antlr-insert-keyword-rule): New command.
(antlr-mode-map): Use it.
(antlr-font-lock-late-keywords): Correct face name.
* antlr-mode.el: Allow to write a derived mode for grammars - like
for PEG.js - whose rule header and body is separated by an
operator other than ":" and other similar deviations. Also
prepare for messages without file name in "*compilation*" buffer.
(antlr-rule-body-start-op): New variable.
(antlr-end-of-body, antlr-indent-line): Use it.
(antlr-grammar-file): New variable.
(antlr-run-tool): Set it local in *compilation*" to FILE.
(antlr-font-lock-attribute-regexp, antlr-ruleref-assign-regexp):
(antlr-v2-ruleref-assign-regexp, antlr-font-lock-negation-regexp):
(antlr-font-lock-syntax-spec): New variables.
(antlr-font-lock-additional-keywords):
(antlr-font-lock-late-keywords): Use them here.
(antlr-tool-version-variables): Add `antlr-ruleref-assign-regexp'.
* antlr-mode.el: Adaptation to Emacs-25.1, cleanup.
(antlr-insert-makefile-rules): Set variable properly.
(antlr-syntax-propertize-template-literals): Using << inside an
unclosed code block could lead to error during font-locking.
(antlr-slow-cache-enabling-symbol): Delete variable.
* antlr-mode.el: Adopt change below and other changes in the Emacs
repository to current antlr-mode version.
* antlr-mode.el: Use syntax-ppss. Check "are we in the grammar or
action code?" does not use extra action syntax-table anymore, but
9th element of syntax-ppss / parse-partial-sexp, whose value is
"subject to change" but has not changed since decades.
(antlr-action-syntax-table): Delete variable.
(antlr-font-lock-defaults): Do not give parentheses symbol syntax.
(antlr-slow-context-cache): Delete variable.
(antlr-invalidate-context-cache): Delete function.
(antlr-syntactic-context): Use syntax-ppss, new optional arg PPSS.
Now returns nil instead 0 if in normal grammar code.
(antlr-syntax-propertize-template-literals, antlr-re-search-forward)
(antlr-search-result, antlr-syntax-propertize-charsets)
(antlr-electric-character): Simplify.
(antlr-do-syntax-propertize): New variable.
* antlr-mode.el: Code is not run under extra syntax table anymore.
(antlr-syntax-propertize-wholerule, antlr-indent-at-bol-alist)
(antlr-v4-grammar-header-regexp, antlr-v3-grammar-header-regexp)
(antlr-v2-grammar-header-regexp, antlr-rule-postlude-skip-regexp)
(antlr-skip-file-prelude, antlr-font-lock-additional-keywords)
(antlr-imenu-create-index-function, antlr-inside-rule-p)
(antlr-end-of-rule, antlr-beginning-of-rule antlr-end-of-body)
(antlr-hide-actions, antlr-insert-option, antlr-option-level)
(antlr-downcase-literals, antlr-file-dependencies)
(antlr-guess-tool-version, antlr-indent-line):
Do not call deleted function, do not use deleted variables, use
regexp \\_> instead \\>., use both \\s_ and \\sw.
* antlr-mode.el: Minor changes.
(antlr-action-face, antlr-symbol-face): New face.
(antlr-token-identifier-p): New variable.
(antlr-font-lock-late-keywords): Use it, use
antlr-grammar-header-regexp, use new faces.
(antlr-syntax-propertize-charsets): Ignore @actionscope::name when
searching for lexer rules.
(antlr-syntax-propertize-template-literals): Change handling if
the template literal does not end before eob.
(antlr-font-lock-keywords): Use font-lock-eval-keywords.
(antlr-rule-postlude-skip-regexp): Allow scope name to begin with
underscore.
* antlr-mode.el: Make antlr-mode more modular - allow to add new
target languages without changing existing code.
(antlr-language-variables, antlr-language-mode-name)
(antlr-java-language-mode-name, antlr-action-mode)
(antlr-java-action-mode, antlr-init-cc-mode)
(antlr-java-init-cc-mode, antlr-init-submode)
(antlr-indent-action-line, antlr-action-font-lock-keywords)
(antlr-java-action-font-lock-keywords, antlr-action-scope-names)
(antlr-action-names, antlr-java-action-names): New variables.
(antlr-c-language-mode-name, antlr-cpp-language-mode-name)
(antlr-objc-language-mode-name, antlr-c-action-mode)
(antlr-cpp-action-mode, antlr-objc-action-mode)
(antlr-c-init-cc-mode, antlr-cpp-init-cc-mode)
(antlr-obj-init-cc-mode, antlr-cpp-action-font-lock-keywords)
(antlr-c-action-font-lock-keywords)
(antlr-objc-action-font-lock-keywords)
(antlr-js-language-mode-name, antlr-js-action-mode)
(antlr-js-init-submode, antlr-js-action-font-lock-keywords)
(antlr-js-indent-action-line, antlr-delphi-language-mode-name)
(antlr-delphi-action-mode, antlr-delphi-init-submode)
(antlr-delphi-action-font-lock-keywords)
(antlr-delphi-indent-action-line, antlr-ruby-language-mode-name)
(antlr-ruby-action-mode, antlr-ruby-init-submode)
(antlr-ruby-action-font-lock-keywords)
(antlr-ruby-indent-action-line, antlr-python-language-mode-name)
(antlr-python-action-mode, antlr-python-action-font-lock-keywords)
(antlr-python-indent-action-line, antlr-python-init-submode): New
variables.
(antlr-init-js, antlr-js-indent-action-line, antlr-init-delphi)
(antlr-delphi-indent-action-line, antlr-init-ruby)
(antlr-ruby-indent-action-line, antlr-init-python)
(antlr-python-indent-action-line): New functions.
(antlr-font-lock-keywords-alist): Remove variable.
(antlr-guess-language): Rename from anlr-language-option, use
antlr-language-list, use cl function.
* antlr-mode.el: Make antlr-mode more modular - allow to add new
ANTLR versions/flavors without changing existing code.
(antlr-tool-version): Is a symbol now, default to nil = automatic.
For backward compatibility, numbers between 20000 and 29999 are
set to antlr-v2 in antlr-set-tool-version-and-mode-line. This
variable should not be customized anymore - change :type spec.
(antlr-tool-version-variables, antlr-tool-mode-name)
(antlr-v4-tool-mode-name, antlr-v3-tool-mode-name)
(antlr-v2-tool-mode-name, antlr-language-list)
(antlr-v4-language-list, antlr-v3-language-list)
(antlr-v2-language-list, antlr-syntax-propertize)
(antlr-v4-syntax-propertize, antlr-v3-syntax-propertize)
(antlr-v2-syntax-propertize, antlr-v2-options-alist)
(antlr-v4-skip-line-regexp, antlr-v3-skip-line-regexp)
(antlr-font-lock-symbol-regexp)
(antlr-v4-font-lock-symbol-regexp)
(antlr-v3-font-lock-symbol-regexp)
(antlr-v4-grammar-header-regexp, antlr-v3-grammar-header-regexp)
New variables.
(antlr-options-alist): Make it tool-dependent. Remove sub-version
specific settings for ANTLR v2. Remove function.
(antlr-v2-grammar-header-regexp): Rename from
antlr-class-header-regexp.
(antlr-grammar-header-regexp): Make it tool-version dependent.
(antlr-mode-menu, antlr-insert-option-interactive)
(antlr-options-menu-filter, antlr-option-level)
(antlr-insert-option-do): Use tool specific variable.
(antlr-option-spec): ...and do not support sub versions.
(antlr-guess-tool-version): Rename from antlr-tool-version.
(antlr-set-local-variables): New function
(antlr-set-tool-version-and-mode-line): Use them.
* antlr-mode.el: Remove XEmacs and old Emacs compatibility code.
(require): require cl-lib instead cl at compile time.
(antlr-run-tool-interactive, antlr-insert-makefile-rules)
(antlr-set-tabs, antlr-next-rule, antlr-downcase-literals)
(antlr-file-dependencies): Use cl- prefix for cXXXr, cXXXXr, incf,
decf, list*.
(cond-emacs-xemacs, cond-emacs-xemacs-macfn, defunx)
(ignore-errors-x, save-buffer-state-x): Delete functions/macros.
(antlr-skip-sexps, antlr-hide-actions, antlr-option-kind): Adopt.
(antlr-mode-menu): Do not test for Emacs below 21.0.
(antlr-with-syntax-table): Delete, use with-syntax-table instead.
(antlr-imenu-create-index-function, antlr-inside-rule-p)
(antlr-end-of-rule, antlr-beginning-of-rule, antlr-end-of-body)
(antlr-downcase-literals, antlr-hide-actions)
(antlr-option-level, antlr-file-dependencies, antlr-indent-line)
(antlr-electric-character, antlr-tool-version): Adopt.
(antlr-default-directory): Delete function. Actually XEmacs'
default-directory as a function is quite useful...
(antlr-run-tool-interactive, antlr-insert-makefile-rules): Adopt.
(antlr-read-shell-command): Delete, use read-shell-command.
(antlr-run-tool-interactive): Adopt.
(antlr-with-displaying-help-buffer): Delete.
(antlr-show-makefile-rules): Use with-output-to-temp-buffer.
(antlr-invalidate-context-cache)
(antlr-syntactic-context): Remove XEmacs code.
(antlr-end-of-rule, antlr-beginning-of-rule, antlr-end-of-body)
(antlr-beginning-of-body): use interactive "^" for "_" in XEmacs.
(antlr-mode): Do not consider cc-mode below 5.30.
* antlr-mode.el: Scope references inside a v3 rule and import
statements in a v4 grammar do not confuse the navigation anymore.
(antlr-skip-line-regexp): New variable, contains regexp for v3
"scope" / v4 "import" up to the semicolon.
(antlr-set-tool-version-and-mode-line): Set it.
(antlr-search-result): New function.
(antlr-search-forward, antlr-search-backward): Use it. Add extra
regexp parameter for occurrences which should be skipped.
(antlr-imenu-create-index-function, antlr-next-rule)
(antlr-beginning-of-rule, antlr-indent-line): Provide
`antlr-skip-line-regexp' when searching for ";".
(antlr-rule-postlude-skip-alist): Make it a `defconst',
re-compilation would use previous value. Add "import".
(antlr-skip-rule-postlude): Allow function as SKIP.
(antlr-skip-import-statement): New function for postlude skip.
* antlr-mode.el: Correctly recognize ANTLR v4 lexer charsets,
[...], and v3 templates, <<...>>, as literals.
(antlr-syntax-propertize-wholerule)
(antlr-syntax-propertize-charsets)
(antlr-syntax-propertize-template-literals): New function
(antlr-set-tool-version-and-mode-line): Use them.
(antlr-imenu-create-index-function): Call `syntax-propertize'.
* antlr-mode.el (antlr-end-of-defun-is-next): New option. If
non-nil, both `antlr-end-of-rule' and `antlr-end-of-rule' jump to
beginning of a rule with no or positive prefix arg, and to the end
of a rule with negative prefix arg. Default nil means:
`antlr-end-of-rule' jumps to beginning of a rule,
`antlr-end-of-rule' jumps to end of a rule.
(antlr-end-of-rule): Use it.
(antlr-beginning-of-rule): Use it
* antlr-mode.el: Options support for ANTLR v3 and v4.
(antlr-v3-options-alists): Correct prompts.
(antlr-v4-options-alists): New variable.
(antlr-options-alists): Use it.
(antlr-read-boolean): Use `y-or-n-p' without TABLE.
(antlr-mode-menu): Do not include empty option menus.
(antlr-option-level): Consider non-existent file/subrule options.
Correctly recognize v3/v4 grammar definitions.
* antlr-mode.el: Imenu and syntax-highlighting corrections.
(antlr-font-lock-late-keywords): Correct syntax-highlighting of
rule definitions with modifiers in same line.
(antlr-grammar-header-regexp): New regexp for v3 and v4.
(antlr-class-header-regexp): New function.
(antlr-imenu-create-index-function): Also collect v4 scanner
modes. Correctly scan fragment rules.
* antlr-mode.el: Correctly skip the part of the rule which comes
after the semicolon. To simplify things, consider v2 class
preamble actions as belonging to the previous definition.
(antlr-skip-file-prelude): Skip final ACTION.
(antlr-rule-postlude-skip-alist)
(antlr-rule-postlude-skip-regexp): New variables.
(antlr-skip-rule-postlude): Use them. Rename from
`antlr-skip-exception-part'.
(antlr-beginning-of-body): Tool version-dependent error message.
(antlr-options-alists): Consider v4 options.
* antlr-mode.el (antlr-indent-line): For indentation cycling in
Python, do not require a patched python.el anymore, but
prog-mode.el and python.el from Emacs-24.5. Do not touch
multi-line python actions which do not start in its own line -
they are a bad idea anyway.
* antlr-mode.el: Experimental indentation cycling for Python
actions. Requires a patched python.el. Note: this patch is just
a first proposal by me - things will change.
(antlr-indent-line): Bind `python-submode-indentation-context'
while calling `python-indent-line'.
* antlr-mode.el: Use much less intrusive face settings, some minor
font-lock changes.
(antlr-syntax): Just inherit from `font-lock-keyword-face', face
is now only used for AST-relevant operators (!, ^, ->), not
parentheses, colons etc anymore - see below.
(antlr-keyword): Just inherit from `font-lock-keyword-face'.
(antlr-ruledef): Just inherit from `font-lock-function-name-face'.
(antlr-tokendef): Just inherit from `font-lock-function-name-face'.
(antlr-ruleref): Just inherit from `font-lock-type-face'.
(antlr-tokenref): Just inherit from `font-lock-constant-face'.
(antlr-attribute): Just inherit from `font-lock-preprocessor-face'.
(antlr-literal): Just inherit from `font-lock-string-face' and
specify :weight bold.
(antlr-grammardef-face): Delete variable introduced in v3.0.2.
(antlr-grammardef): Delete face, use `font-lock-type-face'.
(antlr-font-lock-late-keywords): Change according to semantic
change of `antlr-syntax', properly highlight scope definitions.
(antlr-font-lock-additional-keywords): Change highlighting
according to ANTLR change concerning grammar element labels, ANTLR
v3/v4 only. Use `font-lock-negation-char-face' for ~, single dot.
* antlr-mode.el: Be more robust / fix bug introduced with v3.0.5 -
class definitions in ANTLR v2 grammars would look strange,
makefile dependencies would not work even with ANTLR v2 grammars.
(antlr-class-header-regexp): Revert accidentally change in regexp.
(antlr-insert-makefile-rules): Be more robust against incomplete
grammar files, i.e. those without any extracted dependency.
* antlr-mode.el: Indentation for non-cc-based languages:
JavaScript, Delphi, Ruby - Python actions are left as they are.
(antlr-indent-line): For a line starting with the closing brace of
bracket of an action / parameter section, use our own indentation
engine, not that of the grammar language.
(antlr-indent-line): Run indentation functions of `js-mode',
`opascal-mode' and `ruby-mode' with buffer restriction starts
after the opening brace/bracket.
(antlr-indent-command): Preparation for future support for
indentation cycling used by Python - do not insert a TAB with
repeated call of this command.
(antlr-set-tool-version-and-mode-line): Locally set indentation
offsets/levels of grammar language according to offset used in the
ANTLR grammar.
* antlr-mode.el: Correct indentation of rule headers.
(antlr-indent-line): When looking for the end of a rule header, do
not stop at colon if that is followed by another one, because this
the scope name of a preceeding grammar action.
* antlr-mode.el: Support more action languages.
(antlr-language-alist): Add entries for C, Delphi, JavaScript,
ObjC, Python and Ruby, additional to Java and Cpp.
(antlr-language-limit-n-regexp): Allow language name to contain
digits.
(antlr-font-lock-keywords-alist): Add font-lock specifications for
the newly supported languages.
(antlr-set-tool-version-and-mode-line): Handle non-cc-based
languages, currently hard-coded.
* antlr-mode.el: Preparation for non-cc-mode-based indentation.
(antlr-indent-line): With non-cc-based languages, do not touch
lines in braces and brackets, i.e. mainly actions.
* antlr-mode.el: Bug fixes and minor changes.
(antlr-indent-line): Introduced 3.0.4: lines starting with a colon
would be incorrectly indented.
(antlr-tool-version): v3 grammars with a class definition in a
header action or containing a rule called "header" or "class"
would be incorrectly categorized as v2 grammar.
(antlr-set-tool-version-and-mode-line, antlr-mode): Set
`indent-line-function' and friends after initializing cc-mode.
(antlr-java-action-names): Renamed from `antlr-action-names',
only include action names used with language Java.
(antlr-font-lock-late-keywords): Check action names only in Java.
* antlr-mode.el: Preparation for v3/v4 options support.
(antlr-v3-options-alists): New variable.
(antlr-options-alists): New function.
(antlr-insert-option-interactive, antlr-options-menu-filter)
(antlr-insert-option-do): Use it.
(antlr-option-spec): Allow options-alist not to specify ANTLR
subversions.
* antlr-mode.el: More flexible tool invocation.
(antlr-tool-path): New variable.
(antlr-run-tool): Use it.
(antlr-tool-command): Can now be a function.
(antlr-run-tool-interactive): Change accordingly.
* antlr-mode.el: Emacs-corrected and more flexible indentation.
(antlr-syntactic-context): Bind `parse-sexp-ignore-comments' to t,
parentheses inside comments would bring Emacs out of sync.
(antlr-base-offset-alist): New user option.
(antlr-indent-line): Use it.
* antlr-mode.el: Delay language recognition and tab settings.
(antlr-tool-version): Correctly recognize v2 grammars without
header{...}.
(antlr-set-tool-version-and-mode-line): Set language here.
(antlr-mode): Do not set language here.
* antlr-mode.el: Bug fixes.
(antlr-language-limit-n-regexp): Also recognize 'LANG'.
(antlr-imenu-create-index-function): in ANTLR v2 grammars,
`which-function-mode' would not work, classes would not appear.
(antlr-font-lock-checked-face): action names would not be
highlighted, the doc string was inserted at the wrong place...
* antlr-mode.el: Use "Antlr2"/"Antlr3"/"Antlr4" in mode line.
(antlr-tool-version): Set default value to nil = automatic.
(antlr-tool-version): New function.
(antlr-set-tool-version-and-mode-line): New function.
(antlr-after-body-hook): New variable.
(antlr-mode): Run it as mode hook.
(antlr-v4-mode): Do not update mode line anymore.
* antlr-mode.el: Minor font-lock changes.
(antlr-font-lock-literal-regexp): Also match strings surrounded by
single quotes, and symbols and punctuation.
(antlr-font-lock-late-keywords): Highlight regexp group 2 of that.
* antlr-mode.el: Preparation for further v3 and v4 support.
(antlr-v4-mode): New major mode for file suffix "g4".
* antlr-mode.el: Adopt imenu and navigation to ANTLR v3 and v4.
(antlr-imenu-create-index-function): Recognize fragment
specification and named actions.
(antlr-skip-exception-part): With v3 and v4, there is no
'exception' keyword, but an additional optional 'finally'.
* antlr-mode.el: Adopt font-lock to ANTLR v3 and v4.
(antlr-grammardef, antlr-attribute): New faces.
(antlr-action-names, antlr-action-scope-names): New variables
(antlr-font-lock-late-keywords): Recognize new elements.
(antlr-font-lock-additional-keywords): Changed font-lock for $attr
constructs.
* antlr-mode.el: Newer cc-mode fontification is very eager,
i.e. would overwrite that of antlr-mode.
(antlr-font-lock-late-keywords): New variable, also using
OVERRIDE in MATCH-HIGHLIGHT.
(antlr-font-lock-keywords): Add at end of keywords.
(antlr-font-lock-additional-keywords): Delete keywords here.
* antlr-mode.el: Checked ANTLR up to latest v2.
(antlr-tool-version): Set for ANTLR v2.7.7.
(antlr-options-alists): Added options introduced with ANTLR
v2.7.2, "classHeaderPrefix" and "noConstructors".
* antlr-mode.el: redisplay during font-lock could signal
"c-where-wrt-brace-construct: c-beginning-of-decl-1 returned
label".
(antlr-font-lock-defaults): Do not set `beginning-of-defun'.
* antlr-mode.el: Delete support for old cc-mode versions.
(antlr-c-init-language-vars): Delete function.
(antlr-mode): Do not call it anymore.
(antlr-mode-syntax-table): Adopt docstring to changed init.
* antlr-mode.el: imenu creation could signal
"c-where-wrt-brace-construct: c-beginning-of-decl-1 returned
label".
(antlr-slow-cache-diff-threshold): Delete variable.
(antlr-syntactic-context): Do not use it here, do not call
`beginning-of-defun' anymore.
(antlr-mode): Allow /// etc as `comment-start-skip'. Still set
`require-final-newline'.
* antlr-mode.el (antlr-electric-character): With Emacs, use
`last-command-event' instead `last-command-char'.
* antlr-mode.el: imenu creation could signal
"c-where-wrt-brace-construct: c-beginning-of-decl-1 returned
label".
(antlr-slow-cache-diff-threshold): Deletia.
(antlr-syntactic-context): Do not use it here, do not call
`beginning-of-defun' anymore.
* configure.ac: Move the gl_INIT call back to where it was,
as Mattias Engdegård reported the following problem:
checking whether pthread_sigmask is a macro... no
./configure: line 32767: test: =: unary operator expected
because moving gl_INIT up made the check for pthread_sigmask’s
availability appear later than Gnulib’s check whether it’s a macro.
Instead of moving gl_INIT up, call gl_ALIGNASOF earlier,
as that’s the only part of gl_INIT that is needed earlier.
* src/keyboard.c (make_lispy_event): Call x_y_to_column_row when
building internal menu bar events.
* src/xdisp.c (x_y_to_column_row): Provide DX and DY parameters
to x_y_to_column_row.
In https://github.com/joaotavora/rassumfrassum/issues/1 we found
a language server that emits very large single-line messages
(5MB): that eventually end up in Eglot's stderr. With the
output arriving in chunks into the stderr buffer, this creates a
significant slowdown of '[stderr] nil' lines, which eventually
clogs up the stdout JSONRPC communication.
This fix exits the `jsonrpc--forwarding-buffer` function early
if the forward-line call didn't actually move to a new line.
* lisp/jsonrpc.el (jsonrpc--forwarding-buffer): Fix.
(Version): Bump to 1.0.27.
Make some C symbols static if they don’t need to be extern.
Also, remove a couple of functions that were discovered to be
unused as a result of this process, and mark two extern
functions intended to be usable from GDB.
* src/buffer.c (previous_overlay_change):
* src/composite.c (composition_lisp_table):
* src/fileio.c (file_name_directory):
* src/frame.c (check_tty):
* src/insdel.c (adjust_markers_for_insert):
* src/keyboard.c (unread_switch_frame, read_char)
(requeued_events_pending_p):
* src/sysdep.c (renameat_noreplace) [!HAVE_ANDROID]:
* src/textconv.c (get_conversion_field) [!HAVE_ANDROID]:
* src/treesit.c (TREESIT_BOB_LINECOL, TREESIT_TS_POINT_1_0)
(treesit_buf_tracks_linecol_p, make_treesit_parser)
(make_treesit_node):
* src/xdisp.c (x_y_to_hpos_vpos):
* src/xfaces.c (load_color) [!MSDOS]:
* src/xfns.c (x_real_pos_and_offsets):
* src/xterm.c (x_dnd_do_unsupported_drop):
Now static. Move up if necessary.
* src/coding.c (utf8_string_p):
* src/keyboard.c (detect_input_pending_ignore_squeezables):
Remove; unused.
* src/frame.c (gui_set_alpha):
* src/textconv.c (start_batch_edit, end_batch_edit, commit_text)
(finish_composing_text, set_composing_text)
(set_composing_region, textconv_set_point_and_mark)
(delete_surrounding_text, request_point_update)
(textconv_barrier, replace_text, get_extracted_text)
(get_surrounding_text):
* src/xdisp.c (gui_union_rectangles):
* src/xterm.c (xi_frame_selected_for):
Define only if needed.
* src/treesit.c (treesit_debug_print_parser_list)
(treesit_debug_print_linecol): Declare EXTERNALLY_VISIBLE.
* src/xdisp.c (x_y_to_column_row): New function, defined
only if needed. All external callers to x_y_to_hpos_vpos changed.
* lisp/emacs-lisp/package-vc.el (package-vc--make): Use same
format for buffer as `package-vc--build-documentation'.
* test/lisp/emacs-lisp/package-vc-tests.el
(message-auto-save-directory): Silence byte compiler.
(package-vc-with-tests-environment): Initialize package archives
after setting a temporary `package-user-dir'. Set up
`package-gnupghome-dir'. Remove `default-directory' binding.
(package-vc-tests-environment-tear-down): Fix argument order in
`package-vc-tests-log-buffer-name' call.
(package-vc-tests-with-installed): Rename from
`package-vc-with-installed-tests'.
(package-vc-test-deftest): Use
`package-vc-tests-with-installed'.
(prepare-patch): Bind `message-auto-save-directory' to
`package-vc-tests-dir'.
* test/lisp/package-vc-tests.el: Rename to
test/lisp/emacs-lisp/package-vc-tests.el
* test/lisp/package-vc-resources/Makefile.in: Rename to
test/lisp/emacs-lisp/package-vc-resources/Makefile.in
* test/lisp/package-vc-resources/test-package-SUFFIX-inc.texi.in:
Rename to
test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX-inc.texi.in
* test/lisp/package-vc-resources/test-package-SUFFIX-lib-v0.1.el.in:
Rename to
test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX-lib-v0.1.el.in
* test/lisp/package-vc-resources/test-package-SUFFIX-lib-v0.2.el.in:
Rename to
test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX-lib-v0.2.el.in
* test/lisp/package-vc-resources/test-package-SUFFIX-v0.1.el.in:
Rename to
test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX-v0.1.el.in
* test/lisp/package-vc-resources/test-package-SUFFIX-v0.2.el.in:
Rename to
test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX-v0.2.el.in
* test/lisp/package-vc-resources/test-package-SUFFIX.texi.in:
Rename to
test/lisp/emacs-lisp/package-vc-resources/test-package-SUFFIX.texi.in