]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years ago* Remove a false permission related error while native compiling
Andrea Corallo [Sun, 16 Aug 2020 14:40:03 +0000 (16:40 +0200)]
* 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.

4 years agoAllow for native compiling .el.gz files
Andrea Corallo [Sun, 16 Aug 2020 12:33:25 +0000 (14:33 +0200)]
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'.

4 years agoMake install target functional for new eln-cache directory arrangement
Andrea Corallo [Sun, 16 Aug 2020 09:18:36 +0000 (11:18 +0200)]
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.

4 years ago* Deferred compilation must always compile despite source file timestamp
Andrea Corallo [Sat, 15 Aug 2020 18:12:46 +0000 (20:12 +0200)]
* Deferred compilation must always compile despite source file timestamp

* lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile
if load is set.

4 years ago* Do not fail if more then one level of directories has to be created
Andrea Corallo [Sat, 15 Aug 2020 09:29:06 +0000 (11:29 +0200)]
* 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.

4 years ago* Prevent recursive load
Andrea Corallo [Sat, 15 Aug 2020 08:54:22 +0000 (10:54 +0200)]
* 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.

4 years agoSome Makefile updates and clean-up
Andrea Corallo [Fri, 14 Aug 2020 07:05:31 +0000 (09:05 +0200)]
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.

4 years agoMake comp-deferred-compilation a simple global and set it on by default
Andrea Corallo [Thu, 13 Aug 2020 21:47:54 +0000 (23:47 +0200)]
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.

4 years agoMove eln files into dedicated cache directories
Andrea Corallo [Sun, 19 Jul 2020 08:46:24 +0000 (10:46 +0200)]
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'.

4 years ago* Remove a warning for conventional build
Andrea Corallo [Sat, 15 Aug 2020 18:22:10 +0000 (20:22 +0200)]
* Remove a warning for conventional build

* src/lread.c (parent_directory): Add ATTRIBUTE_UNUSED.

4 years ago* Fix excessive echo area usage
Andrea Corallo [Fri, 14 Aug 2020 06:29:28 +0000 (08:29 +0200)]
* Fix excessive echo area usage

* lisp/emacs-lisp/comp.el (comp-run-async-workers): Use
`with-temp-file' to fill temp-file.

4 years ago* src/pdumper.c (dump_do_dump_relocation): Improve error messages.
Andrea Corallo [Thu, 13 Aug 2020 15:13:11 +0000 (17:13 +0200)]
* src/pdumper.c (dump_do_dump_relocation): Improve error messages.

4 years ago* src/pdumper.c (dump_cold_native_subr): Clean-up *IMPLICIT_CONVERSION macros.
Andrea Corallo [Thu, 13 Aug 2020 10:47:34 +0000 (12:47 +0200)]
* src/pdumper.c (dump_cold_native_subr): Clean-up *IMPLICIT_CONVERSION macros.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Thu, 13 Aug 2020 10:22:07 +0000 (12:22 +0200)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years ago; * lisp/emacs-lisp/comp.el (comp-deferred-compilation): Fix doc.
Andrea Corallo [Thu, 13 Aug 2020 07:45:16 +0000 (09:45 +0200)]
; * lisp/emacs-lisp/comp.el (comp-deferred-compilation): Fix doc.

4 years agoEnsure that server-socket-dir doesn't have "//" in the path
Lars Ingebrigtsen [Thu, 13 Aug 2020 10:01:01 +0000 (12:01 +0200)]
Ensure that server-socket-dir doesn't have "//" in the path

* lisp/server.el (server-socket-dir): Use expand-file-name to
avoid "//" in the path name (if either XDG_RUNTIME_DIR or TMPDIR
ends in a slash) (bug#18658).

4 years agoHandle negative prefix arguments to mark-paragraph correctly
H. Dieter Wilhelm [Thu, 13 Aug 2020 09:51:17 +0000 (11:51 +0200)]
Handle negative prefix arguments to mark-paragraph correctly

* textmodes/paragraph.el (mark-paragraph): Handle negative
arguments correctly (bug#18847).  This makes `M- M-h M-h' do the
correct thing with expanding the region (like other marking
commands) backwards.  Also fix problem at the end of the buffer,
where the numbers of paragraphs left in the buffer is less than
ARG, then paragraphs would also be marked *before* the current
paragraph.  Also clarify the doc string.

4 years agoUpdate section heading conventions for libraries
Jonas Bernoulli [Sun, 9 Aug 2020 21:02:34 +0000 (23:02 +0200)]
Update section heading conventions for libraries

* doc/lispref/tips.texi (Comment Tips): Update information on section
  headings to reflect common usage.

Previously the tips stated that if the code is split up into multiple
sections, then that should be done by splitting up the ";;; Code:"
section into multiple sub-sections.

However about half the libraries in Emacs instead use multiple
top-level sections.  We update the tips (aka conventions) to allow
this common usage, but because it is awkward if there is a section
named "Code", which contains only some of the code instead of all of
it, we now recommend that that section should be empty in this case.

We cannot just give up on the "Code:" section/heading because that is
an old convention that is followed be nearly every library and because
it is likely that there are some utilities out there that depend on
its presence.

This was discussed in
https://lists.gnu.org/archive/html/emacs-devel/2020-07/msg00444.html
https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00001.html

