1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-17 04:12:44 -07:00
Commit graph

149293 commits

Author SHA1 Message Date
Andrea Corallo
9a64585c12 * Allow for logging async compilation command line
* lisp/emacs-lisp/comp.el (comp-run-async-workers): When non zero
	verbose log async compilation command line invocation.
2020-05-15 20:06:49 +01:00
Andrea Corallo
ff9e40e9fe * Add check_comp_unit_relocs
* src/comp.c (check_comp_unit_relocs): Add function to verify
	relocation coherency.
	(load_comp_unit): Call it.
2020-05-15 20:06:49 +01:00
Andrea Corallo
e351a12216 Sanity check on lambdas fixups
* src/pdumper.c (dump_do_dump_relocation): While fixing up lambda
	relocation verify placeholder coherency.

	* src/comp.c (syms_of_comp): Define symbol 'lambda-fixup'.

	* lisp/emacs-lisp/comp.el (comp-finalize-container): Leave a
	lambda-fixup as placeholder in the relocation as a sanity check.
2020-05-15 20:06:49 +01:00
Andrea Corallo
2b064c780c * Fix speed 2 bootstrap
(comp-call-optim-func): Do nothing if the function name is
	unknown.
2020-05-15 20:06:49 +01:00
Andrea Corallo
e5b24b85a2 * Native compiler test update
* test/src/comp-tests.el (comp-tests-lambda-return): Add a test
	verifying that the returned lambda is actually native compiled.
2020-05-15 20:06:49 +01:00
Andrea Corallo
27b80ae94c * Better Vcomp_sym_subr_c_name_h test function + doc
* src/comp.c (syms_of_comp): 'Vcomp_sym_subr_c_name_h' need only
	'eq' as test + fix doc for 'comp-sym-subr-c-name-h'.
2020-05-15 20:06:49 +01:00
Andrea Corallo
44b0ce6e38 Add anonymous lambdas reload mechanism
* src/pdumper.c (dump_do_dump_relocation): Initialize
	'lambda_gc_guard' while resurrecting.
	(dump_do_dump_relocation): Revive lambdas and fixup them.

	* src/comp.h (struct Lisp_Native_Comp_Unit): Define new
	'lambda_gc_guard' 'lambda_c_name_idx_h' 'data_imp_relocs'
	'loaded_once' fields.

	* src/comp.c (load_comp_unit): Use compilaiton unit 'loaded_once'
	field.
	(make_subr, Fcomp__register_lambda): New functions.
	(Fcomp__register_subr): Make use of 'make_subr'.
	(Fnative_elisp_load): Indent.
	(Fnative_elisp_load): Initialize 'lambda_gc_guard'
	'lambda_c_name_idx_h' fields.
	(syms_of_comp): Add Scomp__register_lambda.

	* lisp/emacs-lisp/comp.el (comp-ctxt): Change
	'byte-func-to-func-h' hash key test.
	(comp-ctxt): Add 'lambda-fixups-h' slot.
	(comp-emit-lambda-for-top-level): New function.
	(comp-finalize-relocs): Never emit lambdas in pure space.
	(comp-finalize-relocs): Fixup relocation indexes.
2020-05-15 20:06:49 +01:00
Stefan Monnier
b5ec24a4f1 * lisp/progmodes/xref.el: Fix first line syntax
(xref--find-ignores-arguments): Simplify.
2020-05-15 14:49:46 -04:00
Simen Heggestøyl
cde856bd6c Use lexical-binding in autoconf.el and add tests
* lisp/progmodes/autoconf.el: Use lexical-binding.

