]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoTweak gnutls-peer-status reporting
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.

5 years agoMention new usage of `invalid-read-syntax' in the manual
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).

5 years agoClarify compiler-pacifier in frame.c
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.

5 years agoFix compilation --without--x
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>.

5 years agoAvoid a compilation warning in w32.c
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.

5 years agoAvoid compilation warning in frame.c
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.

5 years ago; Fix references to log-edit-generate-changelog-from-diff
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.

5 years agoPrint macro modified macro keys as characters not integers
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).

5 years ago; Fix last change.
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)

5 years agoFix compilation of process.c
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).

5 years agoHi-lock lines up to right margin (Bug#15934)
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.

5 years agoRename renamed nsm.el variables and functions back
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.

5 years agoMove all NSM tests away from the `low' level
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.

5 years agoTweak previous tar-mode time stamp code
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.

5 years ago; * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Doc fix.
Eli Zaretskii [Fri, 23 Aug 2019 08:43:30 +0000 (11:43 +0300)]
; * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Doc fix.

5 years agoGet the Gnutls code compiling on Fedora 30
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.

5 years agoPut error output from M-! at the end of the error buffer
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.

5 years agoMove default face lookup
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.

5 years agoCorrect description of network-lookup-address-info
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

5 years agoRemove debugging from previous shr.el patch
Lars Ingebrigtsen [Fri, 23 Aug 2019 07:58:58 +0000 (09:58 +0200)]
Remove debugging from previous shr.el patch

5 years agoFix recent changes in gnutls.c
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.

5 years agoAvoid an infloop in shr when filling text with :align-to properties
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.

5 years agoFix Gnus display of timestamps that's less than a second old
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".

5 years agoReally save games scores to the games scores directory
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).

5 years agoAdd imenu support to xref
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).

5 years agoGive a better error message when reading invalid "\unicode" escapes.
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).

5 years agoClarify doc string of cl-pushnew
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).

5 years agoFix interaction between url-handler-mode and browse-url
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).

5 years agoUse ISO8601 time formats in tar-mode
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.

5 years agoMake dired recognize .lz files
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).

5 years agoFix too-long lines in nsm.el
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.

5 years agoMention new NSM warnings
Lars Ingebrigtsen [Fri, 23 Aug 2019 02:54:42 +0000 (04:54 +0200)]
Mention new NSM warnings

5 years agoMerge remote-tracking branch 'origin/netsec'
Lars Ingebrigtsen [Fri, 23 Aug 2019 02:49:52 +0000 (04:49 +0200)]
Merge remote-tracking branch 'origin/netsec'

5 years agoTweak the warning display to be less like a TLS decoding page
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.

5 years agoEnable sorting paragraphs when the final paragraph has no newline
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).

5 years agoSignal an error on `M-x shell-mode'
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.

5 years agoMake ibuffer-mark-by-file-name-regexp work on the displayed file name
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.

5 years agoHave `M-x battery' list all batteries under GNU/Linux
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.

5 years agoSignal `invalid-read-syntax' for "trailing garbage"
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).

5 years agoFix skeleton edebug spec
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).

5 years agoRun quit-window-hook from the correct buffer
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.

5 years agoRecompute user-emacs-directory-relative defcustoms one more time
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)

5 years agoFix minor checkdoc errors in package.el
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.

5 years agoSignal user-error on duplicate package refresh
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)

5 years ago* doc/misc/efaq.texi: Note the inclusion year. (Bug#37142)
Stefan Kangas [Thu, 22 Aug 2019 15:01:39 +0000 (17:01 +0200)]
* doc/misc/efaq.texi: Note the inclusion year.  (Bug#37142)

5 years agoImprove documentation of 'ispell-skip-html'
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)

5 years ago* doc/misc/tramp.texi: Use @acronym{GVFS}.
Michael Albinus [Thu, 22 Aug 2019 12:50:38 +0000 (14:50 +0200)]
* doc/misc/tramp.texi: Use @acronym{GVFS}.

5 years agoFix Qunbound-Qnil confusion in clrhash patch
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.

5 years agoRemove no-longer-needed workaround for GC bug
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

5 years agoDon’t debug fset by default
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.

5 years agoFix clrhash bug when hash table needs rehashing
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.

5 years ago* src/buffer.c: Fix comment typo.
Paul Eggert [Thu, 22 Aug 2019 00:19:53 +0000 (17:19 -0700)]
* src/buffer.c: Fix comment typo.

5 years agoDon’t hard-loop on cycles in ‘read’ etc.
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.

5 years agoMake hide-ifdef-mode-prefix-key customisable
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).

5 years agoUse `quit-window-hook' in Info instead of having its own command
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".

5 years agoAdjust quit-window-hook documentation
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).

5 years agoMention quit-window-hook in "Standard Hooks"
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).

5 years agoCall `quit-window-hook' in the `quit-window' command only
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.

5 years agoFix the interactive spec for set-frame-width/height
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).

