1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-16 03:43:50 -07:00
Commit graph

148415 commits

Author SHA1 Message Date
Andrea Corallo
da4da88c76 * lisp/emacs-lisp/comp.el (comp-spill-lap): Fix doc string. 2021-02-21 22:20:59 +01:00
Andrea Corallo
cf1e8e792f Merge remote-tracking branch 'savannah/master' into HEAD 2021-02-21 22:08:01 +01:00
Mattias Engdegård
d0c47652e5 Faster, more compact, and readable closure creation
Simplify closure creation by calling a single function at run time
instead of putting it together from small pieces.  This is faster
(by about a factor 2), takes less space on disk and in memory, and
makes internal functions somewhat readable in disassembly listings again.

This is done by creating a prototype function at compile-time whose
closure variables are placeholder values V0, V1... which can be seen
in the disassembly.  The prototype is then cloned at run time using
the new make-closure function that replaces the placeholders with
the actual closure variables.

* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure):
Generate call to make-closure from a prototype function.
* src/alloc.c (Fmake_closure): New function.
(syms_of_alloc): Defsubr it.
* src/data.c (syms_of_data): Defsym byte-code-function-p.
2021-02-21 21:58:25 +01:00
Stefan Kangas
2790c6a572 Run admin/cus-tests.el tests from test suite
* test/Makefile.in (SUBDIRS): Run tests in new directory "misc",
intended for tests not belonging to any one file.
* test/misc/test-custom-deps.el:
* test/misc/test-custom-libs.el:
* test/misc/test-custom-noloads.el:
* test/misc/test-custom-opts.el: New files.
* test/lisp/custom-tests.el (custom--test-local-option): Move test to
above new file test-custom-opts.el.

* admin/cus-test.el: Document running tests from regular test suite.
* test/file-organization.org (Test Files): Document new test directory
"misc" for tests not belonging to any one file.
2021-02-21 20:20:40 +01:00
Stefan Kangas
ff759b1d0a Fix interactive mode tagging for man and woman
* lisp/man.el (man-common): New mode inheriting special-mode.
(Man-mode):
* lisp/woman.el (woman-mode): Inherit from man-common.

* lisp/man.el (man-follow, Man-update-manpage)
(Man-fontify-manpage, Man-cleanup-manpage, Man-next-section)
(Man-previous-section, Man-goto-section)
(Man-goto-see-also-section, Man-follow-manual-reference)
(Man-kill, Man-goto-page, Man-next-manpage)
(Man-previous-manpage): Change interactive mode tag to man-common.