4 years ago; * lisp/emacs-lisp/autoload.el: Begin summary line with three semicolons.
Jonas Bernoulli [Mon, 27 Jul 2020 20:48:08 +0000 (22:48 +0200)]
; * lisp/emacs-lisp/autoload.el: Begin summary line with three semicolons.

4 years ago* lisp/font-lock.el: No longer use headings as end of section markers.
Jonas Bernoulli [Wed, 15 Jul 2020 16:40:36 +0000 (18:40 +0200)]
* lisp/font-lock.el: No longer use headings as end of section markers.

Each section ends right before the following section begins and IMO
that means that it is unnecessary to mark the end of sections.

For users of `outline-minor-mode' the old end-of-section markers were
a distraction.  They made it much harder to parse the overview outline
state because each section heading was followed by a end-of-section
marker that was formatted as a section heading.  Because of this I
wanted to remove the end-of-section markers.

But as Eli pointed out these sections are long and not everyone uses
`outline-minor-mode'.

So instead of removing them, I am turning the end-of-section markers
into regular comments (beginning with just two semicolons) instead of
section headings (beginning with tree semicolons).  That way users of
`outline-minor-mode' won't be distracted by them and others can still
benefit from the markers as before.

4 years ago* lisp/font-lock.el: Split the Commentary into subsections.
Jonas Bernoulli [Wed, 17 Jun 2020 00:59:41 +0000 (02:59 +0200)]
* lisp/font-lock.el: Split the Commentary into subsections.

The "Commentary" was already split into multiple sections, but
these sections where on the same level as "Commentary" itself,
which is less convenient for users of `outline-minor-mode'.

4 years ago* lisp/net/imap.el: Use proper outline headings
Jonas Bernoulli [Wed, 17 Jun 2020 01:00:12 +0000 (03:00 +0200)]
* lisp/net/imap.el: Use proper outline headings

This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments.  One heading is new.

4 years ago* lisp/obsolete/longlines.el: Use proper outline headings.
Jonas Bernoulli [Fri, 8 May 2020 19:24:20 +0000 (21:24 +0200)]
* lisp/obsolete/longlines.el: Use proper outline headings.

This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments.  One heading is new.

4 years ago* test/src/emacs-module-tests.el: Use proper outline headings.
Jonas Bernoulli [Mon, 20 Apr 2020 21:32:19 +0000 (23:32 +0200)]
* test/src/emacs-module-tests.el: Use proper outline headings.

This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments.

4 years ago* lisp/mail/smtpmail.el: Use outline headings.
Jonas Bernoulli [Mon, 20 Apr 2020 21:30:07 +0000 (23:30 +0200)]
* lisp/mail/smtpmail.el: Use outline headings.

4 years ago; * lisp/whitespace.el: Capitalize "Code" section heading.
Jonas Bernoulli [Wed, 17 Jun 2020 00:59:48 +0000 (02:59 +0200)]
; * lisp/whitespace.el: Capitalize "Code" section heading.

4 years ago* lisp/progmodes/compile.el: Remove unnecessary comments.
Jonas Bernoulli [Mon, 20 Apr 2020 21:29:29 +0000 (23:29 +0200)]
* lisp/progmodes/compile.el: Remove unnecessary comments.

These comments are unnecessary because the doc-strings that follow
already cover the same ground, while being more concise.  These
comments were also prefixed with too many semicolons, causing them
to be treated as outline headings.

4 years agoMerge two conditions and fix indentation
Jonas Bernoulli [Mon, 20 Apr 2020 21:30:41 +0000 (23:30 +0200)]
Merge two conditions and fix indentation

The motivation behind this change is that the indentation of some
lines was outright wrong.  If we address that issue, then we might
as well also address the issue that some code is needlessly nested
an additional level.  That we can fix by merging the conditions.

By doing these two changes in on commit we have to change the fewest
lines.  Even though we are moving to using just spaces for indentation
of the modified lines, other lines in the same function are left alone
and continue to us tabs+spaces for indentation.  That is not "wrong",
but just the style we are slowly migrating away from when touching
lines for other reasons.

Discussed in bug#42397.

* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Merge two
conditions and fix indentation.

4 years agoSplit EasyPG libraries into outline sections
Jonas Bernoulli [Tue, 18 Feb 2020 15:42:20 +0000 (16:42 +0100)]
Split EasyPG libraries into outline sections

* lisp/epa-dired.el:
lisp/epa-file.el:
lisp/epa-hook.el:
lisp/epa-mail.el:
lisp/epa.el:
lisp/epg-config.el:
lisp/epg.el: Split into outline sections.
* lisp/epg.el (epg-error): Move definition.

4 years ago; * lisp/epg.el (epg-no-data-reason-alist): Fix typo in message.
Jonas Bernoulli [Wed, 17 Jun 2020 20:22:53 +0000 (22:22 +0200)]
; * lisp/epg.el (epg-no-data-reason-alist): Fix typo in message.

4 years ago; * lisp/epg.el (epg-signature-to-string): Tiny refactor.
Jonas Bernoulli [Wed, 15 Jul 2020 17:07:03 +0000 (19:07 +0200)]
; * lisp/epg.el (epg-signature-to-string): Tiny refactor.

