]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years ago* Add new customize `comp-async-env-modifier-form' (Bug#40838)
Andrea Corallo [Mon, 18 May 2020 19:45:29 +0000 (20:45 +0100)]
* 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'.

4 years ago* Make the Evil happy (Bug#41374)
Andrea Corallo [Mon, 18 May 2020 18:04:07 +0000 (19:04 +0100)]
* 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.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Sun, 17 May 2020 21:49:02 +0000 (22:49 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years ago* Fix Garbage Collector for missing calle-saved regs content (Bug#41357)
Andrea Corallo [Sun, 17 May 2020 12:23:59 +0000 (13:23 +0100)]
* Fix Garbage Collector for missing calle-saved regs content (Bug#41357)

* src/alloc.c (SET_STACK_TOP_ADDRESS): Do not call
__builtin_unwind_init.
(flush_stack_call_func1): Rename from 'flush_stack_call_func'.
(flush_stack_call_func): New function to spill all registers
before calling 'flush_stack_call_func1'.  This to make sure the
top of the stack identified includes those registers.

4 years agoDon't mention non-GNU package archives.
Richard Stallman [Sun, 17 May 2020 19:54:59 +0000 (15:54 -0400)]
Don't mention non-GNU package archives.

4 years agoFix minor issues with mouse-drag-and-drop-region-show-tooltip
Stefan Kangas [Sun, 17 May 2020 12:59:10 +0000 (14:59 +0200)]
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.

4 years ago* Fix bug#41346 assertion triggered while loading dump
Andrea Corallo [Sun, 17 May 2020 07:48:26 +0000 (08:48 +0100)]
* Fix bug#41346 assertion triggered while loading dump

* src/comp.c (load_comp_unit): While loading from dump lambda
fixups are still to happen here.  Verify relocation coherency only
after 'top_level_run' execution.

4 years agoDon’t attempt to modify constant strings
Paul Eggert [Sun, 17 May 2020 05:23:28 +0000 (22:23 -0700)]
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.

4 years ago; Bump the project.el version to trigger a new release
Dmitry Gutov [Sun, 17 May 2020 02:00:46 +0000 (05:00 +0300)]
; Bump the project.el version to trigger a new release

4 years agoDon’t attempt to modify constant conses
Paul Eggert [Sun, 17 May 2020 00:04:15 +0000 (17:04 -0700)]
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.

4 years agoAdd a note to eshell.texi that I, too, was a contributor
John Wiegley [Sat, 16 May 2020 18:30:50 +0000 (11:30 -0700)]
Add a note to eshell.texi that I, too, was a contributor

4 years agoMerge from origin/emacs-27
Glenn Morris [Sat, 16 May 2020 17:29:14 +0000 (10:29 -0700)]
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

4 years agoRemove stale comments
Stefan Kangas [Sat, 16 May 2020 15:48:36 +0000 (17:48 +0200)]
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.

4 years agoRemove some compat code from CEDET
Stefan Kangas [Sat, 16 May 2020 15:27:58 +0000 (17:27 +0200)]
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.

4 years agoRemove Emacs 22 compat code from abbrev.el
Stefan Kangas [Sat, 16 May 2020 15:02:18 +0000 (17:02 +0200)]
Remove Emacs 22 compat code from abbrev.el

* lisp/abbrev.el (write-abbrev-file): Remove Emacs 22
compatibility code.

4 years ago; * lisp/htmlfontify.el: Minor fix in file headers.
Stefan Kangas [Sat, 16 May 2020 14:27:20 +0000 (16:27 +0200)]
; * lisp/htmlfontify.el: Minor fix in file headers.

4 years agoRemove Emacs 22 compat code from ediff-vers.el
Stefan Kangas [Sat, 16 May 2020 13:34:47 +0000 (15:34 +0200)]
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.

4 years agoRemove some XEmacs compat code from semantic
Stefan Kangas [Sat, 16 May 2020 13:22:54 +0000 (15:22 +0200)]
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'.

4 years ago* lisp/textmodes/bibtex.el: Fix bug#41285 (paren typo)
Stefan Monnier [Sat, 16 May 2020 13:08:14 +0000 (09:08 -0400)]
* lisp/textmodes/bibtex.el: Fix bug#41285 (paren typo)

4 years agoIntroduce process-file-return-signal-string
Michael Albinus [Sat, 16 May 2020 12:04:07 +0000 (14:04 +0200)]
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.

4 years agoImprove documentation of manually installing Lisp packages
Eli Zaretskii [Sat, 16 May 2020 08:54:37 +0000 (11:54 +0300)]
Improve documentation of manually installing Lisp packages

* doc/emacs/building.texi (Lisp Libraries): Describe how to
manually load packages in the init file.  Mention the 'site-lisp'
subdirectory of the default 'load-path'.

* doc/emacs/package.texi (Packages): Describe manual installation
of ELisp packages.  Suggested by Jean-Christophe Helary
<jean.christophe.helary@traduction-libre.org>.

4 years agoReflect the emacs-devel ELPA/MELPA dispute in FAQ
Eli Zaretskii [Sat, 16 May 2020 07:30:43 +0000 (10:30 +0300)]
Reflect the emacs-devel ELPA/MELPA dispute in FAQ

* doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
that some MELPA packages may require non-free software.

4 years ago* lisp/progmodes/project.el (project-try-vc): Fix regexp typo.
Stefan Monnier [Fri, 15 May 2020 21:30:47 +0000 (17:30 -0400)]
* lisp/progmodes/project.el (project-try-vc): Fix regexp typo.

4 years agoFix submodules, second try
Dmitry Gutov [Fri, 15 May 2020 21:06:39 +0000 (00:06 +0300)]
Fix submodules, second try

* lisp/progmodes/project.el (project-try-vc):
Call the backend directly instead of binding default-directory.

4 years agoConsider face inheritance when checking region face background.
Tassilo Horn [Fri, 15 May 2020 20:24:29 +0000 (22:24 +0200)]
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.

4 years agoCC Mode: Fix bug #40052, where a very large macro was too slow in scrolling
Alan Mackenzie [Fri, 15 May 2020 19:24:29 +0000 (19:24 +0000)]
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.

4 years agoFix Git submodules detection breakage
Dmitry Gutov [Fri, 15 May 2020 19:09:55 +0000 (22:09 +0300)]
Fix Git submodules detection breakage

* lisp/progmodes/project.el (project-try-vc):
Use the absolute name of .git both times.

4 years ago* Do not refuse to compile if a dynamic lambda is encountered
Andrea Corallo [Fri, 15 May 2020 10:43:31 +0000 (11:43 +0100)]
* 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.

4 years ago* Allow for logging async compilation command line
Andrea Corallo [Thu, 14 May 2020 08:11:55 +0000 (09:11 +0100)]
* 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.

4 years ago* Add check_comp_unit_relocs
Andrea Corallo [Wed, 13 May 2020 21:43:48 +0000 (22:43 +0100)]
* Add check_comp_unit_relocs

* src/comp.c (check_comp_unit_relocs): Add function to verify
relocation coherency.
(load_comp_unit): Call it.

4 years agoSanity check on lambdas fixups
Andrea Corallo [Wed, 13 May 2020 07:52:47 +0000 (08:52 +0100)]
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.

4 years ago* Fix speed 2 bootstrap
Andrea Corallo [Mon, 11 May 2020 18:21:01 +0000 (19:21 +0100)]
* Fix speed 2 bootstrap

(comp-call-optim-func): Do nothing if the function name is
unknown.

4 years ago* Native compiler test update
Andrea Corallo [Mon, 11 May 2020 16:29:43 +0000 (17:29 +0100)]
* 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.

4 years ago* Better Vcomp_sym_subr_c_name_h test function + doc
Andrea Corallo [Sun, 10 May 2020 15:04:48 +0000 (16:04 +0100)]
* 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'.

4 years agoAdd anonymous lambdas reload mechanism
Andrea Corallo [Sat, 2 May 2020 16:29:11 +0000 (17:29 +0100)]
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.

4 years ago* lisp/progmodes/xref.el: Fix first line syntax
Stefan Monnier [Fri, 15 May 2020 18:49:46 +0000 (14:49 -0400)]
* lisp/progmodes/xref.el: Fix first line syntax

(xref--find-ignores-arguments): Simplify.

4 years agoUse lexical-binding in autoconf.el and add tests
Simen Heggestøyl [Fri, 15 May 2020 18:27:19 +0000 (20:27 +0200)]
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.

4 years agoCalc: GCD(0,x)=GCD(x,0)=|x|, not x (bug#41279)
Mattias Engdegård [Fri, 15 May 2020 12:52:50 +0000 (14:52 +0200)]
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.

4 years agoDelete libraries obsolete since 23.1 and 23.2
Stefan Kangas [Fri, 15 May 2020 17:55:26 +0000 (19:55 +0200)]
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.

4 years ago; Tweak version numbers in lisp/progmodes/xref.el
João Távora [Fri, 15 May 2020 14:20:36 +0000 (15:20 +0100)]
; 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.

4 years agoFix dired default file operation (bug#41261)
Leo Vivier [Thu, 14 May 2020 22:03:18 +0000 (00:03 +0200)]
Fix dired default file operation (bug#41261)

* lisp/dired-aux.el (dired-dwim-target-directories): Restore
pre-emacs-27 behavior of 'dired-dwim-target'.

4 years agoImprove detection of Git submodules
Dmitry Gutov [Fri, 15 May 2020 05:10:22 +0000 (08:10 +0300)]
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).

4 years ago* Render all immediates as comments at comp-debug > 2
Andrea Corallo [Sun, 3 May 2020 19:55:23 +0000 (20:55 +0100)]
* Render all immediates as comments at comp-debug > 2

* src/comp.c (emit_mvar_rval): No reason to emit only fixnums.

4 years ago* Dump log and intemediate GCC IRs only at comp-debug 3
Andrea Corallo [Sun, 3 May 2020 19:34:03 +0000 (20:34 +0100)]
* 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.

4 years ago* Prune now unnecessary byte-code objects
Andrea Corallo [Sun, 3 May 2020 19:26:35 +0000 (20:26 +0100)]
* 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.

4 years ago* Rework comp-spill-lap-function
Andrea Corallo [Sun, 3 May 2020 14:11:07 +0000 (15:11 +0100)]
* 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.

4 years ago* Split emit_const_lisp_obj logic
Andrea Corallo [Sat, 2 May 2020 19:33:42 +0000 (20:33 +0100)]
* 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.

4 years ago* Rename emit_mvar_access -> emit_mvar_lval
Andrea Corallo [Sat, 2 May 2020 19:14:13 +0000 (20:14 +0100)]
* 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.

4 years ago* Rename emit_mvar_val -> emit_mvar_rval
Andrea Corallo [Sat, 2 May 2020 19:12:41 +0000 (20:12 +0100)]
* 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.

4 years ago* Indentation fix
Andrea Corallo [Mon, 11 May 2020 20:17:29 +0000 (21:17 +0100)]
* Indentation fix

* src/comp.c (Fcomp__init_ctxt, Fcomp__release_ctxt)
(Fcomp__compile_ctxt_to_file, Fcomp__register_subr): Indentation
fix.

4 years agoUpdate spill LAP machinery and compile anonymous lambdas
Andrea Corallo [Fri, 1 May 2020 16:32:39 +0000 (17:32 +0100)]
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.

4 years ago; Fix warning in last change
Tino Calancha [Thu, 14 May 2020 20:02:09 +0000 (22:02 +0200)]
; Fix warning in last change

* lisp/arc-mode.el (archive--summarize-descs):
Use file-modes-number-to-symbolic.

4 years agoFix documentation related to 'command-switch-alist'.
Philipp Stephani [Thu, 14 May 2020 17:26:43 +0000 (19:26 +0200)]
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.

4 years agoCombine archive-int-to-mode and tar-grind-file-mode
Tino Calancha [Fri, 8 May 2020 20:14:03 +0000 (22:14 +0200)]
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.

4 years agoFix customisation of mouse-drag-and-drop-region (bug#41251)
Mattias Engdegård [Thu, 14 May 2020 10:23:23 +0000 (12:23 +0200)]
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.

4 years agoCalc: fix LU decomposition for non-numeric matrices (bug#41223)
Mattias Engdegård [Wed, 13 May 2020 13:17:10 +0000 (15:17 +0200)]
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.

4 years ago* test/src/comp-tests.el (comp-tests-bootstrap): Fix test.
Andrea Corallo [Wed, 13 May 2020 18:48:57 +0000 (19:48 +0100)]
* test/src/comp-tests.el (comp-tests-bootstrap): Fix test.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Thu, 14 May 2020 06:14:23 +0000 (07:14 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years ago; Fix warning after last change in cal-julian.el
Stefan Kangas [Wed, 13 May 2020 23:28:03 +0000 (01:28 +0200)]
; 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'.

4 years agoImprove ediff readability in misterioso theme (Bug#41221)
Simon Lang [Tue, 12 May 2020 21:54:52 +0000 (22:54 +0100)]
Improve ediff readability in misterioso theme (Bug#41221)

* etc/themes/misterioso-theme.el: Add ediff faces.

Copyright-paperwork-exempt: yes

4 years agoFix a crash in handle_display_spec
Clément Pit-Claudel [Wed, 13 May 2020 14:37:05 +0000 (10:37 -0400)]
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)

4 years agoFix some oddities, uncovered by Tramp tests
Michael Albinus [Wed, 13 May 2020 12:11:18 +0000 (14:11 +0200)]
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.

4 years agoTurn Eldoc, Xref and Project into GNU ELPA :core packages
João Távora [Wed, 13 May 2020 10:31:21 +0000 (11:31 +0100)]
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.

4 years agoUse lexical-binding in t-mouse.el
Stefan Kangas [Wed, 13 May 2020 10:13:52 +0000 (12:13 +0200)]
Use lexical-binding in t-mouse.el

* lisp/t-mouse.el: Use lexical-binding.

4 years agoIn x_hide_tip reset tip_last_frame for GTK+ tooltips only (Bug#41200)
Martin Rudalics [Wed, 13 May 2020 08:31:50 +0000 (10:31 +0200)]
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).

4 years ago; Fix warning in last change
Basil L. Contovounesios [Wed, 13 May 2020 01:12:33 +0000 (02:12 +0100)]
; Fix warning in last change

* lisp/play/animate.el (animate-place-char): Silence 'unused lexical
variable' warning.

4 years agoUse lexical-binding in animate.el and add tests
Stefan Kangas [Wed, 13 May 2020 00:06:03 +0000 (02:06 +0200)]
Use lexical-binding in animate.el and add tests

* lisp/play/animate.el: Use lexical-binding.
* test/lisp/play/animate-tests.el: New file.

4 years agoUse lexical-binding in dissociate.el and add tests
Stefan Kangas [Tue, 12 May 2020 23:48:55 +0000 (01:48 +0200)]
Use lexical-binding in dissociate.el and add tests

* lisp/play/dissociate.el: Use lexical-binding.
* test/lisp/play/dissociate-tests.el: New file.

4 years agoUse lexical-binding in cal-julian.el and add tests
Stefan Kangas [Tue, 12 May 2020 23:30:51 +0000 (01:30 +0200)]
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.

4 years agoUse proper digraphs in Bahá’í month names
Paul Eggert [Tue, 12 May 2020 22:19:46 +0000 (15:19 -0700)]
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”.

4 years ago* lisp/emacs-lisp/syntax.el: Fix bug#41195
Stefan Monnier [Tue, 12 May 2020 20:51:55 +0000 (16:51 -0400)]
* 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.

4 years agoRevert "Inhibit modification hooks when saving eieio-persistent's"
Michael Heerdegen [Fri, 8 May 2020 01:49:24 +0000 (03:49 +0200)]
Revert "Inhibit modification hooks when saving eieio-persistent's"

This reverts commit c59e878439833d89998e03134ee9060f9c449fd9.

4 years agoFix docstring of flymake-make-diagnostic (bug#40351)
João Távora [Tue, 12 May 2020 18:33:19 +0000 (19:33 +0100)]
Fix docstring of flymake-make-diagnostic (bug#40351)

* lisp/progmodes/flymake.el (flymake-make-diagnostic): Fix docstring

4 years agoSupport sorting timer-list-mode by column (Bug#40854)
Stefan Kangas [Fri, 24 Apr 2020 21:43:57 +0000 (23:43 +0200)]
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.

4 years agoBase timer-list-mode on tabulated-list-mode (Bug#40854)
Stefan Kangas [Fri, 24 Apr 2020 21:42:37 +0000 (23:42 +0200)]
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.

4 years agoSuppress test failure on hydra.nixos.org
Glenn Morris [Tue, 12 May 2020 16:34:46 +0000 (09:34 -0700)]
Suppress test failure on hydra.nixos.org

* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
Attempt to suppress hydra oddity.

4 years agoPacify GCC 10.1.0
Paul Eggert [Tue, 12 May 2020 00:41:16 +0000 (17:41 -0700)]
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.

4 years agoUpdate from gnulib
Paul Eggert [Tue, 12 May 2020 00:28:23 +0000 (17:28 -0700)]
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.

4 years agoFix bug #40992 whilst still allowing breakpoint highlights in edebug
Alan Mackenzie [Mon, 11 May 2020 20:05:54 +0000 (20:05 +0000)]
Fix bug #40992 whilst still allowing breakpoint highlights in edebug

Strategy: when an instrumented function gets re-evaluated, save the former
value of its symbol's `edebug' property in the new propery `ghost-edebug'.  If
this function is still being edebugged, edebug will then access its info from
this new property.

