- 18 Oct, 2020 18 commits
-
-
Stefan Kangas authored
* src/keymap.c (Fhelp__describe_vector): * lisp/help.el (describe-map): Use Lisp versions of describe_command and describe_translation. * src/keymap.c (describe_command, describe_translation): Remove. (describe_vector_basic): New function.
-
Stefan Kangas authored
* src/doc.c (Fsubstitute_command_keys_old): Remove. (syms_of_doc): Remove defsubr for Fsubstitute_command_keys_old. * src/keymap.c (describe_map, describe_map_tree) (describe_map_compare, describe_map_elt): Remove. * src/keymap.h: Remove 'describe_map_tree'. * test/lisp/help-tests.el (with-substitute-command-keys-test) (help-tests-substitute-command-keys/compare) (help-tests-substitute-command-keys/compare-all): Don't test the C version of 'substitute-command-keys' removed above.
-
Stefan Kangas authored
This is a prerequisite to remove the old C functions, and gives a measured 3 ms slowdown on my machine, from 0.27s to 0.30s per call to describe-buffer-bindings (average over 50 calls). * src/keymap.c (Fdescribe_buffer_bindings): Call Lisp function describe-map-tree instead of C function describe_map_tree.
-
Stefan Kangas authored
The previous conversion of describe_vector from C to Lisp for the keymap and char table case lead to an unacceptable performance hit. Moving back to the C version, as we do here, makes this function around 50 times faster. The Lisp version of `substitute-command-keys' was benchmarked using the form `(documentation 'dired-mode)', which now takes less than 8 ms on my machine. This is around 16 times slower than the previous C version. Thanks to Stefan Monnier for helpful pointers on benchmarking. * src/keymap.c (Fhelp__describe_vector): New defun to expose describe_vector to Lisp for keymaps and char tables. (syms_of_keymap): New defsubr for Fhelp__describe_vector. * lisp/help.el (describe-map): Use above defun instead of Lisp version. (help--describe-vector): Remove defun; keep it commented out for now.
-
Stefan Kangas authored
* lisp/help.el (help--describe-vector): New Lisp implementation of describe_vector. * src/keymap.c (Fdescribe_vector_internal): Remove defun. (syms_of_keymap): Remove defsubr for Fdescribe_vector_internal.
-
Stefan Kangas authored
Third step in converting substitute-command-keys to Lisp. * lisp/help.el (describe-map): New Lisp version of describe_map. (help--describe-map-compare, help--describe-translation) (help--describe-command, help--shadow-lookup): New helper functions for describe-map. (help--keymaps-seen, help--previous-description-column): New variables. * src/keymap.c (Fkeymap__get_keyelt): New defun to expose get_keyelt to Lisp. (Fdescribe_map_tree_old, Fdescribe_map): Remove defuns. (Fdescribe_vector_internal): New defun to expose describe_vector to Lisp in a way usable by describe-map. (syms_of_keymap): New defsubrs for Fkeymap__get_keyelt and Fdescribe_vector_internal. Remove defsubrs for Fdescribe_map_tree_old and Fdescribe_map. Remove 'help--keymaps-seen'. * test/lisp/help-tests.el (help-tests-substitute-command-keys/shadow): Extend test. (help-tests-substitute-command-keys/test-mode) (help-tests-substitute-command-keys/compare-all) (help-tests-describe-map-tree/no-menu-t) (help-tests-describe-map-tree/no-menu-nil) (help-tests-describe-map-tree/mention-shadow-t) (help-tests-describe-map-tree/mention-shadow-nil) (help-tests-describe-map-tree/partial-t) (help-tests-describe-map-tree/partial-nil): New tests.
-
Stefan Kangas authored
This is the second step in converting substitute-command-keys to Lisp. * lisp/help.el (describe-map-tree): New Lisp version of describe_map_tree. (substitute-command-keys): Update to use above function. * src/keymap.c (Fdescribe_map): New defun to expose describe_map to Lisp. * src/keymap.c (syms_of_keymap): New variable 'help--keymaps-seen'; a temporary kludge planned for removal. New defsubr for Fdescribe_map.
-
Stefan Kangas authored
This is only the first step towards a full Lisp implementation, and does not remove the old C code. On the contrary, it is partly based on using the old C code, which is to be replaced in steps. This also makes it easy to test that it produces the same output as the old. * src/doc.c (Fsubstitute_command_keys_old): Rename from Fsubstitute_command_keys. (Fget_quoting_style): New defun to expose text_quoting_style to Lisp. (syms_of_doc): Expose above symbols. * lisp/help.el (substitute-command-keys): New Lisp version of substitute-command-keys. (Bug#8951) * src/keymap.c (Fdescribe_map_tree): New defun to expose describe_map_tree to Lisp. (syms_of_keymap): New defsubr for Fdescribe_map_tree. * src/keyboard.c (help_echo_substitute_command_keys): * src/doc.c (Fdocumentation, Fdocumentation_property): * src/print.c (print_error_message): * src/syntax.c (Finternal_describe_syntax_value): Fix calls to use new Lisp implementation of substitute-command-keys. * test/src/doc-tests.el: Remove file. * test/lisp/help-tests.el: Add tests for substitute-command-keys copied from above file.
-
Eli Zaretskii authored
-
Mattias Engdegård authored
Test not only that the indentation engine is idempotent but that it will indent a file to the expected shape from scratch. * test/lisp/progmodes/js-tests.el (js-tests--remove-indentation): New. (js-deftest-indent): Extend test.
-
Lars Ingebrigtsen authored
* src/search.c (Freplace_match): Fix a misleading comment (bug#42424).
-
Lars Ingebrigtsen authored
* doc/misc/gnus.texi (Smileys): Document the emoji smiley value.
-
Lars Ingebrigtsen authored
* lisp/gnus/smiley.el (smiley-region): Use text properties for the emojis instead of rewriting the message.
-
Adam Sjøgren authored
* lisp/gnus/smiley.el (smiley-style): Add emoji tag. (smiley-emoji-regexp-alist): New defcustom. (smiley-update-cache, smiley-region): Support emoji (non-image) replacement (bug#43889).
-
Stefan Kangas authored
* lisp/nxml/nxml-mode.el (nxml-newline-and-indent): Make argument optional to conform to 'comment-line-break-function'. (Bug#40193)
-
Stefan Kangas authored
* doc/man/emacsclient.1: Make flag descriptions into full sentences to be more consistent.
-
Stefan Kangas authored
* test/lisp/progmodes/js-tests.el (ert-x): Require. (js-deftest-indent): New macro. Use it to define tests for indenting the below files. * test/manual/indent/js-chain.js: * test/manual/indent/js-indent-align-list-continuation-nil.js: * test/manual/indent/js-indent-init-dynamic.js: * test/manual/indent/js-indent-init-t.js: * test/manual/indent/js.js: * test/manual/indent/jsx-align-gt-with-lt.jsx: * test/manual/indent/jsx-comment-string.jsx: * test/manual/indent/jsx-indent-level.jsx: * test/manual/indent/jsx-quote.jsx: * test/manual/indent/jsx-self-closing.jsx: * test/manual/indent/jsx-unclosed-1.jsx: * test/manual/indent/jsx-unclosed-2.jsx: * test/manual/indent/jsx.jsx: Move from here... * test/lisp/progmodes/js-resources/js-chain.js: * test/lisp/progmodes/js-resources/js-indent-align-list-continuation-nil.js: * test/lisp/progmodes/js-resources/js-indent-init-dynamic.js: * test/lisp/progmodes/js-resources/js-indent-init-t.js: * test/lisp/progmodes/js-resources/js.js: * test/lisp/progmodes/js-resources/jsx-align-gt-with-lt.jsx: * test/lisp/progmodes/js-resources/jsx-comment-string.jsx: * test/lisp/progmodes/js-resources/jsx-indent-level.jsx: * test/lisp/progmodes/js-resources/jsx-quote.jsx: * test/lisp/progmodes/js-resources/jsx-self-closing.jsx: * test/lisp/progmodes/js-resources/jsx-unclosed-1.jsx: * test/lisp/progmodes/js-resources/jsx-unclosed-2.jsx: * test/lisp/progmodes/js-resources/jsx.jsx: ...to here.
-
Stefan Kangas authored
-
- 17 Oct, 2020 22 commits
-
-
Stefan Kangas authored
-
Jose Antonio Ortega Ruiz authored
* lisp/progmodes/mixal-mode.el: Set jao@gnu.org as maintainer of mixal-mode.el. (Bug#44037)
-
Stefan Kangas authored
* lisp/progmodes/mixal-mode.el: Use lexical-binding. (Bug#44037)
-
Juri Linkov authored
* lisp/simple.el (next-error-message): Add ':extend t' to this face. (next-error-message-highlight): Put overlay over the newline as well.
-
J. Scott Berg authored
* src/xterm.c (handle_one_xevent) [USE_GTK]: Don't obey ConfigureNotify events if the frame is not visible. (Bug#44002) Copyright-paperwork-exempt: yes
-
Glenn Morris authored
18c0e20b (origin/emacs-27) Improve documentation of 'Info-hide-note...
-
Glenn Morris authored
The following commit was skipped: 47b8a1c7 * admin/release-process: Add note to update files from ups...
-
Glenn Morris authored
65078e0a * lisp/info.el (Info-hide-note-references): Doc fix. (Bug... 30305b54 Make lisp/progmodes/js.el dependent on CC Mode in the Make... c37b2a9b Yet another fix for 'set-minibuffer-message' 72dd9119 Fix posn-at-x-y in builds --without-x ace25f20 Clarify the seq-reduce documentation 7d598e28 Make tramp-completion-reread-directory-timeout obsolete (B... 2c31ce18 Fix 'message' when there's active minibuffer on another frame # Conflicts: # doc/misc/tramp.texi # etc/NEWS
-
Glenn Morris authored
The following commit was skipped: f539ee90 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc t...
-
Mattias Engdegård authored
-
Protesilaos Stavrou authored
* etc/NEWS: Reword entry about new 'modus-operandi' and 'modus-vivendi' themes. Include reference to their manual.
-
Jose Antonio Ortega Ruiz authored
Synchronises with latest released GNU MDK 1.2.11 * mixal-mode.el (mixal-operation-codes-alist): Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO
-
Stefan Kangas authored
Rewriting bookmark-bmenu-mode to be based on 'tabulated-list-mode' allows us to greatly simplify the code in several cases. In addition, we get some features for free, such as sorting by column. The only functional step backwards is that we no longer support the optional "inline" header line, a bookmark.el-specific feature to have a header without using 'header-line-format'. This feature is believed to be not very useful or widely used. * lisp/bookmark.el (tabulated-list): Require. (bookmark-bmenu-mode): Inherit from 'tabulated-list-mode' instead of 'special-mode' and make the necessary changes to support that. (bookmark-bmenu-mode-map): Inherit from 'tabulated-list-mode-map' instead of 'special-mode-map'. Remove now duplicate key bindings. (bookmark-bmenu--revert): New function to show the bookmark list using 'tabulated-list-mode'. (bookmark-bmenu-list): Simplify by using above new function. (bookmark-bmenu-bookmark): Adapt to 'tabulated-list-mode'. (bookmark-bmenu--name-predicate) (bookmark-bmenu--file-predicate): New functions used by 'tabulated-list-mode' to sort. (bookmark-bmenu-set-header): Redefine as obsolete function alias for 'tabulated-list-init-header'. (bookmark-bmenu-toggle-filenames, bookmark-bmenu-show-filenames) (bookmark-bmenu-hide-filenames, bookmark-bmenu-mark) (bookmark-bmenu-mark-all, bookmark-bmenu-unmark-all) (bookmark-bmenu-delete-all, bookmark-bmenu-unmark) (bookmark-bmenu-delete, bookmark-bmenu-delete-backwards): Simplify now that we can depend on 'tabulated-list-mode' to do more work. (bookmark-bmenu-use-header-line) (bookmark-bmenu-inline-header-height): Declare variables relating to the now unsupported "inline" header obsolete. (bookmark-bmenu-ensure-position) (bookmark-bmenu-execute-deletions): Remove code to handle "inline" header. * test/lisp/bookmark-tests.el (bookmark-test-bmenu-edit-annotation/show-annotation) (bookmark-test-bmenu-unmark, bookmark-test-bmenu-mark): Update tests for minor changes when using 'tabulated-list-mode'.
-
Eli Zaretskii authored
-
Mattias Engdegård authored
Find lexical use of variables that are dynamically declared in other files by recording 'defvar' declarations in files that can be read in by the compiler in a second compilation. This is particularly useful when converting code to use lexical-binding. The facility is controlled by setting environment variables: EMACS_GENERATE_DYNVARS -- set to non-empty to generate a .dynvars file corresponding to each .elc. EMACS_DYNVARS_FILE -- set to the name of a .dynvars file to use as defvar information during compilation, enabling the new warnings. * lisp/emacs-lisp/bytecomp.el (byte-compile--known-dynamic-vars) (byte-compile--seen-defvars): New variables. (byte-compile-warning-types): Add lexical-dynamic warning. (byte-compile--load-dynvars, byte-compile--warn-lexical-dynamic): New functions. * lisp/emacs-lisp/bytecomp.el (byte-compile-file, byte-compile--declare-var) (byte-compile-lambda, byte-compile-bind): Add dynamic variable loads, dumps and checks. * doc/lispref/variables.texi (Converting to Lexical Binding): Document.
-
Stefan Kangas authored
-
Stefan Kangas authored
-
Eli Zaretskii authored
* doc/misc/info.texi (Help-Xref): Improve the wording. (Emacs Info Variables): Update the documentation of 'Info-hide-note-references'. (Bug#44043)
-
Pierre Neidhardt authored
* lisp/shell.el (shell--prompt-end-position) (shell--prompt-begin-position): Helper functions. * lisp/shell.el (shell-narrow-to-prompt): New command and keystroke (bug#41784).
-
Lars Ingebrigtsen authored
* lisp/woman.el (woman-decode-region): Ignore the new groff kerning operators (bug#42219).
-
Lars Ingebrigtsen authored
* lisp/net/browse-url.el (browse-url-emacs): Make the `browse-url-of-dired' command work again after the browse-emacs changes (bug#42429).
-
Lars Ingebrigtsen authored
* lisp/vc/diff-mode.el (diff-find-source-location): Avoid warnings when called from which-function-mode and the file has changed (bug#42818).
-