1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

149293 commits

Author SHA1 Message Date
Martin Rudalics
c49d379f17 Fix some problems with moving and resizing child frames
(1) Provide new option 'x-gtk-resize-child-frames' which allows
to either hide a child frame during resizing or asks GTK to
resize it "immediately".  This is needed because desktops like
GNOME shell otherwise won't allow resizing child frames at all.
(2) Do not try to synchronize the position of a child frame
after moving it.  Needed because the present implementation
introduces a 0.5 secs delay which makes dragging child frames
virtually impossible with Lucid and Motif toolkits on desktops
like GNOME shell that use invisible outer frame borders.

For further information see the thread starting with
https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00343.html

* src/frame.c (syms_of_frame): New symbol Qxg_frame_set_char_size_4.
* src/gtkutil.c (xg_frame_set_char_size): Hide child frame
during resizing when 'x-gtk-resize-child-frames' equals 'hide'.
* src/xfns.c (x_set_parent_frame, Fx_create_frame): Set
gtk_container_resize_mode to GTK_RESIZE_IMMEDIATE for child
frames when'x-gtk-resize-child-frames' equals 'resize-mode'.
(Fx_gtk_debug): New function to toggle interactive GTK debugging
from within Emacs.
(syms_of_xfns): New symbols Qhide and Qresize_mode.
(x-gtk-resize-child-frames): New option that allows to resize
child frames on desktops like GNOME shell (with the mutter WM)
that otherwise refuse to resize them.
* src/xterm.c (x_set_offset): Don't x_sync_with_move for child
frames, it makes moving child frames virtually impossible with
the Lucid and Motif toolkits.
2020-04-06 09:22:36 +02:00
Andrea Corallo
3608623eba Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-05 22:08:17 +01:00
Andrea Corallo
4263f2fd15 * src/comp.c (emit_XFIXNUM): Fix for LSB_TAG plus annotate a FIXME. 2020-04-05 22:05:53 +01:00
Andrea Corallo
346d50989a * src/comp.c (emit_const_lisp_obj, emit_mvar_val): Fix. 2020-04-05 21:11:07 +01:00
Andrea Corallo
598380416c * src/comp.c (hash_native_abi): Fix assertion. 2020-04-05 21:11:05 +01:00
Andrea Corallo
7009e8af05 * 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.
2020-04-05 21:11:02 +01:00
Andrea Corallo
e3dff709b7 * src/comp.c: Emit cast only when necessary.
Coerce only when the destination type is different from the current
one.
2020-04-05 21:10:59 +01:00
Andrea Corallo
49a3790e68 * src/comp.c: Add MSB TAG and wide int support. 2020-04-05 21:10:56 +01:00
Andrea Corallo
70cb964481 * src/comp.c: Clean-up unnecessary field declaration. 2020-04-05 21:10:52 +01:00
Andrea Corallo
37a9d1e42b * lisp/emacs-lisp/comp.el (native-compile): Better documentation. 2020-04-05 21:10:49 +01:00
Paul Eggert
24c3fa9607 * src/coding.c (code_convert_string): Fix type mismatches. 2020-04-05 10:45:44 -07:00
Eli Zaretskii
507f26d532 Fix a recent change in bignum.c
* src/bignum.c (check_int_nonnegative): Fix a recent change.
Reported by Glenn Morris <rgm@gnu.org>.
2020-04-05 19:51:09 +03:00
Michael Albinus
c40b72389e 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'.
2020-04-05 18:29:10 +02:00
Glenn Morris
333f63d537 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
2020-04-05 07:50:15 -07:00
Glenn Morris
0e18fdd1b6 ; Merge from origin/emacs-27
The following commit was skipped:

b2f2d0d2c4 (emacs-27) ; Auto-commit of loaddefs files.
2020-04-05 07:50:15 -07:00
Glenn Morris
94b6b0b5c5 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...
2020-04-05 07:50:15 -07:00
Stefan Monnier
a32c55bd9f * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Avoid known cl-defsubst breakage 2020-04-05 09:54:53 -04:00
Mattias Engdegård
4ed39549e3 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.
2020-04-05 15:37:55 +02:00
Mattias Engdegård
c7ac76603f 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.
2020-04-05 15:16:32 +02:00
Mattias Engdegård
962562cde4 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.
2020-04-05 11:39:52 +02:00
Paul Eggert
bec5cfee76 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.
2020-04-05 01:24:36 -07:00
Philipp Stephani
6de20c7eab 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.
2020-04-05 10:19:31 +02:00
Paul Eggert
9b8dacdb26 * src/lisp.h: Update overly-optimistic comment. 2020-04-05 01:00:35 -07:00
Stefan Monnier
95a7c6ec58 * 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.
2020-04-04 22:46:42 -04:00
Stefan Monnier
83f9094316 * 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.
2020-04-04 22:46:42 -04:00
Paul Eggert
e6b5cd0eda 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.
2020-04-04 18:27:11 -07:00
Noam Postavsky
f8607d3c03 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.
2020-04-04 20:08:02 -04:00
Stefan Monnier
c09457e6ed * 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.
2020-04-04 20:06:55 -04:00
Noam Postavsky
7e78f0d1b2 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.
2020-04-04 20:06:54 -04:00
Paul Eggert
4b4da58e8c 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.
2020-04-04 17:05:05 -07:00
Paul Eggert
02b06216b7 * lib-src/Makefile.in (LINK_CFLAGS): Remove; unused. 2020-04-04 16:57:43 -07:00
Paul Eggert
15853707c8 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.
2020-04-04 16:57:43 -07:00
Eli Zaretskii
f71afd600a 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)
2020-04-04 14:15:41 +03:00
Eli Zaretskii
05d365d310 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)
2020-04-04 09:59:16 +03:00
Stefan Monnier
fd38c9c0af * 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`.
2020-04-03 18:11:52 -04:00
Stefan Monnier
c640be60d9 * 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`.
2020-04-03 16:45:54 -04:00
Alan Mackenzie
9b995320c8 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.
2020-04-03 20:37:31 +00:00
Philipp Stephani
452d776a5d 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.
2020-04-03 21:49:59 +02:00
Andrea Corallo
fcce8dd361 Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-03 19:06:57 +01:00
Andrea Corallo
9bf9550836 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.
2020-04-03 19:05:15 +01:00
Stefan Monnier
b318e58d28 * 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.
2020-04-03 13:58:33 -04:00
Stefan Monnier
702a97ffb2 * lisp/arc-mode.el: Remove redundant :groups
(archive-arc, archive-lzh, archive-zip, archive-zoo): Move them
to their corresponding defcustom.
(archive-7z): New group, that used to be missing.
2020-04-03 13:58:33 -04:00
Stefan Monnier
9b6d252a18 * 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.
2020-04-03 13:58:28 -04:00
Robert Pluim
00f7744c1b 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.
2020-04-03 17:09:00 +02:00
Robert Pluim
d08e81ce5a 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.
2020-04-03 14:45:49 +02:00
Ernest N. Mamikonyan
463f635171 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
2020-04-03 15:12:47 +03:00
Štěpán Němec
2c45091791 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)
2020-04-03 14:54:49 +03:00
Asher Gordon
1ded4a8b93 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.
2020-04-03 14:47:32 +03:00
Eli Zaretskii
fa823653ff 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)
2020-04-03 14:29:49 +03:00
Eli Zaretskii
d8dae04e5a 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)
2020-04-03 14:21:07 +03:00