]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years agoPrecise Secret Service API in auth.texi (Bug#29575)
Michael Albinus [Tue, 11 Sep 2018 09:46:32 +0000 (11:46 +0200)]
Precise Secret Service API in auth.texi (Bug#29575)

* doc/misc/auth.texi (Secret Service API): Item labels are not
unique.  Document this.  (Bug#29575)

6 years agoAdjust to TIMESPEC_HZ renaming
Paul Eggert [Tue, 11 Sep 2018 04:22:05 +0000 (21:22 -0700)]
Adjust to TIMESPEC_HZ renaming

Adjust to lib/timespec.h’s renaming of TIMESPEC_RESOLUTION and
LOG10_TIMESPEC_RESOLUTION to TIMESPEC_HZ and
LOG10_TIMESPEC_HZ.  The old names were misnomers.
All uses changed.

6 years agoUpdate from Gnulib
Paul Eggert [Tue, 11 Sep 2018 04:16:03 +0000 (21:16 -0700)]
Update from Gnulib

This incorporates:
2018-09-10 timespec: fix resolution confusion
2018-09-09 mktime: simplify in prep for glibc merge
2018-09-07 intprops: minor clarification of code
2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku
2018-09-06 strtoll, strtoull: Rely on limits-h module
2018-09-06 limits-h: Provide numerical limits macros
2018-09-06 fcntl: Don't access nonexistent optional argument
2018-09-02 mktime: fix unlikely race+overflow bug
2018-08-31 mktime, timegm: simplify glibc time64_t
2018-08-31 mktime, timegm: simplify merge to glibc
* build-aux/config.guess, build-aux/config.sub:
* lib/dtotimespec.c, lib/fcntl.c, lib/intprops.h:
* lib/limits.in.h, lib/mktime-internal.h, lib/mktime.c:
* lib/stat-time.h, lib/strtol.c, lib/timegm.c:
* lib/timespec-add.c, lib/timespec-sub.c, lib/timespec.h:
* lib/utimens.c, m4/limits-h.m4, m4/stddef_h.m4:
Copy from Gnulib.

6 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 10 Sep 2018 20:12:38 +0000 (13:12 -0700)]
Merge from origin/emacs-26

7efcdf7 (origin/emacs-26) Clarify completion text in the ELisp manual
30b0b0e Fix handling of abbreviated control command in gdb-mi.el
5cf282d Clarify documentation of functions reading character events
96281c5 Record :version for built-in variables while dumping
82160cf * src/process.c (connect_network_socket): Fix memory leak.  (...
6c616e4 * Makefile.in (appdatadir): Use the non-obsolete location "me...
9618e16 Better fix for bug#32550
30d94e4 Fix Bug#32550
57bcdc7 Don't call XGetGeometry for frames without outer X window (Bu...
82fc6b6 * lisp/calculator.el: Fix doc typo.
ddc7c64 Standardize calc bug reporting instructions

Conflicts:
lisp/cus-start.el

6 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 10 Sep 2018 20:08:50 +0000 (13:08 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

f9efbb5 ; Auto-commit of loaddefs files.

6 years ago* lisp/thread.el: Remove more useless runtime requires.
Glenn Morris [Mon, 10 Sep 2018 19:01:07 +0000 (15:01 -0400)]
* lisp/thread.el: Remove more useless runtime requires.

6 years agoRemove useless requires of subr-x at runtime
Glenn Morris [Mon, 10 Sep 2018 18:55:14 +0000 (14:55 -0400)]
Remove useless requires of subr-x at runtime

* lisp/thread.el, lisp/net/nsm.el, lisp/erc/erc.el:
Don't require subr-x at runtime.

6 years agoFix build error: use string :version in defcustom
Karl Fogel [Mon, 10 Sep 2018 17:17:06 +0000 (12:17 -0500)]
Fix build error: use string :version in defcustom

* lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Use a
  string value for the :version keyword to `defcustom'.  Otherwise,
  building Emacs will fail with an error like this:

    Scanning ./textmodes for custom
    Scanning ./url for custom
    Scanning ./vc for custom
    Generating ./cus-load.el...
    Version must be a string
    make[2]: *** [Makefile:152: cus-load.el] Error 255

This follows up to Reuben Thomas's commit 61f3a4b4fc of 10 Sep 2018.

6 years agoFix misleading name ‘double_to_bignum’
Paul Eggert [Mon, 10 Sep 2018 15:59:39 +0000 (08:59 -0700)]
Fix misleading name ‘double_to_bignum’

* src/bignum.c (double_to_integer): Rename from double_to_bignum,
since the result is not necessarily a bignum.  All uses changed.

6 years ago* src/charset.c (Fencode_char): Tweak comment.
Paul Eggert [Mon, 10 Sep 2018 15:49:04 +0000 (08:49 -0700)]
* src/charset.c (Fencode_char): Tweak comment.

6 years agoAdd flyspell option to ignore duplicates of different case
Reuben Thomas [Mon, 10 Sep 2018 14:06:02 +0000 (15:06 +0100)]
Add flyspell option to ignore duplicates of different case

* lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Add
  option.

6 years agoClarify completion text in the ELisp manual
Eli Zaretskii [Mon, 10 Sep 2018 13:20:42 +0000 (16:20 +0300)]
Clarify completion text in the ELisp manual

* doc/lispref/minibuf.texi (Programmed Completion): Clarify
text.  Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.

6 years agoFix handling of abbreviated control command in gdb-mi.el
Eli Zaretskii [Mon, 10 Sep 2018 13:11:05 +0000 (16:11 +0300)]
Fix handling of abbreviated control command in gdb-mi.el

* lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
Support unambiguous abbreviations of commands.  (Bug#32576)

6 years agoAvoid compiler warnings due to get_proc_addr
Eli Zaretskii [Mon, 10 Sep 2018 12:44:48 +0000 (15:44 +0300)]
Avoid compiler warnings due to get_proc_addr

* src/w32common.h (get_proc_addr): Add prototype, to shut up
GCC compilation warning.  Reported by Martin Rudalics
<rudalics@gmx.at>.

6 years ago* src/charset.c (Fencode_char): Explain when/why bignums are used
Stefan Monnier [Mon, 10 Sep 2018 12:11:26 +0000 (08:11 -0400)]
* src/charset.c (Fencode_char): Explain when/why bignums are used

6 years agoFix last change of 'run_window_size_change_functions'
Martin Rudalics [Mon, 10 Sep 2018 12:07:05 +0000 (14:07 +0200)]
Fix last change of 'run_window_size_change_functions'

* src/window.c (run_window_size_change_functions): Fix two
type mixups in last change.  Reported by Michael Albinus
<michael.albinus@gmx.de> on emacs-devel.

6 years agoClarify documentation of functions reading character events
Eli Zaretskii [Mon, 10 Sep 2018 09:46:22 +0000 (12:46 +0300)]
Clarify documentation of functions reading character events

* doc/lispref/help.texi (Describing Characters):
* doc/lispref/commands.texi (Keyboard Events)
(Reading One Event, Classifying Events): Make the distinction
between characters and character events more explicit.

* src/keymap.c (Ftext_char_description)
(Fsingle_key_description):
* src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
to make a clear distinction between a character input event
and a character code.  (Bug#32562)

6 years agoHandle buffer-local 'window-size-change-functions' specially (Bug#32637)
Martin Rudalics [Mon, 10 Sep 2018 08:05:20 +0000 (10:05 +0200)]
Handle buffer-local 'window-size-change-functions' specially (Bug#32637)

* src/window.c (run_window_size_change_functions): Run a
buffer-local value once per each frame and only if at least
one window showing the buffer on that frame has changed its
size.  (Bug#32637)
* doc/lispref/windows.texi (Window Hooks): Describe new
behavior of buffer-local 'window-size-change-functions'.

6 years agoMerge branch 'scratch/list-threads'
Gemini Lasswell [Sun, 9 Sep 2018 15:19:54 +0000 (08:19 -0700)]
Merge branch 'scratch/list-threads'

6 years agoUse thread-live-p instead of obsolete thread-alive-p
Gemini Lasswell [Sat, 8 Sep 2018 00:41:24 +0000 (17:41 -0700)]
Use thread-live-p instead of obsolete thread-alive-p

* lisp/thread.el (thread-list--get-status)
(thread-list--send-signal, thread-list-pop-to-backtrace)
(thread-list-backtrace--revert-hook-function)
(thread-list-backtrace--insert-header): Use thread-live-p instead of
thread-alive-p.

6 years agoImprove documentation of thread list buffer
Gemini Lasswell [Wed, 5 Sep 2018 23:55:45 +0000 (16:55 -0700)]
Improve documentation of thread list buffer

* doc/lispref/threads.texi (The Thread List): Cross-reference
'Basic Thread Functions'.  Use defvar for thread-list-refresh-seconds.
Improve descriptions of the backtrace and signal commands.

6 years agoAdd tests for list-threads and the *Threads* buffer
Gemini Lasswell [Sun, 12 Aug 2018 02:19:23 +0000 (19:19 -0700)]
Add tests for list-threads and the *Threads* buffer

* test/lisp/thread-tests.el: New file.

6 years agoAdd check in list-threads for --without-threads configuration
Gemini Lasswell [Thu, 23 Aug 2018 19:19:04 +0000 (12:19 -0700)]
Add check in list-threads for --without-threads configuration

* lisp/thread.el (list-threads): Signal an error if the Emacs configuration
doesn't have threads.

6 years agoDocument list-threads and its buffer
Gemini Lasswell [Tue, 14 Aug 2018 18:08:28 +0000 (11:08 -0700)]
Document list-threads and its buffer

* doc/lispref/threads.texi (Threads): Add menu item.
(The Thread List): New node.
* doc/lispref/elisp.texi (Top): Add menu item.

6 years agoShow backtraces of threads from thread list buffer
Gemini Lasswell [Thu, 9 Aug 2018 21:21:57 +0000 (14:21 -0700)]
Show backtraces of threads from thread list buffer

* src/eval.c (backtrace_thread_p, backtrace_thread_top)
(backtrace_thread_next, Fbacktrace_frames_from_thread): New functions.
* lisp/thread.el (thread-list-mode-map): Add keybinding and
menu item for 'thread-list-pop-to-backtrace'.
(thread-list-mode): Make "Thread Name" column wide enough
for the result of printing a thread with no name with 'prin1'.
(thread-list--get-entries): Use 'thread-list--name'.
(thread-list--send-signal): Remove unnecessary calls to 'threadp'.
(thread-list-backtrace--thread): New variable.
(thread-list-pop-to-backtrace): New command.
(thread-list-backtrace--revert-hook-function)
(thread-list--make-backtrace-frame)
(thread-list-backtrace--insert-header, thread-list--name): New
functions.

6 years agoMake small fixes to Edebug and debugger documentation
Gemini Lasswell [Tue, 14 Aug 2018 18:06:04 +0000 (11:06 -0700)]
Make small fixes to Edebug and debugger documentation

* doc/lispref/elisp.texi (Top): Update menu.
* doc/lispref/edebug.texi (Edebug Misc): Index
edebug-backtrace-show-instrumentation and
edebug-backtrace-hide-instrumentation.

6 years agoMake list-threads refresh the *Threads* buffer if it already exists
Gemini Lasswell [Mon, 13 Aug 2018 22:45:11 +0000 (15:45 -0700)]
Make list-threads refresh the *Threads* buffer if it already exists

* lisp/thread.el (list-threads): Call revert-buffer instead of waiting
for the timer function to do it.

6 years agoImprove docstrings of thread-list functions
Gemini Lasswell [Wed, 1 Aug 2018 16:25:28 +0000 (09:25 -0700)]
Improve docstrings of thread-list functions

* lisp/thread.el (thread-list--timer-func): Change
argument from 'buf' to 'buffer'.
(thread-list--get-entries, thread-list--get-status): Improve
docstring.
(thread-list--send-signal): Change argument from 'sgnl' to
'signal'.  Tell the user when the thread is no longer alive.

6 years agoMake lisp/thread.el the new home for thread-related Lisp functions
Gemini Lasswell [Wed, 1 Aug 2018 16:22:32 +0000 (09:22 -0700)]
Make lisp/thread.el the new home for thread-related Lisp functions

* lisp/emacs-lisp/thread-list.el: Remove.
* lisp/emacs-lisp/thread.el: Remove.
* lisp/thread.el: New file.

6 years agoAdd list-threads command and thread-list-mode
Gemini Lasswell [Sat, 28 Jul 2018 22:18:49 +0000 (15:18 -0700)]
Add list-threads command and thread-list-mode

* lisp/emacs-lisp/thread-list.el: New file.

6 years agoFix documentation for conversion to bignums
Eli Zaretskii [Sat, 8 Sep 2018 09:20:55 +0000 (12:20 +0300)]
Fix documentation for conversion to bignums

* src/xselect.c (selection_data_to_lisp_data):
* src/w32fns.c (Fw32_read_registry):
* src/process.c (Fprocess_id):
* src/font.c (Ffont_variation_glyphs, Finternal_char_font):
* src/fns.c (Fsafe_length):
* src/editfns.c (Fuser_uid, Fuser_real_uid, Fgroup_gid)
(Fgroup_real_gid, Femacs_pid):
* src/dired.c (Ffile_attributes):
* src/charset.c (Fencode_char): Update commentary and doc
strings for recent changes that produce bignums where
previously cons cells of integers were produced.

6 years ago* src/puresize.h (BASE_PURESIZE): Bump to 2000000.
Paul Eggert [Fri, 7 Sep 2018 18:16:45 +0000 (11:16 -0700)]
* src/puresize.h (BASE_PURESIZE): Bump to 2000000.

Needed on Fedora 28 x86.

6 years agoOne more GC-aligned struct
Paul Eggert [Fri, 7 Sep 2018 16:50:19 +0000 (09:50 -0700)]
One more GC-aligned struct

* src/lisp.h (struct Lisp_Sub_Char_Table):
Mark this with GCALIGNED_STRUCT, too.

6 years agoFix overenthusiastic header size check
Paul Eggert [Fri, 7 Sep 2018 16:17:25 +0000 (09:17 -0700)]
Fix overenthusiastic header size check

Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-09/msg00222.html
* doc/lispref/internals.texi (Garbage Collection):
Document vector sizes and slot counts more accurately.
* src/lisp.h: Omit header_size sanity check that was too picky.
Add some less-picky checks.

6 years agoRead Windows OS info for report-emacs-bug from Registry
Eli Zaretskii [Fri, 7 Sep 2018 14:41:21 +0000 (17:41 +0300)]
Read Windows OS info for report-emacs-bug from Registry

* lisp/w32-fns.el (w32--os-description): New function.
* lisp/mail/emacsbug.el (report-emacs-bug--os-description):
Use 'w32--os-description' instead of launching the
'systeminfo' program, which can be very slow, and is also
missing on versions of Windows before XP Professional.

6 years agoRecord :version for built-in variables while dumping
Eli Zaretskii [Fri, 7 Sep 2018 07:35:59 +0000 (10:35 +0300)]
Record :version for built-in variables while dumping

* lisp/cus-start.el (standard): Record the ':version; of the
symbols when dumping, so that 'describe-variable' could tell
which built-in variables were added/changed in recent
versions.

6 years agoShrink pseudovectors a bit
Paul Eggert [Fri, 7 Sep 2018 02:17:14 +0000 (19:17 -0700)]
Shrink pseudovectors a bit

sizeof (struct Lisp_Marker) was 32 on x86, where 24 would do.
Problem noted by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-09/msg00165.html
* src/bignum.h (struct Lisp_Bignum):
* src/frame.h (struct frame):
* src/lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
(struct Lisp_Char_Table, struct Lisp_Hash_Table)
(struct Lisp_Marker, struct Lisp_Overlay)
(struct Lisp_Misc_Ptr, struct Lisp_User_Ptr)
(struct Lisp_Finalizer, struct Lisp_Float)
(struct Lisp_Module_Function):
* src/process.h (struct Lisp_Process):
* src/termhooks.h (struct terminal):
* src/thread.h (struct thread_state, struct Lisp_Mutex)
(struct Lisp_CondVar):
* src/window.c (struct save_window_data):
* src/window.h (struct window):
* src/xterm.h (struct scroll_bar):
* src/xwidget.h (struct xwidget, struct xwidget_view):
Add GCALIGNED_STRUCT attribute.
* src/lisp.h (GCALIGNED_UNION_MEMBER): Renamed from GCALIGNED_UNION.
All uses changed.
(GCALIGNED_STRUCT_MEMBER, GCALIGNED_STRUCT, GCALIGNED): New macros.
All uses of open-coded GCALIGNED changed to use GCALIGNED.
(union vectorlike_header): No longer GC-aligned.
(PSEUDOVECSIZE): Yield 0 for pseudovectors without Lisp
objects that place a member before where the first Lisp object
member would be.

6 years ago* src/process.c (connect_network_socket): Fix memory leak. (Bug#32604)
YAMAMOTO Mitsuharu [Thu, 6 Sep 2018 23:35:36 +0000 (08:35 +0900)]
* src/process.c (connect_network_socket): Fix memory leak.  (Bug#32604)

6 years agoFix Bug#31704
Michael Albinus [Thu, 6 Sep 2018 10:16:00 +0000 (12:16 +0200)]
Fix Bug#31704

* lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
let `expand-file-name' prefix remote file names with MS Windows
volume letter.

* lisp/net/tramp.el (tramp-eshell-directory-change):
Use `path-separator' as it does eshell.  (Bug#31704)

6 years ago* test/lisp/autorevert-tests.el
Michael Albinus [Thu, 6 Sep 2018 08:12:02 +0000 (10:12 +0200)]
* test/lisp/autorevert-tests.el

(auto-revert-test02-auto-revert-deleted-file): Extend test.

6 years agoFix timer.el minor rounding error
Paul Eggert [Wed, 5 Sep 2018 23:19:47 +0000 (16:19 -0700)]
Fix timer.el minor rounding error

* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
Fix rounding error by using integers rather than floats.
* test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
New test.

6 years ago* Makefile.in (appdatadir): Use the non-obsolete location "metainfo".
Glenn Morris [Wed, 5 Sep 2018 20:37:56 +0000 (16:37 -0400)]
* Makefile.in (appdatadir): Use the non-obsolete location "metainfo".

; https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
; "AppStream tools scan the /usr/share/appdata/ path for legacy
; compatibility as well.  It should not be used anymore by new
; software though, even on older Linux distributions (like RHEL 7
; and Ubuntu 16.04 LTS) the metainfo path is well supported.  Support
; for the legacy path might be dropped completely in future."

6 years agoDo not call mh-next-msg from mh-junk-process-* fns
Stephen Gildea [Mon, 3 Sep 2018 00:06:29 +0000 (17:06 -0700)]
Do not call mh-next-msg from mh-junk-process-* fns

* mh-junk.el (mh-junk-process-blacklist, mh-junk-process-whitelist): Do
not call mh-next-msg.  Now that these functions are called from
mh-execute-commands, they should not change the current message pointer.
The calls to mh-next-msg are probably left over from when blacklist and
whitelist message processing was done immediately.

6 years agoImprove (round FIXNUM FIXNUM) performance
Paul Eggert [Wed, 5 Sep 2018 07:21:02 +0000 (00:21 -0700)]
Improve (round FIXNUM FIXNUM) performance

* src/floatfns.c (rounding_driver):
New arg fixnum_divide.  All callers changed.
(ceiling2, floor2, truncate2, round2): New functions.
Not that new, actually; these are essentially taken from Emacs 26.
(Fceiling, Ffloor, Fround, Ftruncate): Use them.

6 years agoFix format-time-string bignum bug
Paul Eggert [Wed, 5 Sep 2018 02:14:01 +0000 (19:14 -0700)]
Fix format-time-string bignum bug

The problem can occur on 32-bit platforms with current timestamps.
* src/editfns.c (disassemble_lisp_time, decode_time_components):
Support seconds counts that are bignums.
* test/src/editfns-tests.el (editfns-tests--have-leap-seconds):
New function.
(format-time-string-with-bignum-on-32-bit): New test.

6 years agoSimplify bignum->intmax conversion
Paul Eggert [Wed, 5 Sep 2018 02:14:01 +0000 (19:14 -0700)]
Simplify bignum->intmax conversion

* src/lisp.h (integer_to_intmax, integer_to_uintmax): New functions.
* src/data.c (cons_to_unsigned, cons_to_signed)
(arith_driver):
* src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
* src/dispnew.c (sit_for):
* src/editfns.c (styled_format):
* src/emacs-module.c (module_extract_integer):
* src/fileio.c (file_offset):
* src/font.c (font_unparse_xlfd, Fopen_font):
* src/xdisp.c (calc_line_height_property):
* src/process.c (handle_child_signal):

6 years agoAdd variable vc-git-grep-template
Federico Tedin [Sat, 1 Sep 2018 21:46:16 +0000 (18:46 -0300)]
Add variable vc-git-grep-template

* lisp/vc/vc-git.el (vc-git-grep-template): New variable, allows
changing the default arguments passed to git-grep when using
'vc-git-grep'.
* etc/NEWS: Mention 'vc-git-grep-template'.  (Bug#32549)

6 years agoHandle non-error signals in emacsclient --eval (Bug#10989)
Noam Postavsky [Sun, 2 Sep 2018 22:56:38 +0000 (18:56 -0400)]
Handle non-error signals in emacsclient --eval (Bug#10989)

* lisp/server.el (server-process-filter): Handle any signal, not just
errors.

6 years agoAllow t as a catch-all condition-case handler (Bug#24618)
Noam Postavsky [Fri, 10 Aug 2018 01:26:30 +0000 (21:26 -0400)]
Allow t as a catch-all condition-case handler (Bug#24618)

* src/eval.c (find_handler_clause): Accept a handler of t as always
matching.
(Fcondition_case):
* doc/lispref/control.texi (Handling Errors): Document this.
* etc/NEWS: Announce it.

6 years agoFix (round FLOAT BIGNUM) bug
Paul Eggert [Tue, 4 Sep 2018 18:49:41 +0000 (11:49 -0700)]
Fix (round FLOAT BIGNUM) bug

* src/floatfns.c (rounding_driver): Fix bug when one
argument is a float and the other is a bignum.
* test/src/floatfns-tests.el (bignum-round): Test for the bug.

6 years agoTweak nthcdr for bignum efficiency
Paul Eggert [Tue, 4 Sep 2018 17:24:51 +0000 (10:24 -0700)]
Tweak nthcdr for bignum efficiency

* src/fns.c (Fnthcdr): Use mpz_tdiv_ui and mpz_tdiv_r
instead of mpz_mod_ui and mpz_mod, as they are more efficient.
Suggested by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2018-09/msg00073.html

6 years agoFix bignum initialization
Paul Eggert [Tue, 4 Sep 2018 16:30:57 +0000 (09:30 -0700)]
Fix bignum initialization

Problem reported by Andy Moreton in:
https://lists.gnu.org/r/emacs-devel/2018-09/msg00072.html
and crystal-ball diagnosis by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-09/msg00075.html
* src/alloc.c (xrealloc_for_gmp, xfree_for_gmp): Move to bignum.c.
(init_alloc): Move bignum initialization to init_bignum.
* src/bignum.c (init_bignum): Rename from init_bignum_once.
All users changed.
* src/emacs.c (main): Call init_bignum after init_alloc,
instead of calling init_bignum_once after init_bignum.

6 years agoBetter fix for bug#32550
Stefan Monnier [Tue, 4 Sep 2018 16:03:52 +0000 (12:03 -0400)]
Better fix for bug#32550

* lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.

* lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
(tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
last change.

6 years agoFix Bug#32550
Michael Albinus [Tue, 4 Sep 2018 09:59:39 +0000 (11:59 +0200)]
Fix Bug#32550

* lisp/net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not
use `symbol-value'.
(tramp-rfn-eshadow-update-overlay): Do not use `symbol-value'.  Do
not let-bind `rfn-eshadow-overlay', assign it directly (due to
lexical binding).  (Bug#32550)

6 years agoDon't call XGetGeometry for frames without outer X window (Bug#32615)
Martin Rudalics [Tue, 4 Sep 2018 06:53:49 +0000 (08:53 +0200)]
Don't call XGetGeometry for frames without outer X window (Bug#32615)

* src/xfns.c (frame_geometry): Don't call XGetGeometry when
FRAME has no outer X window; return nil instead.  (Bug#32615)

6 years agoSpeed up (+ 2 2) by a factor of 10
Paul Eggert [Tue, 4 Sep 2018 01:37:40 +0000 (18:37 -0700)]
Speed up (+ 2 2) by a factor of 10

Improve arithmetic performance by avoiding bignums until needed.
Also, simplify bignum memory management, fixing some unlikely leaks.
This patch improved the performance of (+ 2 2) by a factor of ten
on a simple microbenchmark computing (+ x 2), byte-compiled,
with x a local variable initialized to 2 via means the byte
compiler could not predict: performance improved from 135 to 13 ns.
The platform was Fedora 28 x86-64, AMD Phenom II X4 910e.
Performance also improved 0.6% on ‘make compile-always’.
* src/bignum.c (init_bignum_once): New function.
* src/emacs.c (main): Use it.
* src/bignum.c (mpz): New global var.
(make_integer_mpz): Rename from make_integer.  All uses changed.
* src/bignum.c (double_to_bignum, make_bignum_bits)
(make_bignum, make_bigint, make_biguint, make_integer_mpz):
* src/data.c (bignum_arith_driver, Frem, Flogcount, Fash)
(expt_integer, Fadd1, Fsub1, Flognot):
* src/floatfns.c (Fabs, rounding_driver, rounddiv_q):
* src/fns.c (Fnthcdr):
Use mpz rather than mpz_initting and mpz_clearing private
temporaries.
* src/bignum.h (bignum_integer): New function.
* src/data.c (Frem, Fmod, Fash, expt_integer):
* src/floatfns.c (rounding_driver):
Use it to simplify code.
* src/data.c (FIXNUMS_FIT_IN_LONG, free_mpz_value):
Remove.  All uses removed.
(floating_point_op): New function.
(floatop_arith_driver): New function, with much of the guts
of the old float_arith_driver.
(float_arith_driver): Use it.
(floatop_arith_driver, arith_driver):
Simplify by assuming NARGS is at least 2.
All callers changed.
(float_arith_driver):
New arg, containing the partly converted value of the next arg.
Reorder args for consistency.  All uses changed.
(bignum_arith_driver): New function.
(arith_driver): Use it.  Do fixnum-only integer calculations
in intmax_t instead of mpz_t, when they fit.
Break out mpz_t calculations into bignum_arith_driver.
(Fquo): Use floatop_arith_driver instead of float_arith_driver,
since the op is known to be valid.
(Flogcount, Fash): Simplify by coalescing bignum and fixnum code.
(Fadd1, Fsub1): Simplify by using make_int.

6 years agoMake todo-show work when adding and deleting a new todo file
Stephen Berman [Mon, 3 Sep 2018 20:40:24 +0000 (22:40 +0200)]
Make todo-show work when adding and deleting a new todo file

* lisp/calendar/todo-mode.el (todo-add-file): Since
todo-current-todo-file must be set before calling todo-show, but
the buffer is not yet in todo-mode, which makes it buffer local,
explicitly set it buffer locally (bug#32627).

* test/lisp/calendar/todo-mode-tests.el (todo-test--add-file)
(todo-test--delete-file): New functions.
(todo-test-add-and-delete-file): New test.

6 years ago* lisp/calculator.el: Fix doc typo.
Paul Eggert [Mon, 3 Sep 2018 19:57:10 +0000 (12:57 -0700)]
* lisp/calculator.el: Fix doc typo.

6 years agoStandardize calc bug reporting instructions
Glenn Morris [Mon, 3 Sep 2018 17:28:07 +0000 (10:28 -0700)]
Standardize calc bug reporting instructions

* doc/misc/calc.texi (Reporting Bugs): Use standard commands.
* lisp/calc/calc-misc.el (report-calc-bug, calc-report-bug):
* lisp/calc/calc.el (calc-bug-address): Change to be
obsolete aliases for standard Emacs bug reporting items.

6 years ago* src/lisp.h: Add explanation in a comment
Stefan Monnier [Sat, 1 Sep 2018 22:51:26 +0000 (18:51 -0400)]
* src/lisp.h: Add explanation in a comment

6 years ago; Auto-commit of loaddefs files.
Glenn Morris [Sat, 1 Sep 2018 11:22:46 +0000 (07:22 -0400)]
; Auto-commit of loaddefs files.

6 years ago* src/process.c (send_process): Fix typo in commentary.
Charles A. Roelli [Sat, 1 Sep 2018 11:00:28 +0000 (13:00 +0200)]
* src/process.c (send_process): Fix typo in commentary.

6 years ago; Auto-commit of loaddefs files.
Glenn Morris [Sat, 1 Sep 2018 10:23:14 +0000 (06:23 -0400)]
; Auto-commit of loaddefs files.

6 years agoRename Emacs-specific INFINITY constants
Paul Eggert [Fri, 31 Aug 2018 16:13:31 +0000 (09:13 -0700)]
Rename Emacs-specific INFINITY constants

Although these constants were not erroneous, as they were
used only in modules that did not include <math.h>, it's
less confusing to names that cannot be confused with
the now-standard INFINITY macro.
* src/dispextern.h (SCROLL_INFINITY): New constant.
* src/dispnew.c, src/scroll.c (INFINITY):
Remove.  All uses replaced with SCROLL_INFINITY.
* src/process.c (wait_reading_process_output):
Rename private constant.

6 years agoPort better to non-IEEE platforms
Paul Eggert [Fri, 31 Aug 2018 15:50:45 +0000 (08:50 -0700)]
Port better to non-IEEE platforms

* src/lread.c (string_to_number) [!IEEE_FLOATING_POINT]:
Do not use the INFINITY macro, since the C standard requires
it to provoke a compile-time error on platforms that do not
support infinities.

6 years agoMark thread-alive-p as obsolete
Michael Albinus [Fri, 31 Aug 2018 09:45:37 +0000 (11:45 +0200)]
Mark thread-alive-p as obsolete

* etc/NEWS (thread-alive-p):
* lisp/emacs-lisp/thread.el (thread-alive-p): Mark it as obsolete.

* test/src/thread-tests.el (threads-join-error)
(threads-signal-main-thread): Use `thread-live-p'.

6 years agoMerge from origin/emacs-26
Michael Albinus [Fri, 31 Aug 2018 09:15:48 +0000 (11:15 +0200)]
Merge from origin/emacs-26

ac7936cb8f Rename thread-alive-p to thread-live-p
3d09d533d1 rcirc: Document /reconnect as a built-in command (Bug#29656)
a1e615618d * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.

6 years agoRename thread-alive-p to thread-live-p
Michael Albinus [Fri, 31 Aug 2018 08:47:03 +0000 (10:47 +0200)]
Rename thread-alive-p to thread-live-p

* doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.

* etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.

* src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
all callees.
(Fthread_live_p): Rename from Fthread_alive_p.
(syms_of_threads): Make thread-alive-p an alias of thread-live-p.

* test/src/thread-tests.el (all): Replace `thread-alive-p' by
`thread-live-p'.
(threads-live): Rename from `threads-alive'.

6 years agoSeveral fixes for formatting bignums
Paul Eggert [Fri, 31 Aug 2018 07:25:07 +0000 (00:25 -0700)]
Several fixes for formatting bignums

* src/bignum.c: Include stdlib.h, for abs.
(bignum_bufsize, bignum_to_c_string): New functions.
* src/bignum.c (bignum_to_string):
* src/print.c (print_vectorlike): Use them.
* src/editfns.c (styled_format): Instead of having a separate
buffer for sprintf (which does not work for bignums), just append
to the main buffer.  When formatting bignums, add support for the
standard integer flags -, #, 0, + and space.  Fix some comments.
Capitalize properly when formatting bignums with %X.  Use
functions like c_isdigit rather than reinventing the wheel.
Simplify computation of excess precision.
* src/print.c: Do not include bignum.h; no longer needed.
(print_vectorlike): Avoid recalculating string length.
* test/src/editfns-tests.el (format-bignum):
Test some of the above fixes.

6 years ago* src/alloc.c (sweep_vectors): Simplify.
Paul Eggert [Fri, 31 Aug 2018 07:22:15 +0000 (00:22 -0700)]
* src/alloc.c (sweep_vectors): Simplify.

6 years agoConstruct a thread_event only if THREADS_ENABLED
Michael Albinus [Fri, 31 Aug 2018 07:04:13 +0000 (09:04 +0200)]
Construct a thread_event only if THREADS_ENABLED

* src/thread.c (Fthread_signal): Construct a thread_event only if
THREADS_ENABLED.

6 years agoFix bignum FIXME in emacs-module.c
Paul Eggert [Fri, 31 Aug 2018 01:10:18 +0000 (18:10 -0700)]
Fix bignum FIXME in emacs-module.c

* src/emacs-module.c: Do not include bignum.h; no longer needed.
(module_extract_integer): Use bignum_to_intmax to avoid
incorrectly signaling overflow on platforms where intmax_t
is wider than long int.

6 years ago* lisp/vc/vc.el (vc-log-internal-common): Reuse the buffer object.
Juri Linkov [Thu, 30 Aug 2018 22:20:14 +0000 (01:20 +0300)]
* lisp/vc/vc.el (vc-log-internal-common): Reuse the buffer object.

(Bug#32475)

6 years ago* lisp/gnus/mm-view.el (mm-display-inline-fontify): Carry diff-mode overlays
Juri Linkov [Thu, 30 Aug 2018 22:15:56 +0000 (01:15 +0300)]
* lisp/gnus/mm-view.el (mm-display-inline-fontify): Carry diff-mode overlays

to inline MIME attachments from the temp buffer along with text properties.
(Bug#32474)

6 years agoFix off-by-1 typo in recent bignum changes
Paul Eggert [Thu, 30 Aug 2018 21:28:19 +0000 (14:28 -0700)]
Fix off-by-1 typo in recent bignum changes

Problem reported by Yuri D’Elia in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00977.html
and crucial clue provided by Michael Heerdegen in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg01043.html
* src/font.c (font_unparse_xlfd): Fix off-by-1 typo.

6 years agoHandle thread-signal towards the main thread (Bug#32502)
Michael Albinus [Thu, 30 Aug 2018 19:29:04 +0000 (21:29 +0200)]
Handle thread-signal towards the main thread  (Bug#32502)

* doc/lispref/threads.texi (Basic Thread Functions):
* etc/NEWS: Document thread-signal towards the main thread.

* lisp/emacs-lisp/thread.el: New package.

* src/keyboard.c (read_char): Check for Qthread_event.
(kbd_buffer_get_event, make_lispy_event): Handle THREAD_EVENT.
(syms_of_keyboard): Declare Qthread_event.
(keys_of_keyboard): Add thread-handle-event to special-event-map.

* src/termhooks.h (enum event_kind): Add THREAD_EVENT.

* src/thread.c: Include "keyboard.h".
(poll_suppress_count) Don't declare extern.
(Fthread_signal): Raise event if THREAD is the main thread.  (Bug#32502)

* test/src/thread-tests.el (thread): Require it.
(threads-signal-main-thread): New test.

6 years ago* configure.ac: Fix goofs in my recent ImageMagick change.
Glenn Morris [Thu, 30 Aug 2018 17:56:08 +0000 (13:56 -0400)]
* configure.ac: Fix goofs in my recent ImageMagick change.

6 years agoPacify -Wdouble-promotion in ImageMagick code
Paul Eggert [Thu, 30 Aug 2018 17:03:43 +0000 (10:03 -0700)]
Pacify -Wdouble-promotion in ImageMagick code

* src/image.c (imagemagick_load_image): Use double division, and
eliminate a cast.  This avoids a -Wdouble-promotion warning with
GCC 7.3 on Ubuntu 18.04.

6 years agorcirc: Document /reconnect as a built-in command (Bug#29656)
Miciah Masters [Mon, 11 Dec 2017 00:56:48 +0000 (19:56 -0500)]
rcirc: Document /reconnect as a built-in command (Bug#29656)

The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped
in Emacs 25.1) added a /reconnect command to rcirc but did not
document it and did not delete the example /reconnect command
definition in the manual.
* doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect
command.
(Hacking and Tweaking): Delete example reconnect command.

Copyright-paperwork-exempt: yes

6 years ago* test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
Noam Postavsky [Thu, 30 Aug 2018 02:47:00 +0000 (22:47 -0400)]
* test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.

6 years agoMerge from origin/emacs-26
Glenn Morris [Wed, 29 Aug 2018 15:24:03 +0000 (08:24 -0700)]
Merge from origin/emacs-26

2670cbf (origin/emacs-26) ; * configure.ac: Remove outdated comment (...
3b71bef admin.el: respect environment settings for makeinfo etc
3764ab4 * etc/PROBLEMS: New entry about GTK+ 3 crash with some X serv...
9d61344 Index profiler commands in elisp manual
f088817 Fix math-imaginary-i check
fca935e ; Let pre-commit git hook check merged in changes (Bug#29197)
fe06fcc Avoid infinite hscrolling loops when line numbers are displayed
63e59c8 Avoid crashes in malformed defvar
785682c * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
2695b7e * configure.ac: Doc fixes related to --with-xim.
d0d162c Small checkdoc quoting fix (bug#32546)

Conflicts:
configure.ac

6 years ago* src/keymap.c: Make better use of access_keymap's functionality
Stefan Monnier [Wed, 29 Aug 2018 14:43:41 +0000 (10:43 -0400)]
* src/keymap.c: Make better use of access_keymap's functionality

(Flookup_key): Allow `keymap' to be a list of keymaps.
(Fcommand_remapping, Fkey_binding): Simplify accordingly.
(shadow_lookup, describe_map_tree): Simplify.

6 years agoImprove tramp-convert-file-attributes backward compatibility
Michael Albinus [Wed, 29 Aug 2018 08:05:34 +0000 (10:05 +0200)]
Improve tramp-convert-file-attributes backward compatibility

* lisp/net/tramp-sh.el (tramp-convert-file-attributes):
Use `seconds-to-time' for {access, modification, status change}
time.  Simplify check for inode.

* test/lisp/net/tramp-tests.el (tramp-test22-file-times):
Use `seconds-to-time'.

6 years ago* lisp/mail/emacsbug.el (report-emacs-bug--os-description): Add BSD.
Glenn Morris [Wed, 29 Aug 2018 01:22:37 +0000 (21:22 -0400)]
* lisp/mail/emacsbug.el (report-emacs-bug--os-description): Add BSD.

6 years ago; * configure.ac: Remove outdated comment (it was about CRT_DIR).
Glenn Morris [Wed, 29 Aug 2018 01:03:12 +0000 (21:03 -0400)]
; * configure.ac: Remove outdated comment (it was about CRT_DIR).

6 years ago* lisp/mail/emacsbug.el (report-emacs-bug--os-description):
Glenn Morris [Wed, 29 Aug 2018 00:35:09 +0000 (20:35 -0400)]
* lisp/mail/emacsbug.el (report-emacs-bug--os-description):
Add MS Windows.

6 years agoadmin.el: respect environment settings for makeinfo etc
Glenn Morris [Tue, 28 Aug 2018 20:34:25 +0000 (16:34 -0400)]
admin.el: respect environment settings for makeinfo etc

* admin/admin.el (manual-makeinfo, manual-texi2pdf, manual-texi2dvi):
New variables.
(manual-html-mono, manual-html-node, manual-pdf, manual-ps): Use them.

6 years ago* etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.
Glenn Morris [Tue, 28 Aug 2018 20:05:04 +0000 (16:05 -0400)]
* etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.

6 years agoImprove (format "%g" bignum) precision
Paul Eggert [Tue, 28 Aug 2018 18:59:21 +0000 (11:59 -0700)]
Improve (format "%g" bignum) precision

* src/editfns.c (styled_format): When formatting bignums with
floating-point conversions like %g, use long double if that
would lose less information than double, which is what the
code was already doing for fixnums.  On Fedora 28 x86-64, for
example, (format "%.100g" (1- (ash 1 64))) now yields
"18446744073709551615" instead of the numerically incorrect
"18446744073709549568".  Also, fix a stray INTEGERP that
can just be FIXNUMP, since bignums are not possible there.

6 years agoFix Fnatnump typos
Paul Eggert [Tue, 28 Aug 2018 16:51:49 +0000 (09:51 -0700)]
Fix Fnatnump typos

Problem reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00946.html
* src/floatfns.c (Fexpt):
* src/xselect.c (cons_to_x_long):
Don't assume Lisp_Object values are scalars.

6 years agoFix a recent change
Eli Zaretskii [Tue, 28 Aug 2018 16:36:02 +0000 (19:36 +0300)]
Fix a recent change

* src/dispnew.c (sit_for): Don;t treat nil as zero.  Reported
by Glenn Morris <rgm@gnu.org>.

6 years agoAdd bignum support in Tramp
Michael Albinus [Tue, 28 Aug 2018 14:27:02 +0000 (16:27 +0200)]
Add bignum support in Tramp

* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat)
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-file-system-info):
* lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): Do
not add "e0" to integers.

* lisp/net/tramp-sh.el (tramp-perl-file-attributes)
(tramp-convert-file-attributes): Do not use a consp for the inode
if there is bignum support.

6 years agoIndex profiler commands in elisp manual
Noam Postavsky [Tue, 28 Aug 2018 11:49:49 +0000 (07:49 -0400)]
Index profiler commands in elisp manual

* doc/lispref/debugging.texi (Profiling): Add index entries for
profiler-start, profiler-report, profiler-stop.

6 years agoFix math-imaginary-i check
Noam Postavsky [Wed, 15 Aug 2018 03:26:50 +0000 (23:26 -0400)]
Fix math-imaginary-i check

Reported by Bastian Erdnüß at
<https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00300.html>.
* lisp/calc/calc-cplx.el (math-imaginary-i): Check for a value
of (polar 1 <quarter-circle>).

6 years ago; Let pre-commit git hook check merged in changes (Bug#29197)
Noam Postavsky [Thu, 15 Feb 2018 00:58:07 +0000 (19:58 -0500)]
; Let pre-commit git hook check merged in changes (Bug#29197)

* build-aux/git-hooks/pre-commit: If GIT_MERGE_CHECK_OTHER is 'true',
check changes against the merge target, rather than the current
branch.  Include file name when giving error message about
non-standard characters.

6 years agoAvoid infinite hscrolling loops when line numbers are displayed
Eli Zaretskii [Tue, 28 Aug 2018 11:11:12 +0000 (14:11 +0300)]
Avoid infinite hscrolling loops when line numbers are displayed

* src/xdisp.c (maybe_produce_line_number): Don't produce line
numbers if we don't have enough screen estate.  (Bug#32351)

6 years agoAvoid crashes in malformed defvar
Eli Zaretskii [Tue, 28 Aug 2018 07:20:46 +0000 (10:20 +0300)]
Avoid crashes in malformed defvar

* src/eval.c (Fdefvar): Don't call XSYMBOL on something that
might not be a symbol.  This avoids crashes due to malformed
'defvar' forms.  (Bug#32552)

6 years agoImprove bignum support for system types
Paul Eggert [Tue, 28 Aug 2018 04:27:50 +0000 (21:27 -0700)]
Improve bignum support for system types

Use bignums when Emacs converts to and from system types like
off_t for file sizes whose values can exceed fixnum range.
Formerly, Emacs sometimes generted floats and sometimes ad-hoc
conses of integers.  Emacs still accepts floats and conses for
these system types, in case some stray Lisp code is generating
them, though this usage is obsolescent.
* doc/lispref/files.texi (File Attributes):
* doc/lispref/hash.texi (Defining Hash):
* doc/lispref/nonascii.texi (Character Sets):
* doc/lispref/os.texi (User Identification):
* doc/lispref/processes.texi (System Processes):
* etc/NEWS:
Document changes.
* src/bignum.c (mpz_set_uintmax, make_biguint)
(mpz_set_uintmax_slow, bignum_to_intmax, bignum_to_uintmax):
New functions.
(mpz_set_intmax_slow): Implement via mpz_limbs_write,
to avoid the need for an extra pass through a negative number.
* src/charset.c (Fencode_char):
* src/composite.h (LGLYPH_SET_CODE):
* src/dired.c (file_attributes):
* src/dosfns.c, src/w32.c (list_system_processes)
(system_process_attributes):
* src/editfns.c (init_editfns, Fuser_uid, Fuser_real_uid)
(Fgroup_gid, Fgroup_real_gid, Femacs_pid):
* src/emacs-module.c (check_vec_index):
* src/fns.c (Fsafe_length):
* src/process.c (record_deleted_pid, Fprocess_id):
* src/sysdep.c (list_system_processes, system_process_attributes):
* src/xselect.c (x_own_selection, selection_data_to_lisp_data):
* src/xterm.c (set_wm_state):
* src/inotify.c (inotifyevent_to_event, add_watch)
(inotify_callback):
If an integer is out of fixnum range, use a bignum
instead of converting it to a float or a cons of integers.
* src/coding.c (Fdefine_coding_system_internal):
* src/frame.c (frame_windows_min_size)
(x_set_frame_parameters):
* src/fringe.c (Fdefine_fringe_bitmap):
* src/nsterm.m (mouseDown:):
* src/syntax.c (find_defun_start):
* src/w32fns.c (x_set_undecorated, w32_createwindow)
(w32_wnd_proc, Fx_create_frame, Fx_show_tip)
(w32_console_toggle_lock_key):
* src/w32inevt.c (key_event):
* src/w32proc.c (Fw32_get_locale_info):
Do not mishandle floats by treating their addresses as their
values.
* src/data.c (store_symval_forwarding):
* src/gnutls.c (Fgnutls_error_fatalp, Fgnutls_error_string):
* src/keyboard.c (command_loop_1, make_lispy_event):
* src/lread.c (read_filtered_event, read1)
(substitute_object_recurse):
* src/window.c (Fcoordinates_in_window_p, Fwindow_at)
(window_resize_apply, Fset_window_vscroll):
* src/xdisp.c (handle_single_display_spec, try_scrolling)
(redisplay_window, calc_pixel_width_or_height)
(calc_line_height_property, on_hot_spot_p):
* src/xfaces.c (check_lface_attrs):
* src/xselect.c (x_get_local_selection, cons_to_x_long)
(lisp_data_to_selection_data, clean_local_selection_data)
(x_check_property_data, x_fill_property_data):
(x_send_client_event):
Do not reject bignums.
* src/data.c (INTBIG_TO_LISP, intbig_to_lisp)
(uintbig_to_lisp):
Remove.  All uses removed.
* src/data.c (cons_to_unsigned, cons_to_signed):
* src/dbusbind.c (xd_signature, xd_extract_signed)
(xd_extract_unsigned):
* src/dispnew.c (sit_for):
* src/dosfns.c, src/w32.c (system_process_attributes):
* src/editfns.c (Fuser_full_name):
* src/fileio.c (file_offset):
* src/fileio.c (write_region):
* src/font.c (font_unparse_xlfd, font_open_for_lface, Fopen_font):
* src/frame.c (x_set_screen_gamma):
* src/frame.h (NUMVAL, FRAME_PIXEL_X_FROM_CANON_X)
(FRAME_PIXEL_Y_FROM_CANON_Y):
* src/image.c (parse_image_spec, x_edge_detection)
(compute_image_size):
* src/json.c (json_to_lisp):
* src/lcms.c (PARSE_LAB_LIST_FIELD, Flcms_cie_de2000)
(PARSE_XYZ_LIST_FIELD, PARSE_JCH_LIST_FIELD)
(PARSE_JAB_LIST_FIELD, PARSE_VIEW_CONDITION_FLOAT)
(Flcms_temp_to_white_point):
* src/nsimage.m (ns_load_image, setSizeFromSpec):
* src/process.c (Fsignal_process, handle_child_signal):
* src/sysdep.c (system_process_attributes):
* src/xdisp.c (calc_line_height_property):
Handle bignums.
* src/data.c (Fnumber_to_string): Use proper predicate name in
signal if the argument is not a number.
* src/lisp.h (make_uint): New function.
(INT_TO_INTEGER): New macro.
(FIXED_OR_FLOATP, CHECK_FIXNUM_OR_FLOAT)
(CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER, INTEGER_TO_CONS)
(make_fixnum_or_float): Remove; no longer used.
* src/nsfns.m, src/w32fns.c, src/xfns.c (Fx_create_frame):
Reject floating-point min-width or min-height.
* src/process.c (handle_child_signal): Do not worry
about floating-point pids, as they are no longer generated.

6 years agoModularize bignums better
Paul Eggert [Tue, 28 Aug 2018 04:27:50 +0000 (21:27 -0700)]
Modularize bignums better

* src/bignum.c, src/bignum.h: New files.  Only modules that
need to know how bignums are implemented should include
bignum.h.  Currently these are alloc.c, bignum.c (of course),
data.c, emacs.c, emacs-module.c, floatfns.c, fns.c, print.c.
* src/Makefile.in (base_obj): Add bignum.o.
* src/alloc.c (make_bignum_str): Move to bignum.c.
(make_number): Remove; replaced by bignum.c’s make_integer.
All callers changed.
* src/conf_post.h (ARG_NONNULL): New macro.
* src/json.c (json_to_lisp): Use it.
* src/data.c (Fnatnump):
Move NATNUMP’s implementation here from lisp.h.
* src/data.c (Fnumber_to_string):
* src/editfns.c (styled_format):
Move conversion of string to bignum to bignum_to_string, and
call it here.
* src/emacs-module.c (module_make_integer):
* src/floatfns.c (Fabs):
Simplify by using make_int.
* src/emacs.c: Include bignum.h, to expand its inline fns.
* src/floatfns.c (Ffloat): Simplify by using XFLOATINT.
(rounding_driver): Simplify by using double_to_bignum.
(rounddiv_q): Clarify use of temporaries.
* src/lisp.h: Move decls that need to know bignum internals to
bignum.h.  Do not include gmp.h or mini-gmp.h; that is now
bignum.h’s job.
(GMP_NUM_BITS, struct Lisp_Bignum, XBIGNUM, mpz_set_intmax):
Move to bignum.h.
(make_int): New function.
(NATNUMP): Remove; all callers changed to use Fnatnump.
(XFLOATINT): If arg is a bignum, use bignum_to_double, so that
bignum internals are not exposed here.
* src/print.c (print_vectorlike): Use SAFE_ALLOCA to avoid the
need for a record_unwind_protect_ptr.

6 years ago* configure.ac, src/image.c: Tweak previous ImageMagick change.
Glenn Morris [Tue, 28 Aug 2018 02:03:25 +0000 (22:03 -0400)]
* configure.ac, src/image.c: Tweak previous ImageMagick change.