]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years ago* Relax constant folding rules
Andrea Corallo [Sat, 4 Jul 2020 14:53:15 +0000 (15:53 +0100)]
* Relax constant folding rules

* lisp/emacs-lisp/comp.el (comp-function-optimizable-p): No need to
check for operands or result to be fixnums.

4 years ago* Fix missing tail recursion elimination
Andrea Corallo [Thu, 2 Jul 2020 19:45:42 +0000 (21:45 +0200)]
* Fix missing tail recursion elimination

* lisp/emacs-lisp/comp.el (comp-tco-func): Fix tail recursion
elimination given now functions in LIMPLE are expressed with
the C name.

4 years ago* Add a test to verify tail recursion elimination
Andrea Corallo [Thu, 2 Jul 2020 19:43:52 +0000 (21:43 +0200)]
* Add a test to verify tail recursion elimination

* test/src/comp-tests.el (comp-tests-tco): Compile a recursive
functions at speed 3 and verify the tail recursion elimination.
(comp-tests-tco-checker, comp-tests-mentioned-p)
(comp-tests-mentioned-p-1): New support functions.

4 years agoRework `comp-c-func-name' arguments
Andrea Corallo [Thu, 2 Jul 2020 19:32:09 +0000 (21:32 +0200)]
Rework `comp-c-func-name' arguments

* lisp/emacs-lisp/comp.el (comp-c-func-name): Add FIRST argument
to ignore the compiler context and return the first name.

* lisp/emacs-lisp/disass.el (disassemble-internal): Update the
`comp-c-func-name' call.

4 years ago* Add to possibility to write per pass specific tests
Andrea Corallo [Thu, 2 Jul 2020 19:29:34 +0000 (21:29 +0200)]
* Add to possibility to write per pass specific tests

* lisp/emacs-lisp/comp.el (comp-post-pass-hooks): New special
variable.
(native-compile): Run what is registered in
`comp-post-pass-hooks'.

4 years agoMerge remote-tracking branch 'savahnna/master' into HEAD
Andrea Corallo [Thu, 2 Jul 2020 20:30:37 +0000 (22:30 +0200)]
Merge remote-tracking branch 'savahnna/master' into HEAD

4 years ago* lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp): Change WS to [ \t] in it
Alan Mackenzie [Thu, 2 Jul 2020 18:14:30 +0000 (18:14 +0000)]
* lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp): Change WS to [ \t] in it

4 years agoRemove Emacs-27 reference
Phillip Lord [Thu, 2 Jul 2020 17:03:23 +0000 (18:03 +0100)]
Remove Emacs-27 reference

* admin/nt/dist-build/README-windows-binaries:

