aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog.android
diff options
context:
space:
mode:
authorChristoph Wedler2025-12-08 20:02:33 +0100
committerChristoph Wedler2025-12-09 07:52:20 +0100
commit37468d244962dedc7ab760ffb19e15121975c1f0 (patch)
tree705fd02c3a8e4f93ef3caf7f0c8f78ac0f2233ab /ChangeLog.android
parentd10a649e1b3737524f64e14e6a033eec5d0ab17d (diff)
downloademacs-feature/antlr-mode.tar.gz
emacs-feature/antlr-mode.zip
Update progmodes/antlr-mode.el from v2.2c to v3.2.0feature/antlr-mode
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.
Diffstat (limited to 'ChangeLog.android')
0 files changed, 0 insertions, 0 deletions