1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 03:20:39 -08:00
Commit graph

134313 commits

Author SHA1 Message Date
Stefan Monnier
5d1fbe25d4 * lisp/replace.el: Rework implementation of the occur region
Put the region info in the "list of buffers" used for multi-occur.

(occur--parse-occur-buffer): Remove.
(occur): Pass the region to occur-1 as an overlay.
(occur-1): 'bufs' is now a list of buffers or overlays.
(occur-engine): 'buffers' is now a list of buffers or overlays.
2018-10-09 10:47:13 -04:00
Stefan Monnier
333f0bfe76 * lisp/calendar/timeclock.el: Use lexical-binding
Require cl-lib.  Remove redundant :group args.
(timeclock-status-string): Avoid 'setq'.
(timeclock-ask-for-project, timeclock-ask-for-reason):
Completionu tables can be simple lists of strings.
(timeclock-read-moment): Doesn't deserve to be defsubst (most of the
others don't either, admittedly).
(timeclock-entry): New type.
(timeclock-entry-begin, timeclock-entry-end, timeclock-entry-project)
(timeclock-entry-comment): Define via 'cl-defstruct'.
(timeclock-entry-list-projects, timeclock-day-list-projects):
Avoid add-to-list on lexical vars.
(timeclock-day-list): Use 'push'.
(timeclock-log-data): Use 'pcase'.
(timeclock-mean): Simplify.
(timeclock-generate-report): Use dotimes.
2018-10-08 22:33:22 -04:00
Paul Eggert
cf1ebfa055 Update from Gnulib
This incorporates:
2018-10-05 explicit_bzero: make it possible to namespace
2018-10-04 fcntl: make it possible to namespace
2018-10-01 mkostemp, mkostemps: fix C++ compilation on Mac OS X
2018-09-19 maint: mktime.c now shared with glibc
2018-09-18 file-has-acl: fix test failure on Cygwin 2.9
2018-09-18 gettime: nanotime never existed
* admin/merge-gnulib (AVOIDED_MODULES): Add mkdir.
* doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
* lib/acl_entries.c, lib/explicit_bzero.c, lib/fcntl.c:
* lib/get-permissions.c, lib/gettime.c, lib/mktime.c:
* lib/set-permissions.c, lib/stdlib.in.h, m4/acl.m4, m4/gettime.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2018-10-08 18:22:22 -07:00
Stefan Monnier
fc6004e617 * lisp/net/ntlm.el: Use lexical-binding
(ntlm-string-as-unibyte): Remove.
(ntlm-build-auth-response): Use encode-coding-string instead.
(ntlm-build-auth-request, ntlm-build-auth-response, ntlm-ascii2unicode)
(ntlm-smb-owf-encrypt, ntlm-smb-hash, ntlm-smb-dohash, ntlm-md4hash):
Use fewer setq more Lisp-style.
2018-10-08 20:59:59 -04:00
Charles A. Roelli
763721613b New hook 'vc-retrieve-tag-hook' (Bug#32754)
* etc/NEWS: Mention the new variable.

* lisp/vc/vc.el (vc-retrieve-tag-hook): New hook.
(vc-retrieve-tag): Run the new hook and update its
documentation string.
2018-10-08 21:49:41 +02:00
Eli Zaretskii
a0605d9618 Fix MinGW compilation problem in timefns.c
* src/timefns.c (lisp_to_timespec): Fix a mismatch between
time_t and timespec.tv_sec data types.
2018-10-07 20:51:11 +03:00
Paul Eggert
1baf191a48 * src/scroll.c (calculate_scrolling): Remove casts. 2018-10-07 00:11:48 -07:00
Scott Corley
ee3f469870 Fix overflow lockup with frames > 255 lines
* src/scroll.c (struct matrix_elt): Change unsigned char fields to
int to handle frames with more than 255 lines (Bug#32951).
Copyright-paperwork-exempt: yes
2018-10-07 00:11:48 -07:00
Paul Eggert
3cc452327e Improvements on (TICKS . HZ)
This patch is in response to Eli's review (Bug#32902#10).
* src/systime.c: Doc strings of affected functions now refer
to format-time-string instead of to Lisp manual, and
format-time-string's doc string covers time values.
* test/src/systime-tests.el (format-time-string-with-zone):
Check decode-time too.
(decode-then-encode-time, time-arith-tests): New tests.
2018-10-06 23:31:04 -07:00
Paul Eggert
93fe420942 New (TICKS . HZ) timestamp format
This follows on a suggestion by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00991.html
(Bug#32902).
* doc/lispref/buffers.texi (Modification Time):
* doc/lispref/os.texi (Processor Run Time, Time Calculations)
* doc/lispref/processes.texi (System Processes):
* doc/lispref/text.texi (Undo):
Let the "Time of Day" section cover timestamp format details.
* doc/lispref/os.texi (Time of Day):
Say that timestamp internal format should not be assumed.
Document new (ticks . hz) format.  Omit mention of seconds-to-time
since it is now just an alias for encode-time.
(Time Conversion): Document encode-time extension.
* etc/NEWS: Mention changes.
* lisp/calendar/cal-dst.el (calendar-system-time-basis): Now const.
* lisp/calendar/cal-dst.el (calendar-absolute-from-time)
(calendar-time-from-absolute)
(calendar-next-time-zone-transition):
* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
Simplify by using bignums, (TICKS . HZ), and new encode-time.
* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
Simplify by using bignums and new encode-time.
* lisp/calendar/parse-time.el (parse-iso8601-time-string):
Handle DST more accurately, by using new encode-time.
* lisp/calendar/time-date.el (seconds-to-time):
* lisp/calendar/timeclock.el (timeclock-seconds-to-time):
Now just an alias for encode-time.
* lisp/calendar/time-date.el (days-to-time):
* lisp/emacs-lisp/timer.el (timer--time-setter):
* lisp/net/ntlm.el (ntlm-compute-timestamp):
* lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
* lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
* lisp/tar-mode (tar-octal-time):
Don't assume timestamps default to list form.
* lisp/tar-mode.el (tar-parse-octal-long-integer):
Now an obsolete alias for tar-parse-octal-integer.
* src/keyboard.c (decode_timer): Adjust to changes to
time decoding functions elsewhere.
* src/timefns.c: Include bignum.h, limits.h.
(FASTER_TIMEFNS): New macro.
(WARN_OBSOLETE_TIMESTAMPS, CURRENT_TIME_LIST)
(timespec_hz, trillion, ztrillion):
New constants.
(make_timeval): Use TIME_T_MAX instead of its definiens.
(check_time_validity, time_add, time_subtract):
Remove.  All uses removed.
(disassemble_lisp_time): Remove; old code now folded into
decode_lisp_time.  All callers changed.
(invalid_hz, s_ns_to_double, ticks_hz_list4, mpz_set_time)
(timespec_mpz, timespec_ticks, time_hz_ticks)
(lisp_time_hz_ticks, lisp_time_seconds)
(time_form_stamp, lisp_time_form_stamp, decode_ticks_hz)
(decode_lisp_time, mpz_time, list4_to_timespec):
New functions.
(decode_float_time, decode_time_components, lisp_to_timespec):
Adjust to new struct lisp_time, which does not lose
information like the old one did.
(enum timeform): New enum.
(decode_time_components): New arg FORM.  All callers changed.
RESULT and DRESULT are now mutually exclusive; no callers need
to change because of this.
(decode_time_components, lisp_time_struct)
(lisp_seconds_argument, time_arith, make_lisp_time, Ffloat_time)
(Fencode_time):
Add support for (TICKS . HZ) form.
(DECODE_SECS_ONLY): New constant.
(lisp_time_struct): 2nd arg is now enum timeform, not int.
All callers changed.
(check_tm_member): Support bignums.m
(Fencode_time): Add new two-arg functionality.
* src/systime.h (struct lisp_time): Now ticks+hz rather than
hi+lo+us+ps, since ticks+hz does not lose info.
* test/src/systime-tests.el (time-equal-p-nil-nil):
New test.
2018-10-06 23:31:04 -07:00
Paul Eggert
84f39d3389 Export converting mpz to [u]intmax
This refactoring will help improve timestamp handling later
(Bug#32902).
* src/bignum.c (mpz_set_uintmax): Move to bignum.h,
and make inline.
(mpz_set_uintmax_slow): Now extern.
(mpz_to_intmax, mpz_to_uintmax): New functions, with
implementation taken from the old bignum_to_intmax
and bignum_to_uintmax.
(bignum_to_intmax, bignum_to_uintmax): Use them.
2018-10-06 23:31:04 -07:00
Paul Eggert
0faad0a002 Coalesce duplicate make_lisp_timeval etc.
* src/sysdep.c (timeval_to_timespec, make_lisp_timeval):
Coalesce duplicate definitions (Bug#32902).
2018-10-06 23:31:03 -07:00
Paul Eggert
b5d08da1e9 Move timestamp-related stuff to timefns.c
This does not change behavior; it’s just long-overdue
refactoring (Bug#32902).
* src/emacs.c (main): Call init_timefns, syms_of_timefns.
* src/timefns.c: New file, containing timestamp-related stuff
from editfns.c and sysdep.c.
* src/Makefile.in (base_obj): Add timefns.o.
* src/editfns.c: Simplify by moving a big chunk to timefns.c.
Do not include systime.h, sys/resource.h, sys/param.h,
strftime.h, coding.h.
(HAVE_TZALLOC_BUG, TM_YEAR_BASE, HAVE_TM_GMTOFF, tzeqlen)
(local_tz, utc_tz, emacs_localtime_rz, emacs_mktime_z)
(invalid_time_zone_specification, xtzfree, tzlookup)
(TIME_T_MIN, TIME_T_MAX, time_overflow, invalid_time)
(check_time_validity, hi_time, lo_time, Fcurrent_time)
(time_add, time_subtract, time_arith, Ftime_add)
(Ftime_subtract, Ftime_less_p, Fget_internal_run_time)
(make_lisp_time, disassemble_lisp_time, decode_float_time)
(lisp_to_timespec, lisp_time_struct, lisp_time_argument)
(lisp_seconds_argument, Ffloat_time, emacs_nmemftime)
(Fformat_time_string, format_time_string, Fdecode_time)
(check_tm_member, Fencode_time, Fcurrent_time_string)
(tm_gmtoff, Fcurrent_time_zone, Fset_time_zone_rule)
(emacs_getenv_TZ, emacs_setenv_TZ): Move to timefns.c.
* src/emacs.c (main): Adjust to initialization changes.
* src/sysdep.c: Include <sys/resource.h> if it's present.
Regularize includes a bit.
(Fget_internal_run_time): Move here from editfns.c.
(init_timefns, syms_of_timefns): New functions.
* src/w32.h (w32_get_internal_run_time): Move decl here
so that it need not be cloned.
* test/src/editfns-tests.el:
* test/src/editfns-tests.el (format-time-string-with-zone)
(format-time-string-with-outlandish-zone)
(editfns-tests--have-leap-seconds)
(format-time-string-with-bignum-on-32-bit):
Move to ...
* test/src/timefns-tests.el: ... this new file.
2018-10-06 23:31:03 -07:00
Michael Albinus
44bf4a6b01 Some reaarangements in tramp*.texi
* doc/misc/trampver.texi (trampfn): Change check for definition of macro.
(tramp-bug-report-address): New variable.

* doc/misc/tramp.texi (Top, Bug Reports): Use it.
2018-10-04 09:46:14 +02:00
Paul Eggert
945a762232 Fix emacs_re_safe_alloca calculation
Problem and draft fix noted by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-10/msg00022.html
* src/emacs.c (main): Fix arithmetic used in calculation
of emacs_re_safe_alloca.
2018-10-03 15:57:26 -07:00
Glenn Morris
5cbce95796 * Makefile.in (uninstall): Remove some stray icon files. 2018-10-03 17:08:28 -04:00
Glenn Morris
c1d0dbd6ca Tweak Makefile emacs-module.h handling
* Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
Handle whitespace.  Remove non-portable mkdir argument.
2018-10-03 16:47:01 -04:00
Philipp Stephani
00ea749f2a Install emacs-module.h (Bug#31929)
* Makefile.in (includedir): New variable.
(install-arch-indep): Install emacs-module.h.
(uninstall): Uninstall emacs-module.h.
2018-10-03 22:00:14 +02:00
Michael Albinus
43a8494bab * doc/misc/trampver.texi (trampfn): Call `unmacro' prior defining
* doc/misc/trampver.texi (trampfn): Call `unmacro' prior
defining.  trampver.texi is included several times; it raises an
error otherwise.
2018-10-03 19:34:02 +02:00
Glenn Morris
0d118ee59f ; Merge from origin/emacs-26
The following commit was skipped:

99f45ee (origin/emacs-26) In follow mode, prevent the cursor resting ...
2018-10-03 09:25:27 -07:00
Glenn Morris
eb6c0c33f1 Merge from origin/emacs-26
ea77c65 Revert "Temporary workaround for bug #32848 for branch emacs-26"
2c8ea46 Revert "* etc/NEWS: Note setting make-cursor-line-fully-visib...
f8df6f2 * etc/NEWS: Note setting make-cursor-line-fully-visible to ni...
cdca208 Fix note about interactive advice (Bug#32905)
508c40e Comple fix for Bug#32550
2018-10-03 09:25:26 -07:00
Glenn Morris
42516f01db ; Merge from origin/emacs-26
The following commit was skipped:

35b56a2 ; Auto-commit of loaddefs files.
2018-10-03 09:25:26 -07:00
Glenn Morris
f562118111 Merge from origin/emacs-26
9c028d6 * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
3a2b5a7 ; * lisp/bindings.el (bindings--define-key): Doc fix.  (Bug#3...
6a7a869 Org manual: Rewrite the Org Mobile section

# Conflicts:
#	lisp/savehist.el
2018-10-03 09:25:26 -07:00
Glenn Morris
a773b0918c ; Merge from origin/emacs-26
The following commit was skipped:

6650751 Temporary workaround for bug #32848 for branch emacs-26
2018-10-03 09:23:16 -07:00
Glenn Morris
48adb87bcb Merge from origin/emacs-26
7296b6f Improve cl-do, cl-do* docstrings
d416109 Avoid returning early in 'while-no-input' due to subprocesses
e8a4d94 Cleanup when opening a new terminal fails. (Bug#32794)

# Conflicts:
#	etc/NEWS
2018-10-03 09:23:16 -07:00
Alan Mackenzie
99f45ee42c In follow mode, prevent the cursor resting on a partially displayed line
Don't merge to master.  This fixes bug #32848

* lisp/follow.el (follow-adjust-window): If point ends up in a partially
displayed line in a left hand or middle window, move it one line
forward, to
prevent unwanted scrolling should make-cursor-line-fully-visible be
non-nil.
2018-10-03 15:57:15 +00:00
Alan Mackenzie
ea77c6594e Revert "Temporary workaround for bug #32848 for branch emacs-26"
This reverts commit 6650751ce7.
2018-10-03 15:20:34 +00:00
Alan Mackenzie
2c8ea4654d Revert "* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode"
This reverts commit f3c8f4bde2de2b9d42c44f5e44f34c427bebdc58.
2018-10-03 15:20:34 +00:00
Alan Mackenzie
f8df6f2307 * etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode
Also re-insert the "temporary note" explaining --- and +++.
2018-10-03 15:20:34 +00:00
Alan Mackenzie
51f0cccdde Put follow-mode's engine on pre-redisplay-hook instead of post-command-hook
This fixes bug #32874.

* lisp/follow.el (follow-mode): Put follow-pre-redisplay-function onto
pre-redisplay-function instead of putting follow-post-command-hook onto
post-command-hook.  Amend the removal operation analogously.
(follow-pre-redisplay-function): New function.
2018-10-03 10:45:59 +00:00
Noam Postavsky
cdca208932 Fix note about interactive advice (Bug#32905)
* doc/lispref/functions.texi (Core Advising Primitives): Add missing
':', and finish the sentence fragment.
2018-10-02 20:07:40 -04:00
Stefan Monnier
3eedabaef3 * lisp/emacs-lisp/autoload.el (autoload-ignored-definitions): New var
(autoload-generate-file-autoloads): Use it.
2018-10-02 12:37:04 -04:00
Michael Albinus
0f505bbef6 Rearrangements in tramp*.texi
* doc/misc/trampver.texi (trampfn): New macro, taken from tramp.texi.

* doc/misc/tramp.texi (trampfn): Moved to trampver.texi.
(Top): Add sections `System Requirement' and `Basic Installation'.
2018-10-02 16:51:51 +02:00
Charles A. Roelli
dfbb207ff9 * lisp/vc/vc.el (vc-checkin): Simplify 'run-hook' call. 2018-10-01 21:41:11 +02:00
Michael Albinus
c45789a595 Use `float-time' in tramp-sh.el where needed
* lisp/net/tramp-sh.el (tramp-sh-handle-verify-visited-file-modtime):
Use `float-time'.
2018-10-01 14:34:35 +02:00
Michael Albinus
886a1f2641 Minor edits in tramp.texi
* doc/misc/tramp.texi (Password handling): Say "user option".
(Remote shell setup): Say "environment variable".
(External packages): Add `non-essential' to variable index.
2018-10-01 14:33:51 +02:00
Michael Albinus
508c40ef1d Comple fix for Bug#32550
* lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay):
Use `save-excursion'.  This completes the fix of Bug#32550.
2018-10-01 14:17:27 +02:00
Glenn Morris
0915462e46 ; Auto-commit of loaddefs files. 2018-10-01 07:23:39 -04:00
Glenn Morris
35b56a24a0 ; Auto-commit of loaddefs files. 2018-10-01 06:23:16 -04:00
Eli Zaretskii
9c028d6965 * lisp/savehist.el (savehist-mode): Doc fix. (Bug#32889) 2018-10-01 10:45:33 +03:00
Eli Zaretskii
3a2b5a713f ; * lisp/bindings.el (bindings--define-key): Doc fix. (Bug#32885) 2018-10-01 10:19:27 +03:00
Michael R. Mauger
87d0007499 Automate support for `sql-indent' ELPA package
* progmodes/lisp/sql.el (sql-use-indent-support): New variable.
(sql-is-indent-available): New function.
(sql-indent-enable): Use above.
(sql-mode-hook, sql-interactive-mode-hook): Add `sql-indent-enable'.
2018-10-01 00:17:23 -04:00
Charles A. Roelli
d2111c5f72 * doc/emacs/help.texi (Misc Help): Document 'info-other-window'. 2018-09-30 17:05:29 +02:00
Sam Steingold
65e6824efb Document 2d54710c36: vc-git-stash & *vc-dir* 2018-09-30 08:32:29 -04:00
Nicolas Goaziou
6a7a869c33 Org manual: Rewrite the Org Mobile section
* doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
Remove all references to non-free software.
Moved into "Miscellaneous", much like Org Crypt library. No longer an
appendix.
(Footnotes): Remove a reference to "MobileOrg".
(Bug#32722)
2018-09-30 14:40:14 +03:00
Eli Zaretskii
8bd4821202 Allow 'make-cursor-line-fully-visible' name a function
* src/xdisp.c (cursor_row_fully_visible_p): Handle the case of
make-cursor-line-fully-visible being a function.  Accept a 3rd
argument; if non-zero, assume the caller already tested the
conditions for the cursor being fully-visible, and don't
recheck them.  All callers changed.
(try_cursor_movement, try_window_id): Call
cursor_row_fully_visible_p instead of testing the value of
make-cursor-line-fully-visible directly.
(syms_of_xdisp) <make-cursor-line-fully-visible>: Update the
doc string.  Define a symbol Qmake_cursor_line_fully_visible.
(Bug#32848)

* lisp/cus-start.el (standard): Update the Custom form.

* etc/NEWS: Mention the change in possible values of
'make-cursor-line-fully-visible'.
2018-09-30 14:14:59 +03:00
Alan Mackenzie
6650751ce7 Temporary workaround for bug #32848 for branch emacs-26
Do not merge with master.

* lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
buffer locally whilst follow-mode is active.
2018-09-30 10:46:26 +00:00
Alan Third
6217746dd6 Merge from origin/emacs-26
9ad0f1d15c Fix deprecation warning
7946445962 Make all NS drawing be done from drawRect
41fa88b99b ; Fix some doc typos
2018-09-29 17:08:43 +01:00
Alan Third
fcea306042 ; Add myself to MAINTAINERS file 2018-09-29 14:47:23 +01:00
Michael Albinus
ce0da8a427 Rework time-* functions in Tramp
* doc/misc/emacs-mime.texi (time-date): Add time-equal-p.

* lisp/net/tramp-compat.el (tramp-compat-time-equal-p): New defsubst.

* lisp/net/tramp.el (tramp-file-name-handler): Remove `debug'
error handler.
(tramp-half-a-year): Remove.
(tramp-time-dont-know, tramp-time-doesnt-exist): New defconst.
(tramp-time-diff): Remove compat code.
(tramp-handle-set-visited-file-modtime)
(tramp-handle-verify-visited-file-modtime):
* lisp/net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls)
(tramp-adb-handle-set-file-times):
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
(tramp-sh-handle-set-visited-file-modtime)
(tramp-sh-handle-verify-visited-file-modtime)
(tramp-sh-handle-set-file-times)
(tramp-sh-handle-file-newer-than-file-p):
Use `tramp-time-dont-know', `tramp-time-doesnt-exist' and
`tramp-compat-time-equal-p'.
(tramp-sh-handle-verify-visited-file-modtime): Simplify check.

* lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
(tramp-smb-read-file-entry): Use `tramp-time-dont-know'.
(tramp-smb-handle-insert-directory): Adapt half-a-year check.

* src/editfns.c (Ftime_equal_p): Adapt docstring.

* test/lisp/net/tramp-tests.el
(tramp-test19-directory-files-and-attributes)
(tramp-test22-file-times): Use `tramp-compat-time-equal-p' and
`tramp-time-dont-know'.
(tramp-test23-visited-file-modtime): Extend test.
2018-09-29 15:33:48 +02:00