`concat' treats arguments that are nil as if they were empty strings.
We therefore do not have to write (if TEST THEN "") and can just use
(and TEST THEN).

4 years ago; * lisp/epg.el (epg-signature-to-string): Use cl-case.
Jonas Bernoulli [Wed, 15 Jul 2020 17:05:30 +0000 (19:05 +0200)]
; * lisp/epg.el (epg-signature-to-string): Use cl-case.

In this case we can greatly increase readability by using `cl-case'
instead of `cond'.

4 years agoDon't output emacsclient warning if both -a and --quiet
Lars Ingebrigtsen [Thu, 13 Aug 2020 08:29:44 +0000 (10:29 +0200)]
Don't output emacsclient warning if both -a and --quiet

* lib-src/emacsclient.c (set_local_socket): Don't output the
warning if both -a and --quiet are specified (bug#16117).
Inspired by a patch from Scott Turner <srt19170@gmail.com>.

4 years agoNotify the user if we errors when querying for registered git files
Emilio Lopes [Thu, 13 Aug 2020 08:01:00 +0000 (10:01 +0200)]
Notify the user if we errors when querying for registered git files

* lisp/vc/vc-git.el (vc-git-registered): Notify the user when
something fails here (bug#18481).

4 years agomml-secure-en-decrypt-sign-2 is unstable
Paul Eggert [Thu, 13 Aug 2020 01:38:52 +0000 (18:38 -0700)]
mml-secure-en-decrypt-sign-2 is unstable

* test/lisp/gnus/mml-sec-tests.el (mml-secure-en-decrypt-sign-2):
Mark as unstable (Bug#42720).

4 years agoRemove Emacs 22 compat code from dns.el
Stefan Kangas [Wed, 12 Aug 2020 23:39:53 +0000 (01:39 +0200)]
Remove Emacs 22 compat code from dns.el

* lisp/net/dns.el (dns-servers-up-to-date-p, dns-set-servers):
Remove check for function that is always there.

4 years agoDeclare semantic XEmacs compat code obsolete
Stefan Kangas [Wed, 12 Aug 2020 23:29:47 +0000 (01:29 +0200)]
Declare semantic XEmacs compat code obsolete

* lisp/cedet/semantic/grammar.el
(semantic-grammar-setup-menu-xemacs): Declare obsolete.

4 years agoRemove XEmacs compat code from allout-widgets.el
Stefan Kangas [Wed, 12 Aug 2020 23:23:46 +0000 (01:23 +0200)]
Remove XEmacs compat code from allout-widgets.el

* lisp/allout-widgets.el
(allout-widgets-item-image-properties-xemacs)
(allout-item-widget, allout-fetch-icon-image)
(allout-widgets-copy-list): Remove XEmacs compat code.

4 years ago* lisp/net/mailcap.el (mailcap-mime-data): Remove long-forgotten `ee`
Stefan Monnier [Wed, 12 Aug 2020 18:46:13 +0000 (14:46 -0400)]
* lisp/net/mailcap.el (mailcap-mime-data): Remove long-forgotten `ee`

It referred apparently to the "Electric Eyes" image viewer:
https://archive.org/details/tucows_31588_Electric_Eyes

4 years agoStop using Gnulib inttypes module
Paul Eggert [Wed, 12 Aug 2020 18:40:12 +0000 (11:40 -0700)]
Stop using Gnulib inttypes module

It wasn’t needed for MinGW after all, no other platform
seems to need it, and it slows down ‘configure’.
* admin/merge-gnulib (GNULIB_MODULES): Remove inttypes.
* m4/gnulib-comp.m4: Regenerate.

4 years agoUpdate from Gnulib
Paul Eggert [Wed, 12 Aug 2020 18:37:52 +0000 (11:37 -0700)]
Update from Gnulib

This incorporates:
2020-08-12 stdint: port intptr_t to more-recent MinGW
2020-08-11 Use __restrict also on clang
2020-08-11 Use flexible array syntax also on clang
2020-08-11 fcntl: On native Windows, use _setmode, not setmode
* lib/binary-io.h, lib/cdefs.h, lib/fcntl.c, lib/regex.h:
* lib/stdint.in.h: Copy from Gnulib.

4 years agoRemove some compat code from mm-util.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:54:09 +0000 (19:54 +0200)]
Remove some compat code from mm-util.el

* lisp/gnus/mm-util.el (mm-charset-to-coding-system): Remove the
non-mule case, because it's always false.

4 years agoSimplify the computation of mm-mime-mule-charset-alist
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:52:11 +0000 (19:52 +0200)]
Simplify the computation of mm-mime-mule-charset-alist

* lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): For
compatibility with XEmacs, mm-mime-mule-charset-alist was first
set to a list of hard-coded entries, and then overwritten on Emacs
from `coding-system-list'.  Remove the hard-coded values and
simplify the code.

4 years agoRemove some compat code from eudc-bob.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:41:24 +0000 (19:41 +0200)]
Remove some compat code from eudc-bob.el

* lisp/net/eudc-bob.el (eudc-bob-save-object)
(eudc-bob-pipe-object-to-external-program): Remove checks for
functions that are always defined in Emacs.

4 years agoRemove some compat code from url-handlers.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:38:09 +0000 (19:38 +0200)]
Remove some compat code from url-handlers.el