5 years ago* lisp/mail/flow-fill.el: Change todo comment to not mention XEmacs.
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.

5 years ago; Fix typo introduced by last autorevert-tests patch
Michael Albinus [Wed, 21 Aug 2019 09:03:34 +0000 (11:03 +0200)]
; Fix typo introduced by last autorevert-tests patch

5 years ago; Fix typos in commentary section of xdisp.c
Martin Rudalics [Wed, 21 Aug 2019 08:24:25 +0000 (10:24 +0200)]
; Fix typos in commentary section of xdisp.c

5 years ago; Add traces to auto-revert-test02-auto-revert-deleted-file
Michael Albinus [Wed, 21 Aug 2019 07:19:28 +0000 (09:19 +0200)]
; Add traces to auto-revert-test02-auto-revert-deleted-file

5 years agoBe more careful about pointers to bignum vals
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.

5 years agoUpdate mini-gmp
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

5 years agoAvoid some excess precision in time arithmetic
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.

5 years agoRespect global-eldoc-mode in minibuffers (Bug#36886)
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.

5 years agoSupport larger TIMEs in (time-convert TIME t)
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.

5 years agoDelete built-in ada-mode; Gnu ELPA is a good replacement
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.

5 years agoAnother attempt to fix bug#32645
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.

5 years ago; * etc/NEWS: Move one incorrectly placed item.
Stefan Kangas [Tue, 20 Aug 2019 16:41:44 +0000 (18:41 +0200)]
; * etc/NEWS: Move one incorrectly placed item.

5 years agoMerge from origin/emacs-26
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

5 years ago; Merge from origin/emacs-26
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

5 years agoMerge from origin/emacs-26
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

5 years ago* configure.ac (HAVE_JPEG): Test for window system. (Bug#36995)
Ulrich Müller [Sun, 11 Aug 2019 09:24:07 +0000 (11:24 +0200)]
* configure.ac (HAVE_JPEG): Test for window system. (Bug#36995)

5 years agoDon't display wrong ElDoc information when inside ELisp strings or comments
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)

5 years agoOutput `auto-coding-alist' in `describe-current-coding-system'
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).

5 years agoAdd a new hook: `quit-window-hook'
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.

5 years agoFix org-table 65536-second bug
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.

5 years agoFix time-add/time-sub validity checking
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.

5 years agoFix process filter documentation (Bug#13400)
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.

5 years agoFix query-replace-regexp undo feature
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.

5 years ago* lisp/erc/erc-stamp.el: Fix erc-echo-timestamp (bug#22700)
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.

5 years agoAllow set-frame-height/set-frame-width to be used interactively
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).

5 years agoAdd an advice-add/interactive spec example
Štěpán Němec [Sun, 18 Aug 2019 23:05:48 +0000 (16:05 -0700)]
Add an advice-add/interactive spec example

* doc/lispref/functions.texi (Core Advising Primitives): Add an
advice-add example that extends the `interactive' spec (bug#17871).

5 years agoInvalidate dir-locals-directory-cache when writing dir-local file
Johan Claesson [Sun, 18 Aug 2019 22:49:24 +0000 (15:49 -0700)]
Invalidate dir-locals-directory-cache when writing dir-local file

* lisp/files-x.el (modify-dir-local-variable): Remove file from
the cache when writing to ensure that we load the new version
later (bug#13860).

5 years agoHandle more subprocess chunking in M-x man (Bug#36927)
Noam Postavsky [Sun, 18 Aug 2019 22:10:50 +0000 (18:10 -0400)]
Handle more subprocess chunking in M-x man (Bug#36927)

* lisp/man.el (Man-bgproc-filter): Make sure not to chop man sections
by narrowing.
(Man-highlight-references0): Revert previous fix, as it's no longer
needed.
* test/lisp/man-tests.el (man-tests-filter-strings): New function.
(man-bgproc-filter-buttonize-includes): New test.

5 years agoImprove bignum_integer static checking
Paul Eggert [Sun, 18 Aug 2019 19:11:06 +0000 (12:11 -0700)]
Improve bignum_integer static checking

* src/bignum.h (bignum_integer): Now returns pointer-to-const,
to catch trivial mistakes where the caller might try to modify
a Lisp bignum.  Lisp bignums are supposed to be immutable.
All callers changed.

5 years agoSupport the new Japanese era name
Eli Zaretskii [Sun, 18 Aug 2019 16:36:31 +0000 (19:36 +0300)]
Support the new Japanese era name

* admin/unidata/NormalizationTest.txt:
* admin/unidata/UnicodeData.txt: Add U+32FF SQUARE ERA NAME REIWA.
Do not merge to master.

* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1)
(ucs-normalize-tests--failing-lines-part2): Update.  Do not
merge to master.

* etc/NEWS: Mention the change.

5 years agoFix a typo in char-width-table
Eli Zaretskii [Sun, 18 Aug 2019 15:23:06 +0000 (18:23 +0300)]
Fix a typo in char-width-table

* lisp/international/characters.el (char-width-table): Fix a
typo in zero-width characters.

5 years agoAttempt to fix assertion violation in eval.c
Eli Zaretskii [Sun, 18 Aug 2019 14:46:19 +0000 (17:46 +0300)]
Attempt to fix assertion violation in eval.c

* src/eval.c (Fautoload): Fix an assertion violation in
make_fixnum.  Reported by martin rudalics <rudalics@gmx.at>.

5 years agoMake `browse-url-of-buffer' work from zip files
Lars Ingebrigtsen [Sun, 18 Aug 2019 00:30:42 +0000 (17:30 -0700)]
Make `browse-url-of-buffer' work from zip files

* lisp/net/browse-url.el (browse-url-of-buffer): Make `C-c C-v'
work in HTML buffers visited from zip files and the like
(bug#10318).

5 years agoFix org-timer-show-remaining-time > 1 hour
Paul Eggert [Sun, 18 Aug 2019 00:19:13 +0000 (17:19 -0700)]
Fix org-timer-show-remaining-time > 1 hour

* lisp/org/org-timer.el (org-timer-show-remaining-time):
Don’t assume the remaining time is less than one hour.
Simplify.  The simplification removes the need for a
decode-time, and fixes a typo I introduced recently.

5 years agoMake `describe-function' say that disabled functions are disabled
Lars Ingebrigtsen [Sat, 17 Aug 2019 23:56:13 +0000 (16:56 -0700)]
Make `describe-function' say that disabled functions are disabled

* lisp/help-fns.el (help-fns--disabled): New function (bug#10853).
(help-fns-describe-function-functions): Add it to the list of
function help functions.

5 years agoMake newline-and-indent take a numeric prefix
Lars Ingebrigtsen [Sat, 17 Aug 2019 23:47:16 +0000 (16:47 -0700)]
Make newline-and-indent take a numeric prefix

* lisp/simple.el (newline-and-indent): Take a prefix argument to
say how many times to perform its action (bug#10927).

5 years agoIssue a message on `C-x o' and there's no other window
Lars Ingebrigtsen [Sat, 17 Aug 2019 23:35:54 +0000 (16:35 -0700)]
Issue a message on `C-x o' and there's no other window

* lisp/window.el (other-window): Issue a message when the user
types `C-x o' and there's no other window to select (bug#10999).

5 years agoIssue a message on `C-x 1' when there's nothing to do
Lars Ingebrigtsen [Sat, 17 Aug 2019 23:31:55 +0000 (16:31 -0700)]
Issue a message on `C-x 1' when there's nothing to do

* lisp/window.el (delete-other-windows): Make `C-x 1' issue a
message when there's no other windows to delete (bug#10999).

5 years agoDoc clarification in two comment-* functions
Lars Ingebrigtsen [Sat, 17 Aug 2019 21:52:15 +0000 (14:52 -0700)]
Doc clarification in two comment-* functions

* lisp/newcomment.el (comment-padright, comment-padleft): Note
that `comment-normalize-vars' must be called first (bug#11944).

5 years agoAdd FIXMEs for subsecond support
Paul Eggert [Sat, 17 Aug 2019 22:39:18 +0000 (15:39 -0700)]
Add FIXMEs for subsecond support

This adds FIXMEs to areas where Lisp code should support
subsecond information in broken-down timestamps.
It also fixes some unnecessary truncation of timestamps, and
ports the code to a hypothetical future Emacs version where
(decode-time) returns subsecond timestamps by default.
* lisp/calc/calc-forms.el (calc-time, math-iso-dt-to-date)
(calcFunc-now):
* lisp/calendar/icalendar.el (icalendar--add-decoded-times):
* lisp/calendar/iso8601.el (iso8601-parse-interval):
Truncate seconds to an integer, and add a FIXME about
subseconds support.
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime)
(icalendar--decode-isoduration):
Add a FIXME about subseconds support.
* lisp/gnus/gnus-delay.el (gnus-delay-article):
Don’t truncate seconds to an integer, as there’s no need
to do that here.
* lisp/gnus/gnus-util.el (gnus-seconds-today)
(gnus-seconds-month, gnus-seconds-year):
* lisp/gnus/message.el (message-make-expires-date):
* lisp/org/org-timer.el (org-timer-show-remaining-time):
* lisp/vc/ediff-mult.el (ediff-format-date):
Truncate seconds to an integer, as that’s what’s wanted here.
* lisp/midnight.el (midnight-next):
Ceiling seconds to an integer, as that’s what wanted here.

5 years ago* lisp/frameset.el (frameset-restore): Make sure last-focus frame has focus.
Juri Linkov [Sat, 17 Aug 2019 22:40:32 +0000 (01:40 +0300)]
* lisp/frameset.el (frameset-restore): Make sure last-focus frame has focus.

Call select-frame-set-input-focus to restore focus on the frame
that had last-focus-update frame parameter before saving frameset.
(Bug#36894)