1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-04 05:11:15 -07:00
Commit graph

148415 commits

Author SHA1 Message Date
Jen-Chieh Shen
a9603c77f8 Add optional ALL-FRAMES arfument to count-windows
* lisp/window.el (count-windows): Allow counting the windows on
all frames (bug#42872).
2020-08-18 15:25:27 +02:00
Stefan Kangas
ae098c3e72 Rename new option to flyspell-use-mouse-3-for-menu
* lisp/textmodes/flyspell.el (flyspell-use-mouse-3-for-menu): Rename
from 'flyspell-correct-on-mouse-3'.  The previous name did not make it
clear that it's about opening a menu.  (Bug#11680)
(flyspell--set-use-mouse-3-for-menu): Rename from
'flyspell--set-correct-on-mouse-3'.  Bind menu to 'down-mouse-3'
instead of 'mouse-3' to be more in line with user expectations.
(flyspell-mode): Use the above new names.
* doc/emacs/fixit.texi (Spelling):
* etc/NEWS: Update documentation to use the new name.

Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
2020-08-18 12:49:36 +02:00
Lars Ingebrigtsen
e0c19e8dce Trim titles in eww so that the host from the URL is visible
* lisp/net/eww.el (eww-update-header-line-format): Trim the line
of the title so that the host bit of the URL is visible (bug#42898).
2020-08-18 12:31:22 +02:00
Lars Ingebrigtsen
75233e3ee0 Remove some compat code from esh-io.el
* lisp/eshell/esh-io.el (eshell-set-output-handle): Remove check
for null-device, which is always bound.
2020-08-18 12:12:02 +02:00
Lars Ingebrigtsen
e0e3fe4e7d Remove some compat code from ediff
* lisp/vc/ediff-init.el (ediff-convert-standard-filename): Make
obsolete.
* lisp/vc/ediff-util.el (ediff-setup): Adjust callers.
(ediff-make-temp-file): Ditto.
2020-08-18 12:10:29 +02:00
Lars Ingebrigtsen
9384674aa3 Remove some compat code from ede/make.el and semantic/dep.el
* lisp/cedet/ede/make.el (ede--find-executable): Make obsolete.
(ede-make-command): Adjust caller.

* lisp/cedet/semantic/dep.el
(semantic--dependency-find-file-on-path): Make obsolete.
(semantic-dependency-find-file-on-path): Adjust callers.
2020-08-18 12:08:11 +02:00
Lars Ingebrigtsen
033f98efc3 Remove some compat code from python.el
* lisp/progmodes/python.el: Remove some compat function definitions.
2020-08-18 12:02:58 +02:00
Lars Ingebrigtsen
60f045b893 Remove some compat code from binhex.el and uudecode.el
* lisp/mail/binhex.el (binhex-temporary-file-directory): Make obsolete.
(binhex-decode-region-external): Adjust usage.

* lisp/mail/uudecode.el (uudecode-temporary-file-directory): Make
obsolete.
(uudecode-decode-region-external): Adjust usage.
2020-08-18 12:01:09 +02:00
Lars Ingebrigtsen
848a38adcb Remove some compat code from ispell.el
* lisp/textmodes/ispell.el (ispell-check-version): Remove check
for temporary-file-directory, which is always defined.
2020-08-18 11:57:39 +02:00
Lars Ingebrigtsen
c64fcb8ab5 Remove some compat code from uudecode.el
* lisp/mail/uudecode.el (uudecode-decode-region-external): Remove
check for make-temp-file, which is always defined.
2020-08-18 11:56:39 +02:00
Lars Ingebrigtsen
85f0e3df73 Remove some compat code from ediff-util.el
* lisp/vc/ediff-util.el (ediff-minibuffer-with-setup-hook): Make
into an obsolete macro.
(ediff-read-file-name): Adjust caller.
2020-08-18 11:55:29 +02:00
Lars Ingebrigtsen
8d7a7c16a8 Remove XEmacs compat code from idlwave.el
idlwave.el: (idlwave-comment-line-start-skip, idlwave-mode-map)
(idlwave-mode, idlwave-get-buffer-visiting)
(idlwave-find-file-noselect, idlwave-complete-in-buffer)
(idlwave-attach-classes, idlwave-popup-select)
(idlwave-split-menu-emacs, idlwave-display-completion-list)
(idlwave-default-choose-completion)
(idlwave-display-completion-list-emacs)
(idlwave-display-completion-list-1)
(idlwave-make-modified-completion-map-emacs)
(idlwave-class-file-or-buffer, idlwave-rinfo-mouse-map)
(idlwave-display-calling-sequence)
(idlwave-insert-source-location)
(idlwave-list-load-path-shadows, idlwave-edit-in-idlde): Remove
XEmacs compat code.
2020-08-18 11:53:21 +02:00
Andrew Whatson
fc9b68636b * Fix async compilation `comp-eln-load-path' effectiveness (bug#42909)
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward
	`comp-eln-load-path' to async workers.
2020-08-18 11:34:27 +02:00
Lars Ingebrigtsen
b14c1b5473 Remove some compat code from window.el
* lisp/window.el (window-fixed-size-p): Remove check for
window-size-fixed, which is always defined.
2020-08-18 11:32:06 +02:00
Lars Ingebrigtsen
fdd388d311 Remove some compat code from idlwave.el
* lisp/progmodes/idlwave.el (idlwave-one-key-select): Remove check
from fit-window-to-buffer, which always exists.
2020-08-18 11:27:17 +02:00
Lars Ingebrigtsen
e6e59a349b Remove come compat code from rmailedit.el
* lisp/mail/rmailedit.el (rmail-edit-mode): Remove check for
mode-line-modified, which is always defined.
2020-08-18 11:25:05 +02:00
Lars Ingebrigtsen
128b04fca0 Remove some compat code from erc-track.el
* lisp/erc/erc-track.el (erc-track-remove-from-mode-line)
(erc-track-add-to-mode-line): Remove check for mode-line-modes,
which is always bound.
2020-08-18 11:23:47 +02:00
Paul Eggert
9905001e4b Fix glitch uncovered by gcc -fsanitize=undefined
* src/ccl.c (ccl_driver): Defend against signed integer
overflow (Bug#42660).  Perhaps some of this is unnecessary,
but it is safe and ccl.c is low-priority these days.
2020-08-17 17:55:09 -07:00
Paul Eggert
362ca83a3b Let Emacs start even if curdir is inaccessible
* lisp/startup.el (normal-top-level): Also delete PWD if
file-attributes fails for either $PWD or default-directory,
instead of failing out of the top level.
This fixes a regression from Emacs 26 (Bug#42903).
2020-08-17 16:22:10 -07:00
Paul Eggert
352b7dede0 Update from Gnulib
This incorporates:
2020-08-17 verify: avoid __built_assume on Clang
2020-08-17 libc-config: avoid Clang’s __diagnose_if__
* lib/cdefs.h, lib/verify.h: Copy from Gnulib.
2020-08-17 15:05:41 -07:00
Eli Zaretskii
a1fe15a6ce Don't use -Wsuggest-attribute=malloc by default
* configure.ac: Move -Wsuggest-attribute=malloc to the set used
only under --enable-gcc-warnings.
2020-08-17 19:43:29 +03:00
Eli Zaretskii
3a17b9f265 Fix assertion violation in pdumper.c
* src/pdumper.c (pdumper_find_object_type_impl): When checking
last_mark_bits, require the offset to be less than
discardable_start, not cold_start.  This fixes a typo introduced in
2020-08-14T21:33:21Z!eggert@cs.ucla.edu (Bug#42832).
2020-08-17 09:30:40 -07:00
Eli Zaretskii
12c9941a35 ; * etc/NEWS: Call out a recent change in 'count-words'. (Bug#41761) 2020-08-17 19:11:35 +03:00
Andrea Corallo
76faab27cf * Improve eln filename hashing
Make eln filename hashing logic insensitive to the installation
process.

	* src/comp.c (epaths.h): New include to have PATH_DUMPLOADSEARCH,
	PATH_LOADSEARCH definitions.
	(loadsearch_re_list): New static var.
	(Fcomp_el_to_eln_filename): Update logic to have the eln hashing
	insensitive to the installation process.
	(syms_of_comp): GC protect 'loadsearch_re_list'.
2020-08-17 18:04:37 +02:00
Andrea Corallo
114b1d8f90 * test/src/comp-tests.el (comp-tests-bootstrap): Fix test for new eln setup. 2020-08-17 18:04:23 +02:00
Andrea Corallo
142cfe942f * Introduce `load-no-native'
Given load loads automatically a .eln in place of a .elc we need a way
to force the .elc load in the case we really want it.

	* src/lread.c (syms_of_lread): Define `load-no-native'.
	(maybe_swap_for_eln): Make use of.
2020-08-17 18:04:23 +02:00
Andrea Corallo
40de06390d * Remove a false permission related error while native compiling
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not crash if
	native compiling we have no permission to create the .elc
	file.  We are not creating it.
2020-08-17 18:04:23 +02:00
Andrea Corallo
da54406077 Allow for native compiling .el.gz files
This is needed for installed instances compiled with NATIVE_FAST_BOOT

	* src/comp.c (maybe_defer_native_compilation): Search for .el.gz
	too as a source if the .el is not found.
	(Fcomp_el_to_eln_filename): Remove the .gz in case to
	generate the hash.

	* lisp/emacs-lisp/comp.el (comp-valid-source-re): New defconst.
	(comp-run-async-workers, native-compile-async): Make use of
	`comp-valid-source-re'.
2020-08-17 18:04:23 +02:00
Andrea Corallo
171db31101 Make install target functional for new eln-cache directory arrangement
* src/comp.h (fixup_eln_load_path): New extern.

	* src/comp.c (fixup_eln_load_path): New function.

	* src/pdumper.c (dump_do_dump_relocation): Update to make use of
	'fixup_eln_load_path'.

	* lisp/loadup.el: Update to store in the compilation unit the
	correct eln-cache installed path. Rename --lisp-dest -> --eln-dest
	and.

	* Makefile.in: Pass the eln destination directory to
	src/Makefile. Rename LISP_DESTDIR -> ELN_DESTDIR.
	(ELN_DESTDIR): Define.
	(install-eln): New target.
	(install): Add install-eln as prerequisite.

	* src/Makefile.in: Rename --lisp-dest -> --eln-dest and
	LISP_DESTDIR -> ELN_DESTDIR.
2020-08-17 18:04:23 +02:00
Andrea Corallo
b6238d826e * Deferred compilation must always compile despite source file timestamp
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile
	if load is set.
2020-08-17 18:04:23 +02:00
Andrea Corallo
377ffdb528 * Do not fail if more then one level of directories has to be created
* lisp/emacs-lisp/comp.el (native-compile-async): Call
	make-directory if necessary.
2020-08-17 18:04:22 +02:00
Andrea Corallo
df774c4947 * Prevent recursive load
Prevent autoload to kicks in while running `native-compile-async'.
Autoload cannot be used safely by functions serving deferred
compilation as a circular load can be triggered if the dependency is
not native compiled already.

	* lisp/emacs-lisp/comp.el (warnings): Add require.
2020-08-17 18:04:22 +02:00
Andrea Corallo
dbeafd3403 Some Makefile updates and clean-up
* Makefile.in (clean): Remove 'eln-cache' folder.

	* lisp/Makefile.in (.SUFFIXES): Remove .eln.
	(native-compile-clean): Target remove.
	(compile-always, bootstrap-clean): Remove 'native-compile-clean'
	prerequisite.

	* src/Makefile.in (%.eln): Remove rule.
2020-08-17 18:04:22 +02:00
Andrea Corallo
88b860ef6c Make comp-deferred-compilation a simple global and set it on by default
* src/comp.c (comp_deferred_compilation): Doc update and set it to
	true by default.

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation): Remove
	customize.
2020-08-17 18:04:22 +02:00
Andrea Corallo
3224a44306 Move eln files into dedicated cache directories
When loading a elc file search for a corresponding eln one into
`comp-eln-load-path' directories and load it if available.
`comp-eln-load-path' contains by default two directory (user and
system one).

	* src/pdumper.c (dump_do_dump_relocation): While resurrecting from
	load set eln cache sys dir in `Vcomp_eln_load_path'.

	* src/lread.c (maybe_swap_for_eln): New function.
	(Fload): Clean-up some now unnecessary code going
	back to the master one.
	(Fload): Make use of Vcomp_eln_to_el_h for the reverse file
	look-up.
	(openp_add_middle_dir_to_suffixes)
	(openp_max_middledir_and_suffix_len, openp_fill_filename_buffer):
	Remove functions.
	(openp): As for Fload revert code modifications.
	(openp): When a .elc file is being loaded check if a corresponding
	eln can be loaded in place.

	* src/comp.c (ELN_FILENAME_HASH_LEN): New macro.
	(comp_hash_string): New function.
	(hash_native_abi): Make use of 'comp_hash_string'.
	(hash_native_abi): Change `comp-native-path-postfix' format.
	(Fcomp_el_to_eln_filename): New function.
	(Fcomp__compile_ctxt_to_file): Have file_name as a input.
	(Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global varaibles.

	* lisp/startup.el (normal-top-level): Add user eln cache directory
	in `comp-eln-load-path'.

	* lisp/help-fns.el (find-lisp-object-file-name): Reverse look-up
	files using `comp-eln-to-el-h'.

	* lisp/files.el (locate-file): Likewise.

	* lisp/emacs-lisp/find-func.el (find-library-name): Likewise.

	* lisp/emacs-lisp/comp.el (comp-output-directory)
	(comp-output-base-filename, comp-output-filename): Remove function.
	(comp-compile-ctxt-to-file): Create parent directories if
	necessary.
	(comp-run-async-workers, native-compile, native-compile-async):
	Make use `comp-el-to-eln-filename'.
2020-08-17 18:04:22 +02:00
Paul Eggert
dd989c0ea0 * etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#42845). 2020-08-17 08:29:28 -07:00
Stefan Kangas
e5d4fae679 Remove some obsolete items from PROBLEMS
* etc/PROBLEMS: Remove some obsolete items.
2020-08-17 13:30:03 +02:00
Stefan Kangas
ddbfbeb067 Remove more XEmacs compat code from viper
* lisp/emulation/viper-util.el (viper-sit-for-short)
(viper-last-command-char): Make obsolete.
(viper-fast-keysequence-p):
* lisp/emulation/viper-cmd.el (viper-escape-to-emacs)
(viper-digit-argument, viper-command-argument, viper-undo)
(viper-exit-minibuffer):
* lisp/emulation/viper-mous.el (viper-multiclick-p):
Adjust callers.
2020-08-17 13:29:48 +02:00
Michael Albinus
2b6f52950d ; * doc/lispref/tips.texi: Fix typo. 2020-08-17 11:41:46 +02:00
Robert Pluim
4542b750cc Fix bug with ~/Emacs file not being read at init
* src/xrdb.c (get_user_app): Put "/" between homedir
and %L or %N (Bug#42827).
2020-08-16 21:41:03 -07:00
Paul Eggert
0c86f5592e Simplify format_time_string
* src/timefns.c (emacs_nmemftime, format_time_string):
Simplify on the basis of recent nstrftime changes.
Propagate nstrftime errno.
2020-08-16 14:30:29 -07:00
Paul Eggert
846657afaf Update from Gnulib
This incorporates:
2020-08-16 time_rz: remove unused functions
2020-08-16 time_rz: fix issues with mktime_z failures
2020-08-16 nstrftime: Guide inlining also on clang
2020-08-16 intprops: Avoid bogus warning on clang
2020-08-16 libc-config: Enable __REDIRECT macro also on clang
2020-08-16 regex: Use initializer shorthand syntax also with clang
2020-08-16 regex: Use space optimization also with clang
2020-08-16 Use _Static_assert and static_assert when present on clang
2020-08-16 Use 'throw ()' for optimization in C++ mode also on clang
2020-08-16 stdio: Don't break attribute 'scanf' on clang
2020-08-16 Fix "warning: 'format' attribute ...: rpl_printf"
2020-08-16 Fix "warning: attribute declaration must precede definition"
2020-08-16 Fix undesired warnings
2020-08-16 Don't use Autoconf quadrigraphsxo
2020-08-16 Fix quoting of AC_LANG_PROGRAM arguments
2020-08-16 Assume autoconf >= 2.64
2020-08-15 nstrftime: be more predictable about errno
2020-08-15 canonicalize: Fix autoconf test on MSVC/clang
2020-08-15 Support compiling without -loldnames on native Windows
2020-08-14 mktime, mktime-internal: Remove obsolete code
2020-08-14 Assume tzset exists
* lib/c++defs.h, lib/canonicalize-lgpl.c, lib/cdefs.h, lib/dup2.c:
* lib/fcntl.in.h, lib/getopt-cdefs.in.h, lib/intprops.h, lib/md5.h:
* lib/mktime.c, lib/nstrftime.c, lib/open.c, lib/regcomp.c:
* lib/regex_internal.h, lib/stdio.in.h, lib/stdlib.in.h:
* lib/strftime.h, lib/string.in.h, lib/sys_select.in.h:
* lib/sys_stat.in.h, lib/sys_time.in.h, lib/time.in.h, lib/time_rz.c:
* lib/unistd.in.h, lib/verify.h, m4/00gnulib.m4:
* m4/absolute-header.m4, m4/alloca.m4, m4/canonicalize.m4, m4/dup2.m4:
* m4/fchmodat.m4, m4/fcntl.m4, m4/fdopendir.m4, m4/fpending.m4:
* m4/futimens.m4, m4/getdtablesize.m4, m4/getloadavg.m4:
* m4/gnulib-common.m4, m4/include_next.m4, m4/largefile.m4:
* m4/manywarnings.m4, m4/mktime.m4, m4/nstrftime.m4, m4/open-slash.m4:
* m4/pselect.m4, m4/pthread_sigmask.m4, m4/time_h.m4, m4/utimens.m4:
* m4/utimensat.m4, m4/utimes.m4, m4/warnings.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2020-08-16 14:30:29 -07:00
Jonas Bernoulli
8c68a15f2a Allow overriding read--expression-try-read bindings
* lisp/simple.el (read--expression): No longer bind
read--expression-try-read here.
* lisp/simple.el (read-expression-map): Bind
read--expression-try-read here (bug#42893).

This new specialized command was recently added in [1: 4a6dd13fa4].
It reestablishes the bindings every time `read--expression' is
invoked, which is wrong because it makes it impossible for users
to remove these bindings.

1: 4a6dd13fa4
Change 'M-:' to not error out on incomplete expressions.
2020-08-16 22:24:59 +02:00
Lars Ingebrigtsen
bdda935a7d Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2020-08-16 20:25:53 +02:00
Lars Ingebrigtsen
ada0b9b94e Implement list-system-processes on OpenBSD
* src/sysdep.c: Implement list-system-processes on OpenBSD:
(bug#13881).  Based on a patch by Jérémie Courrèges-Anglas.
2020-08-16 20:25:44 +02:00
João Távora
df2ae3f9c1 Don't let docless variables hide function signature
In Elisp mode, ElDoc will try the variable's docstring first, then the
function signature.  If the former doesn't have one, don't hide the
latter.

* lisp/progmodes/elisp-mode.el (elisp-eldoc-var-docstring): If no
symbol docstring, don't declare any.
2020-08-16 19:05:05 +01:00
Stefan Kangas
1eae0a8784 Add new option flyspell-correct-on-mouse-3
* lisp/textmodes/flyspell.el
(flyspell-correct-on-mouse-3): New option to bind
'flyspell-correct-word' to 'mouse-3'.
(flyspell--set-correct-on-mouse-3): New function to update option.
(flyspell-mode): Update 'flyspell-mouse-map' if above option is
set.
* doc/emacs/fixit.texi (Spelling): Mention the new option.
* etc/NEWS: Announce the new option.
2020-08-16 19:40:43 +02:00
Stefan Kangas
a0653f809f Remove redundant :group args from flyspell.el
* lisp/textmodes/flyspell.el: Remove redundant :group args.
2020-08-16 19:35:29 +02:00
Stefan Kangas
b06ef8d5e9 Mark XEmacs compat alias as obsolete
* lisp/subr.el (user-original-login-name): Mark as obsolete.  This
XEmacs compat alias was obsoleted even by XEmacs, so there is no point
in keeping it around.
2020-08-16 15:38:06 +02:00
Steven Allen
ba9a2b6c27 Set the current buffer in esh-mode before running filter functions
* lisp/eshell/esh-mode.el: (eshell-output-filter): Match
current-buffer behavior of comint-output-filter (bug#42870).

This change (a) sets the current buffer to the process-buffer when
invoking preoutput filter functions and (b) only invokes them when the
process-buffer is live. Otherwise, the preoutput filter functions be
invoked in whatever buffer happens to be focused, breaking hooks that
read buffer-local variables.
2020-08-16 14:31:27 +02:00