]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 17 Aug 2019 09:25:32 +0000 (12:25 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

5 years agoHave time-add etc. respect CURRENT_TIME_LIST too
Paul Eggert [Sat, 17 Aug 2019 09:21:25 +0000 (02:21 -0700)]
Have time-add etc. respect CURRENT_TIME_LIST too

* src/timefns.c (time_arith) [!CURRENT_TIME_LIST]:
Don’t generate a list, since CURRENT_TIME_LIST is false.

5 years agoFix a recent documentation change
Eli Zaretskii [Sat, 17 Aug 2019 06:28:52 +0000 (09:28 +0300)]
Fix a recent documentation change

* doc/emacs/windows.texi (Other Window): Add a cross-reference
to "Rebinding".  (Bug#12431)

5 years agoMore-compatible subsecond calendrical timestamps
Paul Eggert [Sat, 17 Aug 2019 05:09:04 +0000 (22:09 -0700)]
More-compatible subsecond calendrical timestamps

Instead of appending a subseconds member to the result of
‘decode-time’, this keeps the format unchanged unless you give
a new optional argument to ‘decode-time’.  Also, the augmented
format now puts the subsecond info in the SECONDS element, so
the total number of elements is unchanged; this is more
compatible with code that expects the traditional 9 elements,
such as ‘(pcase decoded-time (`(,SEC ,MIN ,HOUR ,DAY ,MON
,YEAR ,DOW ,DST ,ZONE) ...) ...)’.
* doc/lispref/os.texi, doc/misc/emacs-mime.texi, etc/NEWS:
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/simple.el (decoded-time):
Document the new behavior.
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
* lisp/calendar/iso8601.el (iso8601-parse)
(iso8601-parse-time, iso8601-parse-duration)
(iso8601--decoded-time):
* lisp/calendar/parse-time.el (parse-time-string):
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-second):
* lisp/org/org.el (org-parse-time-string):
* lisp/simple.el (decoded-time):
* src/timefns.c (Fdecode_time, Fencode_time):
* test/lisp/calendar/icalendar-tests.el:
(icalendar--decode-isodatetime):
* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
(test-iso8601-date-dates, test-iso8601-date-obsolete)
(test-iso8601-date-weeks, test-iso8601-date-ordinals)
(test-iso8601-time, test-iso8601-combined)
(test-iso8601-duration, test-iso8601-intervals)
(standard-test-dates, standard-test-time-of-day-fractions)
(standard-test-time-of-day-beginning-of-day)
(standard-test-time-of-day-utc)
(standard-test-time-of-day-zone)
(standard-test-date-and-time-of-day, standard-test-interval):
* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
* test/src/timefns-tests.el (format-time-string-with-zone)
(encode-time-dst-numeric-zone):
Revert recent changes that added a SUBSECS member to
calendrical timestamps, since that component is no longer
present (the info, if any, is now in the SECONDS member).
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-second):
Support fractional seconds in the new form.  Simplify.
* src/timefns.c (Fdecode_time): Support new arg FORM.
(Fencode_time): Support subsecond resolution.
* test/src/timefns-tests.el (format-time-string-with-zone)
(decode-then-encode-time): Test subsecond calendrical timestamps.

5 years agoBroaden format-seconds to Lisp timestamps
Paul Eggert [Sat, 17 Aug 2019 01:10:14 +0000 (18:10 -0700)]
Broaden format-seconds to Lisp timestamps

* lisp/calendar/time-date.el (format-seconds):
Accept any Lisp timestamp instead of insisting on a number.

5 years agoSubtracting “now” from “now” should yield zero
Paul Eggert [Sat, 17 Aug 2019 01:08:23 +0000 (18:08 -0700)]
Subtracting “now” from “now” should yield zero

* src/timefns.c (time_arith): Arrange for (time-subtract nil
nil) to yield 0, to be consistent with (time-equal-p nil nil).
* test/lisp/calendar/time-date-tests.el (test-time-since): New test.

5 years agoFix time-add rounding bug
Paul Eggert [Fri, 16 Aug 2019 23:25:02 +0000 (16:25 -0700)]
Fix time-add rounding bug

Without this fix, time arithmetic yielded results that were not
mathematically accurate, even though the exact results were
representable; for example, (time-add 0 1e-13) yielded a timestamp
equal to 0 instead of to 1e-13.
* lisp/timezone.el (timezone-time-from-absolute):
Let time-add do its thing rather than using floating point
internally, which has rounding errors.  We now have bignums and so
don’t need floating point to avoid overflow issues.
* src/timefns.c (timeform_sub_ps_p): New function.
(time_arith): If either argument is a float, represent the
result exactly instead of discarding sub-ps info.
* test/lisp/timezone-tests.el (timezone-tests-time-from-absolute):
Don’t assume (HI LO US PS) timestamp format.
* test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
Don’t assume that time-add discards sub-ns info.
* test/src/timefns-tests.el (time-rounding-tests):
Add regression test to detect time-add rounding bug.

5 years agoMention `next-multiframe-window' when talking about `other-window'
Lars Ingebrigtsen [Fri, 16 Aug 2019 22:30:40 +0000 (15:30 -0700)]
Mention `next-multiframe-window' when talking about `other-window'

* doc/emacs/windows.texi (Other Window): Mention
the `next-multiframe-window' command here (which is otherwise not
documented in the manual) (bug#12431).

5 years agoAdd missing skeleton entries in autotype.texi
Lars Ingebrigtsen [Fri, 16 Aug 2019 21:39:52 +0000 (14:39 -0700)]
Add missing skeleton entries in autotype.texi

* doc/misc/autotype.texi: Add missing entries found in the doc
string to `skeleton-insert' (bug#12563).

5 years agoMake checkdoc check cl-lib function docstrings
Alex Branham [Fri, 16 Aug 2019 21:00:31 +0000 (14:00 -0700)]
Make checkdoc check cl-lib function docstrings

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Remove calls to delete-region to avoid deleting final " (bug#26328).
* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring)
(checkdoc-defun-info): Include cl-defun, cl-defgeneric,
cl-defmethod.
(checkdoc-this-string-valid-engine): Add cl-lib supported
keywords.
(checkdoc-defun-info): Ensure function parameters are a
"flat" list (bug#37034).

5 years agoAvoid deleting closing quotation mark in checkdoc
Alex Branham [Fri, 16 Aug 2019 20:55:27 +0000 (13:55 -0700)]
Avoid deleting closing quotation mark in checkdoc

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Remove calls to delete-region to avoid deleting final " (bug#26328).

5 years agoRevert "package.el: Allow Package-Requires to span multiple lines (Bug#36301)"
Thomas Fitzsimmons [Fri, 16 Aug 2019 16:17:40 +0000 (12:17 -0400)]
Revert "package.el: Allow Package-Requires to span multiple lines (Bug#36301)"

This reverts commit 19c1e4c81c7442dea48253e5961b6e54d78b6f0a.

This commit broke some package tests, reverting for now.

5 years agoMention that text properties are removed in substitute-command-keys
Lars Ingebrigtsen [Fri, 16 Aug 2019 07:04:13 +0000 (00:04 -0700)]
Mention that text properties are removed in substitute-command-keys

* src/doc.c (Fsubstitute_command_keys): Restore the bit in the doc
string that mentions that text properties is removed (bug#17052).

5 years agoAdd some examples in "Adding Generalized Variables"
Lars Ingebrigtsen [Fri, 16 Aug 2019 06:57:57 +0000 (23:57 -0700)]
Add some examples in "Adding Generalized Variables"

* doc/lispref/variables.texi (Adding Generalized Variables): Add
examples for `gv-define-expander' and `gv-letplace' (bug#13343).

5 years agopackage.el: Allow Package-Requires to span multiple lines (Bug#36301)
Thomas Fitzsimmons [Fri, 16 Aug 2019 03:57:55 +0000 (23:57 -0400)]
package.el: Allow Package-Requires to span multiple lines (Bug#36301)

* lisp/emacs-lisp/package.el (lm-header-multiline): Declare
function.
(package-buffer-info): Parse Package-Requires with
lm-header-multiline instead of lm-header.
(Bug#36301)

5 years agoDo not recreate full URL for proxied HTTPS requests (Bug#35969)
Thomas Fitzsimmons [Fri, 16 Aug 2019 03:12:50 +0000 (23:12 -0400)]
Do not recreate full URL for proxied HTTPS requests (Bug#35969)

* lisp/url/url-http.el (url-http-create-request): Do not recreate
full URL for proxied HTTPS requests.
(url-https-proxy-after-change-function): Do not bind
url-http-proxy to nil before calling url-http-create-request.
(Bug#35969)

5 years agoMake diary-european-date-forms elements mutually exclusive
Andreas Merziger [Fri, 16 Aug 2019 01:39:27 +0000 (18:39 -0700)]
Make diary-european-date-forms elements mutually exclusive

* lisp/calendar/calendar.el (diary-european-date-forms): Make the
elements mutually exclusive (bug#13536).

5 years agoFix up previous cl-def* changes in bovine
Lars Ingebrigtsen [Fri, 16 Aug 2019 01:10:22 +0000 (18:10 -0700)]
Fix up previous cl-def* changes in bovine

* lisp/cedet/semantic/bovine/el.el (lambda): cl-defun* doesn't
exist (bug#17005).
(lambda): Add cl-defstruct.
(semantic-up-context): Add cl- forms.

5 years agoReimplement the `fill-flowed' function to respect space stuffing
Lars Ingebrigtsen [Fri, 16 Aug 2019 01:00:08 +0000 (18:00 -0700)]
Reimplement the `fill-flowed' function to respect space stuffing

* lisp/mail/flow-fill.el (fill-flowed): Reimplement the function
to respect space-stuffing (bug#17190).

* test/lisp/mail/flow-fill-tests.el
(fill-flow-tests-fill-flowed-stuffed): New test.
(fill-flow-tests-fill-flowed-decode): Rename the test so that it
actually runs.

5 years agoFix eshell-mode-map initialization
Alex Branham [Wed, 26 Jun 2019 18:59:06 +0000 (13:59 -0500)]
Fix eshell-mode-map initialization

* lisp/eshell/esh-mode.el (eshell-mode-map, eshell-command-map): Set
up normal keymaps and prefix commands rather than re-initializing them
in each eshell buffer

* lisp/eshell/em-cmpl.el (eshell-cmpl-mode-map, eshell-cmpl-mode)
(eshell-cmpl-initialize):
* lisp/eshell/em-hist.el (eshell-hist-mode-map, eshell-hist-mode)
(eshell-hist-initialize):
* lisp/eshell/em-pred.el (eshell-pred-mode-map, eshell-pred-mode)
(eshell-pred-initialize):
* lisp/eshell/em-prompt.el (eshell-prompt-mode-map, eshell-prompt-mode)
(eshell-prompt-initialize):
* lisp/eshell/em-rebind.el (eshell-rebind-mode-map, eshell-rebind-mode)
(eshell-rebind-initialize):
* lisp/eshell/esh-arg.el (eshell-arg-mode-map, eshell-arg-mode)
(eshell-arg-initialize):
* lisp/eshell/esh-proc.el (eshell-proc-mode-map, eshell-proc-mode)
(eshell-proc-initialize):
* lisp/eshell/esh-var.el (eshell-var-mode-map, eshell-var-mode)
(eshell-var-initialize): Create a new minor mode with a keymap and
call it in the module initialization function.

bug#33808
bug#22792

5 years agoRename variables and functions with "auto-load" in their names
Lars Ingebrigtsen [Thu, 15 Aug 2019 23:02:20 +0000 (16:02 -0700)]
Rename variables and functions with "auto-load" in their names

* doc/emacs/building.texi (Lisp Libraries): Adjust documentation.

* lisp/help-fns.el (help--symbol-completion-table): Adjust usage.

* lisp/help-fns.el (help-enable-completion-autoload): Change name
from auto-load and declare an obsolete alias (bug#13418).

* lisp/help.el (help-enable-autoload): Ditto.

* lisp/progmodes/vhdl-mode.el: Ditto.
(vhdl-create-mode-menu, vhdl-mode): Adjust usage.
(vhdl-autoload-project): Rename from auto-load and declare an
obsolete alias.

5 years agoRemove mentions of XEmacs from the Gnus manual and faq
Lars Ingebrigtsen [Thu, 15 Aug 2019 22:27:01 +0000 (15:27 -0700)]
Remove mentions of XEmacs from the Gnus manual and faq

* doc/misc/gnus-faq.texi:
* doc/misc/gnus.texi: Remove references to XEmacs throughout.

5 years agoMention what effect nil has as the prompt for read-event/char/etc
Lars Ingebrigtsen [Thu, 15 Aug 2019 22:04:30 +0000 (15:04 -0700)]
Mention what effect nil has as the prompt for read-event/char/etc

* doc/lispref/commands.texi (Reading One Event): Mention that ""
has the same effect as nil as a prompt.

* src/lread.c (Fread_event, Fread_char_exclusive, Fread_char):
Mention what happens when PROMPT is nil/"" in the doc string
(bug#15012).

5 years agoetc/NEWS: Note that `list-processes' includes port numbers now.
Lars Ingebrigtsen [Thu, 15 Aug 2019 21:55:26 +0000 (14:55 -0700)]
etc/NEWS: Note that `list-processes' includes port numbers now.

5 years agoFix typeof portability issue with bitfields
Paul Eggert [Thu, 15 Aug 2019 17:51:03 +0000 (10:51 -0700)]
Fix typeof portability issue with bitfields

Problem reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2019-08/msg00300.html
* src/lisp.h (lisp_h_make_fixnum): Use typeof (+(n)) instead
of typeof (n), so that it works with compilers that do
not allow typeof to be applied to a bitfield.

5 years agoFix rounding errors with float timestamps
Paul Eggert [Thu, 15 Aug 2019 17:40:11 +0000 (10:40 -0700)]
Fix rounding errors with float timestamps

When converting from float to (TICKS . HZ) form, do the
conversion exactly.  When converting from (TICKS . HZ) form to
float, round to even precisely.  This way, successfully
converting a float to (TICKS . HZ) and back yields a value
numerically equal to the original.
* src/timefns.c (flt_radix_power_size): New constant.
(flt_radix_power): New static var.
(decode_float_time): Convert the exact numeric value rather
than guessing TIMESPEC_HZ resolution.
(s_ns_to_double): Remove; no longer needed.
(frac_to_double): New function.
(decode_ticks_hz): It is now the caller’s responsibility to
pass a valid TICKS and HZ.  All callers changed.
Use frac_to_double to round (TICKS . HZ) precisely.
(decode_time_components): When decoding nil, use
decode_ticks_hz since it rounds precisely.
(syms_of_timefns): Initialize flt_radix_power.
* test/src/timefns-tests.el (float-time-precision): New test.

5 years agoGive auto-revert-test02-auto-revert-deleted-file a chance on hydra
Michael Albinus [Thu, 15 Aug 2019 14:40:53 +0000 (16:40 +0200)]
Give auto-revert-test02-auto-revert-deleted-file a chance on hydra

* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): Don't skip on hydra.

5 years agoImprove Tramp manual
Michael Albinus [Thu, 15 Aug 2019 12:35:02 +0000 (14:35 +0200)]
Improve Tramp manual

* doc/misc/tramp.texi (GVFS based methods): Explain using `ftp'
and `smb' methods.

5 years agoDebug out-of-range make_fixnum args
Paul Eggert [Thu, 15 Aug 2019 09:18:06 +0000 (02:18 -0700)]
Debug out-of-range make_fixnum args

With --enable-checking, make_fixnum (N) now checks that N is
in fixnum range.  Suggested by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00548.html
A new function make_ufixnum (N) is for the rare cases where N
is intended to be unsigned and is in the range 0..INTMASK.
* configure.ac (AC_C_TYPEOF): Add.
(HAVE_STATEMENT_EXPRESSIONS): Resurrect this macro.
* src/fns.c (Frandom, hashfn_eq, hashfn_equal, hashfn_user_defined):
* src/profiler.c (hashfn_profiler):
Use make_ufixnum rather than make_fixum, since the argument is
an unsigned integer in the range 0..INTMASK rather than a signed
integer in the range MOST_NEGATIVE_FIXNUM..MOST_POSITIVE_FIXNUM.
Typically this is for hashes.
* src/lisp.h (lisp_h_make_fixnum_wrap) [USE_LSB_TAG]:
Rename from lisp_h_make_fixnum.
(lisp_h_make_fixnum): Redefine in terms of lisp_h_make_fixnum_wrap.
Check for fixnum overflow on compilers like GCC that
have statement expressions and typeof.
(FIXNUM_OVERFLOW_P): Move up.
(make_fixnum): Check for fixnum overflow.
(make_ufixnum): New function, which checks that the arg
fits into 0..INTMASK range.

5 years agoFix some fixnum overflow problems in ccl.c
Paul Eggert [Thu, 15 Aug 2019 09:16:26 +0000 (02:16 -0700)]
Fix some fixnum overflow problems in ccl.c

* src/ccl.c (ccl_driver, Fccl_execute, Fccl_execute_on_string):
Don’t assume CCL registers fit into fixnums.

5 years agoPort mod-test-nanoseconds to 32-bit Emacs
Paul Eggert [Thu, 15 Aug 2019 09:06:04 +0000 (02:06 -0700)]
Port mod-test-nanoseconds to 32-bit Emacs

* test/src/emacs-module-tests.el (mod-test-nanoseconds):
Don’t assume -1000000000 is a fixnum.

5 years agoInclude port numbers in `M-x list-processes'
Lars Ingebrigtsen [Thu, 15 Aug 2019 07:16:02 +0000 (00:16 -0700)]
Include port numbers in `M-x list-processes'

* lisp/simple.el (list-processes--refresh): Include the port
numbers in the network connection list (bug#13604).

5 years agoAdd some cl- concept index entries
Lars Ingebrigtsen [Thu, 15 Aug 2019 07:05:33 +0000 (00:05 -0700)]
Add some cl- concept index entries

* doc/misc/cl.texi (Argument Lists): Add a couple of concept index
entried (bug#13606).

5 years agoClarify the doc string of complete-with-action
Lars Ingebrigtsen [Thu, 15 Aug 2019 05:43:24 +0000 (22:43 -0700)]
Clarify the doc string of complete-with-action

* lisp/minibuffer.el (complete-with-action): Doc string
clarification (bug#13993).

5 years agoClean up Gnus manual reference to XEmacs variables
Lars Ingebrigtsen [Thu, 15 Aug 2019 05:26:13 +0000 (22:26 -0700)]
Clean up Gnus manual reference to XEmacs variables

* doc/misc/gnus.texi (XVarious): Remove section about XEmacs
variables that have been removed.

5 years agoMinor Scroll Bars clarification
Lars Ingebrigtsen [Thu, 15 Aug 2019 05:07:10 +0000 (22:07 -0700)]
Minor Scroll Bars clarification

* doc/emacs/frames.texi (Scroll Bars): Clarify what we mean by
"customize" here (bug#14321).

5 years agoArrange custom-face-attributes closer to how heavy they are
Lars Ingebrigtsen [Thu, 15 Aug 2019 03:22:36 +0000 (20:22 -0700)]
Arrange custom-face-attributes closer to how heavy they are

* lisp/cus-face.el (custom-face-attributes): Arrange the weights
more in order of how heavy they are (bug#15526).

5 years agoUse gnus-summary-button-forward in gnus-summary-mode-map
Lars Ingebrigtsen [Thu, 15 Aug 2019 03:14:33 +0000 (20:14 -0700)]
Use gnus-summary-button-forward in gnus-summary-mode-map

* lisp/gnus/gnus-sum.el (gnus-summary-mode-map): Use
`gnus-summary-button-forward' instead of the obsolete
`gnus-summary-widget-forward'.

5 years agoRemove INT_ADD_WRAPV bug workarounds
Paul Eggert [Thu, 15 Aug 2019 01:24:02 +0000 (18:24 -0700)]
Remove INT_ADD_WRAPV bug workarounds

* src/alloc.c (free_cons):
* src/casefiddle.c (do_casify_multibyte_string):
* src/editfns.c (styled_format):
* src/image.c (png_load_body):
Remove recent workarounds for INT_ADD_WRAPV bugs since
the bugs have been fixed (Bug#37006).

5 years agoAdd C-b/f/p/n keystrokes in `M-x snake'
Lars Ingebrigtsen [Thu, 15 Aug 2019 01:15:22 +0000 (18:15 -0700)]
Add C-b/f/p/n keystrokes in `M-x snake'

* lisp/play/snake.el (snake-mode-map): Add the C-b/f/p/n in
addition to the cursor keys (bug#16720).

5 years agoUpdate from Gnulib
Paul Eggert [Thu, 15 Aug 2019 01:13:27 +0000 (18:13 -0700)]
Update from Gnulib

This incorporates:
2019-08-14 intprops: pacify picky GCC
2019-08-14 intprops: support unsigned *_WRAPV results
2019-08-12 verify: improve diagnostic quality in recent GCC
* lib/intprops.h, lib/verify.h: Copy from Gnulib.

5 years agoAdd cl-def* forms to bovine/el.el
Lars Ingebrigtsen [Thu, 15 Aug 2019 01:03:41 +0000 (18:03 -0700)]
Add cl-def* forms to bovine/el.el

* lisp/cedet/semantic/bovine/el.el (lambda): Add the cl-def*
variations to allow semantic to find the definitions (bug#17005).

5 years agoDon't alter function name face height in manoj-dark theme
Lars Ingebrigtsen [Thu, 15 Aug 2019 00:59:13 +0000 (17:59 -0700)]
Don't alter function name face height in manoj-dark theme

* etc/themes/manoj-dark-theme.el (manoj-dark): Don't alter the
height of function name faces, because this makes many tabulated
modes not longer line up (bug#17042).

5 years agoRespect the BUFFER parameter in `fill-flowed'
Lars Ingebrigtsen [Thu, 15 Aug 2019 00:16:37 +0000 (17:16 -0700)]
Respect the BUFFER parameter in `fill-flowed'

* lisp/mail/flow-fill.el (fill-flowed): `current-buffer' is always
non-nil, so respect the BUFFER parameter.  Also add a doc string.

5 years agoOutput the maintainer and author(s) in the package description buffer
Lars Ingebrigtsen [Wed, 14 Aug 2019 23:35:16 +0000 (16:35 -0700)]
Output the maintainer and author(s) in the package description buffer

* lisp/emacs-lisp/package.el (describe-package-1): Output
maintainer and author(s) (bug#17573).
(package--print-email-button): New function.

5 years ago; Fix typoes.
Juri Linkov [Wed, 14 Aug 2019 21:06:07 +0000 (00:06 +0300)]
; Fix typoes.

5 years agoFix fetching URLs with stuff that looks like HTTP headers
Eli Zaretskii [Wed, 14 Aug 2019 14:53:14 +0000 (17:53 +0300)]
Fix fetching URLs with stuff that looks like HTTP headers

* lisp/url/url-http.el (url-http-parse-headers): Narrow the
buffer to the headers at the beginning to make sure
url-handle-content-transfer-encoding uses the correct
headers.  (Bug#37023)

5 years agoDon’t increase consing_until_gc when out of memory
Paul Eggert [Tue, 13 Aug 2019 19:28:53 +0000 (12:28 -0700)]
Don’t increase consing_until_gc when out of memory

* src/alloc.c (memory_full): Don’t increase consing_until_gc.
Suggested by Eli Zaretskii (Bug#37006#46).

5 years agoLet consing_until_gc exceed EMACS_INT_MAX
Paul Eggert [Tue, 13 Aug 2019 19:20:40 +0000 (12:20 -0700)]
Let consing_until_gc exceed EMACS_INT_MAX

This builds on the previous patch.
* src/alloc.c (consing_until_gc): Now of type intmax_t,
since gc-cons-threshold can be up to INTMAX_MAX.  All uses changed.
* src/lisp.h (CONSING_CT_MAX, consing_ct): Remove.

5 years agoLet consing_until_gc exceed INTPTR_MAX
Paul Eggert [Tue, 13 Aug 2019 19:11:35 +0000 (12:11 -0700)]
Let consing_until_gc exceed INTPTR_MAX

Suggested by Eli Zaretskii (Bug#37006#46).
* src/alloc.c (consing_until_gc): Now of type consing_ct.
All uses changed, so gc-cons-threshold no longer saturates
against OBJECT_CT_MAX.
(object_ct): Move typedef here from lisp.h.
* src/lisp.h (consing_ct, CONSING_CT_MAX): New type and macro.
(OBJECT_CT_MAX): Remove.  Replace all uses with CONSING_CT_MAX.

5 years agoFix GC threshold typo
Paul Eggert [Tue, 13 Aug 2019 17:03:41 +0000 (10:03 -0700)]
Fix GC threshold typo

Problem reported by Eli Zaretskii (Bug#37006#25).
* src/alloc.c (garbage_collect_1): Fix typo in threshold calc.
Go back to dividing by 10 since the numerator’s a constant now.
Problem introduced in 2019-07-21T02:40:03Z!eggert@cs.ucla.edu.

5 years agoImprove documentation of 'diff-font-lock-prettify'
Eli Zaretskii [Tue, 13 Aug 2019 15:16:51 +0000 (18:16 +0300)]
Improve documentation of 'diff-font-lock-prettify'

* lisp/vc/diff-mode.el (diff-font-lock-prettify): Doc fix.

* etc/NEWS: Minor copyedits.

5 years agoFix initialization of user-defined fringe bitmaps in daemon mode
Eli Zaretskii [Tue, 13 Aug 2019 14:49:51 +0000 (17:49 +0300)]
Fix initialization of user-defined fringe bitmaps in daemon mode

* src/fringe.c (gui_init_fringe): Rename from w32_init_fringe
or x_cr_init_fringe, and make unconditionally compiled; all
callers changed.  Do nothing if the frame's
redisplay_interface doesn't implement the define_fringe_bitmap
method.  Set up any user-defined fringe bitmaps in addition to
the standard bitmaps.
Suggested by Liam Quinlan <liamkquinlan@gmail.com> in
https://lists.gnu.org/archive/html/emacs-devel/2019-08/msg00259.html.

(w32_reset_fringes) [HAVE_NTGUI]: Do nothing if the frame's
redisplay_interface doesn't implement the
destroy_fringe_bitmap method.

* src/w32fns.c (Fx_create_frame): Call gui_init_fringe when
the first GUI frame is created for this session.
* src/dispextern.h (w32_init_fringe): Rename to
gui_init_fringe and make unconditional.
(x_cr_init_fringe): Remove prototype.

5 years ago; Add commentary to recent changes
Eli Zaretskii [Mon, 12 Aug 2019 14:39:09 +0000 (17:39 +0300)]
; Add commentary to recent changes

* src/image.c (png_load_body):
* src/editfns.c (styled_format):
* src/casefiddle.c (do_casify_multibyte_string):
* src/alloc.c (free_cons): Comment why we use a signed
temporary integer variable.  (Bug#37006)

5 years ago* lisp/password-cache.el: adapt test to change in password-in-cache-p
Óscar Fuentes [Mon, 12 Aug 2019 14:22:34 +0000 (16:22 +0200)]
* lisp/password-cache.el: adapt test to change in password-in-cache-p

5 years agoQuote file names properly in Tramp
Michael Albinus [Mon, 12 Aug 2019 14:18:59 +0000 (16:18 +0200)]
Quote file names properly in Tramp

* lisp/net/tramp.el (tramp-handle-file-truename)
(tramp-handle-insert-directory):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
(tramp-sh-handle-insert-directory):
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
Use `tramp-compat-directory-name-p'.

* lisp/net/tramp.el (tramp-drop-volume-letter)
(tramp-handle-file-truename):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-sh-handle-file-truename):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
(tramp-sudoedit-handle-make-symbolic-link): Quote properly.

* lisp/net/tramp-compat.el (tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote): Add optional argument TOP.

5 years agoHandle symbolic links properly in Tramp gfvs methods
Michael Albinus [Mon, 12 Aug 2019 14:18:17 +0000 (16:18 +0200)]
Handle symbolic links properly in Tramp gfvs methods

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-readable-p):
Handle symbolic links.

5 years agoFix caching problem in Tramp smb method
Michael Albinus [Mon, 12 Aug 2019 14:17:39 +0000 (16:17 +0200)]
Fix caching problem in Tramp smb method

* lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
Add "file-entries",

5 years agoPrefer signed when testing for signed overflow
Paul Eggert [Sun, 11 Aug 2019 23:42:38 +0000 (16:42 -0700)]
Prefer signed when testing for signed overflow

* src/alloc.c (free_cons):
* src/casefiddle.c (do_casify_multibyte_string):
* src/editfns.c (styled_format):
* src/image.c (png_load_body):
Use signed arguments to INT_MULTIPLY_WRAPV etc.  This doesn’t fix
any bugs, but GCC emits better code when all args are signed.
Also, this removes the need for an if in free_cons (Bug#37006).

5 years agopassword-cache: differentiate null values from non-existent entries
Óscar Fuentes [Sun, 11 Aug 2019 23:42:16 +0000 (01:42 +0200)]
password-cache: differentiate null values from non-existent entries

* password-cache.el (password-in-cache-p, password-cache-add):
  properly detect non-existent entry.  (Bug#36834)

5 years agoFix garbage collection
Eli Zaretskii [Sun, 11 Aug 2019 16:23:23 +0000 (19:23 +0300)]
Fix garbage collection

* src/alloc.c (free_cons): Avoid false positives in
INT_ADD_WRAPV.  (Bug#37006)

5 years agoPrompt for new sieve script names in sieve management
Eric Abrahamsen [Sun, 11 Aug 2019 15:26:59 +0000 (08:26 -0700)]
Prompt for new sieve script names in sieve management

* lisp/net/sieve.el (sieve-edit-script): Otherwise the user ends up
with a script named '<new script>.sieve'.

5 years agoRetrieve start time from remote machine, use compat attrib functions
Michael Albinus [Sun, 11 Aug 2019 10:06:57 +0000 (12:06 +0200)]
Retrieve start time from remote machine, use compat attrib functions

* lisp/net/tramp-compat.el (tramp-compat-file-attribute-access-time)
(tramp-compat-file-attribute-status-change-time): New defaliases.

* test/lisp/net/tramp-tests.el (tramp--test-start-time): New defvar.
(tramp--test-file-attributes-equal-p)
(tramp-test19-directory-files-and-attributes): Use it.
(tramp-test18-file-attributes)
(tramp--test-file-attributes-equal-p, tramp-test20-file-modes)
(tramp-test22-file-times, tramp--test-check-files):
Use `tramp-compat-file-attribute-*' functions.

5 years agoSet custom :version for recently modified undo options
Glenn Morris [Sun, 11 Aug 2019 05:59:00 +0000 (22:59 -0700)]
Set custom :version for recently modified undo options

* lisp/cus-start.el (undo-limit, undo-strong-limit, undo-outer-limit):
Bump :version.

5 years ago* doc/emacs/calendar.texi (Time Intervals): Doc fix.
Stefan Kangas [Sat, 10 Aug 2019 20:30:41 +0000 (22:30 +0200)]
* doc/emacs/calendar.texi (Time Intervals): Doc fix.

5 years agoDouble undo limits
Stefan Kangas [Sat, 10 Aug 2019 13:17:33 +0000 (15:17 +0200)]
Double undo limits

* src/undo.c (syms_of_undo) <undo_limit, undo_strong_limit>
<Vundo_outer_limit>: Double undo limits.  (Bug#31104)

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 10 Aug 2019 15:44:31 +0000 (08:44 -0700)]
Merge from origin/emacs-26

0860ac0 (origin/emacs-26) Improve documentation of features that use ...
fae1ff6 Fix docstrings in pong
82a2894 Improve doc strings of 'append-to-buffer' and friends
cb0403d Fix octave-mode ElDoc support
691790b Avoid Groff hanging on MS-Windows when invoked by "M-x man"

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 10 Aug 2019 15:44:31 +0000 (08:44 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

b83f83c Ignore pending_signals when checking for quits.

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 10 Aug 2019 15:44:31 +0000 (08:44 -0700)]
Merge from origin/emacs-26

e7818cb Fix nnmail-expiry-wait docs and custom :types
8b7c776 * lisp/simple.el (kill-do-not-save-duplicates): Doc fix.  (Bu...

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 10 Aug 2019 15:44:31 +0000 (08:44 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

5a5ad99d Improve documentation of debugging Lisp syntax error
0148fc7 (emacs-26) ; Auto-commit of loaddefs files.

5 years agoImprove documentation of features that use the fringes
Eli Zaretskii [Sat, 10 Aug 2019 09:48:03 +0000 (12:48 +0300)]
Improve documentation of features that use the fringes

* doc/emacs/display.texi (Fringes): Add cross-reference to
where indicate-empty-lines is described.
(Useless Whitespace): Add an @anchor for a more accurate
cross-reference in "Fringes".

5 years agoUse a time offset when comparing times of local and remote machines
Michael Albinus [Sat, 10 Aug 2019 09:34:13 +0000 (11:34 +0200)]
Use a time offset when comparing times of local and remote machines

* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
Use a time offset in order to compensate different times on local
and remote machines.

5 years agoFix docstrings in pong
Mauro Aranda [Wed, 7 Aug 2019 14:55:54 +0000 (11:55 -0300)]
Fix docstrings in pong

* lisp/play/pong.el (pong-move-left pong-move-right): Refer to the
right bats and directions of movement.  (Bug#36959)

5 years agoFix pong collision detection
Mauro Aranda [Wed, 7 Aug 2019 00:48:41 +0000 (21:48 -0300)]
Fix pong collision detection

* lisp/play/pong.el (pong-update-game): If the ball hit the bat where
bats are positioned, draw again the bat cell in the old ball
position.  (Bug#20579).
Also, avoid changing the direction of the ball right after hitting the
bats, and improve the collision detection against the borders.

5 years agoSet up defined_color_hook for the initial frame
Alex Gramiak [Fri, 31 May 2019 20:30:31 +0000 (14:30 -0600)]
Set up defined_color_hook for the initial frame

* src/terminal.c (init_initial_terminal): Set up the
defined_color_hook.  This avoids crashes when running
in batch mode with code that manipulates colors.
(Bug#36019)

5 years agoSupport bool-vectors in cl-extra.el
Philippe Schnoebelen [Sun, 28 Jul 2019 06:59:12 +0000 (08:59 +0200)]
Support bool-vectors in cl-extra.el

* lisp/emacs-lisp/cl-extra.el (cl-coerce): Support bool-vector.

Copyright-paperwork-exempt: yes

5 years ago* lisp/frameset.el (frameset--minibufferless-last-p): Add comments (bug#36894)
Juri Linkov [Fri, 9 Aug 2019 18:08:54 +0000 (21:08 +0300)]
* lisp/frameset.el (frameset--minibufferless-last-p): Add comments (bug#36894)

5 years agoFix highlighting in man pages displayed by "M-x man"
Eli Zaretskii [Fri, 9 Aug 2019 13:51:14 +0000 (16:51 +0300)]
Fix highlighting in man pages displayed by "M-x man"

* lisp/man.el (Man-highlight-references0): Handle the case
when a section is divided between 2 or more chunks of text
received from the 'man' program.  (Bug#36927)

5 years agoImprove doc strings of 'append-to-buffer' and friends
Eli Zaretskii [Fri, 9 Aug 2019 07:31:39 +0000 (10:31 +0300)]
Improve doc strings of 'append-to-buffer' and friends

* lisp/simple.el (append-to-buffer, prepend-to-buffer)
(copy-to-buffer): Doc fixes.

5 years agoFix doc strings modified in recent changes
Eli Zaretskii [Fri, 9 Aug 2019 07:02:23 +0000 (10:02 +0300)]
Fix doc strings modified in recent changes

* src/xfns.c (Fx_change_window_property)
(Fx_delete_window_property, Fx_window_property)
(Fx_window_property_attributes): Doc fixes.

5 years agoProvide better target window consistency across x window property functions.
Noah Friedman [Fri, 9 Aug 2019 06:17:56 +0000 (23:17 -0700)]
Provide better target window consistency across x window property functions.

Use the argument name WINDOW-ID instead of SOURCE for same.
Revise docstrings to clarify semantics of FRAME and WINDOW-ID.

(Fx_change_window_property): Use `target_window' instead of `w'.
This is consistent with other related functions.
Finalize its value before blocking input.

(Fx_window_property):
(Fx_window_property_attributes): Use `window_id' instead of `source'.

(Fx_delete_window_property): New optional arg window_id.

5 years ago(Fx_change_window_property): Rename SOURCE arg to WINDOW-ID
Noah Friedman [Fri, 9 Aug 2019 04:52:37 +0000 (21:52 -0700)]
(Fx_change_window_property): Rename SOURCE arg to WINDOW-ID

5 years ago(Fx_change_window_property): Add optional arg SOURCE.
Noah Friedman [Thu, 8 Aug 2019 01:18:32 +0000 (18:18 -0700)]
(Fx_change_window_property): Add optional arg SOURCE.

This provides symmetry with Fx_window_property, so that the window
need not be an actual emacs frame.  This is useful for modifying
properties of parent windows (specified with --parent-id to emacs) or
generally assisting the window manager.

5 years agoUse "python -m pdb" when "pdb" is missing in M-x pdb
Stefan Kangas [Thu, 11 Jul 2019 03:51:18 +0000 (05:51 +0200)]
Use "python -m pdb" when "pdb" is missing in M-x pdb

* lisp/progmodes/gud.el (gud-pdb-command-name): Use "python -m pdb"
when "pdb" is missing.  (Bug#21521)

5 years agoSay how to enable event designators in the eshell manual
Noam Postavsky [Thu, 8 Aug 2019 23:35:53 +0000 (19:35 -0400)]
Say how to enable event designators in the eshell manual

* doc/misc/eshell.texi (History): Mention that event designators need
to be enabled.
* etc/NEWS: Mark corresponding entry as documented in manual.

5 years agoFix octave-mode ElDoc support
Mauro Aranda [Tue, 6 Aug 2019 15:45:28 +0000 (12:45 -0300)]
Fix octave-mode ElDoc support

* lisp/progmodes/octave.el (octave-eldoc-function-signatures): Fix the
regexp used, so no match happens when there is no defined function FN.
Also, tweak the regexp to support GNU Octave 4.2.x and newer.  (Bug#36459)

5 years agoWork on Tramp backward compatibility
Michael Albinus [Thu, 8 Aug 2019 14:47:29 +0000 (16:47 +0200)]
Work on Tramp backward compatibility

* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
(tramp-adb-handle-rename-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
(tramp-smb-handle-rename-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Use `tramp-compat-directory-name-p'.

5 years agoImprove time arithmetic in tramp--test-file-attributes-equal-p
Michael Albinus [Thu, 8 Aug 2019 13:42:45 +0000 (15:42 +0200)]
Improve time arithmetic in tramp--test-file-attributes-equal-p

* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
Improve time arithmetic.

5 years agoSuppress false alarm in Tramp
Michael Albinus [Thu, 8 Aug 2019 13:42:06 +0000 (15:42 +0200)]
Suppress false alarm in Tramp

* lisp/net/tramp.el (tramp-dissect-file-name): Suppress false alarm.

5 years agoAvoid Groff hanging on MS-Windows when invoked by "M-x man"
Eli Zaretskii [Thu, 8 Aug 2019 13:17:51 +0000 (16:17 +0300)]
Avoid Groff hanging on MS-Windows when invoked by "M-x man"

* lisp/man.el (Man-build-man-command): On MS-Windows, redirect
stdin of 'man' to the null device, to make sure Groff exits
immediately after formatting the man page.

5 years agoSuppress interactive-only warnings in undo-tests.el (Bug#36565)
Stefan Kangas [Fri, 2 Aug 2019 14:46:08 +0000 (16:46 +0200)]
Suppress interactive-only warnings in undo-tests.el (Bug#36565)

* test/src/undo-tests.el (undo-test-region-deletion)
(undo-test-region-example, undo-test-marker-adjustment-nominal)
(undo-test-region-t-marker, undo-test-marker-adjustment-moved)
(undo-test-region-mark-adjustment): Suppress interactive-only warnings
by using funcall-interactively.

5 years agoSuppress relint errors in fortran.el
Mattias Engdegård [Tue, 6 Aug 2019 11:09:20 +0000 (13:09 +0200)]
Suppress relint errors in fortran.el

* lisp/progmodes/fortran.el (fortran-indent-to-column):
Suppress relint complaints about duplicated character in skip-set;
it's intentional and harmless.

5 years agoFix XTerm OSC 52 selection retrieval (bug#36879)
Mattias Engdegård [Sat, 3 Aug 2019 10:08:27 +0000 (12:08 +0200)]
Fix XTerm OSC 52 selection retrieval (bug#36879)

When asking XTerm for the selection via OSC 52, use ST as string
terminator in the request to get ST as terminator in the reply,
because BEL is messy to receive in many ways.

* lisp/term/xterm.el (gui-backend-get-selection):
Use ST as string terminator in request and reply.
Use a time-out when reading the reply.

5 years agoTests need to be moved when source files are
Glenn Morris [Wed, 7 Aug 2019 16:24:15 +0000 (09:24 -0700)]
Tests need to be moved when source files are

* test/lisp/obsolete/cl-tests.el: Move from test/lisp/emacs-lisp.

5 years agoIgnore pending_signals when checking for quits.
Philipp Stephani [Wed, 2 Jan 2019 21:22:18 +0000 (22:22 +0100)]
Ignore pending_signals when checking for quits.

pending_signals is often set if no quit is pending.  This results in
bugs in module code if the module returns but no quit is actually
pending.

* src/emacs-module.c (module_should_quit): Use QUITP macro to check
whether the caller should quit.

* src/eval.c: Remove obsolete comment.

5 years ago; Still working on tramp--test-file-attributes-equal-p
Michael Albinus [Wed, 7 Aug 2019 14:36:00 +0000 (16:36 +0200)]
; Still working on tramp--test-file-attributes-equal-p

5 years ago; Instrument tramp--test-file-attributes-equal-p
Michael Albinus [Wed, 7 Aug 2019 12:59:19 +0000 (14:59 +0200)]
; Instrument tramp--test-file-attributes-equal-p

5 years agoContinue to work on Bug#36940
Michael Albinus [Wed, 7 Aug 2019 12:12:14 +0000 (14:12 +0200)]
Continue to work on Bug#36940

* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
Make the check more precise.  (Bug#36940)

5 years agoRe-port dump_bitset_clear to -fsanitize=undefined
Paul Eggert [Wed, 7 Aug 2019 01:39:20 +0000 (18:39 -0700)]
Re-port dump_bitset_clear to -fsanitize=undefined

* src/pdumper.c (dump_bitset_clear): Skip the memset if the
size is zero, because in that case the destination might be NULL.
This fixes a bug introduced in 2019-07-26T06:17:52Zeggert@cs.ucla.edu.
Add a comment to make the bug less likely to reoccur.

5 years ago* lisp/gnus/message.el (message-sendmail-f-is-evil): Revert recent change
Stefan Monnier [Wed, 7 Aug 2019 00:42:59 +0000 (20:42 -0400)]
* lisp/gnus/message.el (message-sendmail-f-is-evil): Revert recent change

(bug#36937)