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
* doc/misc/auth.texi (Help for users): Improve
'auth-source-ignore-non-existing-file' description. Include
warning about storing cleartext in .authinfo.
* src/nsterm.m ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]):
Add a compile check around setToolbarStyle since it is not available
until macOS 11.0 and a run-time check in case it was compiled on
macOS >= 11.0 but run on an earlier version. (Bug#79951)