]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoImplement working make install for native build.
Andrea Corallo [Sat, 11 Apr 2020 12:59:59 +0000 (13:59 +0100)]
Implement working make install for native build.

4 years agoSet invocation variables during dump load.
Andrea Corallo [Sun, 12 Apr 2020 11:38:46 +0000 (12:38 +0100)]
Set invocation variables during dump load.

Vinvocation_directory must be set during dump load process to support
.eln load.

* src/pdumper.h: (pdumper_load): Add argv0 and original_pwd
parameters.

* src/pdumper.c (pdumper_load): Add argv0 and original_pwd
parameter plus call 'set_invocation_vars'.

* src/lisp.h (set_invocation_vars): New function.

* src/emacs.c (set_invocation_vars): New function.
(init_cmdargs): Move logic into 'set_invocation_vars' and call it.
(load_pdump): Add 'original_pwd' parameter and update calls to
'pdumper_load'.
(main): Set emacs_wd earlier and update call to 'pdumper_load'.

4 years agoImplement position independent dump.
Andrea Corallo [Fri, 10 Apr 2020 21:30:34 +0000 (22:30 +0100)]
Implement position independent dump.

Set the filename for every compilation unit as realtive to obtain a
position independent dump.

* lisp/loadup.el: Modify filename for every compilation unit as
position independent.

* src/pdumper.c (dump_do_dump_relocation): Update to be invocation
directory relative.

4 years ago* src/comp.c (native-comp-unit-set-file): New function.
Andrea Corallo [Fri, 10 Apr 2020 21:24:07 +0000 (22:24 +0100)]
* src/comp.c (native-comp-unit-set-file): New function.