4 years agoRevert feature added in bfd96e995d using project directories in vc (bug#41821)
Juri Linkov [Wed, 1 Jul 2020 22:08:18 +0000 (01:08 +0300)]
Revert feature added in bfd96e995d using project directories in vc (bug#41821)

4 years ago; * etc/NEWS: Announce dropping of support for OpenBSD 5.3.
Eli Zaretskii [Wed, 1 Jul 2020 14:25:52 +0000 (17:25 +0300)]
; * etc/NEWS: Announce dropping of support for OpenBSD 5.3.

4 years agoSupport pty's on OpenBSD
YASUOKA Masahiko [Sat, 27 Jun 2020 03:56:42 +0000 (12:56 +0900)]
Support pty's on OpenBSD

* configure.ac (PTY_TTY_NAME_SPRINTF): OpenBSD has posix_openpt
nowadays.  (Bug#42059)

Copyright-paperwork-exempt: yes

4 years ago; Auto-commit of loaddefs files.
Glenn Morris [Wed, 1 Jul 2020 13:27:56 +0000 (06:27 -0700)]
; Auto-commit of loaddefs files.

4 years agoBind 'C-x 4 1' to 'same-window-prefix' and document new commands (bug#41691)
Juri Linkov [Tue, 30 Jun 2020 21:30:18 +0000 (00:30 +0300)]
Bind 'C-x 4 1' to 'same-window-prefix' and document new commands (bug#41691)

* lisp/window.el (ctl-x-4-map): Bind 'C-x 4 1' to 'same-window-prefix'.

* doc/emacs/windows.texi (Pop Up Window): Add 'C-x 4 4' and 'C-x 4 1'.
* doc/emacs/frames.texi (Creating Frames): Add 'C-x 5 5'.
(Tab Bars): Add 'C-x t t'.

4 years agoAdd a test for lambda list containing uninterned symbols
Andrea Corallo [Tue, 30 Jun 2020 17:14:52 +0000 (19:14 +0200)]
Add a test for lambda list containing uninterned symbols

* test/src/comp-test-funcs-dyn.el
(comp-tests-cl-uninterned-arg-parse-f): New function.

* test/src/comp-tests.el (comp-tests-cl-uninterned-arg-parse-f):
New test.

4 years agoFix lambda-list relocation class
Andrea Corallo [Tue, 30 Jun 2020 17:10:19 +0000 (19:10 +0200)]
Fix lambda-list relocation class

Lambda-lists must stay in the same relocation class of the object
referenced by code to respect uninterned symbols.

* lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Break
the original function in a generic specializing for
dynamic/lexical functions.  When allocating the lambda-list for
dynamic functions do that in the default relocation class.
(comp-emit-for-top-level): Make use of the new
`comp-prepare-args-for-top-level'.
(comp-emit-lambda-for-top-level): Likewise.

4 years agoSubject: Frame-local tab-bar for numeric value of tab-bar-show (bug#42052)
James N. V. Cash [Mon, 29 Jun 2020 23:45:15 +0000 (02:45 +0300)]
Subject: Frame-local tab-bar for numeric value of tab-bar-show (bug#42052)

* lisp/tab-bar.el (tab-bar-new-tab-to): Set frame parameter
tab-bar-lines to 1 when tab-bar-show is the same as number of tabs.
(tab-bar-close-tab, tab-bar-close-other-tabs): Set frame parameter
tab-bar-lines to 0 when tab-bar-show is the same as number of tabs.

Copyright-paperwork-exempt: yes

4 years agoCC Mode: optimize for repeated simple operations.
Alan Mackenzie [Mon, 29 Jun 2020 19:10:09 +0000 (19:10 +0000)]
CC Mode: optimize for repeated simple operations.

Do this by recognising that unterminated strings in a buffer are typically
going to be few and close together.  Also optimize code for C++ attributes.

* lisp/progmodes/cc-defs.el (c-previous-single-property-change): New macro.
(c-put-syn-tab, c-clear-syn-tab): Turned from macros into functions, and moved
to cc-mode.el.
(c-clear-syn-tab-properties): Amended to use c-min/max-syn-tab-mkr.
(c-with-extended-string-fences): Removed.

* lisp/progmodes/cc-engine-el (c-enclosing-c++-attribute): Rewritten for
speed.
(c-slow-enclosing-c++-attribute): Removed.
(c-semi-pp-to-literal): Remove a superfluous call to
c-with-extended-string-fences.

* lisp/progmodes/cc-mode.el (c-min-syn-tab-mkr, c-max-syn-tab-mkr): two new
marker variables which bound the region occupied by positions with
c-fl-syn-tab text properties.
(c-basic-common-init): Initialize these two variables.
(c-fl-syn-tab-region): Removed.
(c-put-syn-tab, c-clear-syn-tab): Functions moved from cc-defs.el.
(c-clear-string-fences): Amended to use the new scheme.
(c-restore-string-fences): Now takes no arguments; amended to use the new
scheme.
(c-font-lock-fontify-region): Amended to use the new scheme.

4 years ago* test/src/fns-tests.el (test-secure-hash): Test getrandom format.
Paul Eggert [Mon, 29 Jun 2020 16:54:45 +0000 (09:54 -0700)]
* test/src/fns-tests.el (test-secure-hash): Test getrandom format.

4 years agoRevert "* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias."
Andrea Corallo [Mon, 29 Jun 2020 15:26:29 +0000 (17:26 +0200)]
Revert "* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias."

This reverts commit 6c7f615ae59b636efe5012f761a25acfd956480d.

4 years agoUpdate from Gnulib.
Paul Eggert [Sun, 28 Jun 2020 20:22:44 +0000 (13:22 -0700)]
Update from Gnulib.

This incorporates:
2020-06-28 getrandom: do not depend on ‘open’ on mingw
2020-06-28 getrandom: fix compilation errors on older versions of mingw
* build-aux/config.sub, lib/getrandom.c, m4/getrandom.m4:
Copy from Gnulib
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

4 years ago* Do not skip native compilation for leim subfolder during boostrap
Andrea Corallo [Sun, 28 Jun 2020 19:44:22 +0000 (20:44 +0100)]
* Do not skip native compilation for leim subfolder during boostrap

* lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): Remove
"^leim/".

4 years ago* Enable deferred compilation for dynamic scoped code
Andrea Corallo [Sun, 28 Jun 2020 19:38:13 +0000 (20:38 +0100)]
* Enable deferred compilation for dynamic scoped code

* src/comp.c (maybe_defer_native_compilation): Trigger for dynamic
code and add a comment.

4 years agoMS-Windows fixes as followup to import of Gnulib 'getrandom'
Eli Zaretskii [Sun, 28 Jun 2020 15:26:20 +0000 (18:26 +0300)]
MS-Windows fixes as followup to import of Gnulib 'getrandom'

* nt/mingw-cfg.site (gl_cv_lib_assume_bcrypt): Set to "no" to
disable linking against bcrypt.dll.  (Bug#42095)

* src/gnutls.c (gnutls_rnd) [WINDOWSNT]: Don't define a function
pointer, and don't load it from GnuTLS DLL.
(w32_gnutls_rnd) [WINDOWSNT]: Delete unused function.
* src/fns.c (gnutls_rnd) [WINDOWSNT]: Don't redirect to
w32_gnutls_rnd.

4 years agoMerge remote-tracking branch 'savannah/master' into uninterned
Andrea Corallo [Sun, 28 Jun 2020 14:54:57 +0000 (15:54 +0100)]
Merge remote-tracking branch 'savannah/master' into uninterned

4 years ago* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias.
Andrea Corallo [Sun, 28 Jun 2020 14:38:48 +0000 (15:38 +0100)]
* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias.

4 years agoAdd a test to verify CL macro expansion in dynamic scope
Andrea Corallo [Sun, 28 Jun 2020 12:45:49 +0000 (13:45 +0100)]
Add a test to verify CL macro expansion in dynamic scope

* test/src/comp-tests.el (comp-tests-cl-macro-exp): New test.

* test/src/comp-test-funcs-dyn.el: Require `cl-lib'.
(comp-tests-cl-macro-exp-f): New function.

4 years ago* Setup correctly the printer while dumping objs in native CU (bug#42088)
Andrea Corallo [Sun, 28 Jun 2020 12:33:11 +0000 (13:33 +0100)]
* Setup correctly the printer while dumping objs in native CU (bug#42088)

* src/comp.c (emit_static_object): Bind a bunch of special
variables to setup `prin1-to-string' as
`byte-compile-output-file-form' does.  This to preserve
uninterned symbols.

4 years agoAdd thread-naming support for OpenBSD
Timo Myyrä [Sun, 28 Jun 2020 08:27:21 +0000 (10:27 +0200)]
Add thread-naming support for OpenBSD

OpenBSD has pthread_set_name_np; FreeBSD appears to have both
this call and pthread_setname_np (the latter call is used in preference).

* configure.ac: Detect pthread_set_name_np.
* sys/systhread.c:
Include <pthread_np.h> and call pthread_set_name_np if available.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Sat, 27 Jun 2020 20:42:16 +0000 (21:42 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years agosrc/comp.c (Fcomp__register_subr): Handle advice activation (bug#42038).
Andrea Corallo [Sat, 27 Jun 2020 19:59:22 +0000 (20:59 +0100)]
src/comp.c (Fcomp__register_subr): Handle advice activation (bug#42038).

4 years agoUse getrandom syscall for nonces
Paul Eggert [Sat, 27 Jun 2020 20:02:24 +0000 (13:02 -0700)]
Use getrandom syscall for nonces

* admin/merge-gnulib (GNULIB_MODULES): Add getrandom.
* doc/lispref/text.texi (Format of GnuTLS Cryptography Inputs):
Don’t say that iv-auto uses GNUTLS_RND_NONCE.  Also, don’t say
that it returns the IV’s actual value, as it never has done that.
* src/fns.c, src/sysdep.c: Include sys/random.h, for getrandom.
* src/fns.c (Fsecure_hash_algorithms): Use getrandom so that this
function does not depend on HAVE_GNUTLS3.
* src/sysdep.c: Do not include <gnutls/crypto.h>.
(random_seed) [HAVE_LRAND48]: Can be long int now.
(init_random) [!WINDOWSNT]: Use getrandom syscall instead
of opening /dev/urandom, as this works even on GNU/Linux
hosts that lack /dev/urandom.  Don’t bother with gnutls_rnd
as it’s not needed now that we have getrandom.

4 years agoUpdate from Gnulib
Paul Eggert [Sat, 27 Jun 2020 17:00:17 +0000 (10:00 -0700)]
Update from Gnulib

This incorporates:
2020-06-27 getloadavg: don’t depend on fopen-gnu
2020-06-25 c-dtoastr, c-ldtoastr: new modules
2020-06-01 getloadavg: fix double-increment bug
2020-06-01 tempname: use getrandom, not getentropy
2020-05-31 tempname: merge from glibc and coreutils
2020-05-31 getentropy: work around a macOS and Solaris problem
2020-05-31 fnmatch: merge from glibc
2020-05-30 unistd: remove conflicting declaration of getrandom
2020-05-30 don't assume that UNICODE is not defined
2020-05-29 fix compilation error on native Windows
2020-05-28 avoid dynamic loading of Windows API functions when possible
2020-05-28 at-internal: make more robust in multithreaded applications
2020-05-28 getloadavg: make more robust in multithreaded applications
2020-05-27 getloadavg: make more robust in multithreaded applications
2020-05-26 count-one-bits: fix MSVC specific code
2020-05-25 getentropy, getrandom: new modules
2020-05-24 open, openat: really support O_CLOEXEC
2020-05-23 verify: document ‘assume’ better
2020-05-21 regex: configure better with "clang -fsanitize=leak"
2020-05-21 memmem: configure better with "clang -fsanitize=undefined"
2020-05-19 ftoastr: fix ifndef typo
* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
* lib/count-one-bits.h, lib/ftoastr.c, lib/ftoastr.h:
* lib/getloadavg.c, lib/gettimeofday.c, lib/libc-config.h:
* lib/open.c, lib/openat-proc.c, lib/tempname.c, lib/tempname.h:
* lib/unistd.in.h, lib/verify.h, m4/memmem.m4, m4/regex.m4:
* m4/unistd_h.m4:
Update from Gnulib.
* lib/getrandom.c, lib/sys_random.in.h:
* m4/getrandom.m4, m4/sys_random_h.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

4 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 26 Jun 2020 14:50:38 +0000 (07:50 -0700)]
Merge from origin/emacs-27

5280e118c0 (origin/emacs-27) ; * src/xdisp.c (pos_visible_p): Fix las...
bb1a9481c9 Fix posn-at-point at beginning of a display string
0c4b033670 Improve documentation of Info node movement commands
632b0119e1 Add Jansson dependency to Windows Build
dbfcdab837 Unbreak 'reverse-region'
c37de84845 Fix typos and markup in fill column indicator docs
f61bff3ee9 ; * CONTRIBUTE: Clarify the preferences for patch formatting.
368e140660 Avoid crashes in 'defconst'
11e3413cff Fix text about Lisp archives in the Emacs FQ
4c81724675 Don't use 'cl' functions in ELisp manual's examples

4 years ago; * src/xdisp.c (pos_visible_p): Fix last change. (Bug#42039)
Eli Zaretskii [Fri, 26 Jun 2020 13:34:50 +0000 (16:34 +0300)]
; * src/xdisp.c (pos_visible_p): Fix last change.  (Bug#42039)

4 years agoFix posn-at-point at beginning of a display string
Eli Zaretskii [Fri, 26 Jun 2020 12:01:44 +0000 (15:01 +0300)]
Fix posn-at-point at beginning of a display string

* src/xdisp.c (pos_visible_p): Account for the line-number width
when the display string at CHARPOS ends in a newline.  (Bug#42039)

4 years ago; Fix recent indentation in project.el
Basil L. Contovounesios [Fri, 26 Jun 2020 08:37:52 +0000 (09:37 +0100)]
; Fix recent indentation in project.el

* lisp/progmodes/project.el (project-ignores, project-find-file-in)
(project-eshell, project--read-project-list): Fix indentation.

4 years agoImprove documentation of Info node movement commands
Eli Zaretskii [Fri, 26 Jun 2020 07:41:09 +0000 (10:41 +0300)]
Improve documentation of Info node movement commands

* lisp/info.el (Info-next, Info-prev, Info-forward-node)
(Info-backward-node): More detailed descriptions of what each
commands does with respect to child and parent nodes.  (Bug#42050)

4 years agoFix byte-compilation warning in project.el
Eli Zaretskii [Fri, 26 Jun 2020 07:15:46 +0000 (10:15 +0300)]
Fix byte-compilation warning in project.el

* lisp/emacs-lisp/seq.el (seq-every-p): Autoload it.  This fixes
byte-compilation warning in project.el.

4 years agovc-known-roots: Actually update
Dmitry Gutov [Fri, 26 Jun 2020 00:44:51 +0000 (03:44 +0300)]
vc-known-roots: Actually update

* lisp/vc/vc-hooks.el (vc-known-roots):
Actually update for the change in 733921edfe (bug#41821).

4 years agoproject--read-project-list: Add structure verification
Dmitry Gutov [Fri, 26 Jun 2020 00:41:42 +0000 (03:41 +0300)]
project--read-project-list: Add structure verification

* lisp/progmodes/project.el (project--list): Update docstring.
(project--read-project-list): Add structure verification.

4 years agoproject-known-roots: Rename and improve
Dmitry Gutov [Fri, 26 Jun 2020 00:33:13 +0000 (03:33 +0300)]
project-known-roots: Rename and improve

* lisp/progmodes/project.el (project-known-project-roots):
Rename from 'project-known-roots'.  Update the docstring.  Make
sure the returned value is a list of strings.  Update the caller
(bug#41821).

4 years agoRename project-kill-buffers-{skip-conditions,ignores}
Dmitry Gutov [Fri, 26 Jun 2020 00:27:39 +0000 (03:27 +0300)]
Rename project-kill-buffers-{skip-conditions,ignores}

* lisp/progmodes/project.el (project-kill-buffers-ignores):
Rename from project-kill-buffers-skip-conditions (bug#41868).
Update both references.
Add a :package-version attribute.

4 years agoAdd NEWS entry for bug-reference auto-setup.
Tassilo Horn [Thu, 25 Jun 2020 20:06:53 +0000 (22:06 +0200)]
Add NEWS entry for bug-reference auto-setup.

* etc/NEWS: Add entry for bug-reference auto-setup.

4 years agoFix last change
Eli Zaretskii [Thu, 25 Jun 2020 19:27:19 +0000 (22:27 +0300)]
Fix last change

* lisp/menu-bar.el (menu-bar-describe-menu): Improve the wording
and the help-echo of the new list-recent-keystrokes Help menu
item.  (Bug#41933)

* etc/NEWS: Call out the new menu item.

4 years agoAdd help menu entry for view-lossage
Tino Calancha [Thu, 25 Jun 2020 18:54:46 +0000 (20:54 +0200)]
Add help menu entry for view-lossage

* lisp/menu-bar.el (menu-bar-describe-menu):
Add an entry for view-lossage (Bug#41933).

4 years agoCC Mode. Fix an off by one error. Fixes bug #41809
Alan Mackenzie [Thu, 25 Jun 2020 17:07:16 +0000 (17:07 +0000)]
CC Mode.  Fix an off by one error.  Fixes bug #41809

* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Change > to >= (twice).

4 years agoPush action to list of functions in display-buffer-override-next-command
Juri Linkov [Thu, 25 Jun 2020 00:48:32 +0000 (03:48 +0300)]
Push action to list of functions in display-buffer-override-next-command

* lisp/window.el (display-buffer-override-next-command):
Push action to 'car' of 'display-buffer-overriding-action'
and in exitfun remove action from 'car'.
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00803.html

4 years agoMake switch work in AWK Mode. Fixes bug #41923
Alan Mackenzie [Wed, 24 Jun 2020 19:45:30 +0000 (19:45 +0000)]
Make switch work in AWK Mode.  Fixes bug #41923

lisp/progmodes/cc-langs.el (c-block-stmt-2-kwds): Insert "switch" into the AWK
Mode entry.
(c-case-kwds): Remove the special entry for AWK Mode.

4 years ago; * etc/NEWS: Improve format and wording of recently added entries.
Eli Zaretskii [Wed, 24 Jun 2020 14:51:08 +0000 (17:51 +0300)]
; * etc/NEWS: Improve format and wording of recently added entries.

4 years ago; Fix typos in etc/NEWS
Michael Albinus [Wed, 24 Jun 2020 08:41:39 +0000 (10:41 +0200)]
; Fix typos in etc/NEWS

4 years agoM-n in read-directory-name of vc commands gets project dirs (bug#41821)
Juri Linkov [Tue, 23 Jun 2020 23:59:31 +0000 (02:59 +0300)]
M-n in read-directory-name of vc commands gets project dirs (bug#41821)

* lisp/progmodes/project.el (project-known-roots): New autoloaded function.

* lisp/vc/vc-hooks.el (vc-known-roots): New function.

* lisp/vc/vc.el (vc-root-diff, vc-print-root-log):
* lisp/vc/vc-dir.el (vc-dir): Use 'vc-known-roots' for default
values for read-directory-name.

4 years agoMore not-state-changing vc commands can be used from non-file buffers
Juri Linkov [Tue, 23 Jun 2020 23:54:30 +0000 (02:54 +0300)]
More not-state-changing vc commands can be used from non-file buffers

* lisp/vc/vc.el (vc-deduce-fileset): Instead of checking for
log-view-mode, check for '(not buffer-file-name)' before trying to
get the backend for default-directory.  Remove the branch that
checks for '(not buffer-file-name)' and signals the error because
vc-responsible-backend used in previous condition already signals
its error.  (Bug#41974)

4 years agoFix problem in tramp-smb.el
Michael Albinus [Tue, 23 Jun 2020 19:18:08 +0000 (21:18 +0200)]
Fix problem in tramp-smb.el

* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
Use `directory-file-name'.

* test/lisp/net/tramp-tests.el (trace): Require it.
(tramp--test-instrument-test-case): Print also function traces.
(tramp--test-smb-p): New defun.
(tramp-test03-file-name-method-rules)
(tramp-test05-expand-file-name-relative)
(tramp-test21-file-links, tramp--test-windows-nt-or-smb-p)
(tramp--test-check-files): Use it.

4 years ago; Fix indentation in last change
Basil L. Contovounesios [Tue, 23 Jun 2020 14:48:24 +0000 (15:48 +0100)]
; Fix indentation in last change

* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Reindent first
argument of prog1.

4 years agoFix gnus-cloud-download-all-data return value
David Edmondson [Tue, 23 Jun 2020 11:52:34 +0000 (12:52 +0100)]
Fix gnus-cloud-download-all-data return value

* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Return the
result of calling `gnus-cloud-update-all' when UPDATE is t, as per the
documented behaviour. (Bug#40280)

4 years ago* lisp/gnus/gnus.el (gnus): Fix a check to handle native compilation.
Andrea Corallo [Mon, 22 Jun 2020 22:33:09 +0000 (00:33 +0200)]
* lisp/gnus/gnus.el (gnus): Fix a check to handle native compilation.

4 years agoAdd Jansson dependency to Windows Build
Phillip Lord [Mon, 22 Jun 2020 17:14:48 +0000 (18:14 +0100)]
Add Jansson dependency to Windows Build

* admin/nt/dist-build/build-dep-zips.py: Add dependency

4 years agoUnbreak 'reverse-region'
Richard Copley [Thu, 18 Jun 2020 17:59:21 +0000 (18:59 +0100)]
Unbreak 'reverse-region'

* lisp/sort.el (reverse-region): Unbreak the function.  It was
broken by a fix for bug#39376.

Copyright-paperwork-exempt: yes

4 years agoMinor improvements as followup to recent RGB string-parsing change
Eli Zaretskii [Mon, 22 Jun 2020 15:32:01 +0000 (18:32 +0300)]
Minor improvements as followup to recent RGB string-parsing change

* src/xfaces.c (Finternal_color_values_from_color_spec): Rename to...
(Fcolor_values_from_color_spec): ...this.  Callers changed.
Rename the argument to SPEC and improve the doc string.
(parse_color_spec, parse_float_color_comp, parse_hex_color_comp):
Improve commentary.
(parse_color_spec): Rename the argument S to SPEC.

* etc/NEWS: Mention 'color-values-from-color-spec'.

4 years agoproject-switch-to-buffer: Improve Ido compatibility
Dmitry Gutov [Mon, 22 Jun 2020 13:58:02 +0000 (16:58 +0300)]
project-switch-to-buffer: Improve Ido compatibility

* lisp/progmodes/project.el (project-switch-to-buffer):
Check that the entry contains a non-nil CDR.

4 years agoFix typos and markup in fill column indicator docs
Basil L. Contovounesios [Mon, 22 Jun 2020 13:43:53 +0000 (14:43 +0100)]
Fix typos and markup in fill column indicator docs

* doc/emacs/display.texi (Displaying Boundaries): Fix typos and
Texinfo markup.

4 years agoproject-switch-to-buffer: Do not require matching input
Dmitry Gutov [Mon, 22 Jun 2020 13:48:43 +0000 (16:48 +0300)]
project-switch-to-buffer: Do not require matching input

* lisp/progmodes/project.el (project-switch-to-buffer):
Do not require matching input, to allow creating buffers as well
(bug#41879).

4 years agoAccept lexical lambda in auto-insert-alist
Mattias Engdegård [Mon, 22 Jun 2020 11:07:37 +0000 (13:07 +0200)]
Accept lexical lambda in auto-insert-alist

This bug was exposed by a previous removal of quoting around lambda
expressions in autoinsert-tests.el (1ecd350f38ee), which caused some
of those tests to fail.

* lisp/autoinsert.el (auto-insert): Cope with lexical closures.

4 years agoFix spurious error in beginning-of-defun in pascal-mode (bug#41740)
Mattias Engdegård [Sun, 21 Jun 2020 19:11:17 +0000 (21:11 +0200)]
Fix spurious error in beginning-of-defun in pascal-mode (bug#41740)

* lisp/progmodes/pascal.el (pascal-beg-of-defun):
Ignore errors in forward-sexp.
* test/lisp/progmodes/pascal-tests.el (pascal-beg-of-defun): New test.

4 years agoPreserve point in pascal-mode completion (bug#41740)
Mattias Engdegård [Sun, 21 Jun 2020 19:04:30 +0000 (21:04 +0200)]
Preserve point in pascal-mode completion (bug#41740)

Failure to do so caused errors in several cases.
Reported by Shinichi Sakata.

* lisp/progmodes/pascal.el (pascal-type-completion)
(pascal-completion): Wrap code that may move point in save-excursion.
* test/lisp/progmodes/pascal-tests.el: New file.

4 years agoFix display-buffer-override-next-command to call action only once (bug#39722)
Juri Linkov [Sun, 21 Jun 2020 23:36:16 +0000 (02:36 +0300)]
Fix display-buffer-override-next-command to call action only once (bug#39722)

* lisp/vc/vc-dir.el (vc-dir-bookmark-jump): Don't use save-window-excursion.

* lisp/window.el (display-buffer-override-next-command): Reset
display-buffer-overriding-action after the first buffer display action.

* lisp/tab-bar.el (switch-to-buffer-other-tab): Don't reuse frame tabs.
(other-tab-prefix): Don't reuse frame tabs.

4 years agoNew commands other-window-prefix (C-x 4 4) and other-frame-prefix (C-x 5 5)
Juri Linkov [Sun, 21 Jun 2020 23:17:02 +0000 (02:17 +0300)]
New commands other-window-prefix (C-x 4 4) and other-frame-prefix (C-x 5 5)

* lisp/window.el (other-window-prefix, same-window-prefix): New commands.
(ctl-x-4-map): Bind 'C-x 4 4' to 'other-window-prefix'.  (Bug#41691)

* lisp/frame.el (other-frame-prefix): New command.
(ctl-x-5-map): Bind 'C-x 5 5' to 'other-frame-prefix'.

4 years agoForward declare eshell-buffer-name in project-eshell
Theodor Thornhill [Sun, 21 Jun 2020 22:49:20 +0000 (01:49 +0300)]
Forward declare eshell-buffer-name in project-eshell

* lisp/progmodes/project.el: Forward declare 'eshell-buffer-name' so
that 'project-eshell' can use dynamically scoping with it.

4 years ago; project-shell, project-eshell: Doc fixes
Dmitry Gutov [Sun, 21 Jun 2020 22:47:55 +0000 (01:47 +0300)]
; project-shell, project-eshell: Doc fixes

4 years agoMerge remote-tracking branch 'savahnna/master' into dev
Andrea Corallo [Sun, 21 Jun 2020 22:20:03 +0000 (00:20 +0200)]
Merge remote-tracking branch 'savahnna/master' into dev

4 years agoTwo `load-history' eln related fixes.
Andrea Corallo [Sun, 21 Jun 2020 18:52:52 +0000 (20:52 +0200)]
Two `load-history' eln related fixes.

* src/lread.c (Fload): Fix `load-history' filling for elns non in
root lisp-dir.

* lisp/startup.el (command-line): Fix `load-history' fixup
algorith for eln files.

4 years ago;* src/comp.c (define_maybe_gc_or_quit): Fix a comment.
Andrea Corallo [Thu, 18 Jun 2020 21:21:32 +0000 (23:21 +0200)]
;* src/comp.c (define_maybe_gc_or_quit): Fix a comment.

4 years ago* src/comp.c (Fcomp__compile_ctxt_to_file): Confine gcc optim level in [0, 3].
Andrea Corallo [Thu, 18 Jun 2020 21:14:06 +0000 (23:14 +0200)]
* src/comp.c (Fcomp__compile_ctxt_to_file): Confine gcc optim level in [0, 3].

4 years ago* Handle correctly pure delaration specifier.
Andrea Corallo [Thu, 18 Jun 2020 21:04:55 +0000 (23:04 +0200)]
* Handle correctly pure delaration specifier.

* lisp/emacs-lisp/comp.el (comp-func): New slot 'pure'.
(comp-spill-decl-spec): New function.
(comp-spill-speed): Rework to use the later.
(comp-spill-lap-function, comp-intern-func-in-ctxt): Spill pure
decl value.
(comp-function-optimizable-p): Check in the compiler env too if
pure.

4 years ago* Add a func-arity test for dynamic functions
Andrea Corallo [Wed, 17 Jun 2020 20:46:48 +0000 (22:46 +0200)]
* Add a func-arity test for dynamic functions

* test/src/comp-tests.el (comp-tests-dynamic-arity): New test.

4 years agoDo not native compile two functions to allow cc-mode hack
Andrea Corallo [Wed, 17 Jun 2020 20:17:57 +0000 (22:17 +0200)]
Do not native compile two functions to allow cc-mode hack

* lisp/progmodes/cc-langs.el (c-populate-syntax-table): Declare
with speed -1.

* lisp/progmodes/cc-bytecomp.el
(cc-bytecomp-compiling-or-loading): Declare with speed -1.

4 years agoAdd a test for speed -1
Andrea Corallo [Mon, 15 Jun 2020 19:27:00 +0000 (21:27 +0200)]
Add a test for speed -1

* test/src/comp-tests.el (comp-test-speed--1): New test

* test/src/comp-test-funcs.el (comp-test-speed--1-f): New
function.

4 years agoAllow per function speed declaration
Andrea Corallo [Mon, 15 Jun 2020 18:26:00 +0000 (20:26 +0200)]
Allow per function speed declaration

* src/comp.c (COMP_SPEED): Rename.
(comp_t): Add 'func_speed' field.
(emit_mvar_lval, compile_function): Update for per function speed.
(Fcomp__compile_ctxt_to_file): COMP_SPEED renamed.

* lisp/emacs-lisp/comp.el (comp-speed): Doc update.
(comp-func): New 'speed' slot.
(comp-spill-speed): New function.
(comp-spill-lap-function, comp-intern-func-in-ctxt): Fill 'speed'
slot.
(comp-spill-lap-function): Gate -1 speed functions for native
compilation and emit bytecode instead.
(comp-spill-lap): Close over `byte-to-native-plist-environment'.
(comp-latch-make-fill): Update for per function speed.
(comp-limplify-top-level): Fill speed.
(comp-propagate1, comp-call-optim-form-call, comp-call-optim)
(comp-dead-code, comp-tco, comp-remove-type-hints): Update for per
function speed.

4 years agoExecute top level forms in the right lex/dyn scope.
Andrea Corallo [Tue, 2 Jun 2020 10:08:50 +0000 (11:08 +0100)]
Execute top level forms in the right lex/dyn scope.

* lisp/emacs-lisp/bytecomp.el (byte-to-native-top-level): Add
'lexical' slot.
(byte-compile-output-file-form): Update for new slot.
(byte-compile-file-form-defmumble): Capture scope.

* lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Specify
execution scope.

4 years agoAdd some testing for dynamic scope
Andrea Corallo [Tue, 10 Dec 2019 11:55:34 +0000 (12:55 +0100)]
Add some testing for dynamic scope

* test/src/comp-test-funcs-dyn.el: New file.

* test/src/comp-tests.el (comp-tests-dynamic-ffuncall): Add
new tests.

4 years agoConsolidate #RGB string parsers
Mattias Engdegård [Fri, 12 Jun 2020 16:12:37 +0000 (18:12 +0200)]
Consolidate #RGB string parsers

Use a single parser of color strings in the #RGB, rgb:R/G/B and
rgbi:R/G/B formats, replacing four existing ones.  Previously,
error-checking was spotty, handling of the rgbi: format not always
present, and normalization of the result was sometimes incorrect.

* src/dispextern.h: New prototype.
* src/xfaces.c (parse_hex_color_comp, parse_float_color_comp)
(parse_color_spec, Finternal-color_values_from_color_spec): New functions.
* test/src/xfaces-tests.el (xfaces-internal-color-values-from-color-spec):
New test.
* lisp/term/tty-colors.el (tty-color-standard-values):
Use internal-color-values-from-color-spec, replacing old parser.
* src/nsterm.m (ns_get_color):
* src/w32fns.c (x_to_w32_color):
* src/xterm.c (x_parse_color): Use parse_color_spec, replacing old
parsers.
(HEX_COLOR_NAME_LENGTH): Remove #define.

4 years agoRevert last change in benchmark.el
Basil L. Contovounesios [Sun, 21 Jun 2020 18:01:40 +0000 (19:01 +0100)]
Revert last change in benchmark.el

For discussion, see the following thread:
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00791.html

* lisp/emacs-lisp/benchmark.el (benchmark-run-compiled): Revert to
giving byte-compile a form rather than a closure.

4 years agoImprove doc strings of 'project-shell' and 'project-eshell'
Eli Zaretskii [Sun, 21 Jun 2020 16:20:37 +0000 (19:20 +0300)]
Improve doc strings of 'project-shell' and 'project-eshell'

* lisp/progmodes/project.el (project-shell, project-eshell): Doc
fixes.

4 years agoReplace some uses of cl-mapcan with mapcan
Basil L. Contovounesios [Sun, 21 Jun 2020 13:31:16 +0000 (14:31 +0100)]
Replace some uses of cl-mapcan with mapcan

* lisp/progmodes/project.el (project-files, project-files):
* lisp/progmodes/xref.el (xref-backend-references)
(xref--convert-hits):
* test/lisp/emacs-lisp/package-tests.el
(package-test-strip-version): Replace cl-mapcan with equivalent
calls to mapcan.

4 years agoFix remaining problems with tramp-crypt.el
Michael Albinus [Sun, 21 Jun 2020 13:19:51 +0000 (15:19 +0200)]
Fix remaining problems with tramp-crypt.el

* lisp/net/tramp-compat.el (tramp-compat-make-temp-file):
Simplify implementation.

* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-file)
(tramp-crypt-handle-file-attributes, tramp-crypt-handle-file-system-info)
(tramp-crypt-handle-make-directory): Let-bind `tramp-crypt-enabled' to nil.

* lisp/net/tramp.el (tramp-file-name-for-operation): Fix for operations
with two arguments.
(tramp-handle-load): Suppress `signal-hook-function' when NOERROR
is non-nil.

* test/lisp/net/tramp-tests.el (tramp-test41-utf8)
(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
(tramp-test41-utf8-with-ls): Skip if needed.

4 years agoEvaluate some unnecessarily quoted lambdas
Basil L. Contovounesios [Sun, 21 Jun 2020 12:42:14 +0000 (13:42 +0100)]
Evaluate some unnecessarily quoted lambdas

* lisp/cedet/semantic/complete.el
(semantic-displayer-tooltip-max-tags):
* lisp/emacs-lisp/benchmark.el (benchmark-run-compiled):
* lisp/emacs-lisp/package.el (package--default-summary)
(package-menu-filter-by-version):
* lisp/eshell/em-pred.el (eshell-pred-file-time):
* lisp/progmodes/verilog-mode.el (verilog-auto-lineup)
(verilog-auto-reset-widths, verilog-auto-arg-format)
(verilog-auto-inst-vector, verilog-auto-inst-template-numbers):
* lisp/textmodes/bibtex.el (bibtex-dialect):
* test/lisp/autoinsert-tests.el
(autoinsert-tests-define-auto-insert-before)
(autoinsert-tests-define-auto-insert-after): Remove some unnecessary
quoting around anonymous functions.

4 years agoSilence some warnings in tests
Basil L. Contovounesios [Sun, 21 Jun 2020 11:50:34 +0000 (12:50 +0100)]
Silence some warnings in tests

* test/lisp/emacs-lisp/package-tests.el
(package-test-suffix-matches): Evaluate lambda.
(package-test-list-filter-marked):
* test/lisp/vc/vc-tests.el
(vc-test--run-maybe-unsupported-function):
* test/src/undo-tests.el (undo-test-skip-invalidated-markers):
Silence "unused local variable" warnings.
* test/lisp/imenu-tests.el (imenu-simple-scan-deftest): Fix
docstring.  Don't shadow global major-mode.

4 years ago; project-shell, project-eshell: Docstring tweaks
Dmitry Gutov [Sun, 21 Jun 2020 01:19:29 +0000 (04:19 +0300)]
; project-shell, project-eshell: Docstring tweaks

4 years agoPop to an existing Eshell buffer by default
Theodor Thornhill [Sat, 20 Jun 2020 09:54:22 +0000 (11:54 +0200)]
Pop to an existing Eshell buffer by default

* lisp/progmodes/project.el (project-shell): Improve docstring to
include information about an implementation detail.

* list/progmodes/project.el (project-eshell): Modelled after
'project-shell', change default behavior such that we don't create too
many eshell buffers by default.  Use universal argument to create
subsequent buffers.

4 years agoFix a byte-compile warning.
Philipp Stephani [Sat, 20 Jun 2020 20:12:19 +0000 (22:12 +0200)]
Fix a byte-compile warning.

* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Don't use
'mapcar' or effect.

4 years agoFix last change for bug#41619
Eli Zaretskii [Sat, 20 Jun 2020 08:46:52 +0000 (11:46 +0300)]
Fix last change for bug#41619

* lisp/progmodes/python.el (python-shell-virtualenv-root): Fix
last change.  (Bug#41619)

4 years ago; * CONTRIBUTE: Clarify the preferences for patch formatting.
Eli Zaretskii [Sat, 20 Jun 2020 08:42:41 +0000 (11:42 +0300)]
; * CONTRIBUTE: Clarify the preferences for patch formatting.

4 years agoDocumentation followup to the last change
Eli Zaretskii [Sat, 20 Jun 2020 08:31:19 +0000 (11:31 +0300)]
Documentation followup to the last change

* doc/emacs/cmdargs.texi (General Variables):
* etc/NEWS: Document the COLORTERM environment variable.
(Bug#41846)

4 years agoAdd fallback for 24-bit terminal color via COLORTERM=truecolor
Jan Beich [Sun, 14 Jun 2020 03:51:24 +0000 (03:51 +0000)]
Add fallback for 24-bit terminal color via COLORTERM=truecolor

* src/term.c (init_tty): When COLORTERM=truecolor is defined,
override setaf/setab/colors terminfo capabilities with 24-bit
color support.

* doc/misc/efaq.texi (Colors on a TTY): Mention the possibility to
enable 24-bit color via the COLORTERM environment variable.

(Bug#41846)

Copyright-paperwork-exempt: yes

4 years agoAvoid crashes in 'defconst'
Stephen Berman [Thu, 11 Jun 2020 21:10:07 +0000 (23:10 +0200)]
Avoid crashes in 'defconst'

* src/eval.c (Fdefconst): Verify that SYMBOL is a known symbol.
(Bug#41817)

4 years agoFix text about Lisp archives in the Emacs FQ
Richard Stallman [Thu, 11 Jun 2020 03:41:39 +0000 (23:41 -0400)]
Fix text about Lisp archives in the Emacs FQ

* doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
about using Lisp archives other than GNU ELPA.

4 years agoRevert "Don't mention non-GNU package archives."
Eli Zaretskii [Sat, 20 Jun 2020 07:51:51 +0000 (10:51 +0300)]
Revert "Don't mention non-GNU package archives."

This reverts commit 5daa7a5fd4aced33a2ae016bde5bb37d1d95edf6.
A proper fix will be committed to the emacs-27 branch, and
will be later merged to master.

4 years agoFix bug with deactivation of mark in 'cua-cancel'
Andrew Burgess [Sun, 7 Jun 2020 08:20:19 +0000 (09:20 +0100)]
Fix bug with deactivation of mark in 'cua-cancel'

* lisp/emulation/cua-base.el (cua-cancel): Use 'deactivate-mark'
instead of setting 'mark-active' directly.

Copyright-paperwork-exempt: yes

4 years agoDon't use 'cl' functions in ELisp manual's examples
Eli Zaretskii [Sat, 20 Jun 2020 07:29:37 +0000 (10:29 +0300)]
Don't use 'cl' functions in ELisp manual's examples

* doc/lispref/control.texi (pcase Macro): Use 'cl-evenp' instead
of 'evenp'.  (Bug#41947)

4 years agoproject-shell: Pop to an existing shell buffer by default
Theodor Thornhill [Sat, 20 Jun 2020 01:02:18 +0000 (04:02 +0300)]
project-shell: Pop to an existing shell buffer by default

* lisp/progmodes/project.el (project-shell):
Pop to an existing shell buffer by default.
If there's none, or if universal argument is used, open a subsequent
shell buffer and jump to it.  Prefix shell buffer name with the base
name of project root directory. (Bug#41858)