1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-10 09:43:26 -08:00
Commit graph

142383 commits

Author SHA1 Message Date
Andrea Corallo
5e8cdca71a * src/comp.h (struct Lisp_Native_Comp_Unit): Fix missing GCALIGNED_STRUCT. 2020-06-08 22:42:31 +01:00
Andrea Corallo
f2864e3354 Rename lambda_gc_guard -> lambda_gc_guard_h
* src/comp.h (struct Lisp_Native_Comp_Unit): Rename
	lambda_gc_guard -> lambda_gc_guard_h

	* src/pdumper.c (dump_do_dump_relocation): Likewise.

	* src/comp.c (check_comp_unit_relocs, Fcomp__register_lambda)
	(Fnative_elisp_load): Likewise.
2020-06-08 22:36:13 +01:00
Andrea Corallo
4784bcc96b * Fix load logic for the reloading CU case (bug#41754)
* src/comp.c (load_comp_unit): When swapping the compilation unit
	abandoning the new one for the original do not forget to set its
	loaded_once field to true because is in use by
	`comp--register-lambda'.
	(Fcomp__register_lambda): Add sanity a check to spot
	early if we are trying to load the same lambda twice.
2020-06-08 21:51:24 +01:00
Andrea Corallo
3d3737b90a * Move final log after containers has been finalized
* lisp/emacs-lisp/comp.el (comp-final): Remove function log.
	(comp-compile-ctxt-to-file): Add function log.
2020-06-08 21:51:24 +01:00
Andrea Corallo
dfa52572bd * src/pdumper.c (dump_do_dump_relocation): Fix 'lambda_gc_guard' fill value.
Given 'lambda_gc_guard' is in use for sanity checking fill it with t
as value.
2020-06-08 21:51:24 +01:00
Andrea Corallo
3d576c784b Merge remote-tracking branch 'savannah/master' into dev 2020-06-07 20:08:54 +02:00
Andrea Corallo
53fba73ff2 * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add `make-byte-code'.
`make-byte-code' wraps `vector' doing some sanity check on the input
arguments.  `vector' is in side-effect-and-error-free-fns so add
`make-byte-code' to side-effect-free-fns.
2020-06-07 19:49:43 +02:00
Glenn Morris
e42e98ec0b * test/lisp/net/tramp-tests.el: tramp-crypt-file-name-p not autoloaded. 2020-06-07 10:37:57 -07:00
Andrea Corallo
fbf4882a8b * Rename comp-function-optimizable -> comp-function-optimizable-p
* lisp/emacs-lisp/comp.el (comp-function-optimizable): Rename into
	'comp-function-optimizable-p'.
	(comp-function-call-maybe-remove): Use the new name.
2020-06-07 19:20:04 +02:00
Andrea Corallo
88ccee4083 * Fix comp-call-optim-form-call for null `callee'
* lisp/emacs-lisp/comp.el (comp-call-optim-form-call): Guard
	agains null `calle'.
2020-06-07 19:20:04 +02:00
Glenn Morris
fa6d56529f Merge from origin/emacs-27
35661ef943 (origin/emacs-27) Fix typo in "(elisp) Type Keywords"
1af0e95fec Gnus nnir-summary-line-format has no effect
dd366b5d3b Improve documentation of 'window-text-pixel-size'
fbd49f969e * src/xdisp.c (Fwindow_text_pixel_size): Doc fix.  (Bug#41...
d8593fd19f Minor improvements to EDE and EIEIO manuals
3916e63f9e Have Fido mode also imitate Ido mode in ignore-case options
cc35b197c7 Update package-menu-quick-help
bf09106256 Improve documentation of 'sort-subr'
73749efa13 Update Ukrainian transliteration
30a7ee505a Fix Arabic shaping when eww/shr fill the text to be rendered
7d323f07c0 Silence some byte-compiler warnings in tests
cf473e742f * test/lisp/battery-tests.el: New file.
b07e3b1d97 Improve format-spec documentation (bug#41571)

# Conflicts:
#	test/lisp/emacs-lisp/package-tests.el
2020-06-07 09:03:59 -07:00
Basil L. Contovounesios
35661ef943 Fix typo in "(elisp) Type Keywords"
* doc/lispref/customize.texi (Type Keywords): Fix typo of 'choice'
composite type.  (Bug#41749)
2020-06-07 16:46:12 +01:00
Alan Mackenzie
6cb557e7a5 * lisp/progmodes/js.el (js-mode): Remove second call to c-init-language-vars
This spurious second call fouled up already set configuration variables.
Fixes bug #41649.
2020-06-07 15:14:15 +00:00
Andrea Corallo
47a6fbd382 * Improve propagate pass
As function folding can generate 'setimm' insns handle them in the
`comp-propagate-insn'.

	* lisp/emacs-lisp/comp.el (comp-propagate-insn): Handle 'setimm'
	insn.
2020-06-07 16:59:23 +02:00
Michael Albinus
a6b0e7202d Add file encryption to Tramp
* lisp/net/tramp-crypt.el: New file.

* lisp/net/tramp.el (tramp-run-real-handler):
Add `tramp-crypt-file-name-handler'.
(tramp-register-file-name-handlers):
Call `tramp-register-crypt-file-name-handler'.
(tramp-handle-insert-file-contents, tramp-local-host-p): Check for
`tramp-crypt-enabled'

* test/lisp/net/tramp-tests.el (tramp--test-crypt-p): New defun.
(tramp-test24-file-acl, tramp-test25-file-selinux)
(tramp-test28-process-file, tramp-test29-start-file-process)
(tramp-test30-make-process, tramp-test31-interrupt-process)
(tramp-test32-shell-command)
(tramp-test32-shell-command-dont-erase-buffer)
(tramp-test33-environment-variables)
(tramp-test33-environment-variables-and-port-numbers)
(tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
(tramp-test35-remote-path, tramp-test36-vc-registered)
(tramp--test-check-files, tramp-test43-asynchronous-requests): Use it.
2020-06-07 16:57:32 +02:00
Michael Albinus
54e840a8b4 Tramp code cleanup
* lisp/net/tramp-cache.el (tramp-get-connection-property): Cleanup.

* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Delete also
connection processes.

* lisp/net/tramp-sh.el (tramp-set-remote-path): Cache 4096 even if
PIPE_BUF doesn't exist.
2020-06-07 16:56:59 +02:00
Mattias Engdegård
9fc935f122 Use 65535 as color-values scale value in the NS backend
* src/nsfns.m (Fxw_color_values): Scale with 65535 instead of 65280, for
uniformity with other backends.
* lisp/faces.el (color-values): Update doc string.
* doc/lispref/frames.texi (Color Names): Update examples.
2020-06-07 10:37:27 +02:00
Andrea Corallo
a58fef9f63 * Optimize optimizable variables
* lisp/emacs-lisp/comp.el (comp-symbol-values-optimizable): New
	defconst.
	(comp-function-call-maybe-remove): New logic to to remove
	unnecessary `symbol-value' calls.
2020-06-07 10:36:58 +02:00
Tassilo Horn
1af0e95fec Gnus nnir-summary-line-format has no effect
* lisp/gnus/nnir.el (nnir-mode): Update summary format specs if
nnir-summary-line-format is set and different from
gnus-summary-line-format.
(nnir-open-server): Run nnir-mode in gnus-summary-generate-hook
instead of gnus-summary-prepared-hook.
2020-06-07 10:01:41 +02:00
Juri Linkov
788cd6d8b9 The key prefix 'C-x t t' displays next command buffer in a new tab (bug#41691)
* lisp/tab-bar.el (other-tab-prefix): New command.
(tab-prefix-map): Bind key 'C-x t t' to other-tab-prefix.

* lisp/windmove.el (windmove-display-in-direction):
Use display-buffer-override-next-command.

* lisp/window.el (display-buffer-override-next-command):
New function refactored from windmove-display-in-direction.
2020-06-07 02:42:24 +03:00
Andrea Corallo
489a79de96 * Mitigate possible speed 3 miss-optimization
Do not perform trampoline optimization at speed 3 on function if their
name is not unique inside the compilation unit.  Note that the
function can still be redefined in any other way therefore this is a
mitigation.

	* lisp/emacs-lisp/comp.el (comp-func-unique-in-cu-p): New
	predicate.
	(comp-call-optim-form-call): Perform trampoline optimization
	for named functions only if they are unique within the current
	compilation unit.
2020-06-06 22:03:11 +01:00
Andrea Corallo
dcfcbb14f5 * Allow for optimizing anonymous lambdas in call-optim
* lisp/emacs-lisp/comp.el (comp-func-in-unit): New function.
	(comp-call-optim-form-call): Update logic for optimizing
	anonymous lambdas.
2020-06-06 22:03:11 +01:00
Andrea Corallo
6449a058b1 * Clean-up unnecessary lisp_X context definition
* src/comp.c (Fcomp__init_ctxt, comp_t): Remove lisp_X
	definition as is used only locally.
2020-06-06 22:03:11 +01:00
Andrea Corallo
e8ab017b6d Change 'direct-call' 'direct-callref' LIMPLE ops sematinc
Is cleaner to have the function c-name as first argument of
'direct-call' 'direct-callref'.  This is preparatory to anonymous
lambdas optimization.

	* lisp/emacs-lisp/comp.el (comp-propagate-insn): Use c-name when
	gathering the comp-func definition for direct calls.
	(comp-call-optim-form-call): Add put c-name as first argument of
	direct-call direct-callref when optimizing.

	* src/comp.c (emit_call): Update logic for having c-name as
	first arg of direct calls.
	(emit_call_ref): Rename 'subr_sym' into 'func'.
2020-06-06 22:03:11 +01:00
Nicolás Bértolo
e38678b268 Reduce the number of files probed when finding a lisp file.
* src/lread.c (get-load-suffixes): Do not add any suffix to files that
need to be loaded by the dynamic linker.
(effective_load_path): Remove function.
(load): Don't add any suffix if file ends in a suffix already.
(effective_load_path): Remove function.
(openp_add_middle_dir_to_suffixes): Add helper function to create
pairs of middle directories and suffixes.
(openp_max_middledir_and_suffix_len): Add helper function to count the
number of bytes needed to store the middle directory and suffix.
(openp_fill_filename_buffer): Add helper function to copy middle
directory, basename and suffix to the filename buffer.
2020-06-06 21:52:20 +02:00
Andrea Corallo
ee3df1483a Merge remote-tracking branch 'savannah/master' into HEAD 2020-06-06 21:52:00 +02:00
Paul Eggert
7ac79872ae make-text-button no longer modifies its string arg
* etc/NEWS: Mention this.
* lisp/apropos.el (apropos-library-button):
* lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning):
There’s no longer a need copy make-text-button’s string arg.
* lisp/button.el (make-text-button): Return a copy of a string arg.
Delay making the copy until after error-checking.
2020-06-06 12:07:30 -07:00
Eli Zaretskii
dd366b5d3b Improve documentation of 'window-text-pixel-size'
* doc/lispref/display.texi (Size of Displayed Text): Clarify the
description of 'window-text-pixel-size'.
2020-06-06 20:10:37 +03:00
Eli Zaretskii
fbd49f969e * src/xdisp.c (Fwindow_text_pixel_size): Doc fix. (Bug#41737) 2020-06-06 19:53:08 +03:00
Basil L. Contovounesios
8bcc781bc7 Un-deprecate oset and oset-default
For discussion see the following threads:
https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00630.html
https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00674.html
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00099.html

* lisp/emacs-lisp/eieio.el (oset, oset-default): Un-deprecate.
* lisp/emacs-lisp/eieio-core.el (eieio-oref): Declare gv-setter here
instead of in lisp/emacs-lisp/eieio.el.  Suggested by
Stefan Monnier <monnier@iro.umontreal.ca>.
(eieio-oref-default): Add gv-setter declaration.
* etc/NEWS: Announce these changes.
* doc/misc/eieio.texi (Accessing Slots): Document oref and
oref-default as generalized variables.  Consistently document
getters before setters.
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Use
lexical-binding.
(eieio-test-13-init-methods): Simplify.
(eieio-test-33-instance-tracker): Declare IT-list as special.
2020-06-06 17:24:00 +01:00
Basil L. Contovounesios
d8593fd19f Minor improvements to EDE and EIEIO manuals
For discussion, see the following threads:
https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00630.html
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00099.html

* doc/misc/ede.texi (ede-generic-project): Clean up example.
* doc/misc/eieio.texi (Accessing Slots): Document slot-value as a
generalized variable and set-slot-value as obsolete.
(Predicates): Fix typo.
(Introspection): Document eieio-class-slots in place of the obsolete
object-slots.
2020-06-06 16:35:52 +01:00
Andrea Corallo
385d9e6974 Some fixes for --without-nativecomp config
* src/pdumper.c (dump_subr): Do not add RELOC_NATIVE_SUBR for
	VERY_LATE_RELOCS in --without-nativecomp.
	(dump_do_dump_relocation): Add a sanity check that no
	RELOC_NATIVE_SUBR exists in --without-nativecomp.

	* src/lread.c (Fload): As Fnative_elisp_load is not defined
	in --without-nativecomp so ifdef this block.
2020-06-06 13:06:29 +01:00
Ellington Santos
acd2cb28ef Improve battery status display via GNU/Linux sysfs
* lisp/battery.el (battery-linux-sysfs): Support %b format.
Improve the display of %p.  (Bug#41542)

Copyright-paperwork-exempt: yes
2020-06-06 10:56:27 +03:00
João Távora
3916e63f9e Have Fido mode also imitate Ido mode in ignore-case options
Suggested by Sean Whitton <spwhitton@spwhitton.name>.

* lisp/icomplete.el (icomplete--fido-mode-setup): Set ignore-case
options.
2020-06-05 23:38:21 +01:00
Basil L. Contovounesios
cc35b197c7 Update package-menu-quick-help
* lisp/emacs-lisp/package.el (package--quick-help-keys): Filtering
is now bound to the prefix '/', not the key 'f' (bug#41721).
Advertise only the standard 'g' binding now that both it and 'r' are
bound to revert-buffer (bug#35504).
(package--prettify-quick-help-key): Avoid modifying string literals.
(package-menu-filter): Reintroduce as obsolete alias of
package-menu-filter-by-keyword for backward
compatibility (bug#36981).
2020-06-05 19:06:00 +01:00
Pip Cet
a984f39554 Avoid zero-width glyphs and the resulting cursor artifacts
* src/xdisp.c (fill_gstring_glyph_string): Handle unavailable glyphs.
(append_composite_glyph): Mark unavailable glyphs.
(gui_produce_glyphs): Make glyphs unavailable for zero-width
compositions.  (Bug#41645)
2020-06-05 13:13:48 +00:00
Eli Zaretskii
bf09106256 Improve documentation of 'sort-subr'
* doc/lispref/text.texi (Sorting): Clarify the meaning and use of
PREDICATE argument to 'sort-subr'.  (Bug#41706)
2020-06-05 11:30:03 +03:00
Andrii Kolomoiets
73749efa13 Update Ukrainian transliteration
* lisp/language/cyril-util.el (standard-display-cyrillic-translit):
Add missing letter "ґ"; tweak letter "г".  (Bug#41683)
2020-06-05 11:08:28 +03:00
Eli Zaretskii
30a7ee505a Fix Arabic shaping when eww/shr fill the text to be rendered
* src/hbfont.c (hbfont_shape): Don't use DIRECTION if the current
buffer has bidi reordering disabled.  (Bug#41005)
2020-06-05 10:56:01 +03:00
Paul Eggert
8ee367fe86 Streamline live_*_holding
(live_string_holding, live_cons_holding, live_symbol_holding)
(live_float_p, live_vector_holding):
Assert that m->type is correct, instead of testing this at
runtime.  All callers changed.
(live_large_vector_holding, live_small_vector_holding):
Now two functions instead of the old live_vector_holding.
All callers changed.
(live_large_vector_p, live_small_vector_p):
Now two functions instead of the old live_vector_p.
All callers changed.
(mark_maybe_object): Ignore Lisp_Type_Unused0 quickly too,
since that cannot possibly be an object.
(CHECK_LIVE, CHECK_ALLOCATED_AND_LIVE):
New arg MEM_TYPE.  All callers changed.
(CHECK_ALLOCATED_AND_LIVE_SYMBOL): Simplify by combining
GC_CHECK_MARKED_OBJECTS code.
2020-06-04 22:08:43 -07:00
Paul Eggert
4dcf8f2205 Make live_*_p more accurate
* src/alloc.c (live_string_holding, live_cons_holding)
(live_symbol_holding, live_vector_holding):
Return a C pointer, not a Lisp_Object.  All callers changed.
This helps the compiler a bit.
(live_string_p, live_cons_p, live_symbol_p, live_vector_p):
Require that P point directly at the object, rather than
somewhere within the object.  This fixes some false positives
with valid_lisp_object_p (used only in debugging).
(mark_maybe_object): Rely on the new accuracy.
2020-06-04 22:08:43 -07:00
Basil L. Contovounesios
f51f963478 Fix some side-effecting uses of make-text-button
For discussion, see the following thread:
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00117.html

* lisp/apropos.el (apropos-library-button):
* lisp/help-fns.el (help-fns--first-release): Return result of
make-text-button instead of relying on its side effects.
* lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning): Avoid
modifying an immutable string.
2020-06-04 23:30:34 +01:00
Juri Linkov
25390b28c4 * lisp/dired.el (dired-toggle-marks): Use region for non-nil dired-mark-region
(dired-mark--region-use-p, dired-mark--region-beginning)
(dired-mark--region-end): New internal functions.
(dired-mark-if): Use new functions.  (Bug#39902)
2020-06-05 01:17:30 +03:00
Simen Heggestøyl
f4568bac56 Change default project list filename to "projects"
* lisp/progmodes/project.el (project-list-file): Change the default
filename to "projects".
2020-06-04 20:16:54 +02:00
Simen Heggestøyl
e7fb0a48a6 Use characters for keys in project-switch-commands
* lisp/progmodes/project.el (project-switch-commands): Use
characters for keys instead of string for better future
compatibility with 'read-multiple-choice'.
(project-switch-project): Adjust to above change.
2020-06-04 20:14:02 +02:00
Simen Heggestøyl
b41be0ee83 ; Small cleanup in project.el
* lisp/progmodes/project.el (project--add-to-project-list-front):
Minor simplification after recent changes.
2020-06-04 20:11:58 +02:00
Stefan Monnier
cdadb7a97c * lisp/font-lock.el (font-lock--syntax-table-affects-ppss): New var
This tries to make `font-lock-syntax-table` work correctly even when
it changes the parsing of strings and comments, as was the case in
`font-latex.el`.

We should probably deprecate the use of `font-lock-syntax-table` since
the present fix is still not 100% and since it comes with performance
problems in large files.

(font-lock-set-defaults): Set it.
(font-lock-fontify-syntactically-region): Don't use `syntax-ppss`
when we think that `font-lock-syntax-table` would interfere.
2020-06-04 09:58:22 -04:00
Andrea Corallo
5684b3420d * Fix build for --enable-check-lisp-object-type=yes (bug#41703)
* src/comp.c (emit_coerce): Add missing declaration.
2020-06-04 11:02:51 +01:00
Andrea Corallo
f5ea65b436 Merge remote-tracking branch 'savannah/master' into HEAD 2020-06-04 10:33:07 +01:00
Mattias Engdegård
4fff650236 ; * test/src/xfaces-tests.el (xfaces-color-distance): Fix bug id 2020-06-04 10:56:20 +02:00