1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-03 04:21:28 -08:00
Commit graph

76111 commits

Author SHA1 Message Date
Andrea Corallo
f5ba60defb * lisp/emacs-lisp/comp.el (comp-num-cpus): Fix definition.
Introduced by 2aec16ab75.
2020-05-19 08:43:38 +01:00
Andrea Corallo
2aec16ab75 * Pacify with the byte-compiler
* lisp/emacs-lisp/comp.el (comp-num-cpus): New special variable.
	(comp-effective-async-max-jobs): Make use of `comp-num-cpus'.
	(comp-call-optim-form-call): Remove unnecessary parameter.
	(comp-call-optim-func): Reflect `comp-call-optim-form-call'
	parameter removal.
2020-05-18 21:04:36 +01:00
Andrea Corallo
2ac6194585 * Add new customize `comp-async-env-modifier-form' (Bug#40838)
* lisp/emacs-lisp/comp.el (comp-async-env-modifier-form): New
	customize.
	(comp-run-async-workers): Make use of `comp-async-env-modifier-form'.
2020-05-18 21:04:36 +01:00
Andrea Corallo
6d850b50c5 * Make the Evil happy (Bug#41374)
* lisp/emacs-lisp/comp.el (comp-never-optimize-functions):
	Blacklist all primitives advised by evil-mode from trampoline
	optimization.
	(comp-call-optim-form-call): Prevent trampoline optimization for
	recursive calls at speed 2 to respect elisp original semantic.
2020-05-18 19:19:05 +01:00
Andrea Corallo
cd4ef52c86 Merge remote-tracking branch 'savannah/master' into HEAD 2020-05-17 22:49:02 +01:00
Stefan Kangas
a8f24a89d7 Fix minor issues with mouse-drag-and-drop-region-show-tooltip
* lisp/mouse.el (mouse-drag-and-drop-region-show-tooltip): Fix
defcustom type to allow all valid values.  Suggested by David
Ponce.  (Bug#41351)
(mouse-drag-and-drop-region): Fix bug where setting
`drag-and-drop-region-show-tooltip' to 0 would still show a
tooltip.
2020-05-17 15:49:25 +02:00
Paul Eggert
313955110b Don’t attempt to modify constant strings
* lisp/bookmark.el (bookmark-bmenu-set-header):
Use copy-sequence instead of concat, for clarity.
Also, the byte-compiler optimizes (concat "a" "b") into "ab".
* lisp/button.el (make-text-button):
* test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
* test/lisp/password-cache-tests.el:
(password-cache-tests-add-and-remove)
(password-cache-tests-read-from-cache)
(password-cache-tests-in-cache-p, password-cache-tests-read)
(password-cache-tests-reset)
(password-cache-tests-add/expires-key)
(password-cache-tests-no-password-cache):
Don’t attempt to modify constant strings.
* lisp/progmodes/elisp-mode.el (elisp--xref-format)
(elisp--xref-format-extra):
Don’t attempt to modify constant strings via put-text-property.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-across-ref):
Don’t attempt to modify constant vectors or strings.
2020-05-16 22:25:07 -07:00
Dmitry Gutov
1fc4e3fb3f ; Bump the project.el version to trigger a new release 2020-05-17 05:01:09 +03:00
Paul Eggert
c7bc28bf03 Don’t attempt to modify constant conses
From a patch privately suggested by Mattias Engdegård on 2020-05-11
in a followup to Bug#40671.
* admin/charsets/cp51932.awk:
* admin/charsets/eucjp-ms.awk:
Generate code that does not modify constant conses.
* doc/misc/emacs-mime.texi (Encoding Customization):
* lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-free-ops):
* lisp/frameset.el (frameset-persistent-filter-alist):
* lisp/gnus/gnus-sum.el (gnus-article-mode-line-format-alist):
Use append instead of nconc.
* lisp/language/japanese.el (japanese-ucs-cp932-to-jis-map)
(jisx0213-to-unicode):
Use mapcar instead of mapc.
* lisp/language/lao-util.el (lao-transcription-consonant-alist)
(lao-transcription-vowel-alist):
* lisp/language/tibetan.el (tibetan-subjoined-transcription-alist):
Use copy-sequence.
* test/src/fns-tests.el (fns-tests-nreverse):
(fns-tests-sort, fns-tests-collate-sort)
(fns-tests-string-version-lessp, fns-tests-mapcan):
Use copy-sequence, vector, and list.
2020-05-16 17:05:37 -07:00
Glenn Morris
788c2480f4 Merge from origin/emacs-27
b4937f64cd (origin/emacs-27) Improve documentation of manually instal...
efd4e973a4 Reflect the emacs-devel ELPA/MELPA dispute in FAQ
28541674cd Consider face inheritance when checking region face backgr...
e75f6be6cc Fix dired default file operation (bug#41261)
406fb0746c Fix documentation related to 'command-switch-alist'.
747e0a2523 Improve ediff readability in misterioso theme (Bug#41221)
48830c73e7 Fix a crash in handle_display_spec
a37290a6f9 In x_hide_tip reset tip_last_frame for GTK+ tooltips only ...
3d81995692 Fix docstring of flymake-make-diagnostic (bug#40351)
632aa9d57a Go back to “Bahá’í”
e2406ff60f * lisp/dired.el (dired-toggle-marks): Doc fix.  (Bug#41097)

# Conflicts:
#	doc/emacs/building.texi
2020-05-16 10:29:14 -07:00
Stefan Kangas
a67415a71a Remove stale comments
* lisp/printing.el (pr-create-interface):
* lisp/progmodes/ebnf2ps.el (ebnf-eps-filename, ebnf-trim-right):
Remove old comments about Emacs 21/22 compatibility.
2020-05-16 17:48:36 +02:00
Stefan Kangas
7f690a4bf1 Remove some compat code from CEDET
* lisp/cedet/data-debug.el (data-debug-overlay-properties)
(data-debug-overlay-p, dd-propertize):
Redefine as obsolete function aliases.
(data-debug-insert-overlay-props, data-debug-insert-hash-table)
(data-debug-insert-hash-table-button)
(data-debug-insert-widget-properties, data-debug-insert-widget)
(data-debug-insert-symbol-from-point)
(data-debug-insert-symbol-button, data-debug-insert-string)
(data-debug-insert-number, data-debug-thing-alist):
Don't use obsolete names.
2020-05-16 17:43:30 +02:00
Stefan Kangas
d1545e2a03 Remove Emacs 22 compat code from abbrev.el
* lisp/abbrev.el (write-abbrev-file): Remove Emacs 22
compatibility code.
2020-05-16 17:43:30 +02:00
Stefan Kangas
e07a751e08 ; * lisp/htmlfontify.el: Minor fix in file headers. 2020-05-16 17:42:49 +02:00
Stefan Kangas
21b7165473 Remove Emacs 22 compat code from ediff-vers.el
* lisp/vc/ediff-vers.el (ediff-vc-revision-other-window)
(ediff-vc-working-revision): Redefine Emacs 22 compatibility
aliases as obsolete function aliases.
(ediff-vc-internal, ediff-vc-merge-internal): Don't use the now
obsolete aliases.
2020-05-16 15:41:29 +02:00
Stefan Kangas
436809b705 Remove some XEmacs compat code from semantic
* lisp/cedet/semantic/wisent/comp.el (wisent-ISVALID-TOKEN)
(wisent-parse-nonterminals):
* lisp/cedet/semantic/wisent/wisent.el
(wisent-item-to-string): Remove XEmacs compatibility code.
(wisent-char-p): Redefine as obsolete function alias for
'characterp'.
2020-05-16 15:41:29 +02:00
Stefan Monnier
5ab12a4b1b * lisp/textmodes/bibtex.el: Fix bug#41285 (paren typo) 2020-05-16 09:08:27 -04:00
Michael Albinus
bbbab82a71 Introduce process-file-return-signal-string
* doc/lispref/processes.texi (Synchronous Processes):
Describe `process-file-return-signal-string'.

* doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers.
(Remote processes): Describe `process-file-return-signal-string'
and $INSIDE_EMACS.

* etc/NEWS: Describe `process-file-return-signal-string'.  Fix typos.

* lisp/simple.el (process-file-return-signal-string): New user option.

* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Use it.

* lisp/net/tramp.el (tramp-get-signal-strings): New defun.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
2020-05-16 14:04:07 +02:00
Stefan Monnier
dba8f3783b * lisp/progmodes/project.el (project-try-vc): Fix regexp typo. 2020-05-15 17:30:47 -04:00
Dmitry Gutov
4307a84fd8 Fix submodules, second try
* lisp/progmodes/project.el (project-try-vc):
Call the backend directly instead of binding default-directory.
2020-05-16 00:06:55 +03:00
Tassilo Horn
28541674cd Consider face inheritance when checking region face background.
Some themes (like dracula) make the region face inherit from some
other face.  If the background color of the region was inherited,
`indicate-copied-region' did the switch-point-and-mark-twice dance
which is not visible in case the region is highlighted.  It just
looked like Emacs would hang for a second after M-w.

* lisp/simple.el (indicate-copied-region): Consider face inheritance
when checking region face background.
2020-05-15 22:24:29 +02:00
Alan Mackenzie
66cbe8b946 CC Mode: Fix bug #40052, where a very large macro was too slow in scrolling
* lisp/progmodes/cc-engine.el (c-end-of-macro): Fix faulty cache handling,
where the upper bound of c-macro-cache was never being set.
(c-forward-comment-minus-1): New macro which terminates unwanted indefinite
backward searching with lots of escaped newlines in c-backward-single-comment.
(c-backward-single-comment, c-backward-comments): Use the new macro above.

* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
Optimize three regexps by using shy groups, thus preventing regexp stack
overflow while handling the large C Macro.
2020-05-15 19:24:29 +00:00
Dmitry Gutov
afca37343d Fix Git submodules detection breakage
* lisp/progmodes/project.el (project-try-vc):
Use the absolute name of .git both times.
2020-05-15 22:10:25 +03:00
Andrea Corallo
d6f6353cfd * Do not refuse to compile if a dynamic lambda is encountered
* lisp/emacs-lisp/comp.el (comp-lex-byte-func-p): New subst.
	(comp-intern-func-in-ctxt): Do not crash if we still encounter a
	non lexical scoped lambda.
2020-05-15 20:06:49 +01:00
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
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
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
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
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
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
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
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
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