4 years ago* src/comp.c (native-comp-unit-file): Better parameter name.
Andrea Corallo [Mon, 6 Apr 2020 17:03:34 +0000 (18:03 +0100)]
* src/comp.c (native-comp-unit-file): Better parameter name.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Mon, 6 Apr 2020 17:06:29 +0000 (18:06 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years ago* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix for M-x disassemble
Andrea Corallo [Mon, 6 Apr 2020 19:03:34 +0000 (20:03 +0100)]
* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix for M-x disassemble

4 years ago* src/comp.c (emit_FIXNUMP): Don't emit a shift when unnecessary.
Andrea Corallo [Mon, 6 Apr 2020 18:04:43 +0000 (19:04 +0100)]
* src/comp.c (emit_FIXNUMP): Don't emit a shift when unnecessary.

4 years agoFix case that $PATH is longer than 4096 chars in Tramp
Michael Albinus [Mon, 6 Apr 2020 12:26:49 +0000 (14:26 +0200)]
Fix case that $PATH is longer than 4096 chars in Tramp

* lisp/net/tramp-sh.el (tramp-set-remote-path): Use `tramp-send-command'
directly.

* test/lisp/net/tramp-tests.el (tramp-test-vec): New defconst.
(tramp--test-enabled, tramp--test-message)
(tramp--test-backtrace, tramp-test03-file-name-host-rules)
(tramp-test18-file-attributes, tramp-test20-file-modes)
(tramp-test26-file-name-completion)
(tramp-test33-environment-variables, tramp-test35-remote-path)
(tramp-test36-vc-registered, )
(tramp-test43-asynchronous-requests): Use it.
(tramp-test29-start-file-process, tramp-test30-make-process)
(tramp-test33-environment-variables): Remove Hydra specific result.
(tramp-test35-remote-path): Rewrite partially.

4 years agoUnify and improve gdb-mi source buffer display logic
Yuan Fu [Mon, 6 Apr 2020 07:56:15 +0000 (09:56 +0200)]
Unify and improve gdb-mi source buffer display logic

Unify the behavior of source buffer display for gdb-mi.  Before this
change, stepping and other gdb command handlers use 'gud-display-line',
and 'gdb-goto-breakpoint' uses 'gdb-display-source-buffer'.  Now whenever
gdb-mi code tries to open a source buffer, 'gdb-display-source-buffer'
is used.  Also, simplify the logic in 'gdb-display-source-buffer' and
add a feature to limit the maximum number of source windows.

* doc/emacs/building.texi (GDB User Interface Layout): Explain source
file display in GDB.
* etc/NEWS (gdb-mi): Add news about source display.
* lisp/progmodes/gdb-mi.el (gdb-source-window): Remove variable,
change to 'gdb-source-window-list'.
(gdb-source-window-list): New variable.
(gdb-display-source-buffer-action,
gdb-max-source-window-count): New options.
(gdb-init-1, gdb-setup-windows, gdb-load-window-configuration,
gdb-restore-windows): Use 'gdb-source-window' rather than
'gdb-source-window-list'.
(gdb-save-window-configuration): Use 'gdb-source-window' rather than
'gdb-source-window-list'.  And consider any buffer that is not a
command or function buffer as a source buffer.
(gdb-display-source-buffer): Use new logic.
(gdb-goto-breakpoint): Remove 'display-buffer' call
and don't set 'gdb-source-buffer' anymore.
* lisp/progmodes/gud.el (gud-display-line): If used by gdb-mi, use
'gdb-display-source-buffer' rather than 'display-buffer'.  Don't set
'gdb-source-buffer' anymore.

4 years agoFix problems when dragging frames with the mouse
Martin Rudalics [Mon, 6 Apr 2020 07:46:24 +0000 (09:46 +0200)]
Fix problems when dragging frames with the mouse

Re-implement 'mouse-drag-frame' via two new functions -
'mouse-drag-frame-resize' and 'mouse-drag-frame-move'.  This is
needed because with some toolkits the notifications for frame
movement and resizing arrive asynchronously, breaking any
calculations using intermediate frame sizes and positions.

* lisp/mouse.el (mouse-drag-mode-line, mouse-drag-left-edge)
(mouse-drag-top-left-corner, mouse-drag-top-edge)
(mouse-drag-top-right-corner, mouse-drag-right-edge)
(mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
(mouse-drag-bottom-left-corner): Call 'mouse-drag-frame-resize'
instead of 'mouse-drag-frame'.
(mouse-drag-frame): Split into two new functions -
'mouse-drag-frame-move' and 'mouse-drag-frame-resize'.
(mouse-drag-frame-resize, mouse-drag-frame-move): New functions
to implement functionality of the removed 'mouse-drag-frame'.

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

4 years ago* src/comp.c (emit_XFIXNUM): Fix for LSB_TAG plus annotate a FIXME.
Andrea Corallo [Sun, 5 Apr 2020 19:42:49 +0000 (20:42 +0100)]
* src/comp.c (emit_XFIXNUM): Fix for LSB_TAG plus annotate a FIXME.

4 years ago* src/comp.c (emit_const_lisp_obj, emit_mvar_val): Fix.
Andrea Corallo [Sun, 5 Apr 2020 18:40:51 +0000 (19:40 +0100)]
* src/comp.c (emit_const_lisp_obj, emit_mvar_val): Fix.

4 years ago* src/comp.c (hash_native_abi): Fix assertion.
Andrea Corallo [Sun, 5 Apr 2020 15:55:09 +0000 (16:55 +0100)]
* src/comp.c (hash_native_abi): Fix assertion.

4 years ago* src/comp.c (emit_binary_op): New function.
Andrea Corallo [Sun, 5 Apr 2020 14:40:01 +0000 (15:40 +0100)]
* src/comp.c (emit_binary_op): New function.

Wrap gcc_jit_context_new_binary_op within emit_binary_op to make sure
input type are coherent and save a slew of code.

4 years ago* src/comp.c: Emit cast only when necessary.
Andrea Corallo [Sun, 5 Apr 2020 13:24:00 +0000 (14:24 +0100)]
* src/comp.c: Emit cast only when necessary.

Coerce only when the destination type is different from the current
one.

4 years ago* src/comp.c: Add MSB TAG and wide int support.
Andrea Corallo [Sat, 4 Apr 2020 22:33:52 +0000 (23:33 +0100)]
* src/comp.c: Add MSB TAG and wide int support.

4 years ago* src/comp.c: Clean-up unnecessary field declaration.
Andrea Corallo [Fri, 3 Apr 2020 20:19:45 +0000 (21:19 +0100)]
* src/comp.c: Clean-up unnecessary field declaration.

4 years ago* lisp/emacs-lisp/comp.el (native-compile): Better documentation.
Andrea Corallo [Fri, 3 Apr 2020 19:09:02 +0000 (20:09 +0100)]
* lisp/emacs-lisp/comp.el (native-compile): Better documentation.

4 years ago* src/coding.c (code_convert_string): Fix type mismatches.
Paul Eggert [Sun, 5 Apr 2020 17:45:09 +0000 (10:45 -0700)]
* src/coding.c (code_convert_string): Fix type mismatches.

4 years agoFix a recent change in bignum.c
Eli Zaretskii [Sun, 5 Apr 2020 16:51:09 +0000 (19:51 +0300)]
Fix a recent change in bignum.c

* src/bignum.c (check_int_nonnegative): Fix a recent change.
Reported by Glenn Morris <rgm@gnu.org>.

4 years agoFix thinko in tramp-cache.el
Michael Albinus [Sun, 5 Apr 2020 16:29:10 +0000 (18:29 +0200)]
Fix thinko in tramp-cache.el

* lisp/net/tramp-cache.el (tramp-set-connection-property)
(tramp-flush-connection-property)
(tramp-flush-connection-properties): Use `tramp-file-name-p'.

4 years agoMerge from origin/emacs-27
Glenn Morris [Sun, 5 Apr 2020 14:50:15 +0000 (07:50 -0700)]
Merge from origin/emacs-27

6de20c7eab (origin/emacs-27) Fix syntax error in man page.
f8607d3c03 Handle filling of indented ChangeLog function entries
7e78f0d1b2 Fix void-variable n-reb in re-builder (Bug#40409)
452d776a5d Fix small bug in copy_string_contents.
fa823653ff Fix invocations of gpg from Gnus
d4f51d0a2e Don't draw GTK's internal border and tab bar on top of eac...
38731d504e ; * src/buffer.c (syms_of_buffer) <inhibit-read-only>: Doc...
44ac9e48bb Tweak htmlfontify's generated output

4 years ago; Merge from origin/emacs-27
Glenn Morris [Sun, 5 Apr 2020 14:50:15 +0000 (07:50 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

b2f2d0d2c4 (emacs-27) ; Auto-commit of loaddefs files.

4 years agoMerge from origin/emacs-27
Glenn Morris [Sun, 5 Apr 2020 14:50:15 +0000 (07:50 -0700)]
Merge from origin/emacs-27

ac3da1dd96 Handle project--files-in-directory finding no files better
650a664ccd Let imenu to work on the menu bar when its list is a singl...

4 years ago* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Avoid known cl-defsubst breakage
Stefan Monnier [Sun, 5 Apr 2020 13:54:53 +0000 (09:54 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Avoid known cl-defsubst breakage

4 years agoAvoid expensive recoding for ASCII identity cases (bug#40407)
Mattias Engdegård [Fri, 3 Apr 2020 14:01:01 +0000 (16:01 +0200)]
Avoid expensive recoding for ASCII identity cases (bug#40407)

Optimise for the common case of encoding or decoding an ASCII-only
string using an ASCII-compatible coding, for file names in particular.

* src/coding.c (string_ascii_p): New function.
(code_convert_string): Return the input string for ASCII-only inputs
and ASCII-compatible codings.
* test/src/coding-tests.el (coding-nocopy-ascii): New test.

4 years agoSuppress relint diagnostics in rx-tests.el
Mattias Engdegård [Sun, 5 Apr 2020 13:13:44 +0000 (15:13 +0200)]
Suppress relint diagnostics in rx-tests.el

* test/lisp/emacs-lisp/rx-tests.el (rx-char-any, rx-any):
Suppress relint complaints; these regexps are intentionally bad.

4 years agoFix inverted NOCOPY encode/decode parameter (bug#40407)
Mattias Engdegård [Sun, 5 Apr 2020 09:27:36 +0000 (11:27 +0200)]
Fix inverted NOCOPY encode/decode parameter (bug#40407)

In {encode,decode}-coding-string, the NOCOPY parameter had the
opposite effect to what was intended and documented.  This 18 year old
bug (introduced in 4031e2bf0a) only affected calls with CODING-SYSTEM
being nil.

* src/coding.c (code_convert_string): Correct use of NOCOPY.
* test/src/coding-tests.el (coding-nocopy-trivial): New test.

4 years agoImprove integer range checking
Paul Eggert [Sun, 5 Apr 2020 08:17:32 +0000 (01:17 -0700)]
Improve integer range checking

* src/bignum.c (check_integer_range, check_uinteger_max)
(check_int_nonnegative): New functions.
* src/frame.c (check_frame_pixels): New function.
(Fset_frame_height, Fset_frame_width, Fset_frame_size): Use it.
* src/lisp.h (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER):
Remove these macros.  Unless otherwise specified, all callers
replaced by calls to check_integer_range, check_uinteger_range,
check_int_nonnegative.
* src/frame.c (gui_set_right_divider_width)
(gui_set_bottom_divider_width):
* src/nsfns.m (ns_set_internal_border_width):
* src/xfns.c (x_set_internal_border_width):
Using check_int_nonnegative means these functions no longer
incorrectly reject negative bignums; they treat them as 0,
just like negative fixnums.

4 years agoFix syntax error in man page.
Philipp Stephani [Sun, 5 Apr 2020 08:19:31 +0000 (10:19 +0200)]
Fix syntax error in man page.

* doc/man/emacs.1.in: Fix syntax of --script argument.  The Info
manual states that --script has to be followed by a space, and the
syntax with the equals sign doesn't actually work.

4 years ago* src/lisp.h: Update overly-optimistic comment.
Paul Eggert [Sun, 5 Apr 2020 08:00:35 +0000 (01:00 -0700)]
* src/lisp.h: Update overly-optimistic comment.

4 years ago* lisp/arc-mode.el: Rewrite displaying the summaries
Stefan Monnier [Sun, 5 Apr 2020 02:46:29 +0000 (22:46 -0400)]
* lisp/arc-mode.el: Rewrite displaying the summaries

Completely rewrite the code that displayes the summaries, so all
backends share the same code.

(archive--summarize-descs): New function.
(archive-arc-summarize, archive-lzh-summarize, archive-zip-summarize)
(archive-zoo-summarize, archive-rar-summarize, archive-7z-summarize)
(archive-ar-summarize): Use it.
(archive-hidden-columns): New custom.
(archive-alternate-hidden-columns): New const.
(archive-mode-map): Always enable `archive-alternate-display`.
(archive-alternate-display): Set `archive-hidden-columns`.
(archive-hideshow-column): New command.
(archive--fit, archive--fit2, archive--enabled-p): New aux functions.

4 years ago* lisp/arc-mode.el: Remove make-(local-variable|variable-buffer-local)
Stefan Monnier [Sun, 5 Apr 2020 02:35:39 +0000 (22:35 -0400)]
* lisp/arc-mode.el: Remove make-(local-variable|variable-buffer-local)

(archive-file-list-start, archive-file-list-end)
(archive-proper-file-start, archive-file-name-indent, archive-remote)
(archive-member-coding-system, archive-alternate-display)
(archive-file-name-coding-system, archive-files): Use `defvar-local`.
(archive-extract): Use `setq-local`.
(archive-get-descr): Use `user-error` when clicking on a directory.

4 years agoAvoid SAFE_ALLOCA in Fstring, Funibyte_string
Paul Eggert [Sun, 5 Apr 2020 01:26:21 +0000 (18:26 -0700)]
Avoid SAFE_ALLOCA in Fstring, Funibyte_string

* src/character.c (Fstring, Funibyte_string):
Redo to avoid the need for a temporary array allocation
and then a copying from that array to the destination.

4 years agoHandle filling of indented ChangeLog function entries
Noam Postavsky [Sat, 4 Apr 2020 16:28:23 +0000 (12:28 -0400)]
Handle filling of indented ChangeLog function entries

* lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to
recognize function entries with leading blanks.
* test/lisp/vc/log-edit-tests.el: New test.

4 years ago* lisp/arc-mode.el (archive--file-desc): Add fields from other structs
Stefan Monnier [Sat, 4 Apr 2020 02:27:54 +0000 (22:27 -0400)]
* lisp/arc-mode.el (archive--file-desc): Add fields from other structs

Add fields `size`, `time` (used by all backends) as well as
`pos`, `ratio`, `uid`, and `gid` (used only be some backends).

(archive-arc--file-desc, archive-rar--file-desc, archive-ar--file-desc)
(archive-lzh--file-desc, archive-zip--file-desc, archive-7z--file-desc):
Remove defstructs.
(archive-arc-summarize): Record size and time in the descrs.
(archive-lzh-summarize): Record size, time, uid, and gid in the descrs.
(archive-zip-summarize): Record size and time in the descrs.
(archive-zoo-summarize): Record size and time in the descrs.
(archive-rar-summarize): Adjust to use of `archive--file-desc`.
(archive-7z-summarize): Adjust to new constructor.
(archive-ar-summarize): Adjust to use of `archive--file-desc`.

(archive-ar-write-file-member): Remove mode-to-int hack.
(archive-get-descr): Directory entries aren't regular members.

4 years agoFix void-variable n-reb in re-builder (Bug#40409)
Noam Postavsky [Sat, 4 Apr 2020 16:00:41 +0000 (12:00 -0400)]
Fix void-variable n-reb in re-builder (Bug#40409)

* lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of
the counter instead of its name.
(reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and
don't wrongly treat it as dynamicly bound.

4 years agoRevert unneeded part of gcc -Og change
Paul Eggert [Sun, 5 Apr 2020 00:04:23 +0000 (17:04 -0700)]
Revert unneeded part of gcc -Og change

* configure.ac (DEFINE_KEY_OPS_AS_MACROS):
Undo this recent change to configure.ac; it’s not needed.

4 years ago* lib-src/Makefile.in (LINK_CFLAGS): Remove; unused.
Paul Eggert [Sat, 4 Apr 2020 23:57:22 +0000 (16:57 -0700)]
* lib-src/Makefile.in (LINK_CFLAGS): Remove; unused.

4 years agoDefault gcc -Og to inlining key ops
Paul Eggert [Sat, 4 Apr 2020 23:56:57 +0000 (16:56 -0700)]
Default gcc -Og to inlining key ops

Problem reported by Martin Rudalics in:
https://lists.gnu.org/r/emacs-devel/2020-04/msg00195.html
* configure.ac (DEFINE_KEY_OPS_AS_MACROS): Define if -Og.
* src/Makefile.in (KEY_OPS_CFLAGS): New macro.
(EMACS_CFLAGS): Use it.
* src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): Let the gcc command line
specify it.  Remove use of undocumented INLINING macro.

4 years agoSupport the "explore" command in gdb-mi.el
Eli Zaretskii [Sat, 4 Apr 2020 11:15:41 +0000 (14:15 +0300)]
Support the "explore" command in gdb-mi.el

* lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
support for "explore", "explore value", and "explore type".
Allow more than one word after control commands.
(gdb-gdb): Decrease gdb-control-level when we get the "(gdb)"
prompt, which signals that "explore" exited.  (Bug#40250)

4 years agoFix face spec handling for 'default' "terminal class"
Eli Zaretskii [Sat, 4 Apr 2020 06:59:16 +0000 (09:59 +0300)]
Fix face spec handling for 'default' "terminal class"

* lisp/faces.el (face-spec-choose): Reverse order of 'defaults'
and 'result' when generating attribute list, so that the spec for
'default' "terminal class" is indeed overridden by the actual
class's spec, per the documentation.  (Bug#40336)

4 years ago* lisp/arc-mode.el: Remove unused struct fields
Stefan Monnier [Fri, 3 Apr 2020 22:11:52 +0000 (18:11 -0400)]
* lisp/arc-mode.el: Remove unused struct fields

(archive--file-desc): Remove `case-fiddled`.
Change all subtypes's constructors as their callers accordingly.
(archive--file-desc-case-fiddled): New function.
(archive-int-to-mode): Accept a nil input.
Make all callers take advantage of it.
(archive-arc-rename-entry): Use `make-string`.
(archive-zip--file-desc): Change `pos+len` field into `pos` field.
(archive-zip-chmod-entry): Simplify accordingly.
(archive-zip-summarize): Don't bother with `lheader` which was not used.
(archive-zoo--file-desc): Delete struct; use archive--file-desc instead.
(archive-7z--file-desc): Remove `user` and `group` fields.
Adjust constructor and its caller.
(archive-ar-summarize): Use `archive-int-to-mode`.

4 years ago* lisp/arc-mode.el: Use cl-structs rather than vectors
Stefan Monnier [Fri, 3 Apr 2020 20:45:54 +0000 (16:45 -0400)]
* lisp/arc-mode.el: Use cl-structs rather than vectors

(archive--file-desc, archive--file-summary, archive-arc--file-desc)
(archive-lzh--file-desc, archive-zip--file-desc)
(archive-zoo--file-desc, archive-rar--file-desc)
(archive-7z--file-desc, archive-ar--file-desc): New structs.

(archive-get-descr, archive-mode, archive-summarize-files)
(archive-maybe-copy, archive-extract, archive-*-write-file-member)
(archive-expunge, archive-arc-summarize, archive-arc-rename-entry)
(archive-lzh-summarize, archive-lzh-rename-entry, archive-lzh-ogm)
(archive-zip-summarize, archive-zip-write-file-member)
(archive-zip-chmod-entry, archive-zoo-summarize)
(archive-rar-summarize, archive-7z-summarize, archive-ar-summarize)
(archive-ar-write-file-member): Use struct constructors and accessors
instead of `vector` and `aref`.

(archive-calc-mode): Remove `error` arg which was always non-nil;
adjust all callers.
Rewrite using `string-to-number` and `file-modes-symbolic-to-number`.

4 years agoC++ Mode: recognize brace blocks without the hitherto required = sign
Alan Mackenzie [Fri, 3 Apr 2020 20:37:31 +0000 (20:37 +0000)]
C++ Mode: recognize brace blocks without the hitherto required = sign

* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Add code
to recognize a literal brace expression following an array declaration for
C++.
(c-looking-at-inexpr-block): Replace c-symbol-chars with c-symbol-char-key,
fixing a coding error.

4 years agoFix small bug in copy_string_contents.
Philipp Stephani [Fri, 3 Apr 2020 19:49:59 +0000 (21:49 +0200)]
Fix small bug in copy_string_contents.

* src/emacs-module.c (module_copy_string_contents): Fix incorrect
variable use.  In this branch 'lisp_str_utf8' is always nil, so it
makes little sense to add it as error data.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Fri, 3 Apr 2020 18:06:57 +0000 (19:06 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years agosrc/comp.c: Fix i386
Andrea Corallo [Fri, 3 Apr 2020 14:35:28 +0000 (15:35 +0100)]
src/comp.c: Fix i386

In i386 ABI parameter passing of structs (and unions) is done as
pointer + size.  Surprisingly this is done *always* even if the
structure is known to be word size.

4 years ago* lisp/arc-mode.el (archive-ar-write-file-member): New function
Stefan Monnier [Fri, 3 Apr 2020 17:55:50 +0000 (13:55 -0400)]
* lisp/arc-mode.el (archive-ar-write-file-member): New function

(archive-ar--name): New funtion, extracted from `archive-ar-summarize`.
(archive-ar-extract): Use it.
(archive-ar-summarize): Use it.  Put the extname in the slot 0 of the
desc vectors.

4 years ago* lisp/arc-mode.el: Remove redundant `:group`s
Stefan Monnier [Fri, 3 Apr 2020 17:34:18 +0000 (13:34 -0400)]
* lisp/arc-mode.el: Remove redundant `:group`s

(archive-arc, archive-lzh, archive-zip, archive-zoo): Move them
to their corresponding defcustom.
(archive-7z): New group, that used to be missing.

4 years ago* lisp/arc-mode.el: Use lexical-binding
Stefan Monnier [Fri, 3 Apr 2020 17:28:31 +0000 (13:28 -0400)]
* lisp/arc-mode.el: Use lexical-binding

(arc-insert-unibyte): Simplify.
(archive--mode-revert): Rename from `archive-mode-revert` and adjust
for use as an :around advice.
(archive-mode): Use setq-local.  Use `add-function` to hook into
`revert-buffer-function`.
(archive-summarize): Don't use `set` on a hook.

4 years agoCheck for IPv6 servers in dns.el
Robert Pluim [Fri, 3 Apr 2020 12:56:08 +0000 (14:56 +0200)]
Check for IPv6 servers in dns.el

* lisp/net/dns.el (dns-set-servers): Set dns-servers to nil when we
don't find any DNS servers with nslookup.  Add support for IPv6
servers.  (Bug#40248).
(dns-make-network-process): Check for datagram process support before
creating a datagram process.
(dns-query): Return nil if dns-servers is nil.

4 years agoMake make-{network,serial}-process handle :coding nil consistently
Robert Pluim [Thu, 2 Apr 2020 15:52:01 +0000 (17:52 +0200)]
Make make-{network,serial}-process handle :coding nil consistently

The handling of :coding nil was different between
make-{network,serial}-process and make-{pipe}process.  Now they all
handle :coding nil as if :coding had not been specified.

* process.c (Fmake_serial_process)
(set_network_socket_coding_system): Use plist-get to check if
:coding has been specified instead of plist-member, to ensure that
":coding nil" does not override coding-system-for-{read,write}.

* network-stream-tests.el (check-network-process-coding-system-bind)
(check-network-process-coding-system-no-override)
(check-network-process-coding-system-override): New tests.

* etc/NEWS: Describe change in make-network-process and
make-serial-process :coding behavior.

4 years agoUpdate texinfo.el following changes in 'tex-start-options-string'
Ernest N. Mamikonyan [Fri, 13 Mar 2020 14:37:17 +0000 (10:37 -0400)]
Update texinfo.el following changes in 'tex-start-options-string'

* lisp/textmodes/texinfo.el (texinfo-texi2dvi-options): New
defcustom.
(texinfo-tex-buffer): Take 'tex-start-options' from
'texinfo-texi2dvi-options'.  (Bug#40001)

* etc/NEWS: Mention the new option.

Copyright-paperwork-exempt: yes

4 years agoload-library, locate-library: Use read-library-name
Štěpán Němec [Sat, 28 Mar 2020 21:16:28 +0000 (22:16 +0100)]
load-library, locate-library: Use read-library-name

* lisp/emacs-lisp/find-func.el (read-library-name): Add autoload
cookie.
* lisp/files.el (load-library)
* lisp/subr.el (locate-library): Use 'read-library-name' when called
interactively. (bug#6652 bug#6679)

4 years agoFix movement commands in gomoku
Asher Gordon [Sat, 28 Mar 2020 18:32:25 +0000 (14:32 -0400)]
Fix movement commands in gomoku

* lisp/play/gomoku.el (gomoku-mode-map): Bind cursor motion keys
to gomoku-specific commands.
(gomoku-point-x, gomoku-move-right, gomoku-move-left): New
commands.
(gomoku--intangible, gomoku-move-ne, gomoku-move-se)
(gomoku-move-nw, gomoku-move-sw): Call gomoku-move-left and
gomoku-move-right instead of forward-char and backward-char.
(Bug#40169)

* etc/NEWS: Call out the changes.

4 years agoFix invocations of gpg from Gnus
Eli Zaretskii [Fri, 3 Apr 2020 11:29:49 +0000 (14:29 +0300)]
Fix invocations of gpg from Gnus

* lisp/epg-config.el (epg-config--make-gpg-configuration): Bind
coding-system-for-read/write to 'undecided', to countermand
possible values of 'no-conversion' or somesuch by the callers.
(Bug#40248)

4 years agoImprove last change
Eli Zaretskii [Fri, 3 Apr 2020 11:21:07 +0000 (14:21 +0300)]
Improve last change

* lisp/calendar/time-date.el (date-days-in-month): Improve the
error message text and make sure MONTH is a number.  (Bug#40217)

4 years agoError out if 'date-days-in-month' is given an invalid month
Alex Branham [Tue, 24 Mar 2020 23:34:14 +0000 (19:34 -0400)]
Error out if 'date-days-in-month' is given an invalid month

* lisp/calendar/time-date.el (date-days-in-month): Add test for
month validity; signal an error if it isn't.  (Bug#40217)
* test/lisp/calendar/time-date-tests.el (test-days-in-month): Add
a test for the new error.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Fri, 3 Apr 2020 10:15:55 +0000 (11:15 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years agoconfigure.ac: switch to POSIX sh behaviour
Ashish SHUKLA [Thu, 2 Apr 2020 20:37:05 +0000 (02:07 +0530)]
configure.ac: switch to POSIX sh behaviour

4 years agoDon't draw GTK's internal border and tab bar on top of each other
Martin Rudalics [Fri, 3 Apr 2020 08:31:35 +0000 (10:31 +0200)]
Don't draw GTK's internal border and tab bar on top of each other

* src/xterm.c (x_clear_under_internal_border): For GTK builds
have 'margin' count in the height of the tab bar to avoid that
tab bar and internal border are drawn on top of each other.

4 years ago; * src/buffer.c (syms_of_buffer) <inhibit-read-only>: Doc fix.
Eli Zaretskii [Fri, 3 Apr 2020 06:58:20 +0000 (09:58 +0300)]
; * src/buffer.c (syms_of_buffer) <inhibit-read-only>: Doc fix.

4 years agoCopy INSIDE_EMACS env variable to subprocesses in Eshell (Bug#25496)
Federico Tedin [Mon, 30 Mar 2020 19:44:47 +0000 (21:44 +0200)]
Copy INSIDE_EMACS env variable to subprocesses in Eshell (Bug#25496)

* lisp/eshell/em-dirs.el (eshell-dirs-initialize): Add INSIDE_EMACS
variable to buffer-local value of eshell-variable-aliases-alist.
(eshell-inside-emacs): Add new constant used for INSIDE_EMACS.
* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Update doc
string; remove mention of eshell-user-aliases-list and explain that
variables can optionally be copied to subprocesses' environments.
* test/lisp/eshell/eshell-tests.el (eshell-test/inside-emacs-var): Add
test for the INSIDE_EMACS variable.
* etc/NEWS: Announce changes.

4 years agoTweak htmlfontify's generated output
Amin Bandali [Thu, 2 Apr 2020 22:42:41 +0000 (18:42 -0400)]
Tweak htmlfontify's generated output

* lisp/htmlfontify.el (hfy-default-header): declare the character
encoding for the generated HTML file.  This helps browsers display
UTF-8 characters like the copyright symbol correctly.
(hfy-sprintf-stylesheet): apply the default style to all of the text
consistently, so that unstyled bits (which are not wrapped in span
tags and are directly part of the surrounding pre tag's "innerHTML")
have a look consistent with the rest of the document.

4 years ago* lisp/vc/vc-dir.el: Commands to mark un/registered files (bug#34949)
Juri Linkov [Thu, 2 Apr 2020 22:08:09 +0000 (01:08 +0300)]
* lisp/vc/vc-dir.el: Commands to mark un/registered files (bug#34949)

* lisp/vc/vc-dir.el (vc-dir-mark-state-files): New function.
(vc-dir-mark-registered-files)
(vc-dir-mark-unregistered-files): New commands.
(vc-dir-mode-map): Bind vc-dir-mark-registered-files to '* r'.
(vc-dir-menu-map): Add menu entries for
vc-dir-mark-registered-files and vc-dir-mark-unregistered-files.

4 years ago* lisp/window.el (display-buffer): Extend doc with body-function (bug#39822)
Juri Linkov [Thu, 2 Apr 2020 21:50:19 +0000 (00:50 +0300)]
* lisp/window.el (display-buffer): Extend doc with body-function (bug#39822)

4 years ago; * test/lisp/net/tramp-tests.el (tramp-test30-make-process): Instrument.
Michael Albinus [Thu, 2 Apr 2020 08:00:32 +0000 (10:00 +0200)]
; * test/lisp/net/tramp-tests.el (tramp-test30-make-process): Instrument.

4 years agoAllow negative line width for :box face attribute
Alexandre Adolphe [Sat, 10 Aug 2019 20:57:24 +0000 (22:57 +0200)]
Allow negative line width for :box face attribute

Separate values for box line width and height and allow both to be
negative which makes the visual width and height of the boxed string
unchanged (Bug#13011).

* doc/lispref/display.texi (Face Attributes): Modify :box attribute
description to reflect the new possibilities.
* lisp/cus-face.el (custom-face-attributes): Set box attribute to get
two integer to set vertical and horizontal width and modify pre-filter
to accept dotted list of two int as valid box attribute.
* src/dispextern.h (face): Use two int for box horizontal and vertical
line width.

* src/nsfont.m (nsfont_draw): Use new face attributes.
* src/nsterm.m (ns_draw_box, ns_draw_relief): Support separated
horizontal and vertical box line width.
(ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
(ns_dumpglyphs_image, ns_draw_glyph_string_foreground)
(ns_draw_composite_glyph_string_foreground): Use new face attributes.

* src/w32term.c (w32_draw_box_rect, w32_draw_relief_rect): Support
separated horizontal and vertical box line width.
(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
(x_draw_composite_glyph_string_foreground)
(x_draw_glyphless_glyph_string_foreground, x_draw_glyph_string_box)
(x_draw_image_foreground, x_draw_image_relief)
(w32_draw_image_foreground_1, x_draw_image_glyph_string): Use new face
attributes.

* src/xfaces.c (Sinternal_set_lisp_face_attribute, realize_x_face):
Accept box attribute as a list of two ints.

* src/xdisp.c (estimate_mode_line_height, produce_image_glyph)
(produce_xwidget_glyph, x_produce_glyphs): Use new face attributes.
* src/xterm.c (x_draw_box_rect, x_draw_relief_rect): Support separated
horizontal and vertical box line width.
(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
(x_draw_composite_glyph_string_foreground)
(x_draw_glyphless_glyph_string_foreground, x_draw_glyph_string_box)
(x_draw_image_foreground, x_draw_image_relief, x_draw_image_foreground_1)
(x_draw_image_glyph_string): Use new face attributes.

4 years agoFix compilation with CHECK_STRUCTS
Andreas Schwab [Wed, 1 Apr 2020 15:26:14 +0000 (17:26 +0200)]
Fix compilation with CHECK_STRUCTS

* src/pdumper.c (dump_buffer): Update hash of struct buffer.

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

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

4 years agoAvoid error messages loading trampver.el
Michael Albinus [Wed, 1 Apr 2020 10:09:29 +0000 (12:09 +0200)]
Avoid error messages loading trampver.el

* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Bind `debug-on-error' to nil.

4 years agojavac support in compilation-parse-errors rules
Filipp Gunbin [Wed, 1 Apr 2020 00:01:23 +0000 (03:01 +0300)]
javac support in compilation-parse-errors rules

* etc/compilation.txt: Add doc and example.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Add javac rule.
(compilation-parse-errors): Fix file/line/col test, so that
lambda/closure (which are valid values) don't match.
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data, compile-test-error-regexps): Add
test.

4 years agoRemove `all_buffers` and the associated `next` field of buffers
Stefan Monnier [Tue, 31 Mar 2020 23:45:22 +0000 (19:45 -0400)]
Remove `all_buffers` and the associated `next` field of buffers

* src/alloc.c (enum mem_type): Remove MEM_TYPE_BUFFER.
(allocate_buffer): Allocate like any other pseudovector.
Don't register on `all_buffers` any more.
(live_buffer_holding, live_buffer_p): Delete functions.
(mark_maybe_object, valid_lisp_object_p): Don't pay attention to
MEM_TYPE_BUFFER any more.
(garbage_collect): Only compact the live buffers.
(mark_buffer): Mark the undo_list of dead buffers here.
(mark_object): Buffers are normal pseudovectors now.
(sweep_buffers): Don't do the actual sweep here, just cleanup the
markers and only for live buffers.

* src/buffer.c (all_buffers): Remove variable.
(Fkill_buffer): Don't check indirect dead buffers.
Set the undo_list before we remove ourselves from the list of live buffers.
(Fbuffer_swap_text, Fset_buffer_multibyte): Don't check indirect dead
buffers.
(init_buffer_once): Don't set `all_buffers`.
(init_buffer): Don't map new memory for dead buffers.

* src/buffer.h (struct buffer): Remove `next` field.
(FOR_EACH_BUFFER): Remove macro.

* src/pdumper.c (dump_buffer): Don't dump the `next` field.

4 years agoDon't lose point during fileloop replace (Bug#38867)
Noam Postavsky [Tue, 24 Mar 2020 09:39:03 +0000 (05:39 -0400)]
Don't lose point during fileloop replace (Bug#38867)

Suggested by Eric Michael Timmons <etimmons@mit.edu>.
* lisp/fileloop.el (fileloop-initialize-replace): Save the
match-beginning position in a variable instead of the buffer's point.
The point may be changed by the time perform-replace is called, e.g.,
due to switch-to-buffer-preserve-window-point.

4 years ago* lisp/dired.el (dired-readin): Improve comment
Stefan Monnier [Tue, 31 Mar 2020 16:11:26 +0000 (12:11 -0400)]
* lisp/dired.el (dired-readin): Improve comment

4 years agoMark recently failing Tramp tests on hydra
Glenn Morris [Tue, 31 Mar 2020 00:17:01 +0000 (17:17 -0700)]
Mark recently failing Tramp tests on hydra

* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
(tramp-test30-make-process, tramp-test33-environment-variables):
Expect failure on hydra.nixos.org, since March 29 Tramp cache changes.

4 years ago* lisp/minibuffer.el (minibuffer-completion-help): Use mainbuf (bug#39822)
Juri Linkov [Mon, 30 Mar 2020 22:52:59 +0000 (01:52 +0300)]
* lisp/minibuffer.el (minibuffer-completion-help): Use mainbuf (bug#39822)

* lisp/minibuffer.el (minibuffer-completion-help): Run
display-completion-list in the original buffer mainbuf
to allow completion-setup-function set completion-reference-buffer to it.

4 years agoHandle project--files-in-directory finding no files better
Dmitry Gutov [Mon, 30 Mar 2020 20:16:03 +0000 (23:16 +0300)]
Handle project--files-in-directory finding no files better

* lisp/progmodes/project.el (project--find-regexp-in-files):
Signal user-error when passed an empty list of files.

* lisp/progmodes/xref.el (xref-matches-in-files):
Make sure FILES is not empty.

4 years ago* lisp/dired.el (dired-readin): Don't bind inhibit-modification-hooks
Stefan Monnier [Mon, 30 Mar 2020 19:46:47 +0000 (15:46 -0400)]
* lisp/dired.el (dired-readin): Don't bind inhibit-modification-hooks

Fixes bug#40332

4 years agoLet imenu to work on the menu bar when its list is a single non-nested member.
Alan Mackenzie [Mon, 30 Mar 2020 19:25:40 +0000 (19:25 +0000)]
Let imenu to work on the menu bar when its list is a single non-nested member.

* lisp/imenu.el (imenu-update-menubar): No longer accept a list of length 1 as
being sufficient evidence for a nested list structure.  Instead, additionally
check whether or not certain elements are atoms.

4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 30 Mar 2020 14:50:37 +0000 (07:50 -0700)]
Merge from origin/emacs-27

c6e0981b96 (origin/emacs-27) * lisp/image/image-converter.el: Fix cus...
461bd9cc20 Fix url-cookie.el for lexical binding
f3ccfb1926 ; * src/decompress.c: Fix comment style.
1af03e7e92 ; * src/xfaces.c (syms_of_xfaces): Fix wording and typo.
93945fcd19 ; * test/lisp/calc/calc-tests.el: Fix mistake in last commit
ee47e00f4e Don't suggest setting face-remapping-alist to a literal (B...
c2b8ce4439 Calc: don't treat nil as an integer (bug#40155)
e1f0e08922 * lisp/files.el (directory-files-recursively): Doc fix.  (...
02b3820315 Document how to disable Tramp file archives

4 years ago; Merge from origin/emacs-27
Glenn Morris [Mon, 30 Mar 2020 14:50:37 +0000 (07:50 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

4860530f3c Don't add repeated xlmns:xlink declarations in svg-create

4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 30 Mar 2020 14:50:37 +0000 (07:50 -0700)]
Merge from origin/emacs-27

8db6b432bb Calc: Declare dynamic variable bound in lexbind code (bug#...

4 years agoAvoid assertion violation at startup in pdumped Emacs
Eli Zaretskii [Mon, 30 Mar 2020 13:57:43 +0000 (16:57 +0300)]
Avoid assertion violation at startup in pdumped Emacs

* src/buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Remove the
assertion that ensured all buffers in pdumped Emacs have non-NULL
pointer to buffer text.  That was false when Emacs was pdumped
with killed buffer(s) in the all_buffers linked list.  See
https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00800.html
for more details.

4 years ago* lisp/image/image-converter.el: Fix customization of image-converter.
Juri Linkov [Sun, 29 Mar 2020 23:16:12 +0000 (02:16 +0300)]
* lisp/image/image-converter.el: Fix customization of image-converter.

* lisp/image/image-converter.el (image-convert-p): Update
image-converter-regexp when image-converter was customized (bug#39994).

4 years agoDeprecate with-displayed-buffer-window, use body-function instead (bug#39822)
Juri Linkov [Sun, 29 Mar 2020 22:57:36 +0000 (01:57 +0300)]
Deprecate with-displayed-buffer-window, use body-function instead (bug#39822)

* doc/lispref/display.texi (Temporary Displays):
Remove defmac with-displayed-buffer-window.

* doc/lispref/windows.texi (Buffer Display Action Alists):
Add body-function.

* lisp/window.el (with-displayed-buffer-window): Declare macro obsolete.
(window--display-buffer): Call 'body-function' after displaying the buffer.

* lisp/dired.el (dired-mark-pop-up):
* lisp/files.el (save-buffers-kill-emacs):
* lisp/minibuffer.el (minibuffer-completion-help):
Replace with-displayed-buffer-window with with-current-buffer-window
and add action alist entry 'body-function' with former macro body.

4 years agoSupport state changing VC operations on directories in Dired (bug#34949)
Juri Linkov [Sun, 29 Mar 2020 22:34:47 +0000 (01:34 +0300)]
Support state changing VC operations on directories in Dired (bug#34949)

* lisp/dired-aux.el (dired-vc-next-action): New command.
(dired-vc-deduce-fileset): Rename from vc-dired-deduce-fileset in vc.el.

* lisp/dired.el (dired-mode-map): Remap vc-next-action to
dired-vc-next-action.

* lisp/vc/vc-dir.el (vc-dir-mark-files): New function.
(vc-dir-refresh): Run hook vc-dir-refresh-hook.

* lisp/vc/vc.el (vc-deduce-fileset): Rename arg 'observer' to
'not-state-changing' and document it in docstring.
(vc-dired-deduce-fileset): Rename to dired-vc-deduce-fileset in dired-aux.el.

* lisp/cedet/ede.el (ede-turn-on-hook, ede-minor-mode):
* lisp/desktop.el (desktop-minor-mode-table): Rename the long ago
obsolete vc-dired-mode to vc-dir-mode.

4 years agoFix url-cookie.el for lexical binding
Andreas Schwab [Sun, 29 Mar 2020 19:56:05 +0000 (21:56 +0200)]
Fix url-cookie.el for lexical binding

* lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Use setq
instead of set to modify lexical binding.

4 years ago; * src/decompress.c: Fix comment style.
Eli Zaretskii [Sun, 29 Mar 2020 16:14:13 +0000 (19:14 +0300)]
; * src/decompress.c: Fix comment style.

4 years agoUse hard links to Emacs executable in "make install" on MS-Windows
Eli Zaretskii [Sun, 29 Mar 2020 13:43:56 +0000 (16:43 +0300)]
Use hard links to Emacs executable in "make install" on MS-Windows

* configure.ac (LN_S_FILEONLY): Set to "/bin/ln" for MinGW
unconditionally.

4 years ago; * src/xfaces.c (syms_of_xfaces): Fix wording and typo.
Eli Zaretskii [Sun, 29 Mar 2020 13:14:34 +0000 (16:14 +0300)]
; * src/xfaces.c (syms_of_xfaces): Fix wording and typo.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Sun, 29 Mar 2020 11:31:24 +0000 (12:31 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years agoFix free function compilation
Andrea Corallo [Sun, 29 Mar 2020 10:21:55 +0000 (11:21 +0100)]
Fix free function compilation

4 years ago* comp.el (comp-output-base-filename): Handle src being a symbol
Andrea Corallo [Sun, 29 Mar 2020 10:09:02 +0000 (11:09 +0100)]
* comp.el (comp-output-base-filename): Handle src being a symbol

4 years agoAdd comp-test-40187 checking function shadowing.
Andrea Corallo [Sun, 29 Mar 2020 09:57:36 +0000 (10:57 +0100)]
Add comp-test-40187 checking function shadowing.

4 years ago* test/src/comp-tests.el (comp-tests-doc): Fix
Andrea Corallo [Sun, 29 Mar 2020 09:51:12 +0000 (10:51 +0100)]
* test/src/comp-tests.el (comp-tests-doc): Fix