* lisp/url/url-handlers.el (url-insert-buffer-contents): Remove
check for function that's always defined in Emacs.

4 years agoRemove some compat code from gnus.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:33:50 +0000 (19:33 +0200)]
Remove some compat code from gnus.el

* lisp/gnus/gnus.el: Remove a check for a function that is always
defined.

4 years agoAdd support for italic text in ERC
Amin Bandali [Wed, 12 Aug 2020 17:33:36 +0000 (13:33 -0400)]
Add support for italic text in ERC

* lisp/erc/erc-goodies.el (erc-italic-face): New face for italic text.
(erc-controls-interpret), (erc-controls-highlight): Add `italicp'.
(erc-controls-remove-regexp),
(erc-controls-highlight-regexp): Handle C-] for italic.
(erc-controls-propertize): Add `italicp' argument and use it to
conditionally propertize text with the new `erc-italic-face'.
* etc/NEWS: Announce italic text support.

4 years agoRemove some compat code from viper-cmd.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:56:47 +0000 (18:56 +0200)]
Remove some compat code from viper-cmd.el

* lisp/emulation/viper-cmd.el (viper-register-to-point):
frame-configuration-p is always available in Emacs now.

4 years agoRemove some compat code from viper*.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:52:53 +0000 (18:52 +0200)]
Remove some compat code from viper*.el

* lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
(viper-non-hook-settings, viper-mode):
* lisp/emulation/viper-cmd.el (viper-normalize-minor-mode-map-alist)
(viper-harness-minor-mode): Remove a bunch of checks to do (or
not do) things based on whether add-to-ordered-list is fbound and
emulation-mode-map-alists is bound, because in Emacs now, these
are always true.

4 years agoMark some unused defaliases in semantic/fw.el obsolete
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:46:27 +0000 (18:46 +0200)]
Mark some unused defaliases in semantic/fw.el obsolete

* lisp/cedet/semantic/fw.el (semantic-run-mode-hooks)
(semantic-subst-char-in-string): Make two unused defaliases obsolete.

4 years agoRemove some compat code from epa.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:43:06 +0000 (18:43 +0200)]
Remove some compat code from epa.el

* lisp/epa.el (epa--derived-mode-p, epa-import-keys): Make
defalias obsolete, and adjust a comment.

4 years agoRemove some compat code from bubbles.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:39:17 +0000 (18:39 +0200)]
Remove some compat code from bubbles.el

* lisp/play/bubbles.el (bubbles--remove-overlays): Make into an
obsolete alias.
(bubbles--initialize, bubbles--show-images): Adjust callers.

4 years agoFix a check for whether Emacs can play sounds in eudc-bob
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:37:18 +0000 (18:37 +0200)]
Fix a check for whether Emacs can play sounds in eudc-bob

* lisp/net/eudc-bob.el (eudc-bob-sound-menu)
(eudc-bob-play-sound-at-point): Check for play-sound-internal
instead of play-sound, because the latter is always defined.

4 years agoRemove some compat code from allout.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:35:29 +0000 (18:35 +0200)]
Remove some compat code from allout.el

* lisp/allout.el (allout-numbered-bullet)
(allout-file-xref-bullet): string-or-null-p is always defined.

4 years agoRemove some compat code from allout*.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:34:29 +0000 (18:34 +0200)]
Remove some compat code from allout*.el

* lisp/allout-widgets.el (allout-widgets-mode-inhibit): Ditto.

* lisp/allout.el (allout-use-hanging-indents)
(allout-show-bodies, allout-old-style-prefixes)
(allout-stylish-prefixes): `booleanp' is always defined.

4 years agoRemove some compat code from prolog.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:31:50 +0000 (18:31 +0200)]
Remove some compat code from prolog.el

* lisp/progmodes/prolog.el (match-string): Remove alias to
function that always exists.

4 years agoRemove some compat code from idlwave.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:29:05 +0000 (18:29 +0200)]
Remove some compat code from idlwave.el

* lisp/progmodes/idlwave.el: Remove some checks for functions that
always exist.

4 years agoRemove some compat code from ediff-init.el
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:26:20 +0000 (18:26 +0200)]
Remove some compat code from ediff-init.el

* lisp/vc/ediff-init.el (subst-char-in-string, format-message):
Remove aliases to functions that always exist.

4 years agoCheck make-process to determine if we support multi-processing
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:09:24 +0000 (18:09 +0200)]
Check make-process to determine if we support multi-processing

* lisp/eshell/esh-proc.el (eshell-gather-process-output):
* lisp/comint.el (make-comint-in-buffer): Check that make-process
exists instead of start-file-process (which always exists).

4 years agoRevert "Remove compat code from esh-proc.el"
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:06:50 +0000 (18:06 +0200)]
Revert "Remove compat code from esh-proc.el"

This reverts commit 97c4d941daffba1635bd738fae9c4ff36e5ad0cf.

We still have Emacs builds on systems with no multi-tasking.

4 years agoRevert "Remove compat code from comint.el"
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:06:13 +0000 (18:06 +0200)]
Revert "Remove compat code from comint.el"

This reverts commit 4d00db5538dc0ef47cf1cdf425b895d04145fe9e.

We still have Emacs builds on systems with no multi-taskin.

