Eli Zaretskii [Sun, 25 Aug 2019 07:10:01 +0000 (10:10 +0300)]
; Improve a recent change.
* src/frame.c (Fx_parse_geometry): Improve the comment about
non-initialization of some locals.
Lars Ingebrigtsen [Sun, 25 Aug 2019 06:12:17 +0000 (08:12 +0200)]
Use ' instead of ` in NEWS
Lars Ingebrigtsen [Sun, 25 Aug 2019 06:11:58 +0000 (08:11 +0200)]
Use `autoconf-mode' for Autoconf .m4 files
* lisp/files.el (auto-mode-alist): Use `autoconf-mode' (instead of
`m4-mode') for acinclude.m4/aclocal.m4/acsite.m4 files (bug#37133).
Alex Branham [Sun, 25 Aug 2019 06:05:48 +0000 (08:05 +0200)]
The `gnus*-1' functions shouldn't be interactive
* lisp/gnus/gnus-start.el (gnus-no-server-1): This function
shouldn't be interactive (bug#37022).
(gnus-1): Ditto.
Lars Ingebrigtsen [Sun, 25 Aug 2019 05:57:30 +0000 (07:57 +0200)]
Disallow just hitting RET in gnus-mime-replace-part
* lisp/gnus/gnus-art.el (gnus-mime-replace-part): Don't replace
the part if the file to replace it with doesn't exist (bug#36864).
Paul Eggert [Sun, 25 Aug 2019 00:46:21 +0000 (17:46 -0700)]
Clarify Fx_parse_geometry initialization
* src/frame.c (Fx_parse_geometry): Clarify why local init
isn’t needed.
Paul Eggert [Sat, 24 Aug 2019 22:40:55 +0000 (15:40 -0700)]
Tweak time arithmetic performance
* src/timefns.c (time_arith): Prefer mpz_divexact to mpz_tdiv_q
when either will do.
Paul Eggert [Sat, 24 Aug 2019 22:46:31 +0000 (15:46 -0700)]
Speed up % and mod with fixnum denom
* src/data.c (integer_remainder): New function. When the
numerator is a bignum and the denominator is small, this function
uses mpz_tdiv_ui, which should be faster than mpz_tdiv_r.
(Frem, Fmod): Use it.
Paul Eggert [Sat, 24 Aug 2019 19:45:36 +0000 (12:45 -0700)]
Tweak integer mod performance
* src/data.c (integer_mod): Use mpz_tdiv_r not mpz_mod, as that’s
more similar to the fixnum case, is a bit more efficient, and
otherwise the later ‘sgn_r < 0’ code is useless anyway.
Paul Eggert [Sat, 24 Aug 2019 19:43:50 +0000 (12:43 -0700)]
Make (mod 1.0 0) consistent with (/ 1.0 0)
* src/data.c (Fmod): Do not signal an error for (mod 1.0 0), for
the same reason (/ 1.0 0) does not signal an error.
* test/src/data-tests.el (data-tests-mod-0): New test.
Paul Eggert [Sat, 24 Aug 2019 18:42:28 +0000 (11:42 -0700)]
extern function cleanup
Most of these functions can be static. A few are unused.
* src/coding.c (encode_string_utf_8, decode_string_utf_8):
Define only if ENABLE_UTF_8_CONVERTER_TEST, as they're
not needed otherwise.
* src/coding.c (encode_string_utf_8, decode_string_utf_8):
* src/data.c (integer_mod):
* src/fns.c (base64_encode_region_1, base64_encode_string_1):
* src/ftfont.c (ftfont_get_fc_charset):
Now static.
* src/sysdep.c (verrprintf): Remove; unused.
Noam Postavsky [Fri, 23 Aug 2019 00:48:19 +0000 (20:48 -0400)]
Fix non-deterministic process test
* test/src/process-tests.el (set-process-filter-t): Don't assume
subprocess output will come in a single chunk, keep waiting for more
data until next "prompt" is read from subprocess.
Eli Zaretskii [Sat, 24 Aug 2019 13:46:00 +0000 (16:46 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 24 Aug 2019 13:45:10 +0000 (16:45 +0300)]
Revert "Recompute user-emacs-directory-relative defcustoms one more time"
This reverts commit
bb5cd7c4caf415e40836edbbc4e62b0dd411d73f.
See bug#37173.
Robert Pluim [Sat, 24 Aug 2019 12:54:02 +0000 (14:54 +0200)]
Fix DNS tests
* test/src/process-tests.el: (lookup-family-specification,
lookup-unicode-domains, unibyte-domain-name, lookup-google,
non-existent-lookup-failure): Skip on Hydra, which doesn't have DNS.
Fix buggy test condition. (Bug#37165)
Michael Albinus [Sat, 24 Aug 2019 08:10:05 +0000 (10:10 +0200)]
Fix some problems of Bug#36940
* test/lisp/net/tramp-tests.el (tramp-test22-file-times): Do not
compare time value lists by `equal'. (Bug#36940).
(tramp-test30-make-process): Adapt "kill" message to match on macOS.
Paul Eggert [Fri, 23 Aug 2019 18:50:40 +0000 (11:50 -0700)]
Tweak gnutls-peer-status reporting
* src/gnutls.c (Fgnutls_peer_status): Report :compression and
:encrypt-then-mac only if the underlying GnuTLS library has
the corresponding features. This give the Elisp caller a bit
more information about the peer status.
* lisp/net/nsm.el (nsm-protocol-check--compression):
Don’t worry about compression in newer GnuTLS versions
that do not support compression.
Lars Ingebrigtsen [Fri, 23 Aug 2019 18:42:45 +0000 (20:42 +0200)]
Mention new usage of `invalid-read-syntax' in the manual
* doc/lispref/errors.texi (Standard Errors): Document "trailing
garbage" use of `invalid-read-syntax' (bug#24649).
Paul Eggert [Fri, 23 Aug 2019 18:17:38 +0000 (11:17 -0700)]
Clarify compiler-pacifier in frame.c
* src/frame.c (Fx_parse_geometry): Pacify the compiler in a
different way, so that the human reader can more easily see
that the initializations are unnecessary.
Eli Zaretskii [Fri, 23 Aug 2019 16:21:33 +0000 (19:21 +0300)]
Fix compilation --without--x
* src/xdisp.c (extend_face_to_end_of_line): Fix a recent
change that moved the initialization of default_face.
Reported by Glenn Morris <rgm@gnu.org>.
Eli Zaretskii [Fri, 23 Aug 2019 13:00:25 +0000 (16:00 +0300)]
Avoid a compilation warning in w32.c
* src/w32.c (logon_network_drive): Avoid compilation warning
about strncpy arguments.
Eli Zaretskii [Fri, 23 Aug 2019 12:52:33 +0000 (15:52 +0300)]
Avoid compilation warning in frame.c
* src/frame.c (Fx_parse_geometry): Avoid compilation warning
about x and y being used without initializing them.
Noam Postavsky [Fri, 23 Aug 2019 11:59:32 +0000 (07:59 -0400)]
; Fix references to log-edit-generate-changelog-from-diff
* doc/emacs/maintaining.texi (Log Buffer):
* etc/NEWS: Replace log-edit-generate-changelog (an old name which was
changed during editing) to log-edit-generate-changelog-from-diff.
Noam Postavsky [Fri, 23 Aug 2019 11:55:09 +0000 (07:55 -0400)]
Print macro modified macro keys as characters not integers
* lisp/macros.el (macros--insert-vector-macro): Pass all elements to
'prin1-char', not just those that satisfy characterp (because characters
which have modifier bits set wouldn't qualify otherwise).
'prin1-char' will return nil if it can't handle the argument (e.g.,
for symbols representing function keys).
Eli Zaretskii [Fri, 23 Aug 2019 12:30:45 +0000 (15:30 +0300)]
; Fix last change.
* src/process.c (network_lookup_address_info_1): A better fix for
compilation on platforms without HAVE_GAI_STRERROR. (Bug#37158)
Robert Pluim [Fri, 23 Aug 2019 12:24:27 +0000 (14:24 +0200)]
Fix compilation of process.c
* src/process.c (network_lookup_address_info_1): [!HAVE_GAI_STRERROR]:
Use make_fixnum instead of make_number. (Bug#37158).
Michael Heerdegen [Wed, 21 Aug 2019 13:51:13 +0000 (15:51 +0200)]
Hi-lock lines up to right margin (Bug#15934)
* lisp/hi-lock.el (hi-lock-line-face-buffer): Change used regexp so
that a line terminating newline character is included in the match.
Lars Ingebrigtsen [Fri, 23 Aug 2019 09:51:54 +0000 (11:51 +0200)]
Rename renamed nsm.el variables and functions back
* doc/emacs/misc.texi (Network Security): Start working on
updating the NSM bits, but it's unclear how much of the new stuff
to document.
* lisp/net/nsm.el: Rename all nsm-tls-check-* functions to
nsm-protocol-check--* to bring them back into line with the
documentation.
(network-security-protocol-checks): Renamed back again from
`nsm-tls-checks', as this variable is documented and can't just go
away.
Lars Ingebrigtsen [Fri, 23 Aug 2019 09:00:02 +0000 (11:00 +0200)]
Move all NSM tests away from the `low' level
* lisp/net/nsm.el (network-security-level, nsm-tls-checks): Make
`low' a "check nothing" setting again, and move all the `low'
checks back to `medium'. This makes the test suite work again.
Lars Ingebrigtsen [Fri, 23 Aug 2019 08:44:49 +0000 (10:44 +0200)]
Tweak previous tar-mode time stamp code
* lisp/tar-mode.el (tar-header-block-summarize): Tweak previous
commit to output the time stamp in the exact same way that GNU tar
does.
Eli Zaretskii [Fri, 23 Aug 2019 08:43:30 +0000 (11:43 +0300)]
; * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Doc fix.
Paul Eggert [Fri, 23 Aug 2019 08:11:12 +0000 (01:11 -0700)]
Get the Gnutls code compiling on Fedora 30
The recent changes caused the build to fail on Fedora 30 when built
with --enable-gcc-warnings, among other things with diagnostics that
gnutls_compression_get and gnutls_compression_get_name are deprecated
(this started with GnuTLS 3.6). Fix this by refusing to call these
obsolescent and now-dummy functions in GnuTLS 3.6 and later. However,
this is just a temporary workaround to get the build working; a real
fix is needed, as network-stream-tests fail.
* src/gnutls.c (HAVE_GNUTLS_COMPRESSION_GET): New macro.
(gnutls_compression_get, gnutls_compression_get_name):
Define only if HAVE_GNUTLS_COMPRESSION_GET.
(init_gnutls_functions): Load the two functions only if
HAVE_GNUTLS_COMPRESSION_GET.
(emacs_gnutls_certificate_export_pem): Use alloca instead of xmalloc.
(Fgnutls_peer_status): Just return "NULL" if the functions
are deprecated.
(Fgnutls_format_certificate): Fix pointer signedness glitches.
* src/process.c: Fix spacing.
Lars Ingebrigtsen [Fri, 23 Aug 2019 08:10:09 +0000 (10:10 +0200)]
Put error output from M-! at the end of the error buffer
* lisp/simple.el (shell-command-on-region): Put the error output
at the end of the buffer instead of wherever point is (bug#7513).
This avoids interleaving error output.
Robert Pluim [Wed, 6 Feb 2019 08:30:07 +0000 (09:30 +0100)]
Move default face lookup
* src/xdisp.c (extend_face_to_end_of_line): Move default face
lookup lower.
Robert Pluim [Fri, 23 Aug 2019 07:46:24 +0000 (09:46 +0200)]
Correct description of network-lookup-address-info
* doc/lispref/processes.texi (Misc Network): Remove erroneous text
about port numbers
Lars Ingebrigtsen [Fri, 23 Aug 2019 07:58:58 +0000 (09:58 +0200)]
Remove debugging from previous shr.el patch
Eli Zaretskii [Fri, 23 Aug 2019 07:38:14 +0000 (10:38 +0300)]
Fix recent changes in gnutls.c
* src/gnutls.c: Fix typos that broke the MS-Windows build.
(Fgnutls_peer_status_warning_describe): Fix incomplete error
message string.
Lars Ingebrigtsen [Fri, 23 Aug 2019 06:51:35 +0000 (08:51 +0200)]
Avoid an infloop in shr when filling text with :align-to properties
* lisp/net/shr.el (shr-fill-line): Only join together URL buttons
if there are any URL buttons.
Lars Ingebrigtsen [Fri, 23 Aug 2019 05:19:45 +0000 (07:19 +0200)]
Fix Gnus display of timestamps that's less than a second old
* lisp/gnus/gnus-art.el (article-lapsed-string): The elapsed
seconds may be a fractional second. In that case, just say "now".
Lars Ingebrigtsen [Fri, 23 Aug 2019 04:40:20 +0000 (06:40 +0200)]
Really save games scores to the games scores directory
* lisp/play/gamegrid.el
(gamegrid-add-score-with-update-game-score): Save games scores to
`gamegrid-user-score-file-directory' by default (bug#36971).
Damien Cassou [Fri, 23 Aug 2019 04:30:46 +0000 (06:30 +0200)]
Add imenu support to xref
* lisp/progmodes/xref.el (xref--imenu-prev-index-position)
(xref--imenu-extract-index-name): Add functions to get imenu support.
(xref--xref-buffer-mode): Set imenu variables to the new functions.
* etc/NEWS: Add corresponding entry (bug#36974).
Lars Ingebrigtsen [Fri, 23 Aug 2019 04:20:41 +0000 (06:20 +0200)]
Give a better error message when reading invalid "\unicode" escapes.
* src/lread.c (read_escape): Give a clearer error message on
Unicode escape sequences (bug#36988).
Lars Ingebrigtsen [Fri, 23 Aug 2019 04:12:44 +0000 (06:12 +0200)]
Clarify doc string of cl-pushnew
* lisp/emacs-lisp/cl-lib.el (cl-pushnew): Clarify doc string
(bug#37016).
Lars Ingebrigtsen [Fri, 23 Aug 2019 04:00:36 +0000 (06:00 +0200)]
Fix interaction between url-handler-mode and browse-url
* lisp/net/browse-url.el (browse-url): Don't expand any URLs (like
"man:") that have a scheme when using `url-handler-mode' (bug#37056).
Lars Ingebrigtsen [Fri, 23 Aug 2019 03:44:59 +0000 (05:44 +0200)]
Use ISO8601 time formats in tar-mode
* lisp/tar-mode.el (tar-clip-time-string): Make obsolete (bug#37130).
(tar-header-block-summarize): Use ISO8601 time instead of
home-brew format.
Lars Ingebrigtsen [Fri, 23 Aug 2019 03:31:17 +0000 (05:31 +0200)]
Make dired recognize .lz files
* lisp/dired-aux.el (dired-compress-file-suffixes): Recognize .lz
(lzip) compressed files (bug#37136).
Lars Ingebrigtsen [Fri, 23 Aug 2019 03:05:27 +0000 (05:05 +0200)]
Fix too-long lines in nsm.el
* lisp/net/nsm.el: Fix some too-long lines and some terminology in
the doc strings/comments.
Lars Ingebrigtsen [Fri, 23 Aug 2019 02:54:42 +0000 (04:54 +0200)]
Mention new NSM warnings
Lars Ingebrigtsen [Fri, 23 Aug 2019 02:49:52 +0000 (04:49 +0200)]
Merge remote-tracking branch 'origin/netsec'
Lars Ingebrigtsen [Fri, 23 Aug 2019 02:07:10 +0000 (04:07 +0200)]
Tweak the warning display to be less like a TLS decoding page
* lisp/net/nsm.el (nsm-parse-subject, nsm-certificate-part):
Restore functions for parsing subjects.
(nsm-format-certificate): Use them to display more user-friendly
data. Also change the display to have fewer lines again so that
the data of interest isn't pushed off the screen.
Lars Ingebrigtsen [Fri, 23 Aug 2019 01:43:41 +0000 (03:43 +0200)]
Enable sorting paragraphs when the final paragraph has no newline
* lisp/sort.el (sort-paragraphs): Ensure that when sorting
paragraphs, the final paragraph ends with a newline (bug#21785).
Lars Ingebrigtsen [Fri, 23 Aug 2019 00:57:07 +0000 (17:57 -0700)]
Signal an error on `M-x shell-mode'
* lisp/shell.el (shell-mode): This mode can't usefully be called
interactively (and is somewhat destructive, as it disables
`undo'), and it's usually confused with `shell-script-mode'
(bug#19812). So signal an error if it's used interactively.
Lars Ingebrigtsen [Fri, 23 Aug 2019 00:52:07 +0000 (17:52 -0700)]
Make ibuffer-mark-by-file-name-regexp work on the displayed file name
* lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Perform the
matching on the abbreviated (i.e., displayed) file name, and not
the complete name (bug#18859). This seems like the more expected
action.
Lars Ingebrigtsen [Fri, 23 Aug 2019 00:40:26 +0000 (02:40 +0200)]
Have `M-x battery' list all batteries under GNU/Linux
* lisp/battery.el (battery-upower-device): Remove (bug#25559).
(battery--find-linux-sysfs-batteries): New function.
(battery-status-function, battery-linux-sysfs): Use it to list all
batteries, no matter what they're called.
Lars Ingebrigtsen [Fri, 23 Aug 2019 00:24:55 +0000 (02:24 +0200)]
Signal `invalid-read-syntax' for "trailing garbage"
* src/minibuf.c (string_to_object): Signal `invalid-read-syntax'
instead of the generic `error' for "trailing garbage following
expression" (bug#24649).
Lars Ingebrigtsen [Fri, 23 Aug 2019 00:20:54 +0000 (02:20 +0200)]
Fix skeleton edebug spec
* lisp/skeleton.el (skeleton-edebug-spec): Fix edebug spec
(bug#24779).
Lars Ingebrigtsen [Fri, 23 Aug 2019 00:07:41 +0000 (02:07 +0200)]
Run quit-window-hook from the correct buffer
* lisp/window.el (quit-window): Run the hook from the buffer
specified by the WINDOW parameter.
Eli Zaretskii [Thu, 22 Aug 2019 17:46:31 +0000 (20:46 +0300)]
Recompute user-emacs-directory-relative defcustoms one more time
* lisp/startup.el (command-line): Re-evaluate the
custom-delayed predefined variables one more time after
loading the user's init file. (Bug#37116)
Stefan Kangas [Thu, 22 Aug 2019 17:15:30 +0000 (19:15 +0200)]
Fix minor checkdoc errors in package.el
* lisp/emacs-lisp/package.el (package-all-keywords)
(package-menu--generate, package-archive-priority): Doc fixes.
Stefan Kangas [Wed, 17 Jul 2019 17:55:08 +0000 (19:55 +0200)]
Signal user-error on duplicate package refresh
* lisp/emacs-lisp/package.el (package-menu-refresh): Signal a
user-error if there is already a refresh running in the
background. Doc fix. (Bug#36707)
Stefan Kangas [Thu, 22 Aug 2019 15:01:39 +0000 (17:01 +0200)]
* doc/misc/efaq.texi: Note the inclusion year. (Bug#37142)
Eli Zaretskii [Thu, 22 Aug 2019 14:49:40 +0000 (17:49 +0300)]
Improve documentation of 'ispell-skip-html'
* lisp/textmodes/ispell.el (ispell-skip-html): Doc fix.
(Bug#37141)
Michael Albinus [Thu, 22 Aug 2019 12:50:38 +0000 (14:50 +0200)]
* doc/misc/tramp.texi: Use @acronym{GVFS}.
Paul Eggert [Thu, 22 Aug 2019 08:22:10 +0000 (01:22 -0700)]
Fix Qunbound-Qnil confusion in clrhash patch
Problem reported by Stefan Monnier.
* src/fns.c (hash_clear): Fix typo I introduced in my previous
patch here, by setting keys to Qunbound not Qnil.
Paul Eggert [Thu, 22 Aug 2019 05:29:35 +0000 (22:29 -0700)]
Remove no-longer-needed workaround for GC bug
* src/keymap.c (describe_vector): Remove old workaround for GC bug.
This workaround, introduced in 1993-02-19T05:43:54Z!rms@gnu.org,
has not been needed for some time. Problem reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
Paul Eggert [Thu, 22 Aug 2019 05:19:03 +0000 (22:19 -0700)]
Don’t debug fset by default
This GC bug seems to have been fixed, so the check is no longer
needed in production code. From a suggestion by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
* src/alloc.c (SUSPICIOUS_OBJECT_CHECKING) [!ENABLE_CHECKING]:
Do not define.
(find_suspicious_object_in_range, detect_suspicious_free):
Expand to proper dummy expressions if !SUSPICIOUS_OBJECT_CHECKING.
* src/data.c (Ffset): Convert test to an eassert.
Paul Eggert [Thu, 22 Aug 2019 01:54:08 +0000 (18:54 -0700)]
Fix clrhash bug when hash table needs rehashing
Problem reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
* src/fns.c (maybe_resize_hash_table): Prefer ASET to gc_aset
where either will do. Simplify appending of Qunbound values.
Put index_size calculation closer to where it’s needed.
(hash_clear): If hash_rehash_needed_p (h), don’t clear the
nonexistent hash vector. Use memclear to speed up clearing.
* src/lisp.h (HASH_TABLE_SIZE): Check that the size is positive,
and tell that to the compiler.
Paul Eggert [Thu, 22 Aug 2019 00:19:53 +0000 (17:19 -0700)]
* src/buffer.c: Fix comment typo.
Paul Eggert [Thu, 22 Aug 2019 00:18:33 +0000 (17:18 -0700)]
Don’t hard-loop on cycles in ‘read’ etc.
Problem for ‘read’ reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
* src/fns.c (Frequire): Protect against circular current-load-list.
* src/lread.c (Fget_load_suffixes):
Protect against circular load-suffixes or load-file-rep-suffixes.
(Fload): Protect against circular loads-in-progress.
(openp): Protect against circular PATH and SUFFIXES.
(build_load_history): Protect against circular load-history or
current-load-list.
(readevalloop_eager_expand_eval): Protect against circular SUBFORMS.
(read1): Protect against circular data.
* test/src/lread-tests.el (lread-circular-hash): New test.
Lars Ingebrigtsen [Wed, 21 Aug 2019 20:49:57 +0000 (13:49 -0700)]
Make hide-ifdef-mode-prefix-key customisable
* lisp/progmodes/hideif.el (hide-ifdef-mode-prefix-key): Make into
a defcustom since it seems like this is something that should be
user-customisable (bug#8922).
Lars Ingebrigtsen [Wed, 21 Aug 2019 20:36:59 +0000 (13:36 -0700)]
Use `quit-window-hook' in Info instead of having its own command
* doc/misc/info.texi (Help-Q): Info now uses `quit-window'.
* lisp/info.el (info-standalone): Adjust doc string.
(Info-exit): Made into obsolete alias.
(Info-mode-map): Bind "q" to `quit-window'.
(Info-mode-menu): Adjust.
(info-tool-bar-map): Ditto.
(Info-mode): Adjust doc string.
(Info-mode): If Info is standalone, kill Emacs on "q".
Lars Ingebrigtsen [Wed, 21 Aug 2019 20:22:56 +0000 (13:22 -0700)]
Adjust quit-window-hook documentation
* doc/lispref/windows.texi (Quitting Windows): Adjust
documentation of quit-window-hook (bug#9867).
Lars Ingebrigtsen [Wed, 21 Aug 2019 20:21:52 +0000 (13:21 -0700)]
Mention quit-window-hook in "Standard Hooks"
* doc/lispref/hooks.texi (Standard Hooks): Mention
quit-window-hook (bug#9867).
Lars Ingebrigtsen [Wed, 21 Aug 2019 20:18:47 +0000 (13:18 -0700)]
Call `quit-window-hook' in the `quit-window' command only
* lisp/window.el (quit-restore-window): Don't run quit-window-hook
here...
(quit-window): ... but here instead. Callers that call the former
programmatically can decide themselves whether to call the hook.
(quit-window-hook): Fix doc string.
Lars Ingebrigtsen [Wed, 21 Aug 2019 20:05:18 +0000 (13:05 -0700)]
Fix the interactive spec for set-frame-width/height
* src/frame.c (Fset_frame_width):
(Fset_frame_height): Use `prefix-numeric-value' to get the proper
numeric value (bug#9970).
Stefan Kangas [Wed, 21 Aug 2019 17:16:20 +0000 (19:16 +0200)]
* lisp/mail/flow-fill.el: Change todo comment to not mention XEmacs.
Michael Albinus [Wed, 21 Aug 2019 09:03:34 +0000 (11:03 +0200)]
; Fix typo introduced by last autorevert-tests patch
Martin Rudalics [Wed, 21 Aug 2019 08:24:25 +0000 (10:24 +0200)]
; Fix typos in commentary section of xdisp.c
Michael Albinus [Wed, 21 Aug 2019 07:19:28 +0000 (09:19 +0200)]
; Add traces to auto-revert-test02-auto-revert-deleted-file
Paul Eggert [Wed, 21 Aug 2019 07:06:00 +0000 (00:06 -0700)]
Be more careful about pointers to bignum vals
This uses ‘const’ to be better at catching bugs that
mistakenly attempt to modify a bignum value.
Lisp bignums are supposed to be immutable.
* src/alloc.c (make_pure_bignum):
* src/fns.c (sxhash_bignum):
Accept Lisp_Object instead of struct Lisp_Bignum *, as that’s
simpler now. Caller changed.
* src/bignum.h (bignum_val, xbignum_val): New inline functions.
Prefer them to &i->value and XBIGNUM (i)->value, since they
apply ‘const’ to the result.
* src/timefns.c (lisp_to_timespec): Use mpz_t const *
to point to a bignum value.
Paul Eggert [Wed, 21 Aug 2019 01:11:16 +0000 (18:11 -0700)]
Update mini-gmp
* src/mini-gmp.c: Sync from upstream. This incorporates:
2019-08-13 Silence a couple of warnings
Paul Eggert [Wed, 21 Aug 2019 00:34:03 +0000 (17:34 -0700)]
Avoid some excess precision in time arithmetic
* doc/misc/emacs-mime.texi (time-date):
Adjust example to match new behavior.
* etc/NEWS: Mention this.
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-second):
Don’t lose underestimate precision of seconds component.
* src/bignum.c (mpz): Grow by 1.
* src/timefns.c (trillion_factor): New function.
(timeform_sub_ps_p): Remove.
(time_arith): Avoid unnecessarily-large hz, by reducing the hz
to a value no worse than the worse hz of the two arguments.
The result is always exact unless an error is signaled.
* test/src/timefns-tests.el (timefns-tests--decode-time):
New function.
(format-time-string-with-zone): Test (decode-time LOOK ZONE t)
resolution as well as its numeric value.
Noam Postavsky [Sun, 4 Aug 2019 00:19:31 +0000 (20:19 -0400)]
Respect global-eldoc-mode in minibuffers (Bug#36886)
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Accept
a BODY parameter.
* doc/lispref/modes.texi (Defining Minor Modes): Document new
parameter.
* etc/NEWS: Announce it.
* lisp/simple.el (read--expression): Move eldoc-mode setup to...
* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): ... here,
new function.
(global-eldoc-mode): Add or remove it to
eval-expression-minibuffer-setup-hook when enabling or disabling
global-eldoc-mode. This enables eldoc in the minibuffer (solving
Bug#27202), only when global-eldoc-mode is enabled.
Paul Eggert [Tue, 20 Aug 2019 21:02:30 +0000 (14:02 -0700)]
Support larger TIMEs in (time-convert TIME t)
Also, improve the doc to match current behavior.
* doc/lispref/os.texi (Time Conversion): Document that
time-convert signals an error for infinite or NaN args,
and that (time-convert TIME t) is exact otherwise.
Mention float-time as an alternative to time-convert.
(Time Calculations): Document that time-add and time-subtract
are exact and do not decrease HZ below the minimum of their args.
* src/timefns.c (decode_float_time): Don’t signal an error for
floating-point arguments whose base-FLT_RADIX exponent is not less
than DBL_MANT_DIG. Instead, convert them to (TICKS . 1) values.
Use two (instead of three) integer exponent comparisons in the
typical case.
* test/src/timefns-tests.el (time-arith-tests):
Add more floating-point tests, including some tests
that the old code fails.
Stephen Leake [Tue, 20 Aug 2019 22:36:08 +0000 (15:36 -0700)]
Delete built-in ada-mode; Gnu ELPA is a good replacement
* doc/misc/Makefile.in (INFO_COMMON): Delete ada-mode.
* doc/misc/ada-mode.texi: Delete.
* etc/NEWS: Mention ada-mode deleted.
* lisp/progmodes/ada-mode.el: Delete.
* lisp/progmodes/ada-prj.el: Delete.
* lisp/progmodes/ada-stmt.el: Delete.
* lisp/progmodes/ada-xref.el: Delete.
Michael Albinus [Tue, 20 Aug 2019 19:32:34 +0000 (21:32 +0200)]
Another attempt to fix bug#32645
* test/lisp/autorevert-tests.el ()
(auto-revert-test02-auto-revert-deleted-file):
* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
Check `file-notify-valid-p', not that the descriptor is nil.
Stefan Kangas [Tue, 20 Aug 2019 16:41:44 +0000 (18:41 +0200)]
; * etc/NEWS: Move one incorrectly placed item.
Glenn Morris [Tue, 20 Aug 2019 16:04:53 +0000 (09:04 -0700)]
Merge from origin/emacs-26
615cff4 (origin/emacs-26) Fix process filter documentation (Bug#13400)
beb1d22 Fix query-replace-regexp undo feature
# Conflicts:
# test/lisp/replace-tests.el
Glenn Morris [Tue, 20 Aug 2019 16:01:55 +0000 (09:01 -0700)]
; Merge from origin/emacs-26
The following commit was skipped:
190565b Support the new Japanese era name
Glenn Morris [Tue, 20 Aug 2019 16:01:55 +0000 (09:01 -0700)]
Merge from origin/emacs-26
0b810eb Fix a typo in char-width-table
3f00db7 Minor update in admin/notes/unicode
bcd0115 Fix lisp indent infloop on unfinished strings (Bug#37045)
5f992d1 Improve commentary in composite.el
3a04be2 ; Improve commentary in xdisp.c
15de1d1 Fix markup in dired-x.texi
bda7fc7 ; Fix typo in a doc string of speedbar.el
6f57ef9 * src/callproc.c (Fcall_process): Doc fix.
# Conflicts:
# doc/misc/dired-x.texi
# lisp/international/characters.el
# src/callproc.c
Ulrich Müller [Sun, 11 Aug 2019 09:24:07 +0000 (11:24 +0200)]
* configure.ac (HAVE_JPEG): Test for window system. (Bug#36995)
Mauro Aranda [Sat, 10 Aug 2019 13:48:24 +0000 (10:48 -0300)]
Don't display wrong ElDoc information when inside ELisp strings or comments
* lisp/progmodes/elisp-mode.el (elisp--fnsym-in-current-sexp): Since
forward-sexp assumes point is not in a string or comment, avoid
calling it and then checking if point is inside a string, since that
sometimes will fail with awkward results. (Bug#35567)
Lars Ingebrigtsen [Tue, 20 Aug 2019 02:39:05 +0000 (19:39 -0700)]
Output `auto-coding-alist' in `describe-current-coding-system'
* lisp/international/mule-diag.el
(describe-current-coding-system): Also output the contents of
`auto-coding-alist', which take precedence over
`file-coding-system-alist' (bug#9575).
Lars Ingebrigtsen [Tue, 20 Aug 2019 02:21:53 +0000 (19:21 -0700)]
Add a new hook: `quit-window-hook'
* doc/lispref/windows.texi (Quitting Windows): Mention in.
* lisp/window.el (quit-restore-window): Run the new
`quit-window-hook' before doing anything else (bug#9867).
(quit-window): Note that the hook will be run in the doc string.
* lisp/window.el (quit-window-hook): New variable.
Paul Eggert [Tue, 20 Aug 2019 01:04:56 +0000 (18:04 -0700)]
Fix org-table 65536-second bug
* lisp/org/org-table.el (org-table-message-once-per-second):
Fix bug when clock difference goes past a 65536-second boundary.
Don’t assume particular format for current-time result.
Paul Eggert [Tue, 20 Aug 2019 01:02:59 +0000 (18:02 -0700)]
Fix time-add/time-sub validity checking
* src/timefns.c (time_arith): Check the first arg for
validity even if the second arg is not finite.
* test/src/timefns-tests.el (time-arith-tests): Test this.
Noam Postavsky [Sat, 27 Jul 2019 03:20:37 +0000 (23:20 -0400)]
Fix process filter documentation (Bug#13400)
* doc/lispref/processes.texi (Asynchronous Processes): Note that input
may read when sending data as well.
(Output from Processes): Note that functions which send data may also
trigger reading from processes.
(Input to Processes, Filter Functions): Note that filter functions may
be called recursively.
Tino Calancha [Mon, 19 Aug 2019 15:32:09 +0000 (17:32 +0200)]
Fix query-replace-regexp undo feature
Ensure that non-regexp strings used with `looking-at' are quoted.
* lisp/replace.el (perform-replace): Quote regexp (Bug#37073).
* test/lisp/replace-tests.el (replace-tests-perform-replace-regexp-flag):
New variable.
(replace-tests-with-undo): Use it.
(query-replace-undo-bug37073): Add tests.
Stefan Monnier [Mon, 19 Aug 2019 09:44:43 +0000 (05:44 -0400)]
* lisp/erc/erc-stamp.el: Fix erc-echo-timestamp (bug#22700)
Use lexical-binding.
(erc-add-timestamp): Store the timestamp in a closure placed in
cursor-sensor-functions rather than stashing it in an ad-hoc
`timestamp` property.
(erc-echo-timestamp): Simplify accordingly.
Lars Ingebrigtsen [Sun, 18 Aug 2019 23:50:08 +0000 (16:50 -0700)]
Allow set-frame-height/set-frame-width to be used interactively
* doc/lispref/frames.texi (Frame Size): Document it.
* src/frame.c (Fset_frame_height):
(Fset_frame_width): Make into commands that use the numeric prefix
to set height/width (bug#9970).