This was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01619.html
2021-02-21 20:09:10 +01:00
Lars Ingebrigtsen
24166be166 Declare that ignore' and undefined' shouldn't be completed over
* lisp/subr.el (ignore, undefined): Declare that these shouldn't
be completed over.
2021-02-21 19:26:39 +01:00
Lars Ingebrigtsen
d15a42ac45 Use undefined' instead of ignore' in wdired
* lisp/wdired.el (wdired-mode-map): Use `undefined' here instead
of `ignore' to give the user more feedback.
2021-02-21 14:04:18 +01:00
Basil L. Contovounesios
908f251e19 Fix json.el encoding of confusable object keys
* lisp/json.el (json-encode-string): Clarify commentary.
(json--encode-stringlike): New function that covers a subset of
json-encode.
(json-encode-key): Use it for more efficient encoding and
validation, and to avoid mishandling confusable keys like boolean
symbols (bug#42545).
(json-encode-array): Make it clearer that argument can be a list.
(json-encode): Reuse json-encode-keyword and json--encode-stringlike
for a subset of the dispatch logic.
(json-pretty-print): Ensure confusable keys like ":a" survive a
decoding/encoding roundtrip (bug#24252, bug#45032).

* test/lisp/json-tests.el (test-json-encode-string)
(test-json-encode-hash-table, test-json-encode-alist)
(test-json-encode-plist, test-json-pretty-print-object): Test
encoding of confusable keys.
2021-02-21 12:53:45 +00:00
Stefan Kangas
767608ef56 Make unused variable menu-bar-handwrite-map obsolete
* lisp/play/handwrite.el (menu-bar-handwrite-map): Make unused
variable obsolete.
2021-02-21 10:49:07 +01:00
Stefan Kangas
1b9e233493 Convert bubbles menu to easy-menu-define
* lisp/play/bubbles.el (bubbles-game-theme-menu)
(bubbles-graphics-theme-menu, bubbles-menu, bubbles-mode-map):
Move menu definition from here...
(bubbles-menu): ...to here, and convert to easy-menu-define.
2021-02-21 10:49:07 +01:00
Stefan Kangas
669b911c66 ; Fix previous easy-menu-define conversion
* lisp/emacs-lisp/re-builder.el (reb-mode-menu):
* lisp/progmodes/make-mode.el (makefile-mode-menu): Replace :button
attribute with :style and :selected.
2021-02-21 10:49:07 +01:00
Stefan Kangas
df932bef91 * etc/NEWS.19: Add entry for 'easy-menu-define'. 2021-02-21 10:49:07 +01:00
Stefan Kangas
2c26eb1115 Convert some progmodes menus to easy-menu-define
* lisp/progmodes/asm-mode.el (asm-mode-map):
* lisp/progmodes/grep.el (grep-mode-map):
* lisp/progmodes/m4-mode.el (m4-mode-map):
* lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from here...
* lisp/progmodes/asm-mode.el (asm-mode-menu):
* lisp/progmodes/grep.el (grep-menu-map):
* lisp/progmodes/m4-mode.el (m4-mode-menu):
* lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite
using easy-menu-define.
2021-02-21 10:49:07 +01:00
Michael Albinus
3010794753 Clarification of password handling in Tramp manual
* doc/misc/tramp.texi (Password handling): Describe, how to
suppress `auth-sources' for Tramp.
(Remote shell setup, Remote processes)
(Cleanup remote connections, Frequently Asked Questions):
Handle reference to Emacs manual.
2021-02-21 10:24:56 +01:00
Alan Third
e6842038c9 Fix memory leak
* src/nsterm.m ([EmacsSurface dealloc]): Release will remove all
objects and free the memory.
2021-02-20 20:42:11 +00:00
Stefan Kangas
cf95b53405 Convert makefile-mode menu to easy-menu-define
* lisp/progmodes/make-mode.el (makefile-mode-map): Move menu
definition from here...
(makefile-mode-menu): ...to here, and rewrite using easy-menu-define.
2021-02-20 17:43:03 +01:00
F. Jason Park
a6234bb5b4 Mute noisy test fixture for socks.el
* test/lisp/net/socks-tests.el:
(socks-tests-perform-hello-world-http-request): Bind
'inhibit-message' non-nil when in batch mode.
(Bug#46342)
2021-02-20 17:15:44 +02:00
Lars Ingebrigtsen
496bed5cf4 Change command-completion-using-modes-p to defun
* lisp/simple.el (command-completion-using-modes-p): Change into a
defun for now because of a build problem.
2021-02-20 15:43:26 +01:00
Lars Ingebrigtsen
006d0ae396 Mention `M-S-x' in the Emacs manual.
* doc/emacs/m-x.texi (M-x): Mention `M-S-x' in the Emacs manual.
2021-02-20 15:37:28 +01:00
Stefan Kangas
c4bbe02cc4 * lisp/help.el (help-for-help-internal): Doc fix; use imperative. 2021-02-20 15:28:03 +01:00
Eli Zaretskii
4c4c2eab7e ; Fix typos in last change
* etc/NEWS: Improve wording.
* lisp/simple.el (execute-extended-command-for-buffer): Fix typo.
2021-02-20 16:24:03 +02:00
Lars Ingebrigtsen
e3e3133f80 Add a new command for mode-specific commands
* doc/lispref/commands.texi (Interactive Call): Document it.
* lisp/simple.el (command-completion-using-modes-p): Refactored
out into its own function for reuse...
(command-completion-default-include-p): ... from here.
(execute-extended-command-for-buffer): New command and keystroke
(`M-S-x').
2021-02-20 15:12:45 +01:00
Lars Ingebrigtsen
12578d6aca Change how (declare (modes store the data
* lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Change from
being a predicate to storing the modes.  This allows using the
modes for positive command discovery, too.
* src/data.c (Fcommand_modes): Look at the `command-modes' symbol
property, too.
2021-02-20 14:29:41 +01:00
Lars Ingebrigtsen
825aed11d2 Add the `always' function
* doc/lispref/functions.texi (Calling Functions): Document it.
* lisp/subr.el (always): New function.

* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark it as
side effect free.
2021-02-20 13:44:19 +01:00
F. Jason Park
43703a06b9 Use raw bytes for SOCKS 4 IP addresses
* lisp/net/socks.el: (socks--open-network-stream, socks-send-command):
* test/lisp/net/socks-tests.el: (socks-tests-v4-basic): (Bug#46342).
2021-02-20 13:03:12 +02:00
F. Jason Park
acf7160920 Add more auth-related tests for socks.el
* test/lisp/net/socks-tests.el (auth-registration-and-suite-offer)
(filter-response-parsing-v4, filter-response-parsing-v5): Assert
auth-method selection wrangling and socks-filter parsing.
(v5-auth-user-pass, v5-auth-user-pass-blank, v5-auth-none): Show prep
and execution of the SOCKS connect command and proxying of an HTTP
request; simplify fake server.  (Bug#46342)
2021-02-20 13:02:33 +02:00
Stefan Kangas
d184895a42 Convert re-builder menu to easy-menu-define
* lisp/emacs-lisp/re-builder.el (reb-mode-map): Move menu
definition from here...
(reb-mode-menu): ...to here, and rewrite using easy-menu-define.
2021-02-20 07:55:04 +01:00
Stefan Kangas
7b12747e2f Convert finder menu to easy-menu-define
* lisp/finder.el (finder-mode-map): Move menu definition from
here...
(finder-mode-menu): ...to here, and rewrite using
easy-menu-define.
2021-02-20 07:55:04 +01:00
Stefan Kangas
c85c8e7d42 Add toolbar for help-mode
* lisp/help-mode.el (help-mode): Add toolbar.
(help-mode-tool-bar-map): New variable.
(help-mode-menu): Disable forward/backward items when stack is empty.

(help-bookmark-make-record, help-bookmark-jump): Minor doc fixes.
2021-02-20 06:43:03 +01:00
Stefan Kangas
b612f1a41f * lisp/woman.el: Doc fix; remove redundant setup info. 2021-02-20 04:21:35 +01:00
Thomas Fitzsimmons
5f539581a4 * lisp/url/url-http.el (url-http): Fix docstring typo. 2021-02-19 17:32:59 -05:00
Thomas Fitzsimmons
7366859fe0 ntlm-tests: Remove missing dependency warnings
* test/lisp/net/ntlm-tests.el: Remove warnings about dependencies
not being present.
2021-02-19 17:11:42 -05:00
Thomas Fitzsimmons
ade9c22c04 ntlm-tests: Skip tests if dependencies are too old
* test/lisp/net/ntlm-tests.el (ntlm-tests--dependencies-present):
Add version and functionality checks.

Co-authored-by: Michael Albinus <michael.albinus@gmx.de>
2021-02-19 17:11:42 -05:00
Andrea Corallo
39792cf629 * Work around bug#46495 (GCC PR99126)
* src/comp.c (gcc_jit_context_add_command_line_option): Import for
	dynamic load.
	(Fcomp__compile_ctxt_to_file): Disable GCC "isolate-paths" on GCC
	10.
2021-02-19 23:02:42 +01:00
Andrea Corallo
92fe7a91f4 * Remove unnecessary function 'emit_rvalue_from_unsigned_long_long'
* src/comp.c (emit_rvalue_from_unsigned_long_long): Remove
	function.
	(emit_rvalue_from_emacs_uint, emit_rvalue_from_lisp_word_tag)
	(emit_rvalue_from_lisp_word): Make use of
	'emit_rvalue_from_long_long'.
2021-02-19 22:56:51 +01:00
Andrea Corallo
14e6268d14 * Pacify GCC warning on non wide-int configurations
* src/comp.c (emit_rvalue_from_emacs_uint)
	(emit_rvalue_from_lisp_word_tag): Pacify GCC warning.
	(emit_rvalue_from_unsigned_long_long): Define it only when
	necessary.
2021-02-19 22:56:51 +01:00
Alan Third
283f98353f Fix frame contents scaling bug on macOS (bug#46155)
Discussion in bug#46406.

* src/nsterm.m ([EmacsView focusOnDrawingBuffer:]): Set the scale
factor for the backing layer.
2021-02-19 19:37:02 +00:00
Stefan Monnier
b6eccad06c * lisp/emacs-lisp/bytecomp.el: Don't warn for repeated _ args
(byte-compile-check-lambda-list): Skip warnings of repeated arg for
those that are declared as unused anyway.
2021-02-19 12:51:36 -05:00
Stefan Monnier
9b7eed33f9 * test/lisp/emacs-lisp/edebug-tests.el: Adjust to new edebug-eval-defun.
(edebug-tests-trivial-backquote): Adjust to the way `eval-defun`
outputs its result.
(edebug-tests-cl-macrolet): Adjust to the fact that now macro expansion
takes place during the `eval-defun` even when Edebugging.
2021-02-19 12:08:00 -05:00
Glenn Morris
1d50050af7 Merge from origin/emacs-27
8e8b46ef81 (origin/emacs-27) More accurate documentation of the "r" i...
dcb2015a5b Mention the GNU Kind Communications Guidelines in the FAQ
9882e63eea ; * CONTRIBUTE: Another wording change regarding tiny chan...
850f18ef23 Allow newlines in password prompts again in comint
c977370dd7 Avoid point movement when visiting image files
da64a257a4 ; * CONTRIBUTE: Yet another clarification of significant c...
d03f2a6ee9 Avoid assertion violation in callproc.c
dcc00bbb19 ; * CONTRIBUTE: Clarify the "15-lines" rule a bit more.
2021-02-19 08:36:56 -08:00
Glenn Morris
51d056b141 ; Merge from origin/emacs-27
The following commit was skipped:

120149cf6a Clarify "changes" in CONTRIBUTE
2021-02-19 08:36:56 -08:00
Glenn Morris
07b22b6b5d Merge from origin/emacs-27
4712c75ab8 Clarify when activate-mark-hook is run
abedf3a865 Fix language-environment and font selection on MS-Windows
8b8708eadd Fix example in Sequence Functions node in the manual
2021-02-19 08:36:55 -08:00
Ulf Jasper
6830199984 Enable newsticker--group-shift-feed-(up|down) to move groups as well
Fix broken newsticker--group-shift-group-(up-down).

* lisp/net/newst-treeview.el (newsticker-treeview-jump): Change prompt
string.
(newsticker--group-shift): Move the group when a group is currently
selected. Fix error when explicitly shifting a group. (Fixes first
issue in Bug#41376.)
2021-02-19 17:07:36 +01:00
Eli Zaretskii
8e8b46ef81 More accurate documentation of the "r" interactive spec
* doc/lispref/commands.texi (Interactive Codes): Describe the
effect of 'mark-even-if-inactive'.
2021-02-19 15:16:31 +02:00
Mattias Engdegård
d4f6927d48 Fix regexp mistakes
* lisp/progmodes/cperl-mode.el (cperl--package-regexp):
Avoid double repetition; cperl--ws-or-comment-regexp is already
repeated with 1+.
* test/lisp/textmodes/dns-mode-tests.el
(dns-mode-tests-dns-mode-soa-increment-serial): Escape literal '$'.
* test/lisp/emacs-lisp/rx-tests.el (rx-regexp): Modify test to not
trigger a linting warning while retaining its testing power.
2021-02-19 13:44:25 +01:00
Stefan Kangas
dcb2015a5b Mention the GNU Kind Communications Guidelines in the FAQ
* doc/misc/efaq.texi (Guidelines for newsgroup postings): Mention
the GNU Kind Communications Guidelines.
2021-02-19 10:22:59 +01:00
Michael Albinus
ea2f5f3fda Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2021-02-19 10:03:32 +01:00
Michael Albinus
a9b49dc311 ; Fix indentation in test/README 2021-02-19 10:03:20 +01:00
Stefan Kangas
9b944f48c9 * lisp/calculator.el: Minor doc fix. Remove redundant :group args. 2021-02-19 09:36:11 +01:00
Stefan Kangas
87669400af ; * lisp/plstore.el: Fix formatting. 2021-02-19 09:36:11 +01:00