4 years agoDo not truncate /foo//bar to /bar/ in parse-colon-path
Tino Calancha [Wed, 12 Aug 2020 12:53:29 +0000 (14:53 +0200)]
Do not truncate /foo//bar to /bar/ in parse-colon-path

* lisp/files.el (parse-colon-path): Use substitute-env-vars and
expand-file-name instead of substitute-in-file-name (Bug#21454).

4 years agoRemove Emacs 23 compat code from checkdoc.el
Stefan Kangas [Wed, 12 Aug 2020 13:43:23 +0000 (15:43 +0200)]
Remove Emacs 23 compat code from checkdoc.el

* lisp/emacs-lisp/checkdoc.el (checkdoc-run-hooks): Redefine as
obsolete function alias for 'run-hook-with-args-until-success'.
(checkdoc-this-string-valid-engine)
(checkdoc-file-comments-engine): Adjust callers.

4 years agoMinor cleanup in ps-def.el
Stefan Kangas [Wed, 12 Aug 2020 13:34:13 +0000 (15:34 +0200)]
Minor cleanup in ps-def.el

* lisp/ps-def.el (ps-frame-parameter): Make alias obsolete.
* lisp/ps-print.el (ps-begin-job): Adjust caller.

4 years agoFix monospace font calculations on macOS
YAMAMOTO Mitsuharu [Wed, 12 Aug 2020 11:15:44 +0000 (13:15 +0200)]
Fix monospace font calculations on macOS

* src/macfont.m (macfont_monospace_width_multiplier): New function
to compute the width for monospace fonts (bug#24582).
(macfont_glyph_extents): Fix monospace glyph computation.
(macfont_shape): Ditto.

4 years agoFix erc-reuse-buffers behavior
Mingde (Matthew) Zeng [Wed, 12 Aug 2020 11:09:35 +0000 (13:09 +0200)]
Fix erc-reuse-buffers behavior

* lisp/erc/erc.el (erc-generate-new-buffer-name): Fixes behavior 1,
also determines if the '#channel/server' buffer already exists
and will reuse that buffer when joining on the same
server. Additionally when creating a new buffer with
'#channel/serverB', the existing buffer '#channel' on 'severA' will be
renamed to '#channel/serverA' for the sake of consistency (bug#40121).

* lisp/erc/erc-join.el (erc-autojoin-channels): The logic is
simplified ensuring that when autojoining channels specified in
erc-autojoin-channels-alist, if there exists an erc buffer with the
same channel name but a different server, it will create a new buffer
to join the channel. The current logic is very weak that will skip
joining same channel on different servers altogether.

By the definition of erc-reuse-buffers, if non-nil it should create a
new buffer when joining channels with same names on different
servers. The current behavior of erc-reuse-buffers is:
1. when non-nil, it will always reuse the same channel buffer,
resulting in server A's channel gets reconnected to the channel with
the same name of server B.
2. when nil, the buffer-name of the joined channel is
'#channel/server'. However if one tries to '/join #channel' from the
server buffer, it creates a new empty buffer with buffer-name
'#channel', instead of opening the already-joined channel buffer.

4 years agoImplement Tramp direct async processes fallback for multi-hops
Michael Albinus [Wed, 12 Aug 2020 10:45:45 +0000 (12:45 +0200)]
Implement Tramp direct async processes fallback for multi-hops

* doc/misc/tramp.texi (Remote processes): Precise restrictions for direct
async processes.

* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-direct-async-process-p'.

* lisp/net/tramp.el (tramp-direct-async-process-p): New defun.
(tramp-handle-make-process): Adapt handling of :stderr.  Simplify.

4 years ago; Fix copyright years for recent additions
Glenn Morris [Wed, 12 Aug 2020 10:41:17 +0000 (11:41 +0100)]
; Fix copyright years for recent additions

4 years agoAdd utility functions and new xwidget commands
Sungbin Jo [Wed, 12 Aug 2020 10:39:50 +0000 (12:39 +0200)]
Add utility functions and new xwidget commands

Co-authored-by: Jaesup Kwak <veshboo@gmail.com>
* lisp/xwidget.el (xwidget-webkit-callback): Add case for
'response-callback' event.
(xwidget-webkit-download-dir): New variable.
(xwidget-webkit-save-as-file): New function.
* src/nsxwidget.m (XwWebView::decidePolicyForNavigationResponse):
Store download event.
* src/xwidget.c src/xwidget.h (store_xwidget_download_callback_event):
New function.

4 years agoAdd utility functions and new xwidget commands
Sungbin Jo [Wed, 12 Aug 2020 10:34:29 +0000 (12:34 +0200)]
Add utility functions and new xwidget commands

Co-authored-by: Jaesup Kwak <veshboo@gmail.com>
* etc/NEWS: Announce new functions and options.
* lisp/xwidget.el (xwidget): New defgroup.
(xwidget-webkit-mode-map): Add new keybindings.
(xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
(xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
Add optional argument to specify specific amounts to scroll down.
(xwidget-webkit-scroll-up-line, xwidget-webkit-scroll-down-line): New
functions.
(xwidget-webkit-scroll-bottom): Fix function to scroll to the bottom
of the document.
(xwidget-webkit-callback): Use new function to update buffer title
even when Javascript is disabled.
(xwidget-webkit-bookmark-jump-new-session): New variable.
(xwidget-webkit-bookmark-make-record): Modify to use xwidget-webkit to
open bookmark that is created in xwidget-webkit.
(xwidget-webkit-insert-string): Fix Javascript snippet to not throw
Javsscript exceptions.
(xwidget-webkit-inside-pixel-width)
(xwidget-window-inside-pixel-height): New functions.
(xwidget-webkit-adjust-size-to-window): Use new functions.
(xwidget-webkit-new-session): Insert invisible URL instead of an empty
string to achieve better default behavior.
(xwidget-webkit-back, xwidget-webkit-forward, xwidget-webkit-reload)
(xwidget-webkit-current-url): Use new functions to enable scrolling
even when Javascript is disabled.
(xwidget-webkit-copy-selection-as-kill): Remove unnecessary lambda.
* src/nsxwidget.h src/nsxwidget.m (nsxwidget_webkit_uri)
(nsxwidget_webkit_title, nsxwidget_webkit_goto_history): Add new
functions.
* src/xwidget.c (Fxwidget_webkit_uri, Fxwidget_webkit_title)
(Fxwidget_webkit_goto_history): Add new functions.
(syms_of_xwidget): Define new functions.

4 years agoTweak recent solar.el change
Glenn Morris [Wed, 12 Aug 2020 10:29:51 +0000 (11:29 +0100)]
Tweak recent solar.el change

* lisp/calendar/solar.el (sunrise-sunset, solar-equinoxes-solstices):
Use +0000 for "numeric" UTC, not +0100.

4 years agoRename recent calendar user option
Glenn Morris [Wed, 12 Aug 2020 10:22:31 +0000 (11:22 +0100)]
Rename recent calendar user option

* lisp/calendar/calendar.el (calendar-time-zone-style):
Rename from calendar-use-numeric-time-zones.
* lisp/calendar/cal-dst.el (calendar-standard-time-zone-name)
(calendar-daylight-time-zone-name):
* lisp/calendar/solar.el (sunrise-sunset, solar-equinoxes-solstices):
Use new variable name.
* doc/emacs/calendar.texi (Sunrise/Sunset): Update.
; * etc/NEWS: Update.

4 years agoAdd xwidget support for macOS
Sungbin Jo [Wed, 12 Aug 2020 10:12:34 +0000 (12:12 +0200)]
Add xwidget support for macOS

Co-authored-by: Jaesup Kwak <veshboo@gmail.com>
* configure.ac: Allow '--with-xwidgets' for "${NS_IMPL_COCOA}".
* etc/NEWS: Mention new feature.
* etc/TODO: Remove done TODO to implement xwidget in NeXTstep port.
* lisp/xwidget.el (xwidget-webkit-clone-and-split-below)
(xwidget-webkit-clone-and-split-right): New procedures.
(xwidget-webkit-callback): Remove call to
'xwidget-webkit-adjust-size-to-window' as adjusting xwidget size is
handled in 'x_draw_xwidget_glyph_string'.
(xwidget-webkit-enable-plugins): New variable.
* nextstep/templates/Info.plist.in: Add 'NSAppTransportSecurity'.
* src/Makefile.in: Add nsxwidget.o for compilation.
* src/emacs.c (main): Move conditional call to 'syms_of_xwidget'.
* src/nsterm.m (ns_draw_glyph_string): Add case for 'XWIDGET_GLYPH'.
(note_mouse_movement mouseMoved): Make it easy to resize window by
dragging mode-line or vertical separator adjacent to large glyph.
* src/nsxwidget.h src/nsxwidget.m: Newly added files, xwidget webkit
backend for macOS Cocoa.
* src/xwidget.c (Fmake_xwidget, xwidget_init_view)
(x_draw_xwidget_glyph_string, xwidget_is_web_view)
(Fxwidget_webkit_goto_uri, Fxwidget_webkit_zoom, Fxwidget_resize)
(Fxwidget_size_request, Fdelete_xwidget_view, xwidget_end_redisplay)
(kill_buffer_xwidgets): Add macOS Cocoa specific functions and code
with 'NS_IMPL_COCOA' and guard GTK specific functions and code with
'USE_GTK'.
(x_draw_xwidget_glyph_string): Handle adjusting xwidget size.
* src/xwidget.h (xwidget, xwidget_view): Add macOS Cocoa specific
fields with 'NS_IMPL_COCOA' and guard GTK specific fields with
USE_GTK.

4 years agoRemove comment on Burma / Myanmar (Bug#42788)
Stefan Kangas [Sun, 9 Aug 2020 22:22:51 +0000 (00:22 +0200)]
Remove comment on Burma / Myanmar (Bug#42788)

* lisp/language/burmese.el: Remove comment on Burma / Myanmar.

4 years agoAvoid ambiguity about what st refers to
Stefan Kangas [Tue, 11 Aug 2020 07:23:40 +0000 (09:23 +0200)]
Avoid ambiguity about what st refers to

* lisp/term/st.el: Add link to website.

4 years agoDon’t warn about integer conversion in pdumper.c
Paul Eggert [Wed, 12 Aug 2020 01:35:44 +0000 (18:35 -0700)]
Don’t warn about integer conversion in pdumper.c

Problem reported by Juanma Barranquero in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00279.html
and a similar glitch was reported by Eli Zaretskii (Bug#36597#67).
* src/pdumper.c: Remove -Wconversion pragma.
(ALLOW_IMPLICIT_CONVERSION, DISALLOW_IMPLICIT_CONVERSION):
Remove.  All uses removed.  Although -Wconversion may have
been helpful when writing pdumper.c it is now causing more
trouble than it’s worth here (just as in the rest of Emacs).
(dump_read_all): Avoid no-longer-necessary use of ‘size_t’
rather than ‘int’.

4 years agoRemove compat code from autoload.el
Lars Ingebrigtsen [Tue, 11 Aug 2020 19:21:13 +0000 (21:21 +0200)]
Remove compat code from autoload.el

* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
register-definition-prefixes is in subr.el, so it shouldn't be
necessary to check whether it's defined.

4 years agoRemove compat code from comint.el
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:57:56 +0000 (20:57 +0200)]
Remove compat code from comint.el

* lisp/comint.el (make-comint-in-buffer): `start-file-process' is
always defined, so remove test.

4 years agoRemove compat code from esh-proc.el
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:57:10 +0000 (20:57 +0200)]
Remove compat code from esh-proc.el

* lisp/eshell/esh-proc.el (eshell-gather-process-output):
`start-file-process' is always defined, so remove the code that
deals with Emacs versions that doesn't have it.

4 years agoRemove compat code from allout.el
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:53:46 +0000 (20:53 +0200)]
Remove compat code from allout.el

* lisp/allout.el: (allout-process-exposed): Make
allout-region-active-p an obsolete alias, and adjust callers.

4 years agoRemove compat code in prolog.el
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:51:33 +0000 (20:51 +0200)]
Remove compat code in prolog.el

* lisp/progmodes/prolog.el (use-region-p): Remove compat code.

4 years agoSlight allout.el clean-up
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:50:16 +0000 (20:50 +0200)]
Slight allout.el clean-up

* lisp/allout.el (allout-end-of-line, allout-mark-active-p): Make
allout-mark-active-p obsolete, and adjust callers.

4 years agoMinor idlwave clean up
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:41:23 +0000 (20:41 +0200)]
Minor idlwave clean up

* lisp/progmodes/idlw-shell.el (idlwave-shell-mouse-examine)
(idlwave-shell-print): Adjust callers.

* lisp/progmodes/idlwave.el (idlwave-region-active-p): Make into
obsolete alias.

4 years agoSlight gnus-util clean-up
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:36:10 +0000 (20:36 +0200)]
Slight gnus-util clean-up

* lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1):
messages-buffer is always defined.

4 years agoSlight cleanup in calc-yank
Lars Ingebrigtsen [Tue, 11 Aug 2020 16:46:34 +0000 (18:46 +0200)]
Slight cleanup in calc-yank

* lisp/calc/calc-yank.el (calc-yank): Remove compat code.

4 years agoUnbreak build with --enable-checking=all
Philipp Stephani [Tue, 11 Aug 2020 18:20:44 +0000 (20:20 +0200)]
Unbreak build with --enable-checking=all

Commit 16a16645f524c62f7906036b0e383e4247b58de7 has only changed a
comment in ‘struct Lisp_Hash_Table’, so the portable dumper doesn’t
need to be adapted.

* src/pdumper.c (dump_hash_table): Update hash code for ‘struct
Lisp_Hash_Table’.

4 years agoUse Gnulib inttypes module
Paul Eggert [Tue, 11 Aug 2020 18:06:39 +0000 (11:06 -0700)]
Use Gnulib inttypes module

Needed for platforms like MinGW that don’t support C99 PRIdPTR.
* admin/merge-gnulib (GNULIB_MODULES): Add inttypes.
* m4/gnulib-comp.m4: Regenerate.

4 years agoUpdate from Gnulib
Paul Eggert [Tue, 11 Aug 2020 17:58:35 +0000 (10:58 -0700)]
Update from Gnulib

This incorporates:
2020-08-11 Use expression statements also on clang
2020-08-10 Use many __attribute__s with clang
2020-08-09 Use attribute __aligned__ with clang
2020-08-09 Use __alignof__ with clang
2020-08-09 ignore-value: Simplify on clang
2020-08-09 Use __typeof__ with clang
2020-08-09 intprops: Fix typo in comment
2020-08-09 Silence warnings from clang 10 with -Wimplicit-fallthrough
2020-08-09 count-one-bits: Use __builtin_popcount{,l,ll} on clang
2020-08-09 string: Fix build error in C++ mode with clang
2020-08-09 Add ability to emit user-defined diagnostics with clang
2020-08-07 alloca: No need to compile alloca.c with clang
2020-08-06 Use __builtin_assume with clang
* lib/alloca.in.h, lib/arg-nonnull.h, lib/c++defs.h, lib/cdefs.h:
* lib/count-one-bits.h, lib/dirent.in.h, lib/ignore-value.h:
* lib/intprops.h, lib/malloca.h, lib/regex_internal.h:
* lib/stdalign.in.h, lib/stddef.in.h, lib/stdio.in.h:
* lib/stdlib.in.h, lib/string.in.h, lib/verify.h, lib/warn-on-use.h:
* m4/gnulib-common.m4, m4/stddef_h.m4, m4/stdint.m4:
Copy from Gnulib.

4 years agoPrefer make_nil_vector to make-vector with nil
Paul Eggert [Tue, 11 Aug 2020 17:29:02 +0000 (10:29 -0700)]
Prefer make_nil_vector to make-vector with nil

* src/pdumper.c (hash_table_thaw): Pacify -Wconversion so
we can use make_nil_vector again.
* src/timefns.c (syms_of_timefns): Prefer make_nil_vector
to make_vector with Qnil.

4 years agoFix MinGW build broken by recent pdumper changes.
Eli Zaretskii [Tue, 11 Aug 2020 16:59:17 +0000 (19:59 +0300)]
Fix MinGW build broken by recent pdumper changes.

* src/pdumper.c (hash_table_thaw): Use Fmake_vector.  Suggested by
Pip Cet <pipcet@gmail.com>.
(dump_trace): Declare ATTRIBUTE_FORMAT_PRINTF, not
ATTRIBUTE_FORMAT((__printf__), so that we pick the right attribute
for MinGW.

4 years agoMake mouse-2 respect select-enable-primary etc
Bastian Beischer [Tue, 11 Aug 2020 16:45:01 +0000 (18:45 +0200)]
Make mouse-2 respect select-enable-primary etc

* lisp/calc/calc-yank.el (calc-yank-internal): Factor out into its
own function (bug#23629).
(calc-yank): Factored out from here.
(calc-yank-mouse-primary): New command to

Copyright-paperwork-exempt: yes

4 years agoAllow count-lines to ignore invisible lines
Robert Weiner [Tue, 11 Aug 2020 14:52:01 +0000 (16:52 +0200)]
Allow count-lines to ignore invisible lines

* doc/lispref/positions.texi (Text Lines): Document it (bug#23675).

* lisp/simple.el (count-lines): Add an optional parameter to
ignore invisible lines (bug#23675).

4 years ago* lisp/net/tramp.el: Make last change backward compatible.
Michael Albinus [Tue, 11 Aug 2020 14:46:41 +0000 (16:46 +0200)]
* lisp/net/tramp.el: Make last change backward compatible.

4 years agoFix face merging at EOL when inherited face specifies :extend
Eli Zaretskii [Tue, 11 Aug 2020 14:39:35 +0000 (17:39 +0300)]
Fix face merging at EOL when inherited face specifies :extend

* src/xfaces.c (merge_face_ref): Handle correctly faces that
inherit from another, and in addition specify :extend.
(Bug#42552)

4 years agoAdd new commands for environment movement in .texi files
Robert Weiner [Tue, 11 Aug 2020 14:37:01 +0000 (16:37 +0200)]
Add new commands for environment movement in .texi files

* lisp/textmodes/texinfo.el (texinfo-mode-map): New keystrokes for
environment movement commands (bug#23985).

4 years agoAllow specifying the callback in new xwidget sessions
Puneeth Chaganti [Tue, 11 Aug 2020 14:23:10 +0000 (16:23 +0200)]
Allow specifying the callback in new xwidget sessions

* lisp/xwidget.el (xwidget-webkit-new-session): Optional callback
arg (bug#24019).
(xwidget-event-handler): Respect the 'callback parameter.

4 years agoFix (end-of-defun N) for N >= 2
Noam Postavsky [Tue, 11 Aug 2020 14:02:11 +0000 (16:02 +0200)]
Fix (end-of-defun N) for N >= 2

* lisp/emacs-lisp/lisp.el (end-of-defun): Only skip to next line when
after end of defun when ARG is 1 or less.
* test/lisp/emacs-lisp/lisp-tests.el (end-of-defun-twice): New
test (bug#24427).

4 years agoChange the Calc text input method to insert at point
Tino Calancha [Tue, 11 Aug 2020 13:40:48 +0000 (15:40 +0200)]
Change the Calc text input method to insert at point

* lisp/calc/calc.el (calcDigit-delchar): New command to delete chars
forward in the calc minibuffer.
(calc-digit-map): Bind calcDigit-delchar to '\C-d'.
(calcDigit-key): Do not go to (point-max) in calc minibuffer
before insert a digit (Bug#24612).

4 years agoOnly search for a variable when instructed
Alexander Gramiak [Tue, 11 Aug 2020 13:26:24 +0000 (15:26 +0200)]
Only search for a variable when instructed

* lisp/help-fns.el (find-lisp-object-file-name): Check for 'defvar
argument before searching for an internal variable (Bug#24697).
* test/lisp/help-fns-tests.el: New tests.

4 years agoAllow Dired to dereference symbolic links when copying
Kaushal Modi [Tue, 11 Aug 2020 13:16:11 +0000 (15:16 +0200)]
Allow Dired to dereference symbolic links when copying

* doc/emacs/dired.texi (Operating on Files): Mention the new
defcustom (bug#25075).
* lisp/dired-aux.el (dired-do-copy): Invert the value of
`dired-copy-dereference' in lexical scope when prefix argument is
'(4). Update function documentation for the new defcustom.

* lisp/dired-aux.el (dired-copy-file): Use `dired-copy-dereference' as
the `dereference' argument to `dired-copy-file-recursive'.

* lisp/dired-aux.el (dired-copy-file-recursive): Add new optional
argument `dereference'.

* lisp/dired.el (dired-copy-dereference): New defcustom, defaults to
nil.