1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-05-31 01:32:00 -07:00
emacs/lisp
Christoph Wedler 37468d2449 Update progmodes/antlr-mode.el from v2.2c to v3.2.0
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.
2025-12-09 07:52:20 +01:00
..
calc Merge from origin/emacs-30 2025-12-06 08:58:57 -05:00
calendar ; (calendar-bahai--twin-birthdays-reference-dates): Fix quoting. 2025-12-06 13:58:19 +02:00
cedet loaddefs-gen: Weed out some elements from the shortcut path 2025-11-22 06:56:46 -05:00
emacs-lisp Fix package-vc-tests 2025-12-08 18:48:09 +01:00
emulation Fix setting viper-d-com in viper 2025-06-28 11:44:40 +03:00
erc Fix regression involving erc-channel-user accessors 2025-10-27 19:29:44 -07:00
eshell ; Add missing defcustom types in eshell and eww (bug#79607) 2025-11-07 15:10:57 +00:00
gnus gnus-icalendar.el: Avoid EIEIO's non-standard FOO-p predicates 2025-12-03 14:22:47 -05:00
image Minor image-convert file types related changes (bug#79109) 2025-07-29 09:42:21 +03:00
international Don't apply EditorConfig files to themselves 2025-11-24 11:42:27 -05:00
language japan-util.el: Cosmetic changes 2025-03-31 10:21:58 -04:00
leim/quail Fix thai-pattachote input method 2025-04-26 16:46:34 +03:00
mail * lisp/image.el (image-supported-file-p): Fix autoload cookie (bug#79764). 2025-11-05 19:54:56 +02:00
mh-e Merge from origin/emacs-30 2025-05-17 06:52:01 -04:00
net Rework remote process support for Tramp's "smb" method 2025-12-06 13:26:52 +01:00
nxml Fix XML indentation for CDATA section content 2025-11-22 12:03:16 +02:00
obsolete Check for successful exit when parsing output with vc-exec-after 2025-12-07 15:00:13 +00:00
org (electric-indent-functions-without-reindent): Pare down 2025-09-23 13:48:06 -04:00
play Zone multi-window and -frame support 2025-11-09 19:40:48 -05:00
progmodes Update progmodes/antlr-mode.el from v2.2c to v3.2.0 2025-12-09 07:52:20 +01:00
term Extend Tree-sitter support on MS-Windows to v0.26.x 2025-10-14 12:47:57 +03:00
textmodes New 'R' code letter for 'interactive' forms 2025-12-08 15:01:50 +00:00
url Lookup cached basic-auth credentials with the correct key 2025-11-08 19:21:10 +02:00
use-package ; Fix description of use-package :custom keyword 2025-11-07 15:21:39 +00:00
vc New 'R' code letter for 'interactive' forms 2025-12-08 15:01:50 +00:00
abbrev.el Merge from origin/emacs-30 2025-05-17 06:52:01 -04:00
align.el
allout-widgets.el
allout.el
ansi-color.el
ansi-osc.el (read-only-keymap-*): Be more careful with the namespace 2025-10-12 09:50:31 -04:00
apropos.el
arc-mode.el Fix squashfs archives embedded in another archive 2025-10-12 17:30:05 +03:00
array.el
auth-source-pass.el cedet: Delete obsolete object name arg to EIEIO constructors 2025-04-07 00:03:20 -04:00
auth-source.el Fix another inconsistency in auth-source.el 2025-10-08 16:09:15 +02:00
autoinsert.el ; * lisp/autoinsert.el (auto-insert-alist): Fix last change. 2025-08-09 13:38:10 +03:00
autorevert.el autorevert: Use defvar-local for the -mode variables 2025-10-16 16:56:00 +01:00
avoid.el
battery.el Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
bind-key.el Improve repeat-continue property handling 2025-06-11 09:28:42 +03:00
bindings.el Revert "New command 'mode-line-invisible-mode'" 2025-07-05 13:29:46 +03:00
bookmark.el Fix an error when bookmark handler is a lambda 2025-10-18 12:35:29 +03:00
bs.el lisp/bs.el (bs--goto-current-buffer): Fix thinko in last commit 2025-05-08 10:51:16 -04:00
buff-menu.el
button.el
calculator.el
case-table.el
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11
ChangeLog.12
ChangeLog.13
ChangeLog.14
ChangeLog.15
ChangeLog.16
ChangeLog.17
char-fold.el
chistory.el
cmuscheme.el Merge from origin/emacs-30 2025-08-09 09:33:20 -04:00
color.el
comint.el lisp/comint.el: Fix `comint-write-input-ring' context 2025-10-28 23:44:44 -04:00
completion-preview.el ; * lisp/completion-preview.el: Fix race condition. 2025-08-13 21:48:18 +02:00
completion.el
composite.el
COPYING
cus-dep.el
cus-edit.el cus-edit.el: Don't quote lambdas and improve macro declaration 2025-07-01 17:37:02 -04:00
cus-face.el
cus-start.el ; * lisp/cus-start.el (native-p): Update for treesit options. 2025-11-29 07:56:41 -05:00
cus-theme.el Fix widget relationship in customize-themes 2025-04-02 08:10:18 -03:00
custom.el lisp/custom.el (custom-set-minor-mode): Load the mode more lazily 2025-10-29 14:35:24 -04:00
dabbrev.el (dabbrev-completion): Try and fix the test regressions 2025-09-25 15:24:53 -04:00
delim-col.el
delsel.el
descr-text.el
desktop.el More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +02:00
dframe.el
dired-aux.el Pass dired default filenames via defaults argument 2025-08-28 09:21:18 +03:00
dired-x.el Merge from origin/emacs-30 2025-09-13 07:23:12 -04:00
dired.el Improve Dired handling of file names with newlines (bug#79528) 2025-10-22 00:06:03 +02:00
dirtrack.el
disp-table.el ; * lisp/disp-table.el (standard-display-unicode-special-glyphs): Fix typo. 2025-05-21 11:11:10 +02:00
display-fill-column-indicator.el More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +02:00
display-line-numbers.el
dnd.el
doc-view.el ; * lisp/doc-view.el (doc-view-initiate-display): Improve last commit 2025-08-08 13:27:08 +02:00
dom.el (macroexp--obsolete-warning): Prefer %s 2025-09-02 15:10:25 -04:00
dos-fns.el
dos-vars.el
dos-w32.el
double.el
dynamic-setting.el Respond to display configuration updates on Android 2025-04-10 15:25:38 +08:00
ebuff-menu.el
ecomplete.el
editorconfig-conf-mode.el
editorconfig-core-handle.el editorconfig-core-handle.el: Fix silent misparse 2025-11-24 10:26:21 -05:00
editorconfig-core.el
editorconfig-fnmatch.el Editorconfig: Cherrypick from commit fbd078ad6478 from upstream 2025-11-20 06:58:39 -05:00
editorconfig-tools.el Fix editorconfig-display-current-properties 2025-11-19 09:58:19 -05:00
editorconfig.el editorconfig-core-handle.el: Fix silent misparse 2025-11-24 10:26:21 -05:00
edmacro.el
ehelp.el ; * lisp/ehelp.el (ehelp-command): Fix the autoload form (bug#79289). 2025-08-30 11:24:51 +03:00
elec-pair.el Support strings for electric pairs (bug#78053) 2025-06-21 12:24:55 +03:00
electric.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
elide-head.el
emacs-lock.el
env.el
epa-dired.el
epa-file.el
epa-hook.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
epa-ks.el
epa-mail.el
epa.el
epg-config.el
epg.el
expand.el expand.el: Simplify by always using a list in expand-list 2025-06-30 19:57:04 -04:00
external-completion.el external-completion: specify a required Emacs version 2025-08-06 13:13:58 +02:00
ezimage.el
face-remap.el ; * lisp/face-remap.el (buffer-face-set): Fix last change. 2025-12-06 15:03:40 +02:00
facemenu.el
faces.el Merge from origin/emacs-30 2025-07-26 06:58:12 -04:00
ffap.el Skip over possible blank lines returned by kpsewhich 2025-09-18 13:07:11 +02:00
filecache.el
fileloop.el fileloop-next-file: Convert file-error to warnings 2025-09-02 15:44:00 +01:00
filenotify.el Minor fixes for file notifications on MS Windows 2025-08-23 12:20:02 +02:00
files-x.el Add function exec-suffixes 2025-07-22 17:47:38 +02:00
files.el ; * lisp/files.el (trusted-content): Doc fix (bug#79939). 2025-12-06 14:24:18 +02:00
filesets.el ; Normalize spacing in last change 2025-04-11 10:02:54 +08:00
find-cmd.el
find-dired.el
find-file.el
find-lisp.el Support 'dired-hide-details-mode' in find-lisp.el 2025-05-17 16:46:07 +03:00
finder.el
flow-ctrl.el
foldout.el Improve foldout-exit-fold with negative arg (bug#77370) 2025-11-15 19:16:01 +02:00
follow.el
font-core.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
font-lock.el Merge from origin/emacs-30 2025-11-01 05:28:54 -04:00
format-spec.el
format.el
forms.el
frame.el Add `toolkit-theme' and 'toolkit-theme-set-functions' 2025-11-22 12:57:53 +02:00
frameset.el (register-type, register--type): Delete functions 2025-04-30 12:28:35 -04:00
fringe.el
generic-x.el
help-at-pt.el New Eldoc function `eldoc-show-help-at-pt' 2025-03-29 13:50:26 +03:00
help-fns.el lisp/help-fns.el (describe-symbol): Don't silently do nothing 2025-12-08 09:51:52 -05:00
help-macro.el
help-mode.el lisp/help-mode.el (help-mode-context-menu): Don't quote lambda 2025-07-05 19:32:50 -04:00
help.el Add option to auto-refresh the lossage buffer. (Bug#79732) 2025-11-05 09:17:51 +02:00
hex-util.el
hexl.el
hfy-cmap.el
hi-lock.el
hilit-chg.el
hippie-exp.el Eliminate some gratuitous string mutation 2025-08-21 15:11:13 +02:00
hl-line.el * lisp/hl-line.el (global-hl-line-buffers): Skip internal buffers (bug#79547). 2025-10-01 09:40:05 +03:00
htmlfontify.el
ibuf-ext.el
ibuf-macs.el
ibuffer.el Make ibuffer.el use dedicated faces 2025-11-15 11:24:58 +02:00
icomplete.el Icomplete: rename some internal helper functions (bug#77546) 2025-04-06 14:08:14 +01:00
ido.el ; ido.el: Use find-program variable instead of literal "find" (bug#79620) 2025-10-13 10:22:23 +03:00
ielm.el
iimage.el
image-file.el
image-mode.el
image.el * lisp/image.el (image-supported-file-p): Fix autoload cookie (bug#79764). 2025-11-05 19:54:56 +02:00
imenu.el Allow duplicate menu entries in Imenu 2025-07-13 08:41:38 +03:00
indent-aux.el ; * lisp/indent-aux.el: Add a comment (bug#79176). 2025-08-07 16:12:37 +03:00
indent.el
info-look.el
info-xref.el
info.el Backport expansion of Time Stamp documentation 2025-03-30 11:39:53 -07:00
informat.el
isearch.el Make 'isearch-mode' more idempotent (bug#79368). 2025-09-03 09:45:34 +03:00
isearchb.el
jit-lock.el
jka-cmpr-hook.el
jka-compr.el
json.el Replace uses of replace-buffer-contents 2025-03-29 17:49:49 -04:00
jsonrpc.el Jsonrpc: defend against very large stderr lines 2025-12-08 21:41:31 +00:00
keymap.el Improve error message for invalid key syntax 2025-11-06 14:27:36 +01:00
kmacro.el
ldefs-boot.el lisp/ldefs-boot.el: Update generated presumably by lisp/Makefile.in (?) 2025-11-22 08:44:40 -05:00
loadhist.el
loadup.el Increase the value of 'max-lisp-eval-depth' used when dumping 2025-12-06 15:28:07 +02:00
locate.el
lpr.el
ls-lisp.el ; Improve documentation of ls-lisp.el 2025-05-11 14:42:51 +03:00
macros.el Improve documentation of 'insert-kbd-macro' 2025-04-27 09:52:25 +03:00
Makefile.in ; Makefile.in: Fix ldefs-boot.el rule for BSD sed. 2025-08-20 17:40:23 +01:00
man.el * lisp/man.el (man): Use active region for the default value. 2025-08-10 21:08:29 +03:00
master.el
mb-depth.el
md4.el
menu-bar.el Amend last change to 'kill-this-buffer' 2025-07-09 10:59:13 +02:00
midnight.el
minibuf-eldef.el
minibuffer.el ; Improve documentation of 'eager-update' 2025-12-06 13:50:26 +02:00
misc.el
misearch.el ; Rename a variable. 2025-11-28 08:45:02 +02:00
mouse-copy.el
mouse-drag.el
mouse.el Fix mouse dragging on touch screens 2025-11-25 10:48:56 +08:00
mpc.el lisp/mpc.el (mpc-describe-song): Don't quote lambdas 2025-07-06 10:39:33 -04:00
msb.el
mwheel.el
newcomment.el (comment-setup-function): Make it usable with add-function 2025-05-05 14:05:36 -04:00
notifications.el
novice.el
obarray.el
outline.el Improve margin handling in outline-minor-mode (bug#76193) 2025-12-02 19:21:21 +02:00
paren.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
password-cache.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
pcmpl-cvs.el
pcmpl-git.el
pcmpl-gnu.el
pcmpl-linux.el
pcmpl-rpm.el * lisp/pcmpl-rpm.el: Generate completions for dnf5 2025-06-28 12:45:12 +03:00
pcmpl-unix.el
pcmpl-x.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
pcomplete.el Add minibuffer--completions-visible and use it 2025-08-21 20:10:08 +03:00
pgtk-dnd.el
pixel-scroll.el
plstore.el
printing.el
proced.el ; * lisp/proced.el (proced-update): Display read syntax for filter value 2025-07-18 16:48:10 +12:00
profiler.el
ps-bdf.el
ps-mule.el
ps-print.el
ps-samp.el
pulse.el ; Fix last change 2025-05-17 11:57:43 +03:00
README
recentf.el ; Fix recently introduced "ELisp". 2025-07-15 21:57:59 +01:00
rect.el Avoid infinite recursion under 'rectangle-mark-mode' 2025-04-27 10:08:38 +03:00
register.el (register-preview-info): sort registers in preview buffer 2025-09-20 19:35:07 +03:00
registry.el Eliminate possible confusion in comments in registry.el. 2025-12-07 12:41:45 +00:00
repeat.el * lisp/repeat.el (repeat-mode): Use 'called-interactively-p'. 2025-07-23 20:56:05 +03:00
replace.el Override 'display-buffer-overriding-action' conditionally in perform-replace 2025-12-01 19:29:11 +02:00
reposition.el
reveal.el
rfn-eshadow.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
ring-bell-fns.el New pulse functions for pulse faces and new file for ring bell fns 2025-05-17 11:49:19 +03:00
rot13.el
rtree.el
ruler-mode.el Show drag cursor on all window lines (mode, tab, header) 2025-04-15 21:52:47 +03:00
savehist.el ; Fix recently introduced "ELisp". 2025-07-15 21:57:59 +01:00
saveplace.el * lisp/saveplace.el (save-places-to-alist): Add doc string. 2025-08-30 19:14:58 +03:00
scroll-all.el
scroll-bar.el
scroll-lock.el Fix shift-translation support of 'scroll-lock-mode' commands 2025-07-15 16:23:03 +03:00
select.el
send-to.el Fix send-to on non-macOS platforms and macOS crash on "emacs -nw" 2025-07-19 18:57:34 +02:00
server.el ; * lisp/server.el (server--process-filter-1): Fix typo. 2025-11-30 13:47:00 +00:00
ses.el Minor fix. 2025-05-23 09:59:02 +02:00
shadowfile.el
shell.el Fix 'shell-resync-dirs' for multi-line prompt. 2025-09-20 12:52:50 +03:00
simple.el New 'R' code letter for 'interactive' forms 2025-12-08 15:01:50 +00:00
skeleton.el loaddefs-gen: Weed out some elements from the shortcut path 2025-11-22 06:56:46 -05:00
so-long.el
sort.el
soundex.el
speedbar.el Added a check to see if the 'speedbar-buffer' is still alive 2025-04-01 14:26:30 +03:00
sqlite-mode.el Fix 'sqlite-mode-delete' with NULL field values 2025-07-26 11:49:19 +03:00
sqlite.el
startup.el Prepare and load user scripts at startup 2025-12-07 22:24:09 +01:00
strokes.el
subr.el ; * lisp/subr.el: Fix comment level. 2025-11-06 12:56:50 +00:00
svg.el
t-mouse.el
tab-bar.el More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +02:00
tab-line.el New user option 'tab-line-define-keys' 2025-08-31 21:23:05 +03:00
tabify.el
talk.el
tar-mode.el
tempo.el
term.el ; Fix last change. 2025-06-12 10:04:51 +03:00
thingatpt.el
thread.el
time-stamp.el ; time-stamp: factor out two small, internal utilities 2025-12-03 23:44:45 -08:00
time.el Fix incorrect timezones for London and Paris 2025-09-14 10:14:58 -07:00
timezone.el
tmm.el Do eager display of *Completions* while idle 2025-11-14 09:29:30 +02:00
tool-bar.el Merge from origin/emacs-30 2025-04-26 10:57:33 -04:00
tooltip.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
touch-screen.el Fix mouse dragging on touch screens 2025-11-25 10:48:56 +08:00
transient.el Update to Transient v0.11.0-10-g6637364e 2025-11-18 17:55:10 +01:00
tree-widget.el
treesit-x.el * lisp/treesit-x.el (treesit-generic-mode-font-lock-map): Extend. 2025-08-29 19:35:58 +03:00
treesit.el Fix 'treesit-hs-block-end' and 'treesit-hs-inside-comment-p' (Bug#79934) 2025-12-08 09:20:40 +02:00
tty-tip.el
tutorial.el
type-break.el
uniquify.el uniquify-get-unique-names: Return a list with propertized strings 2025-07-02 05:46:24 +03:00
userlock.el Use 'read-char-choice' in 'ask-user-about-lock' (bug#79664) 2025-11-04 20:03:44 +02:00
vcursor.el defvar-keymap: New ':prefix t' abbreviation 2025-10-06 18:34:18 +01:00
version.el
view.el Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
visual-wrap.el ; Remove superfluous POSITION argument from 'visual-wrap--apply-to-line' 2025-06-10 22:09:26 -07:00
w32-fns.el
w32-vars.el
wdired.el
which-key.el Merge from origin/emacs-30 2025-03-30 16:17:00 +02:00
whitespace.el ; Fix last change (bug#77544) 2025-08-16 14:40:39 +03:00
wid-browse.el
wid-edit.el Improve documentation and customization of 'derived-mode' in buffer predicate 2025-09-27 20:56:54 +03:00
widget.el
windmove.el Revert "Fix bug#79518 with 'windmove-mode' in "C-h m" display" 2025-09-28 08:19:48 +03:00
window-tool-bar.el
window-x.el Add new commands 'merge-frames' and 'split-frame' 2025-11-27 09:34:14 +01:00
window.el Merge from origin/emacs-30 2025-12-06 08:58:57 -05:00
winner.el
woman.el
x-dnd.el
xdg.el (xdg-mime-apps): Restore corner case and simplify 2025-10-15 09:31:05 -04:00
xml.el
xt-mouse.el
xwidget.el
yank-media.el

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.