* test/lisp/progmodes/autoconf-tests.el: New file with tests for
autoconf.el.
2020-05-15 20:42:15 +02:00
Mattias Engdegård
60cd6cce55 Calc: GCD(0,x)=GCD(x,0)=|x|, not x (bug#41279)
Reported by David Ongaro.

* lisp/calc/calc-comb.el (calcFunc-gcd): Fix GCD simplification.
* test/lisp/calc/calc-tests.el (calc-gcd, calc-sum-gcd): New tests.
2020-05-15 20:15:36 +02:00
Stefan Kangas
b76cdd0c1a Delete libraries obsolete since 23.1 and 23.2
Emacs 23.2 was released 10 years ago.  old-whitespace.el has a
replacement in whitespace.el and is no longer relevant.  The other
libraries implement compatibility with Lucid Emacs, a modified version
of Emacs last released in the 1990s.

* lisp/obsolete/ledit.el:
* lisp/obsolete/lmenu.el:
* lisp/obsolete/lucid.el:
* lisp/obsolete/old-whitespace.el: Delete files.  These libraries have
been obsolete since Emacs 23.1 or 23.2.
* etc/NEWS: Announce their deletion.

* admin/authors.el (authors-ignored-files)
(authors-fixed-entries, authors-valid-file-names):
* lisp/emulation/viper.el (viper-mode):
* lisp/ffap.el (ffap-menu-ask): Remove references to deleted files.
2020-05-15 19:55:26 +02:00
João Távora
5d97d2683a ; Tweak version numbers in lisp/progmodes/xref.el
Hopefully this aids in getting the package correctly listed in GNU
ELPA.

* lisp/progmodes/xref.el (Version): Bump to 1.0.1
(Package-Requires): Require project 0.1.1.
2020-05-15 15:20:54 +01:00
Leo Vivier
e75f6be6cc Fix dired default file operation (bug#41261)
* lisp/dired-aux.el (dired-dwim-target-directories): Restore
pre-emacs-27 behavior of 'dired-dwim-target'.
2020-05-15 10:18:27 +03:00
Dmitry Gutov
779bc886f9 Improve detection of Git submodules
* lisp/progmodes/project.el (project-try-vc):
Improve detection of Git submodules
(https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02008.html).
2020-05-15 08:10:22 +03:00
Andrea Corallo
49f0331f53 * Render all immediates as comments at comp-debug > 2
* src/comp.c (emit_mvar_rval): No reason to emit only fixnums.
2020-05-14 21:50:32 +01:00
Andrea Corallo
6eb14daccf * Dump log and intemediate GCC IRs only at comp-debug 3
* src/comp.c (Fcomp__init_ctxt): Increase threshold for dumping
	really everything to 'comp-debug' 3.
2020-05-14 21:50:32 +01:00
Andrea Corallo
2ee2fb5a86 * Prune now unnecessary byte-code objects
* lisp/emacs-lisp/comp.el (comp-finalize-container): Prune
	byte-code that was lambdas.
	(comp-compile-ctxt-to-file): Remove fixme.
2020-05-14 21:50:32 +01:00
Andrea Corallo
c12831a6b6 * Rework comp-spill-lap-function
* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move code
	from to comp-intern-func-in-ctxt.
	(comp-intern-func-in-ctxt): New function, this guard
	in case byte-to-native-lambda-byte-func is nil.
2020-05-14 21:50:32 +01:00
Andrea Corallo
392a6f9bab * Split emit_const_lisp_obj logic
* src/comp.c (emit_lisp_obj_reloc_lval): New function.
	(emit_const_lisp_obj): Rename into 'emit_lisp_obj_rval' and strip
	logic for 'emit_lisp_obj_reloc_lval'.
	(emit_NILP, emit_CHECK_CONS, emit_mvar_rval, emit_set_internal)
	(define_CAR_CDR, define_bool_to_lisp_obj): Update for
	'emit_const_lisp_obj' being renamed.
2020-05-14 21:50:32 +01:00
Andrea Corallo
acf7e129ea * Rename emit_mvar_access -> emit_mvar_lval
* src/comp.c (emit_mvar_access): Rename into 'emit_mvar_lval'.
	(emit_mvar_rval, emit_frame_assignment): Update for
	'emit_mvar_access' rename.
2020-05-14 21:50:32 +01:00
Andrea Corallo
5bf685f17c * Rename emit_mvar_val -> emit_mvar_rval
* src/comp.c (emit_mvar_val): Rename into 'emit_mvar_rval'.
	(emit_set_internal, emit_simple_limple_call, emit_limple_insn)
	(emit_call_with_type_hint, emit_call2_with_type_hint)
	(emit_consp, emit_numperp, emit_integerp): Update for
	'emit_mvar_val' rename.
2020-05-14 21:50:31 +01:00
Andrea Corallo
3ab6a75667 * Indentation fix
* src/comp.c (Fcomp__init_ctxt, Fcomp__release_ctxt)
	(Fcomp__compile_ctxt_to_file, Fcomp__register_subr): Indentation
	fix.
2020-05-14 21:50:31 +01:00
Andrea Corallo
a335f7eeac Update spill LAP machinery and compile anonymous lambdas
* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Make use of
	byte-to-native-lambdas-h and update for 'byte-to-native-func-def'.
	(comp-spill-lap-function): Rework logic to retrive LAP using
	'byte-to-native-lambdas-h'.
	(comp-emit-for-top-level): Update for 'byte-to-native-function'.

	* lisp/emacs-lisp/bytecomp.el: Add commentary on new spill LAP
	mechanism.
	(byte-to-native-lambda, byte-to-native-func-def): New structures.
	(byte-to-native-top-level): Indent.
	(byte-to-native-lambdas-h): Update doc.
	(byte-compile-lapcode): Add a 'byte-to-native-lambda' instance
	into byte-to-native-lambdas-h instead of just LAP.
	(byte-compile-file-form-defmumble): Store into
	'byte-to-native-func-def' only the byte compiled function, the LAP
	will be retrived through 'byte-to-native-lambdas-h'.
	(byte-compile-lambda): Return the byte compiled function.
2020-05-14 21:50:31 +01:00
Tino Calancha
065f6a1d8b ; Fix warning in last change
* lisp/arc-mode.el (archive--summarize-descs):
Use file-modes-number-to-symbolic.
2020-05-14 22:06:22 +02:00
Philipp Stephani
406fb0746c Fix documentation related to 'command-switch-alist'.
While there, add a unit test to verify the behavior.

* doc/lispref/os.texi (Command-Line Arguments): Fix documentation: the
option string in 'command-switch-alist' does include leading hyphens.
Also mention that 'command-switch-alist' parsing ignores equals signs
in options.

* test/lisp/startup-tests.el
(startup-tests/command-switch-alist): New unit test.
2020-05-14 19:29:14 +02:00
Tino Calancha
3a284e5786 Combine archive-int-to-mode and tar-grind-file-mode
Add a new function, file-modes-number-to-symbolic.
Make archive-int-to-mode and obsolete alias of it; use it
to define tar-grind-file-mode (Bug#27952).

* lisp/files.el (file-modes-number-to-symbolic): New defun.
* lisp/arc-mode.el (archive-int-to-mode): Make it an obsolete alias.
* lisp/tar-mode.el (tar-grind-file-mode):
Use file-modes-number-to-symbolic.

* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
Update test.

* test/lisp/files-tests.el (files-tests-file-modes-symbolic-to-number)
(files-tests-file-modes-number-to-symbolic): New tests.

* doc/lispref/files.texi (Changing Files): Document the new funtion.
* etc/NEWS (Lisp Changes in Emacs 28.1): Announce it.
2020-05-14 18:43:15 +02:00
Mattias Engdegård
4af8b17149 Fix customisation of mouse-drag-and-drop-region (bug#41251)
Reported by David Ponce.

* lisp/mouse.el (mouse-drag-and-drop-region): Add missing unquote.
2020-05-14 12:23:23 +02:00
Mattias Engdegård
1d559581b3 Calc: fix LU decomposition for non-numeric matrices (bug#41223)
Computing determinant and inverse for on some matrices containing
non-numeric elements failed or gave the wrong result.
Reported by Mauro Aranda.

* lisp/calc/calc-mtx.el (math-do-matrix-lud): Don't use zero as pivot.
* test/lisp/calc/calc-tests.el (calc-matrix-determinant): New test.
2020-05-14 10:28:51 +02:00
Andrea Corallo
28df049b8d * test/src/comp-tests.el (comp-tests-bootstrap): Fix test. 2020-05-14 07:14:27 +01:00
Andrea Corallo
3bcb79fdcd Merge remote-tracking branch 'savannah/master' into HEAD 2020-05-14 07:14:23 +01:00
Stefan Kangas
a4671733b7 ; Fix warning after last change in cal-julian.el
* lisp/calendar/cal-julian.el (diary-julian-date)
(diary-astro-day-number): Silence byte-compiler warning about variable
'declared after its first use'.
2020-05-14 01:30:36 +02:00
Simon Lang
747e0a2523 Improve ediff readability in misterioso theme (Bug#41221)
* etc/themes/misterioso-theme.el: Add ediff faces.

Copyright-paperwork-exempt: yes
2020-05-13 19:41:08 +02:00
Clément Pit-Claudel
48830c73e7 Fix a crash in handle_display_spec
* src/xdisp.c (handle_display_spec): Check that the cdr of the
disable-eval spec is a cons before taking its car.  (Bug#41232)
2020-05-13 18:53:25 +03:00
Michael Albinus
f8a9edce73 Fix some oddities, uncovered by Tramp tests
* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Prevent crash for
older Emacsen.

* lisp/net/tramp.el (tramp-process-running-p): Simplify.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
(tramp-test33-environment-variables): Unset "INSIDE_EMACS" initially.
2020-05-13 14:11:18 +02:00
João Távora
9ebf51999c Turn Eldoc, Xref and Project into GNU ELPA :core packages
The new packages state they require Emacs 26.3 to function, but a
small part of project.el breaks this "soft" rule: the two functions
requiring fileloop.el are incompatible with Emacs 26.3.

* lisp/jsonrpc.el: Tweak comment near Package-Requires.

* lisp/emacs-lisp/eldoc.el: Add Version and Package-Requires.

* lisp/progmodes/flymake.el: Add comment near Package-Requires.

* lisp/progmodes/project.el: Add Version and Package-Requires.

* lisp/progmodes/xref.el: Add Version and Package-Requires.
2020-05-13 11:31:35 +01:00
Stefan Kangas
ac298baa0e Use lexical-binding in t-mouse.el
* lisp/t-mouse.el: Use lexical-binding.
2020-05-13 12:13:52 +02:00
Martin Rudalics
a37290a6f9 In x_hide_tip reset tip_last_frame for GTK+ tooltips only (Bug#41200)
* src/xfns.c (x_hide_tip): Reset tip_last_frame only when
using GTK+ system tooltips (Bug#41200).
2020-05-13 10:31:50 +02:00
Basil L. Contovounesios
41e6682eb6 ; Fix warning in last change
* lisp/play/animate.el (animate-place-char): Silence 'unused lexical
variable' warning.
2020-05-13 03:03:17 +01:00
Stefan Kangas
e420910eb6 Use lexical-binding in animate.el and add tests
* lisp/play/animate.el: Use lexical-binding.
* test/lisp/play/animate-tests.el: New file.
2020-05-13 02:06:03 +02:00
Stefan Kangas
60c9a53429 Use lexical-binding in dissociate.el and add tests
* lisp/play/dissociate.el: Use lexical-binding.
* test/lisp/play/dissociate-tests.el: New file.
2020-05-13 02:05:18 +02:00
Stefan Kangas
cf45349589 Use lexical-binding in cal-julian.el and add tests
* lisp/calendar/cal-julian.el: Use lexical-binding.
* test/lisp/calendar/cal-julian-tests.el: New file.
2020-05-13 01:34:22 +02:00
Paul Eggert
a87cd10935 Use proper digraphs in Bahá’í month names
* lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
There doesn’t seem to be any disagreement in the sources I
consulted that “Mas͟híyyat” and “S͟haraf” both need an “s͟h” digraph
instead of plain “sh”.
2020-05-12 15:20:23 -07:00
Stefan Monnier
45fa5e9724 * lisp/emacs-lisp/syntax.el: Fix bug#41195
Allow use of `syntax-ppss-flush-cache` in `syntax-propertize-function`.

(syntax-propertize--inhibit-flush): New var.
(syntax-propertize): Bind it.
(syntax-ppss-flush-cache): Test it.
2020-05-12 16:52:11 -04:00
Michael Heerdegen
3b170f04f4 Revert "Inhibit modification hooks when saving eieio-persistent's"
This reverts commit c59e878439.
2020-05-12 21:06:22 +02:00
João Távora
3d81995692 Fix docstring of flymake-make-diagnostic (bug#40351)
* lisp/progmodes/flymake.el (flymake-make-diagnostic): Fix docstring
2020-05-12 19:34:31 +01:00
Stefan Kangas
e6837016b0 Support sorting timer-list-mode by column (Bug#40854)
* lisp/emacs-lisp/timer-list.el (timer-list-mode)
(timer-list--idle-predicate, timer-list--next-predicate)
(timer-list--repeat-predicate)
(timer-list--function-predicate): Add support for sorting by column.
2020-05-12 19:10:20 +02:00
Stefan Kangas
ee5c5daad5 Base timer-list-mode on tabulated-list-mode (Bug#40854)
* lisp/emacs-lisp/timer-list.el (list-timers)
(timer-list-mode): Inherit from 'tabulated-list-mode' instead of
'special-mode' and make the necessary changes to support that.

* doc/lispref/os.texi (Timers): Update documentation.
2020-05-12 19:10:03 +02:00
Glenn Morris
a2792ad54c Suppress test failure on hydra.nixos.org
* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
Attempt to suppress hydra oddity.
2020-05-12 09:34:46 -07:00
Paul Eggert
4645430b92 Pacify GCC 10.1.0
Pacify GCC 10.1.0 so that it does not issue false alarms
when Emacs is configured with --enable-gcc-warnings.
* src/dispnew.c (clear_glyph_row):
* src/fns.c (hash_clear):
* src/keyboard.c (append_tab_bar_item):
* src/lisp.h (vcopy):
* src/xfaces.c (get_lface_attributes_no_remap)
(Finternal_copy_lisp_face, realize_default_face):
* src/xmenu.c (set_frame_menubar):
Work around -Warray-bounds false alarm in GCC 10.1.0.
* src/intervals.c (copy_properties):
Avoid -Wnull-dereference false alarm in GCC 10.1.0.
* src/lisp.h (xvector_contents_addr, xvector_contents):
New functions, useful for working around GCC bug 95072.
2020-05-11 17:54:24 -07:00
Paul Eggert
00f0ad55cd Update from gnulib
This incorporates:
2020-05-11 careadlinkat: fix GCC 10 workaround
2020-05-10 careadlinkat: limit GCC workaround
2020-05-10 attribute: clarify list of attributes
2020-05-10 string: fix compilation error in C++ mode
2020-05-09 manywarnings: port to GCC 10.1
2020-05-09 careadlinkat: pacify -Wreturn-local-addr
2020-05-09 attribute: remove ATTRIBUTE_DEPRECATED
2020-05-09 attribute: Add comments
* lib/attribute.h, lib/careadlinkat.c, lib/string.in.h:
* lib/warn-on-use.h, m4/manywarnings.m4: Copy from Gnulib.
2020-05-11 17:54:23 -07:00