Also fix the bug whereby compile-defun'ing an instrumented function prevents
the function being re-instrumented by I (edebug-instrument-callee).

* lisp/emacs-lisp/edebug.el (edebug-get-edebug-or-ghost): New function.
(edebug-read-and-maybe-wrap-form1): save value of `edebug' property in
'ghost-edebug'.
(edebug-make-form-wrapper): Set value of `ghost-edebug' to nil.
(edebug-make-form-wrapper, edebug-find-stop-point, edebug-next-break-point)
(edebug-modify-breakpoint, edebug--overlay-breakpoints, edebug-set-breakpoint)
(edebug-unset-breakpoints, edebug-toggle-disable-breakpoint)
(edebug--backtrace-goto-source, edebug-display-freq-count)
(edebug-set-conditional-breakpoint): Use edebug-get-edebug-or-ghost to access
edebug information.
(edebug-instrument-function): Also check a function is a cons before declaring
it "already instrumented".

4 years ago* lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors
Stefan Monnier [Mon, 11 May 2020 13:53:37 +0000 (09:53 -0400)]
* lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors

4 years ago; Fix last change to bibtex.el
Basil L. Contovounesios [Mon, 11 May 2020 10:43:29 +0000 (11:43 +0100)]
; Fix last change to bibtex.el

