summaryrefslogtreecommitdiff
path: root/etc
Commit message (Collapse)AuthorAgeFilesLines
* (Ffunction): Make interpreted closures safe for spaceStefan Monnier2022-10-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interpreted closures currently just grab a reference to the complete lexical environment, so (lambda (x) (+ x y)) can end up looking like (closure ((foo ...) (y 7) (bar ...) ...) (x) (+ x y)) where the foo/bar/... bindings are not only useless but can prevent the GC from collecting that memory (i.e. it's a representation that is not "safe for space") and it can also make that closure "unwritable" (or more specifically, it can cause the closure's print representation to be u`read`able). Compiled closures don't suffer from this problem because `cconv.el` actually looks at the code and only stores in the compiled closure those variables which are actually used. So, we fix this discrepancy by letting the existing code in `cconv.el` tell `Ffunction` which variables are actually used by the body of the function such that it can filter out the irrelevant elements and return a closure of the form: (closure ((y 7)) (x) (+ x y)) * lisp/loadup.el: Preload `cconv` and set `internal-filter-closure-env-function` once we have a usable `cconv-fv`. * lisp/emacs-lisp/bytecomp.el (byte-compile-preprocess): Adjust to new calling convention of `cconv-closure-convert`. (byte-compile-not-lexical-var-p): Delete function, moved to `cconv.el`. (byte-compile-bind): Use `cconv--not-lexical-var-p`. * lisp/emacs-lisp/cconv.el (cconv--dynbound-variables): New var. (cconv-closure-convert): New arg `dynbound-vars` (cconv--warn-unused-msg): Remove special case for `ignored`, so we don't get confused when a function uses an argument called `ignored`, e.g. holding a list of things that it should ignore. (cconv--not-lexical-var-p): New function, moved from `bytecomp.el`. Don't special case keywords and `nil` and `t` since they are already `special-variable-p`. (cconv--analyze-function): Use `cconv--not-lexical-var-p`. (cconv--dynbindings): New dynbound var. (cconv-analyze-form): Use `cconv--not-lexical-var-p`. Remember in `cconv--dynbindings` the vars for which we used dynamic scoping. (cconv-analyze-form): Use `cconv--dynbound-variables` rather than `byte-compile-bound-variables`. (cconv-fv): New function. * src/eval.c (Fsetq, eval_sub): Remove optimization designed when `lexical-binding == nil` was the common case. (Ffunction): Use `internal-filter-closure-env-function` when available. (eval_sub, Ffuncall): Improve error info for `excessive_lisp_nesting`. (internal-filter-closure-env-function): New defvar.
* Handle context changes in Tramp kubernetes methodMichael Albinus2022-10-251-0/+6
| | | | | | | | | | | | | | | | | | | | | * doc/misc/tramp.texi (Inline methods): Remove note about cache reset. (File name completion): Add tramp-completion-use-cache. * etc/NEWS: Add 'tramp-completion-use-cache'. * lisp/net/tramp-cache.el (tramp-completion-use-cache): New defcustom. (tramp-parse-connection-properties): Use it. * lisp/net/tramp-container.el (tramp-docker--completion-function) (tramp-kubernetes--completion-function): Ensure the processes run locally. (tramp-kubernetes--current-context-data): New defun. (tramp-methods) <kubernetes>: Add `tramp-config-check'. * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Handle `tramp-login-args'. * lisp/net/tramp.el (tramp-methods): Adapt docstring.
* Unify outline-minor-mode-use-buttons with in-margins/insert values (bug#57813)Juri Linkov2022-10-221-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/text.texi (Outline Mode): Remove outline-minor-mode-use-margins. Document the values insert/in-margins of outline-minor-mode-use-buttons. * lisp/help.el (describe-bindings): Set outline-minor-mode-use-buttons to 'insert'. * lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Set outline-minor-mode-use-buttons to 'in-margins'. * lisp/outline.el (outline-minor-mode-use-buttons): Change :type from 'buffer-predicate' to choice of const values nil/in-margins/t. (outline--use-buttons, outline-minor-mode-insert-buttons) (outline-minor-mode-use-margins, outline--use-margins): Remove variables. (outline-minor-mode-highlight-buffer): Change overlay name 'outline-overlay' to 'outline-highlight'. (outline-minor-mode): Simplify to handle possible values of 'outline-minor-mode-use-buttons' instead of using many variables. (outline--make-button-overlay): Use value 'insert' of 'outline-minor-mode-use-buttons'. (outline--insert-open-button, outline--insert-close-button) (outline--fix-up-all-buttons, outline--fix-buttons-after-change): Handle values of outline-minor-mode-use-buttons instead of using many variables.
* ; * etc/NEWS: Mention Eglot.Eli Zaretskii2022-10-201-0/+7
|
* * etc/PROBLEMS: Document window manager focus problems.Po Lu2022-10-201-0/+11
|
* ; Fix documentation and name of 'slovak-qwerty' input methodEli Zaretskii2022-10-201-3/+3
| | | | | | * etc/NEWS: Fix entry for slovak-qwerty. * lisp/leim/quail/slovak.el ("slovak", "slovak-qwerty"): Doc fix.
* Add 'slovak-querty' input method (bug#58642)Rudolf Adamkovič2022-10-201-0/+5
| | | | | * lisp/leim/quail/slovak.el ("slovak-querty"): New input method. * etc/NEWS: Mention the new 'slovak-querty' input method.
* ; Fix last changeEli Zaretskii2022-10-191-1/+3
| | | | | * lisp/leim/quail/indian.el ("tamil99"): * etc/NEWS: Minor copyedits of the tamil99 documentation.
* Add tamil99 input method (bug#58070)Arun Isaac2022-10-191-0/+3
| | | | | | * lisp/leim/quail/indian.el: Require pcase and seq. ("tamil99"): New input method. * etc/NEWS: Mention new tamil99 input method.
* * etc/NEWS: Adapt connection-local variables entries.Michael Albinus2022-10-181-22/+26
|
* ; Fix some invalid Eshell syntax in an exampleJim Porter2022-10-171-1/+1
| | | | | * doc/misc/eshell.texi (Expansion): * etc/NEWS: Fix invalid Eshell syntax.
* Improve handling of $PATH in Eshell for remote directoriesJim Porter2022-10-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-util.el (eshell-path-env, eshell-parse-colon-path): Make obsolete. (eshell-path-env-list): New variable. (eshell-connection-default-profile): New connection-local profile. (eshell-get-path): Reimplement using 'eshell-path-env-list'; add LITERAL-P argument. (eshell-set-path): New function. * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add entry for $PATH. (eshell-var-initialize): Add 'eshell-path-env-list' to 'eshell-subcommand-bindings'. * lisp/eshell/esh-ext.el (eshell-search-path): Use 'file-name-concat' instead of 'concat'. (eshell/addpath): Use 'eshell-get-path' and 'eshell-set-path'. * lisp/net/tramp-integration.el: Only apply Eshell hooks when 'eshell-path-env-list' is unbound. * test/lisp/eshell/esh-var-tests.el (esh-var-test/path-var/local-directory) (esh-var-test/path-var/remote-directory, esh-var-test/path-var/set) (esh-var-test/path-var/set-locally) (esh-var-test/path-var-preserve-across-hosts): New tests. * test/lisp/eshell/esh-ext-tests.el: New file. * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell): Set 'eshell-last-dir-ring-file-name' to nil. (eshell-tests-remote-accessible-p, eshell-last-input) (eshell-last-output): New functions. (eshell-match-output, eshell-match-output--explainer): Use 'eshell-last-input' and 'eshell-last-output'. * doc/misc/eshell.texi (Variables): Document $PATH. * etc/NEWS: Announce this change (bug#57556).
* Add helpers to dynamically assign connection-local valuesJim Porter2022-10-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/files-x.el (connection-local-criteria) (connection-local-profile-name-for-setq): New variables. (with-connection-local-variables-1): ... let-bind them here. (connection-local-update-profile-variables) (connection-local-profile-name-for-criteria): New functions. (with-connection-local-application-variables, setq-connection-local): New macros. * test/lisp/files-x-tests.el: Require 'tramp-integration' (files-x-test--variable5, remote-lazy-var): New variables. (files-x-test-hack-connection-local-variables-apply): Expand checks. (files-x-test-with-connection-local-variables): Remove 'hack-connection-local-variables-apply' check (it belongs in the above test), and expand some other checks. (files-x-test--get-lazy-var, files-x-test--set-lazy-var): New functions. (files-x-test-connection-local-update-profile-variables) (files-x-test-setq-connection-local): New tests. * doc/lispref/variables.texi (Connection Local Variables): Split into two subsections and document the new features. * etc/NEWS: Announce 'setq-connection-local'.
* Handle ;;;###theme-autoload comments in etc/themesPhilip Kaludercic2022-10-151-0/+5
| | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--emacs-batch): Extract the autoloads and have them loaded along with loaddefs.el. * etc/NEWS: Mention the new feature. (Bug#57639)
* Tag themes with propertiesPhilip Kaludercic2022-10-1517-17/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/custom.texi (Custom Themes): Document 'theme-choose-variant'. * doc/lispref/customize.texi (Custom Themes): Document the new optional argument to 'deftheme'. (Autoload): Mention that 'deftheme' is not copied verbatim. * etc/themes/adwaita-theme.el (adwaita): Add properties. * etc/themes/deeper-blue-theme.el (deeper-blue): Add properties. * etc/themes/dichromacy-theme.el (dichromacy): Add properties. * etc/themes/light-blue-theme.el (light-blue): Add properties. * etc/themes/manoj-dark-theme.el (manoj-dark): Add properties. * etc/themes/misterioso-theme.el (misterioso): Add properties. * etc/themes/tango-dark-theme.el (tango-dark): Add properties. * etc/themes/tango-theme.el (tango): Add properties. * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add properties. * etc/themes/tsdh-light-theme.el (tsdh-light): Add properties. * etc/themes/wheatgrass-theme.el (wheatgrass): Add properties. * etc/themes/whiteboard-theme.el (whiteboard): Add properties. * etc/themes/wombat-theme.el (wombat): Add properties. * etc/themes/modus-operandi-theme.el: Add properties. * etc/themes/modus-vivendi-theme.el: Add properties. * etc/themes/leuven-dark-theme.el (leuven-dark): Add properties. * etc/themes/leuven-theme.el (leuven): Add properties. * lisp/custom.el (deftheme): Allow for optional arguments to set the property list. (custom-declare-theme): Accept the same optional arguments as 'deftheme'. (theme-list-variants): Add new function. (theme-choose-variant): Add new command for switching between members of a theme family. (toggle-theme): Add an alias for 'theme-choose-variant'. * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload): Handle 'defcustom's by extracting the properties. (Bug#57639)
* ; Prefer HTTPS to HTTP in many URLsStefan Kangas2022-10-159-11/+11
|
* ; Fix documentation of ecompleteEli Zaretskii2022-10-151-2/+2
| | | | | | | | * lisp/ecomplete.el (ecomplete-sort-predicate) (ecomplete-filter-regexp, ecomplete-edit, ecomplete-remove): Doc fixes. * etc/NEWS: Fix wording of the 'ecomplete-filter-regexp' entry.
* Rename `file-attribute-file-number' to `file-attribute-file-identifier'Michael Albinus2022-10-141-1/+1
| | | | | | | | | | | | * doc/lispref/files.texi (File Attributes): * etc/NEWS: * lisp/files.el (find-buffer-visiting, find-file-noselect) (set-visited-file-name, basic-save-buffer) (file-attribute-file-identifier): * lisp/startup.el (normal-top-level-add-subdirs-to-load-path): * lisp/eshell/em-unix.el (eshell-shuffle-files): * src/dired.c (Ffile_attributes): Rename `file-attribute-file-number' to `file-attribute-file-identifier'.
* Add a quick-help menuPhilip Kaludercic2022-10-141-0/+6
| | | | | | | | | | * lisp/help.el (help-map): Bind 'help-quit-or-quick' instead of 'help-quit'. (help-quick-sections): Add variable. (help-quick): Add main command. (cheat-sheet): Add alias for 'help-quick'. (help-quit-or-quick): Add auxiliary command. lisp/help.el (help-for-help): Mention 'help-quit-or-quick'. * etc/NEWS (https): Mention 'help-quit'.
* Allow filtering what items are added to EcompletePhilip Kaludercic2022-10-141-0/+5
| | | | | | * etc/NEWS: Mention new option. * lisp/ecomplete.el (ecomplete-filter-regexp): Add new option. (ecomplete-add-item): Respect new option. (bug#58487)
* ; Fix recent change in documentation of "device number"Eli Zaretskii2022-10-141-2/+4
| | | | | | | | | | | * src/dired.c (Ffile_attributes): * lisp/files.el (buffer-file-number, file-attribute-file-number): Fix wording of the doc strings. * etc/NEWS: * doc/lispref/buffers.texi (Buffer File Name): * doc/lispref/files.texi (File Attributes): Fix a typo and wording. (Bug#58446)
* Clarify structure of file-attribute's device numberMichael Albinus2022-10-131-2/+7
| | | | | | | | | | | | | | | | | | | | * doc/lispref/buffers.texi (Buffer File Name): Fix description of buffer-file-number. * doc/lispref/files.texi (File Attributes): Clarify type of device number. Describe file-attribute-file-number. (Bug#58446) * etc/NEWS: Mention file-attribute-file-number. * lisp/files.el (buffer-file-number, file-attribute-device-number) (file-attribute-collect): Fix docstring. (file-attribute-file-number): New defsubst. (find-buffer-visiting, find-file-noselect) (set-visited-file-name, basic-save-buffer): * lisp/startup.el (normal-top-level-add-subdirs-to-load-path): * lisp/eshell/em-unix.el (eshell-shuffle-files): Use it. * src/dired.c (Ffile_attributes): Fix docstring.
* Fix typo in etc/TODOLars Ingebrigtsen2022-10-081-1/+1
|
* * etc/TODO (Wishlist items): Add libarchive(3) integration.Michael Albinus2022-10-081-1/+7
|
* Add a VC command to prepare patchesPhilip Kaludercic2022-10-081-0/+18
| | | | | | | | | | | | | | | | | | * doc/emacs/vc1-xtra.texi (Miscellaneous VC): Add new node. (Editing VC Commands): Document new feature. * etc/NEWS: Mention 'vc-prepare-patch'. * lisp/vc/log-view.el: Autoload 'log-view-get-marked'. * lisp/vc/vc-git.el (vc-git-prepare-patch): Add Git implementation. * lisp/vc/vc-hg.el (vc-git-prepare-patch): Add Mercurial implementation. * lisp/vc/vc-bzr.el (vc-git-prepare-patch): Add Bazaar implementation. * lisp/vc/vc.el (vc-read-revision): Add a MULTIPLE argument. (vc-read-multiple-revisions): Add an auxiliary function that always calls 'vc-read-revision' with a non-nil value for MULTIPLE. (vc-prepare-patches-separately): Add user option. (message-goto-body): Declare function. (message--name-table): Declare function. (vc-default-prepare-patch): Add a default implementation. (vc-prepare-patch): Add command. (Bug#57400)
* Add support for the Coptic script (bug#58330)समीर सिंह Sameer Singh2022-10-082-0/+2
| | | | | | | | | | | * lisp/language/misc-lang.el ("Coptic"): New language environment. Add sample text and input method. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support coptic. * lisp/leim/quail/misc-lang.el ("coptic"): New input method. * etc/HELLO: Add a Coptic greeting. * etc/NEWS: Announce the new language environment.
* etc/NEWS: Fix typo in seq-keep entry.Lars Ingebrigtsen2022-10-061-2/+2
|
* * etc/NEWS: Document how to continue using 'linum'. (Bug#58220)Stefan Kangas2022-10-061-0/+5
|
* * etc/NEWS: Add instructions for replacing 'linum'. (Bug#58220)Stefan Kangas2022-10-061-0/+14
|
* * etc/tutorials/TUTORIAL.uk: Fix typos.Juri Linkov2022-10-051-4/+4
|
* New command 'world-clock-copy-time-as-kill'Stefan Kangas2022-10-051-0/+4
| | | | | * lisp/time.el (world-clock-copy-time-as-kill): New command. (world-clock-mode-map): Bind above new command to "w".
* Add tramp-kubernetes integrationFilipp Gunbin2022-10-051-2/+3
| | | | | | | | | | | | * doc/misc/tramp.texi (Inline methods): Add kubernetes. (Customizing Methods): Remove kubernetes-tramp. * etc/NEWS: Mention new Tramp method "kubernetes". * lisp/net/tramp-compat.el (kubernetes-tramp): Warn if that package is used. * lisp/net/tramp-container.el (tramp-kubernetes-program): New defcustom. (tramp-kubernetes-method): New defconst. (tramp-kubernetes--completion-function): New function.
* Put all seq.el news into one sectionLars Ingebrigtsen2022-10-041-19/+21
|
* Add 'seq-keep'Lars Ingebrigtsen2022-10-041-0/+5
| | | | | * doc/lispref/sequences.texi (Sequence Functions): Document it. * lisp/emacs-lisp/seq.el (seq-keep): New function (bug#58278).
* * etc/NEWS: Mention new Tramp method "podman". Fix typos.Michael Albinus2022-10-041-26/+25
|
* image-dired: Shorten several long namesStefan Kangas2022-10-041-3/+17
| | | | | | | | | | | | | | | | * lisp/image/image-dired.el (image-dired-image-mode-map) (image-dired-image-mode): Rename from 'image-dired-display-image-mode-map' and 'image-dired-display-image-mode'. Update all uses and make old names into obsolete aliases. (image-dired-display-this, image-dired-display-next) (image-dired-display-previous): Rename from 'image-dired-display-thumbnail-original-image', 'image-dired-display-next-thumbnail-original', and 'image-dired-display-previous-thumbnail-original'. Update all uses and make old names into obsolete aliases. * doc/emacs/dired.texi (Image-Dired): Update documentation for the above changes, and improve indexing.
* Fix recent changes for Ukrainian languageEli Zaretskii2022-10-041-1/+1
| | | | | | * etc/HELLO: * lisp/language/cyrillic.el ("Ukrainian"): Fix greetings and remove redundant Ukrainian entry in cyrillic.el.
* Move image commands to the 'i' sub mapLars Ingebrigtsen2022-10-041-3/+14
| | | | | | | | | * doc/lispref/display.texi (Showing Images): Adjust. * lisp/image.el (image-map): Move all keys under the "i" prefix. (image--repeat-map): New map. (image-increase-size, image-rotate, image-decrease-size): Make repeatable. (image--delayed-change-size): New function.
* Add Ukrainian tutorialDenys Nykula2022-10-043-0/+1157
| | | | | | | | | * etc/tutorials/TUTORIAL.uk: Create the translation. * lisp/language/cyrillic.el: Link "Emacs Tutorial" to the translation if the system is Ukrainian, and add our modern greeting as a sample text. * etc/NEWS: * etc/tutorials/TUTORIAL.translators: Attribute my work (bug#55250).
* Fix NEWS item about obsoleting the `eq' gvLars Ingebrigtsen2022-10-041-2/+2
|
* Make `eq' obsolete as a generalized variableLars Ingebrigtsen2022-10-041-1/+1
| | | | | * lisp/emacs-lisp/gv.el (eq): Make obsolete as a generalized variable.
* ; * etc/NEWS: Improve wording.Eli Zaretskii2022-10-041-2/+3
|
* * etc/NEWS: Clarify confusing Image-Dired entry. (Bug#58279)Stefan Kangas2022-10-041-3/+2
|
* ; * etc/NEWS: Minor copy editing.Stefan Kangas2022-10-031-12/+14
|
* Add commands to edit/remove ecomplete entriesLars Ingebrigtsen2022-10-031-0/+5
| | | | | | | * lisp/ecomplete.el (ecomplete-add-item): Allow forcing new values. (ecomplete--remove-item): (ecomplete--prompt-type): New functions. (ecomplete-edit, ecomplete-remove): New commands.
* Rename to inhibit-automatic-native-compilationLars Ingebrigtsen2022-10-031-3/+3
| | | | | | | | | | | | | * src/comp.c (maybe_defer_native_compilation): (syms_of_comp): * lisp/subr.el (native-comp-deferred-compilation): * lisp/startup.el (inhibit-native-compilation): (normal-top-level): * lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load): * lisp/emacs-lisp/comp.el (comp-trampoline-compile): * etc/NEWS: * doc/lispref/compile.texi (Native-Compilation Variables): Rename inhibit-native-compilation to inhibit-automatic-native-compilation.
* files.el (major-mode-remap-alist): New custom var (bug#58075)Stefan Monnier2022-10-031-0/+9
| | | | | | | | | | | | | | * lisp/files.el (major-mode-remap-alist): New custom var. (set-auto-mode--last): New var. (set-auto-mode-0): Obey `major-mode-remap-alist`. * doc/emacs/modes.texi (Choosing Modes): Document `major-mode-remap-alist`. * lisp/progmodes/cperl-mode.el: Recommend the use of `major-mode-remap-alist` over the crude `defalias` solution. * lisp/textmodes/tex-mode.el (tex--guess-mode): Simplify. (tex--redirect-to-submode): Obey `major-mode-remap-alist`.
* Add new variable 'inhibit-native-compilation'Lars Ingebrigtsen2022-10-031-4/+11
| | | | | | | | | | | | | | | | | | | | * doc/lispref/compile.texi (Native-Compilation Variables): Document it. * lisp/startup.el (normal-top-level): Set inhibit-native-compilation from environment variable. * lisp/subr.el (native-comp-deferred-compilation): Make obsolete. * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Don't write trampolines to disk. * lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load): Adjust. * src/comp.c (syms_of_comp): New variable inhibit-native-compilation. (maybe_defer_native_compilation): Use it.
* Fix coding systems used for X input methodsPo Lu2022-10-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/mule.texi (International): Refer to X Coding as well. (Communication Coding): Document that locale-coding-system is not always used on X to decode keyboard input. (X Coding): New node. * etc/NEWS: Announce change to input method coding resolution. * lisp/term/x-win.el (x-get-input-coding-system): New function. * src/coding.c (syms_of_coding): Update doc string of locale-coding-system. * src/xfns.c (struct x_xim_text_conversion_data) (x_xim_text_to_utf8_unix_1, x_xim_text_to_utf8_unix_2) (x_xim_text_to_utf8_unix): Accept dpyinfo. Use the coding system specified inside if possible. (xic_preedit_draw_callback): Pass dpyinfo. * src/xterm.c (handle_one_xevent): Use XIM coding system for IM input. (xim_open_dpy): Try to determine the input method coding system. (mark_xterm): Mark `xim_coding'. (syms_of_xterm): New variable `x-input-coding-system'. * src/xterm.h (struct x_display_info): New field `xim_coding'. (FRAME_X_XIM_CODING): New macro.
* Add --with-native-compilation=aot configuration optionLars Ingebrigtsen2022-10-031-0/+6
| | | | | | | * configure.ac: Allow --with-native-compilation=aot to switch full ahead-of-time on. * lisp/Makefile.in: Use the setting from configure.