]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years ago* lisp/mail/feedmail.el: Use lexical-binding
Stefan Monnier [Fri, 14 Sep 2018 15:05:33 +0000 (11:05 -0400)]
* lisp/mail/feedmail.el: Use lexical-binding

(feedmail-queue-buffer-file-name): Improve advising example.
(feedmail-vm-mail-mode): Improve auto-mode-alist example.
(feedmail-queue-runner-prompt): Remove unused function.

6 years ago* lisp/progmodes/js.el (js--fill-c-advice): New function
Stefan Monnier [Fri, 14 Sep 2018 14:23:39 +0000 (10:23 -0400)]
* lisp/progmodes/js.el (js--fill-c-advice): New function

(c-forward-sws, c-backward-sws, c-beginning-of-macro): Use it.
(js-fill-paragraph): Rename from js-c-fill-paragraph.

6 years ago; Instrument autorevert-tests.el
Michael Albinus [Fri, 14 Sep 2018 08:03:27 +0000 (10:03 +0200)]
; Instrument autorevert-tests.el

6 years agoSimplify use of timestamps
Paul Eggert [Fri, 14 Sep 2018 00:31:58 +0000 (17:31 -0700)]
Simplify use of timestamps

* lisp/calendar/icalendar.el (icalendar--create-uid):
* lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
Simplify by using format-time-string.
* lisp/gnus/nnmaildir.el (nnmaildir--scan):
Simplify by using float-time and time-less-p.

6 years agoFix (floor 54043195528445955 3.0) bug
Paul Eggert [Thu, 13 Sep 2018 21:28:56 +0000 (14:28 -0700)]
Fix (floor 54043195528445955 3.0) bug

* src/floatfns.c (rounding_driver): Fix rounding error
that can occur when both args have values exactly
representable as integers but at least one arg is a float.
* test/src/floatfns-tests.el (big-round): New test.

6 years agoFix wdired handling of symlinks when restoring filename property
Stephen Berman [Thu, 13 Sep 2018 20:19:22 +0000 (22:19 +0200)]
Fix wdired handling of symlinks when restoring filename property

* lisp/wdired.el (wdired--restore-dired-filename-prop): Use
dired-permission-flags-regexp instead of dired-filename to test
whether the file is a symlink, since calling file-symlink-p on the
latter may fail in wdired-mode (bug#32673).

6 years ago(viper-read-key, viper-read-key-sequence): Remove
Stefan Monnier [Thu, 13 Sep 2018 01:47:39 +0000 (21:47 -0400)]
(viper-read-key, viper-read-key-sequence): Remove

Ever since the time-dependent ESC handling was moved to input-decode-map,
viper-read-key-sequence has been obsolete.  Clean up accordingly.

* lisp/emulation/viper-keym.el: Use lexical-binding.
(viper-overriding-map): Remove.

* lisp/emulation/viper-macs.el: Use lexical-binding and 'read-key'.

* lisp/emulation/viper-util.el: Use lexical-binding.
(viper-read-key, viper-read-key-sequence): Remove.

* lisp/emulation/viper.el (viper-non-hook-settings): Remove obsolete advice.

6 years agoNo need to run gnus-article-highlight (bug#32706)
Katsumi Yamaoka [Thu, 13 Sep 2018 00:02:21 +0000 (00:02 +0000)]
No need to run gnus-article-highlight (bug#32706)

* lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
No need to run gnus-article-highlight (bug#32706).

6 years ago* lisp/vc/vc-git.el (vc-git-grep): Set dir to default-directory
Juri Linkov [Wed, 12 Sep 2018 22:09:53 +0000 (01:09 +0300)]
* lisp/vc/vc-git.el (vc-git-grep): Set dir to default-directory

when it's not available (like it's implemented in lgrep/rgrep)
to prevent error in case of `C-u C-u vc-git-grep'.

6 years ago* lisp/dired-x.el (dired-jump): Support archive-subfile-mode
Juri Linkov [Wed, 12 Sep 2018 21:50:22 +0000 (00:50 +0300)]
* lisp/dired-x.el (dired-jump): Support archive-subfile-mode

exactly like tar-subfile-mode is already supported.

6 years ago* lisp/simple.el (next-error-no-select): Set display-buffer-overriding-action
Juri Linkov [Wed, 12 Sep 2018 21:47:03 +0000 (00:47 +0300)]
* lisp/simple.el (next-error-no-select): Set display-buffer-overriding-action

to display-buffer-reuse-window (bug#32607).

6 years agoDon't highlight article if gnus-visual-p is nil (bug#32706)
Katsumi Yamaoka [Wed, 12 Sep 2018 07:21:15 +0000 (07:21 +0000)]
Don't highlight article if gnus-visual-p is nil (bug#32706)

* lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
Don't highlight article if gnus-visual-p is nil (bug#32706).

6 years agoFix incorrect spelling of dabbrev-ignored-buffer-regexps in docstrings.
Filipp Gunbin [Tue, 11 Sep 2018 18:43:41 +0000 (21:43 +0300)]
Fix incorrect spelling of dabbrev-ignored-buffer-regexps in docstrings.

* lisp/dabbrev.el (dabbrev-check-all-buffers, dabbrev-expand): Fix docstrings.

6 years agoMinor rounding_driver simplification
Paul Eggert [Tue, 11 Sep 2018 18:34:05 +0000 (11:34 -0700)]
Minor rounding_driver simplification

* src/floatfns.c (rounding_driver): Omit last arg, which is
now unused.  All callers changed.

Signal overflow-error for bignum overflow

6 years agoFix (round 1e+INF) core dump
Paul Eggert [Tue, 11 Sep 2018 18:30:48 +0000 (11:30 -0700)]
Fix (round 1e+INF) core dump

* src/bignum.c (double_to_integer): Signal an error
if D cannot be converted, instead of dumping core.
* test/src/floatfns-tests.el (special-round): New test.

6 years agoUse overflow-error for bignum overflow
Paul Eggert [Tue, 11 Sep 2018 18:21:11 +0000 (11:21 -0700)]
Use overflow-error for bignum overflow

This better corresponds to what emacs-26 did in the
rare cases where it checked for integer overflow.
* src/alloc.c (range_error): Remove.
All uses changed to overflow_error.
* src/eval.c (overflow_error): New function.

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.