1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 11:21:04 -08:00
Commit graph

138151 commits

Author SHA1 Message Date
Paul Eggert
951ea375d5 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.
2019-08-21 17:21:06 -07:00
Lars Ingebrigtsen
11de1155f8 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).
2019-08-21 13:49:57 -07:00
Lars Ingebrigtsen
08dd4b9f0c 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".
2019-08-21 13:36:59 -07:00
Lars Ingebrigtsen
b60bdfcd4c Adjust quit-window-hook documentation
* doc/lispref/windows.texi (Quitting Windows): Adjust
documentation of quit-window-hook (bug#9867).
2019-08-21 13:22:56 -07:00
Lars Ingebrigtsen
ab9cb08ebb Mention quit-window-hook in "Standard Hooks"
* doc/lispref/hooks.texi (Standard Hooks): Mention
quit-window-hook (bug#9867).
2019-08-21 13:21:52 -07:00
Lars Ingebrigtsen
2e8bbd5881 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.
2019-08-21 13:18:47 -07:00
Lars Ingebrigtsen
6224fce0d4 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).
2019-08-21 13:05:18 -07:00
Stefan Kangas
6c1cf80721 * lisp/mail/flow-fill.el: Change todo comment to not mention XEmacs. 2019-08-21 19:16:20 +02:00
Michael Albinus
0f801d4a5e ; Fix typo introduced by last autorevert-tests patch 2019-08-21 11:03:34 +02:00
Martin Rudalics
9a28cb5a87 ; Fix typos in commentary section of xdisp.c 2019-08-21 10:24:25 +02:00
Michael Albinus
c2abe6abba ; Add traces to auto-revert-test02-auto-revert-deleted-file 2019-08-21 09:19:28 +02:00
Paul Eggert
39fee20994 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.
2019-08-21 00:11:45 -07:00
Paul Eggert
3881542ede Update mini-gmp
* src/mini-gmp.c: Sync from upstream.  This incorporates:
2019-08-13 Silence a couple of warnings
2019-08-20 18:11:34 -07:00
Paul Eggert
396ed88a50 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.
2019-08-20 17:36:46 -07:00
Noam Postavsky
7e2090ee80 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.
2019-08-20 20:20:52 -04:00
Paul Eggert
5a95521282 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.
2019-08-20 15:45:59 -07:00
Stephen Leake
a13c64204c 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.
2019-08-20 15:36:08 -07:00
Michael Albinus
fde614f4cc 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.
2019-08-20 21:32:34 +02:00
Stefan Kangas
68f086e669 ; * etc/NEWS: Move one incorrectly placed item. 2019-08-20 18:41:44 +02:00
Glenn Morris
af103ef3c9 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
2019-08-20 09:04:53 -07:00
Glenn Morris
989c85e799 ; Merge from origin/emacs-26
The following commit was skipped:

190565b Support the new Japanese era name
2019-08-20 09:01:55 -07:00
Glenn Morris
8f68449c94 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
2019-08-20 09:01:55 -07:00
Ulrich Müller
65dc07f563 * configure.ac (HAVE_JPEG): Test for window system. (Bug#36995) 2019-08-20 17:04:26 +02:00
Mauro Aranda
4e0c5830da 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)
2019-08-20 08:34:23 -04:00
Lars Ingebrigtsen
08d7cabc92 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).
2019-08-19 19:39:05 -07:00
Lars Ingebrigtsen
afdf679841 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.
2019-08-19 19:21:53 -07:00
Paul Eggert
221a3272ad 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.
2019-08-19 18:05:15 -07:00
Paul Eggert
2197ea89bf 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.
2019-08-19 18:05:15 -07:00
Noam Postavsky
615cff4258 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.
2019-08-19 19:49:50 -04:00
Tino Calancha
beb1d22260 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.
2019-08-19 17:32:09 +02:00
Stefan Monnier
50dc4ca8d0 * 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.
2019-08-19 05:44:43 -04:00
Lars Ingebrigtsen
1b96e022b6 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).
2019-08-18 16:50:08 -07:00
Štěpán Němec
b8c4a9e0f8 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).
2019-08-18 16:05:48 -07:00
Johan Claesson
b82adee1f6 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).
2019-08-18 15:49:29 -07:00
Noam Postavsky
f9464020d4 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.
2019-08-18 18:19:21 -04:00
Paul Eggert
780509f29f 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.
2019-08-18 12:12:45 -07:00
Eli Zaretskii
190565b239 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.
2019-08-18 19:36:31 +03:00
Eli Zaretskii
0b810ebc9f Fix a typo in char-width-table
* lisp/international/characters.el (char-width-table): Fix a
typo in zero-width characters.
2019-08-18 18:23:06 +03:00
Eli Zaretskii
f92d61c06c 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>.
2019-08-18 17:46:19 +03:00
Lars Ingebrigtsen
ee1c638cff 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).
2019-08-17 17:30:47 -07:00
Paul Eggert
3d1c9a77c5 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.
2019-08-17 17:22:25 -07:00
Lars Ingebrigtsen
f38a16ee89 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.
2019-08-17 16:56:13 -07:00
Lars Ingebrigtsen
3efe59a8dd 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).
2019-08-17 16:47:16 -07:00
Lars Ingebrigtsen
2b9145312c 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).
2019-08-17 16:36:00 -07:00
Lars Ingebrigtsen
78541163c6 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).
2019-08-17 16:36:00 -07:00
Lars Ingebrigtsen
669599b0f4 Doc clarification in two comment-* functions
* lisp/newcomment.el (comment-padright, comment-padleft): Note
that `comment-normalize-vars' must be called first (bug#11944).
2019-08-17 16:35:59 -07:00
Paul Eggert
c90a420779 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.
2019-08-17 15:43:05 -07:00
Juri Linkov
6616806896 * 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)
2019-08-18 01:40:32 +03:00
Lars Ingebrigtsen
c81c041f60 Doc clarification for call-interactively
* src/callint.c (Fcall_interactively): Be explicit about what we
mean by "inquire" in the doc string (bug#15653).
2019-08-17 14:17:47 -07:00
Paul Eggert
643df79279 Port test harness to Solaris 10
* test/Makefile.in (ELFILES): Port to Solaris 10, where
‘find’ does not support ‘-path’.
2019-08-17 09:16:59 -07:00