* lisp/textmodes/bibtex.el
(bibtex-autokey-before-presentation-function): Bump :version tag now
that nil is no longer a valid value.

4 years ago* lisp/textmodes/bibtex.el: Avoid `eval`
Stefan Monnier [Mon, 11 May 2020 04:30:10 +0000 (00:30 -0400)]
* lisp/textmodes/bibtex.el: Avoid `eval`

In the top-level construction of the entry-type commands,
use `defalias` instead of (eval `(defun ...)).

(bibtex-insert-kill): Strength reduce `eval` => `symbol-value`.
(bibtex-autokey-before-presentation-function): Avoid nil value.

4 years ago* lisp/subr.el (dolist, dotimes, combine-change-calls): Cosmetic tweaks
Stefan Monnier [Mon, 11 May 2020 04:18:14 +0000 (00:18 -0400)]
* lisp/subr.el (dolist, dotimes, combine-change-calls): Cosmetic tweaks

(dolist, dotimes): Adjust comment since testing
`lexical-binding` is supposed to be reliable.
(combine-change-calls): Add debug and indent specs.

4 years ago* lisp/emacs-lisp/syntax.el (syntax-propertize): Use run-hook-wrapped
Stefan Monnier [Mon, 11 May 2020 04:15:15 +0000 (00:15 -0400)]
* lisp/emacs-lisp/syntax.el (syntax-propertize): Use run-hook-wrapped

This way we avoid making assumptions about the content of
syntax-propertize-extend-region-functions

4 years ago* lisp/ielm.el: Handle corner case where */**/*** are not yet bound
Stefan Monnier [Mon, 11 May 2020 04:12:29 +0000 (00:12 -0400)]
* lisp/ielm.el: Handle corner case where */**/*** are not yet bound

Remote redundant :group args.

(ielm-eval-input): Use bound-and-true-p for */**/***

4 years agoMap "mail/compose" icon to "mail-message-new" in GTK
Dmitry Gutov [Mon, 11 May 2020 02:13:25 +0000 (05:13 +0300)]
Map "mail/compose" icon to "mail-message-new" in GTK

* lisp/term/x-win.el (x-gtk-stock-map): One more icon mapping.

4 years agoUse the "modern" toolbars in Gnus again
Dmitry Gutov [Mon, 11 May 2020 01:34:55 +0000 (04:34 +0300)]
Use the "modern" toolbars in Gnus again

* lisp/gnus/gmm-utils.el (gmm-tool-bar-style):
Undo the breakage from commit d88118db37dd
(https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02094.html).

4 years agoUse better icons on GTK in message-mode and isearch
Dmitry Gutov [Mon, 11 May 2020 01:25:53 +0000 (04:25 +0300)]
Use better icons on GTK in message-mode and isearch

* lisp/gnus/message.el (message-tool-bar-retro):
Use non-Gnus-specific icon.

* lisp/term/x-win.el (x-gtk-stock-map):
Use more themed icons (bug#40990).

4 years ago* lisp/emacs-lisp/pcase.el: Don't bind unused vars in branches
Stefan Monnier [Sun, 10 May 2020 23:07:45 +0000 (19:07 -0400)]
* lisp/emacs-lisp/pcase.el: Don't bind unused vars in branches

(pcase--fgrep): Change calling convention to take bindings rather than
just variables.
(pcase--funcall, pcase--eval): Adjust to this new calling convention.
(pcase--expand): Use `pcase--fgrep` to bind only the vars that are used.

4 years ago* lisp/emacs-lisp/eieio.el (eieio pcase macro): Fix last-minute typo
Stefan Monnier [Sun, 10 May 2020 20:17:01 +0000 (16:17 -0400)]
* lisp/emacs-lisp/eieio.el (eieio pcase macro): Fix last-minute typo

4 years agoPrefer function-put over put for setting browse-url-browser-kind.
Tassilo Horn [Sun, 10 May 2020 18:41:42 +0000 (20:41 +0200)]
Prefer function-put over put for setting browse-url-browser-kind.

* lisp/net/browse-url.el: Prefer `function-put' over `put' for setting
`browse-url-browser-kind' symbol property.

4 years ago* lisp/emacs-lisp/eieio.el (eieio pcase macro): Remove unused var `is`
Stefan Monnier [Sun, 10 May 2020 17:51:51 +0000 (13:51 -0400)]
* lisp/emacs-lisp/eieio.el (eieio pcase macro): Remove unused var `is`

4 years agoGo back to “Bahá’í”
Paul Eggert [Sun, 10 May 2020 15:47:47 +0000 (08:47 -0700)]
Go back to “Bahá’í”

* doc/emacs/calendar.texi (Holidays): Revert previous change, as
bahai.org spells it “Bahá’í” (with U+2019 RIGHT SINGLE QUOTATION
MARK) and that’s good enough for us.

4 years ago* lisp/dired.el (dired-toggle-marks): Doc fix. (Bug#41097)
Eli Zaretskii [Sun, 10 May 2020 16:04:51 +0000 (19:04 +0300)]
* lisp/dired.el (dired-toggle-marks): Doc fix.  (Bug#41097)

4 years agoUse lexical-binding in glasses.el and add tests
Simen Heggestøyl [Sun, 10 May 2020 14:17:27 +0000 (16:17 +0200)]
Use lexical-binding in glasses.el and add tests

* lisp/progmodes/glasses.el: Use lexical-binding.
(glasses-separator, glasses-original-separator, glasses-face)
(glasses-separate-parentheses-p)
(glasses-separate-parentheses-exceptions)
(glasses-separate-capital-groups, glasses-uncapitalize-p)
(glasses-uncapitalize-regexp, glasses-convert-on-write-p): Remove
redundant :group args.

* test/lisp/progmodes/glasses-tests.el: New file with tests for
glasses.el.

4 years agoAllow underscores in CSS variable names
Simen Heggestøyl [Sun, 10 May 2020 12:44:26 +0000 (14:44 +0200)]
Allow underscores in CSS variable names

* lisp/textmodes/css-mode.el (css-nmchar-re): Allow underscores in
variable names (and in identifiers in general).

* test/manual/indent/css-mode.css: Add some examples of variable names
with underscores in them.

* test/manual/indent/less-css-mode.less: Add some examples of variable
names with underscores in them.

* test/manual/indent/scss-mode.scss: Add some examples of variable
names with underscores in them.

4 years agoAdd containment module to CSS property list
Simen Heggestøyl [Sun, 10 May 2020 10:14:21 +0000 (12:14 +0200)]
Add containment module to CSS property list

* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
from CSS Containment Module Level 1.

4 years agoAdd writing modes module to CSS property list
Simen Heggestøyl [Sun, 10 May 2020 08:00:56 +0000 (10:00 +0200)]
Add writing modes module to CSS property list

* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
from the CSS Writing Modes Level 3 module.

4 years ago* Fix `comp-deferred-compilation-black-list' effectiveness
Andrea Corallo [Sun, 10 May 2020 07:48:50 +0000 (08:48 +0100)]
* Fix `comp-deferred-compilation-black-list' effectiveness

* lisp/emacs-lisp/comp.el (native-compile-async): Fix logic for
'comp-deferred-compilation-black-list' effectiveness.

4 years ago* src/comp.c (load_comp_unit): Style fix.
Andrea Corallo [Sun, 10 May 2020 07:58:53 +0000 (08:58 +0100)]
* src/comp.c (load_comp_unit): Style fix.