Commit graph

134005 commits

Author SHA1 Message Date
Michael Albinus
2ff7017956 Merge branch 'master' into feature/tramp-thread-safe 2018-08-17 10:33:10 +02:00
Paul Eggert
64eb9b71da Fix problems with logxor etc. and fixnums
These operations incorrectly treated negative fixnums as
bignums greater than most-positive-fixnum.
* src/alloc.c (mpz_set_intmax_slow): Avoid undefined
behavior if signed unary negation overflows, while
we’re in the neighborhood.
(mpz_set_uintmax_slow): Remove.  All uses removed.
* src/data.c (arith_driver): Treat fixnums as signed, not
unsigned, even for logical operations.
* src/lisp.h (mpz_set_uintmax): Remove.  All uses removed.
* test/src/data-tests.el (data-tests-logand)
(data-tests-logior, data-tests-logxor): New tests.
2018-08-17 00:26:19 -07:00
Paul Eggert
3b9017b5ba Reject outlandishly-wide bignums
Do not allow bignums that are so wide that their log base 2
might not fit into a fixnum, as this will cause problems elsewhere.
We already have a similar limitation for bool-vectors.
* src/emacs.c (check_bignum_size, xmalloc_for_gmp): New function.
(xrealloc_for_gmp): Check for too-large bignum.
(main): Use xmalloc_for_gmp.
2018-08-16 20:45:08 -07:00
Paul Eggert
bb7e033891 Speed up logcount on bignums
* src/data.c (Flogcount): Speed up by using the mpz equivalent
of ~X instead of -X-1.
2018-08-16 19:54:30 -07:00
Michael Albinus
44ad4a15a0 Fix Bug#32454
* lisp/files.el (find-alternate-file): Handle the wildcards case.
(Bug#32454)
2018-08-16 17:26:37 +02:00
Ken Brown
5f39f203ee Pacify GCC with -Wunused-but-set-variable
* src/unexcw.c (read_exe_header):
(fixup_executable):
(unexec): Specify the "unused" attribute for variables that
are used only in assertions.
2018-08-16 09:06:46 -04:00
Michael Albinus
5df7423b4a Fix Bug#32447
* lisp/files.el (find-file-existing, find-file--read-only):
Use `find-file-with-threads'.  (Bug#32447)
2018-08-16 10:04:11 +02:00
Thomas Fitzsimmons
decd983981 EUDC: Add more BBDB >= 3 support
* lisp/net/eudcb-bbdb.el Declare BBDB >= 3 functions.
(eudc-bbdb-field): Add translation from company to
organization.
(eudc-bbdb-extract-phones, eudc-bbdb-extract-addresses)
(eudc-bbdb-format-record-as-result): Call BBDB >= 3 functions.
2018-08-15 21:43:03 -04:00
Thomas Fitzsimmons
af991f15e6 EUDC: Remove XEmacs support
* lisp/net/eudc.el (eudc-mode, eudc-install-menu): Remove
XEmacs support.
* lisp/net/eudc-hotlist.el (eudc-hotlist-mode)
(eudc-hotlist-emacs-menu): Likewise.
* lisp/net/eudc-bob.el (eudc-bob-toggle-inline-display)
(eudc-bob-popup-menu, eudc-bob-generic-keymap)
(eudc-bob-sound-keymap, eudc-bob-url-keymap)
(eudc-bob-mail-keymap): Likewise.
* etc/NEWS (EUDC): Mention removal of XEmacs support.
2018-08-15 21:43:00 -04:00
Thomas Fitzsimmons
36d17ef44a EUDC: Shorten eudc-tools-menu autoload
* lisp/net/eudc.el: Remove XEmacs support from eudc-tools-menu
autoload.
2018-08-15 21:42:55 -04:00
Thomas Fitzsimmons
6b178acfd1 EUDC: Add commentary to eudc-bob.el
* lisp/net/eudc-bob.el: Add commentary.
2018-08-15 21:42:49 -04:00
Eli Zaretskii
bcdb2d9733 Improve documentation of last change
* lisp/hi-lock.el (hi-lock-set-pattern, hi-lock-face-buffer):
Improve the doc strings.  (Bug#32365)

* etc/NEWS:
* doc/emacs/display.texi (Highlight Interactively): Clarify
wording.
2018-08-15 05:37:45 +03:00
Grégory Mounié
cc5a23d40b Interactive Highlighting: prefix argument to select subexp
* doc/emacs/display.texi (Highlight Interactively):
* etc/NEWS: Document the change.
* lisp/hi-lock.el (hi-lock-face-buffer, hi-lock-set-pattern): Use
the prefix argument to highlight only the corresponding sub-expression
of the regexp (Bug#32365).

Copyright-paperwork-exempt: yes
2018-08-14 19:38:21 -04:00
Paul Eggert
1164d49ba6 Rename --without-mini-gmp to --with-libgmp
* configure.ac (HAVE_GMP): Rename ‘configure’ option from
--without-mini-gmp to --with-libgmp.  All uses changed.
* doc/lispref/numbers.texi (Predicates on Numbers): Large
integers are always available.  Clarify how eq works on them.
2018-08-14 16:06:59 -07:00
Stephen Berman
6d24402d63 Fix last todo-edit-mode change
* lisp/calendar/todo-mode.el (todo-edit-mode): For editing an item
instead of the whole file, the current todo-file must be set from
todo-global-current-todo-file.

* test/lisp/calendar/todo-mode-tests.el (todo-test-current-file-in-edit-mode):
New test.
2018-08-15 00:14:41 +02:00
Stephen Berman
5620d591ee ; * lisp/calendar/todo-mode.el: Remove leftover commented out lines. 2018-08-14 21:50:15 +02:00
Stephen Berman
a2ec595e5d Fix exiting from editing todo archive file (bug#32437)
* lisp/calendar/todo-mode.el (todo-edit-file): Make the warning
also suitable for Todo Archive mode, and add more space to it.
(todo-edit-quit): On quitting editing an archive file, return to
the Todo Archive mode buffer editing was invoked in.
(todo-check-format): Display a warning instead of a message when
the categories sexp isn't as expected.
(todo-mode-external-set): Remove.
(todo-edit-mode): Set buffer local values of
todo-current-todo-file and todo-categories from the todo or
archive file being edited.
(todo-categories-mode): Set buffer local values of
todo-current-todo-file and todo-categories as before but directly
instead of using superfluous todo-mode-external-set function.

* test/lisp/calendar/todo-mode-tests.el (todo-test-edit-quit): New test.
2018-08-14 21:39:24 +02:00
Paul Eggert
11c7c2f758 Remove more traces of misc (Bug#32405)
Remove misc-objects-consed and the misc component of
memory-use-count, since misc objects no longer exist.
* doc/lispref/internals.texi, etc/NEWS: Mention this,
and adjust better to recent removal of misc objects.
* src/alloc.c (MEM_TYPE_MISC): Remove; no longer used.
(Fmemory_use_counts): Omit misc count, since miscs
no longer exist.
(misc-objects-consed): Remove.
2018-08-14 12:08:03 -07:00
Glenn Morris
db6f511eb7 ; Merge from origin/emacs-26
The following commit was skipped:

f882de8 (origin/emacs-26) Port better to x86 -fexcess-precision=fast
2018-08-14 09:06:43 -07:00
Glenn Morris
2eabf4c13c Merge from origin/emacs-26
34e75c1 Add comment about floating point test
e73e683 Ibuffer: Add toggle ibuffer-do-toggle-lock
12f7116 Ibuffer: Detect correctly the buffers running a process
2018-08-14 09:06:43 -07:00
Glenn Morris
2e08ca25fd ; Merge from origin/emacs-26
The following commit was skipped:

1842297 Backport fix for Bug#32226
2018-08-14 09:06:43 -07:00
Glenn Morris
d113142a8b Merge from origin/emacs-26
614cc65 ; * lisp/simple.el (line-move-visual): Fix typo.
d2ad4ba Do not consider external packages to be removable (Bug#27822)
ec0995c * src/alloc.c: Remove obsolete comments.
ec6f588 Better support utf-8-with-signature and utf-8-hfs in HTML
eb026a8 Don't use -Wabi compiler option
2018-08-14 09:06:43 -07:00
Paul Eggert
396a33a365 Port recent changes to older GCC
Problem reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00446.html
* src/lisp.h (make_pointer_integer_unsafe):
Port to older GCC.
2018-08-14 04:39:05 -07:00
Paul Eggert
dc18a0917a Update doc strings for fixnum constants
* src/data.c (most-positive-fixnum, most-negative-fixnum):
Update doc strings in the light of fixnums.
2018-08-13 15:55:53 -07:00
Paul Eggert
76101698a7 Fix check for unsafe watch descriptor
* src/lisp.h (make_pointer_integer_unsafe): New function.
(make_pointer_integer): Use it.
* src/gfilenotify.c (dir_monitor_callback): Omit redundant eassert.
(Fgfile_add_watch): Signal an error instead of failing an
assertion if the pointer does not work.
2018-08-13 15:55:53 -07:00
Paul Eggert
f882de8b80 Port better to x86 -fexcess-precision=fast
Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
* src/data.c (arithcompare): Work around incompatibility
between gcc -fexcess-precision=fast and the C standard on x86,
by capturing the results of floating-point comparisons before
the excess precision spontaneously decays.  Although this fix
might not work in general, it does work here and is probably
good enough for the platforms we care about.

(cherry picked from commit a84cef9095)
2018-08-13 20:16:56 +03:00
Paul Eggert
34e75c144e Add comment about floating point test
* test/src/data-tests.el (data-tests--float-greater-than-fixnums):
New constant.
(data-tests-=, data-tests-<, data-tests->, data-tests-<=)
(data-tests->=, data-tests-min): Use it.
2018-08-13 09:37:09 -07:00
Raimon Grau
eb787d749f Add uuid as allowed thingatpt symbol (Bug#32372)
* etc/NEWS: Mention changes in thingatpt.el.
* lisp/thingatpt.el (thing-at-point-uuid-regexp): Add regexp for uuid.
(top-level): Add 'bounds-of-thing-at-point' operation for 'uuid'.
* test/lisp/thingatpt-tests.el: Add tests for uuid at point.
2018-08-13 07:46:35 -04:00
Tino Calancha
e73e6838aa Ibuffer: Add toggle ibuffer-do-toggle-lock
Toggle the locked status in marked buffers or the buffer
at point (Bug#32421).
* lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
(ibuffer-mode-map): Bind it to 'L'.
(ibuffer-mode-operate-map): Add entries for
`ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
Announce the change.
2018-08-13 19:24:31 +09:00
Tino Calancha
12f7116714 Ibuffer: Detect correctly the buffers running a process
* lisp/ibuffer.el (filename-and-process): Store the process buffer
as a text property; check for such property to detect a buffer
with a process (Bug#32420).
2018-08-13 19:22:49 +09:00
Paul Eggert
a1e0868f74 Pacify gcc -Og -Wuninitialized
This addresses the -Og uninitialized variable warnings I ran
into on Fedora 28, which uses 8.1.1 20180712 (Red Hat 8.1.1-5).
It also changes some explicit initializations to UNINIT
when the variable does not actually need to be initialized.
* src/process.c (connect_network_socket):
* src/sysdep.c (system_process_attributes):
* src/xfns.c (x_real_pos_and_offsets):
* src/xterm.c (get_current_wm_state) [USE_XCB]:
Add UNINIT.
* src/editfns.c (tzlookup):
* src/fns.c (Fnconc):
* src/font.c (font_parse_fcname):
* src/frame.c (x_set_frame_parameters):
Prefer UNINIT to explicit initialization.
2018-08-12 17:25:54 -07:00
Paul Eggert
ca10011898 * configure.ac (GMP_LIB): Set to -lgmp if --without-mini-gmp. 2018-08-12 17:14:59 -07:00
Paul Eggert
a84cef9095 Port better to x86 -fexcess-precision=fast
Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
* src/data.c (arithcompare): Work around incompatibility
between gcc -fexcess-precision=fast and the C standard on x86,
by capturing the results of floating-point comparisons before
the excess precision spontaneously decays.  Although this fix
might not work in general, it does work here and is probably
good enough for the platforms we care about.
2018-08-12 15:31:28 -07:00
Stephen Berman
2b1cac2685 Update and improve todo-mode item insertion and editing code
* lisp/calendar/todo-mode.el (todo-insert-item--param-key-alist)
(todo-insert-item--keyof, todo-insert-item--this-key)
(todo-insert-item--keys-so-far, todo-insert-item--args)
(todo-insert-item--argleft. todo-insert-item--argsleft)
(todo-insert-item--newargsleft, todo-insert-item--apply-args)
(todo-edit-item--param-key-alist, todo-edit-item--prompt)
(todo-edit-item--date-param-key-alist)
(todo-edit-done-item--param-key-alist): Remove.
(todo-insert-item--next-param): Reimplement to take advantage of
lexical binding.
(todo-insert-item): Adjust to new implementation of the above.
(todo-edit-item--next-key): Incorporate now removed global
variables, adjust signature accordingly, update use of pcase.
(todo-edit-item): Adjust to changed signature of the above.
2018-08-12 23:25:53 +02:00
Paul Eggert
f99ee7378f Adjust .gdbinit to removal of misc objects
* src/.gdbinit (xtype, xpr): Adjust.
(xmisctype, xmiscfree): Remove.
2018-08-12 11:46:26 -07:00
Paul Eggert
d966f8d291 Make mini-gmp safe for --enable-gcc-warnings
* configure.ac (GMP_OBJ): When building mini-gmp, compile
mini-gmp-emacs.c, not mini-gmp.c.
* lib-src/etags.c (NDEBUG): Don't attempt to redefine, in
case the builder compiles with -DNDEBUG.
* src/conf_post.h (NDEBUG) [!ENABLE_CHECKING && !NDEBUG]: Define.
This avoids bloat in mini-gmp-emacs.o.
* src/mini-gmp-emacs.c: New file, which pacifies --enable-gcc-warnings.
2018-08-12 11:13:15 -07:00
Michael Albinus
184229766f Backport fix for Bug#32226
* test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
(shadow-test06-literal-groups, shadow-test07-regexp-groups)
(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
Use `set-visited-file-name' instead of setting the value in
`buffer-file-name' directly.
(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
Test for writable temporary directory.  Suppress errors in
cleanup.  (Bug#32226)
2018-08-12 18:15:24 +02:00
Eli Zaretskii
135037397a Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2018-08-12 19:03:27 +03:00
Eli Zaretskii
d9806a55a0 ; Avoid compilation warnings under -Og
* src/w32.c (w32_read_registry):
* src/font.c (font_parse_fcname):
* src/fns.c (Fnconc):
* src/editfns.c (tzlookup):
* src/frame.c (x_set_frame_parameters): Avoid compiler warnings
about maybe-uninitialized variables.
2018-08-12 19:02:32 +03:00
Paul Eggert
21c2fd724d Fix typo caught by zsh
* lisp/Makefile.in (compile-clean): Fix typo; missing ";" (Bug#32423).
2018-08-12 09:01:20 -07:00
Michael Albinus
4532def340 ; Remove instrumentation for Bug#32226 2018-08-12 17:38:24 +02:00
João Távora
6a7c84d095 jsonrpc-shutdown's cleanup also kills stderr buffer
* lisp/jsonrpc.el
(Version): Bump to 1.0.6
(jsonrpc-shutdown): Also kill stderr buffer
2018-08-12 13:26:06 +01:00
João Távora
a5cd6cb2b5 Revert "Make jsonrpc-shutdown a noop if process isn't running"
This reverts commit c580443325.  It
leads to situations where the sentinel hasn't run yet, which brings
problems if the normal process isn't running, but the stderr
pseudo-process still is.

* lisp/jsonrpc.el (jsonrpc-shutdown): Always enter loop.
2018-08-12 13:25:05 +01:00
Charles A. Roelli
614cc65f2d ; * lisp/simple.el (line-move-visual): Fix typo. 2018-08-12 13:05:27 +02:00
Andreas Schwab
a04829d1b4 Ensure no padding after union vectorlike_header
Instead of increasing GCALIGNMENT align union vectorlike_header by
adding a Lisp_Object member.

* src/lisp.h (GCALIGNMENT): Revert last change.
(union vectorlike_header): Add align member.
(header_size): Verify the same as sizeof (union
vectorlike_header)
2018-08-12 12:07:00 +02:00
Andreas Schwab
3d0a0ca7ca Avoid padding after union vectorlike_header
The PSEUDOVECTORSIZE macro requires that the first member after union
vectorlike_header has the same offset in all pseudo vector structures.

* src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Use alignment of
Lisp_Object.
2018-08-12 11:12:27 +02:00
Paul Eggert
3fc948a36c New 'configure' arg --with-mini-gmp
* configure.ac: It lets the builder override default of whther
mini-gmp is used.  Use AC_SEARCH_LIBS as per Autoconf manual.
2018-08-12 01:07:02 -07:00
Paul Eggert
d64c1be990 Update from Gnulib
This incorporates:
2018-08-11 verify: port 'assume' to traditional tools
* build-aux/config.sub, lib/regcomp.c, lib/verify.h:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2018-08-11 19:08:29 -07:00
Paul Eggert
1145bd0ef9 Remove stray union Lisp_Misc doc (Bug#32405#35). 2018-08-11 18:50:25 -07:00
Paul Eggert
6c12f4e63f Simplify mark_object for pseudovectors
Suggested by Pip Cet (Bug#32405#14).
* src/alloc.c (mark_object): Remove unnecessary special cases for
PVEC_MARKER, PVEC_BOOL_VECTOR, PVEC_MISC_PTR, PVEC_USER_PTR, and
PVEC_FINALIZER.

change is to free up an enum Lisp_Type tag value, a scarce
2018-08-11 18:50:25 -07:00