Noam Postavsky [Tue, 29 Nov 2016 23:52:41 +0000 (18:52 -0500)]
* lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
Glenn Morris [Tue, 29 Nov 2016 21:57:05 +0000 (16:57 -0500)]
Use archive-mode for .cbr files
* lisp/files.el (auto-mode-alist): Add cbr. (Bug#24994)
Paul Eggert [Tue, 29 Nov 2016 21:12:24 +0000 (13:12 -0800)]
Pacify Sun C 5.14
* src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
into this enum rather than into an anonymous enum. This avoids
diagnostics from Sun C 5.14 and is a bit clearer anyway.
Paul Eggert [Tue, 29 Nov 2016 17:19:42 +0000 (09:19 -0800)]
Adjust lwlib to recent config.h change
* lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
Paul Eggert [Tue, 29 Nov 2016 16:38:17 +0000 (08:38 -0800)]
* src/eval.c (clobbered_eassert): Check E's syntax.
Michael Albinus [Tue, 29 Nov 2016 14:51:38 +0000 (15:51 +0100)]
Improve user retrieval from auth-source in Tramp
* lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
Use user for auth-source request only in case it exists.
Katsumi Yamaoka [Tue, 29 Nov 2016 10:20:51 +0000 (10:20 +0000)]
shr.el: Don't render a normal table twice
* lisp/net/shr.el (shr-collect-extra-strings-in-table):
Don't render a table if it is called for the first time,
IOW, recognize it to never be invalid (bug#25051).
Dima Kogan [Wed, 14 Sep 2016 22:25:06 +0000 (15:25 -0700)]
Improve diff-mode navigation/manipulation
This is Bug #17544.
Navigation and use of diff buffers had several annoying corner cases
that this patch fixes. These corner cases were largely due to
inconsistent treatment of file headers. Say you have a diff such as
this:
--- aaa
+++ bbb
@@ -52,7 +52,7 @@
hunk1
@@ -74,7 +74,7 @@
hunk2
--- ccc
+++ ddd
@@ -608,6 +608,6 @@
hunk3
@@ -654,7 +654,7 @@
hunk4
The file headers here are the '---' and '+++' lines. With the point on
such a line, hunk operations would sometimes refer to the next hunk and
sometimes to the previous hunk. Most of the time it would be the
previous hunk, which is not what the user would expect. This patch
consistently treats such headers as the next hunk. So with this patch,
if the point is on the '--- ccc' line, the point is seen as referring to
hunk3.
Specific behaviors this fixes are:
1. It should be possible to place the point in the middle of a diff
buffer, and press M-k repeatedly to kill hunks in the order they appear
in the buffer. With the point on hunk1, M-k M-k would kill hunk1 then
hunk2. With the point on hunk3, it would kill hunk3 then hunk4; this is
fine. However, with the point on hunk2, it'd kill hunk2 then hunk1.
This is fixed by this patch.
2. Similarly, it should be possible to apply hunks in order. Previously
with the point at the start, C-c C-a would apply the hunk1, then move
the point to the first @@ header, and thus C-c C-a would try to apply
the same hunk again.
* lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
navigation logic to diff-{hunk,file}-{next,prev}.
(diff-hunk-next, diff-hunk-prev):
(diff-file-next, diff-file-prev): Better navigation logic if
skip-hunk-start is true, which happens when called interactively.
(diff-bounds-of-hunk, diff-find-source-location):
(diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
improve hunk navigation.
Noam Postavsky [Fri, 18 Nov 2016 21:26:53 +0000 (16:26 -0500)]
Upcase Path and ComSpec in process-environment
Since 2016-07-18 "Keep w32 environment settings internal only", the
upcasing of environment variables "Path" and "ComSpec" occured after
initializing process-environment. This meant that Lisp code trying to
override "PATH" environment had no effect (Bug #24956).
* src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
in Vprocess_environment.
Philipp Stephani [Tue, 22 Nov 2016 20:32:11 +0000 (21:32 +0100)]
Guard terminal parameter in XTerm mouse mode
It has been observed (in the HTerm terminal emulator) that the
event stored in the 'xterm-mouse-last-down' terminal parameter gets
overwritten during a mouse drag operation, causing Emacs to attempt to
synthesize the non-existing <drag-mouse-0> event. Copy the event into
the terminal parameter to protect against such modifications.
* lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
of input event list.
Paul Eggert [Mon, 28 Nov 2016 15:48:50 +0000 (07:48 -0800)]
Fix template for module functions
Reported by Syohei YOSHIDA (Bug#24932).
* modules/modhelp.py (TEMPLATES):
c_func’s 2nd arg is ptrdiff_t, not int.
Paul Eggert [Mon, 28 Nov 2016 07:15:12 +0000 (23:15 -0800)]
Pacify gcc -Wswitch.
* src/keyboard.c (kbd_buffer_store_buffered_event):
Move initialization into default case.
Thierry Volpiatto [Mon, 28 Nov 2016 05:55:14 +0000 (06:55 +0100)]
Reuse already existing lisp symbols for ignore_event (bug#19547).
* lisp/subr.el (while-no-input-ignore-events): Use them instead.
* src/keyboard.c (kbd_buffer_store_buffered_event):
Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
and make-frame-visible for DEICONIFY_EVENT.
(syms_of_keyboard): Remove unneeded symbols.
Thierry Volpiatto [Sun, 27 Nov 2016 08:31:58 +0000 (09:31 +0100)]
Allow configuring which event throw-on-input should ignore (bug#19547).
* src/keyboard.c (kbd_buffer_store_buffered_event):
Translate event to corresponding symbol from `while-no-input-ignore-events`
and check them with Fmemq.
(syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
and its symbols.
* lisp/subr.el (while-no-input-ignore-events): Add default values.
* doc/lispref/commands.texi (Event Input Misc):
Document while-no-input-ignore-events.
* etc/NEWS: Same.
Tino Calancha [Sun, 27 Nov 2016 03:22:25 +0000 (12:22 +0900)]
ash, lsh avoid code duplication
See discussion in:
https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00469.html
* src/data.c (ash_lsh_impl): New function.
(ash, lsh): Use it.
Simen Heggestøyl [Tue, 15 Nov 2016 19:54:55 +0000 (20:54 +0100)]
Add will change module to CSS property list
* lisp/textmodes/css-mode.el (css-property-alist)
(css-value-class-alist): Add new property and value class from CSS
Will Change Module.
Paul Eggert [Sat, 26 Nov 2016 08:19:08 +0000 (00:19 -0800)]
Don't access pointers to freed storage in regex.c
Remove __BOUNDED_POINTERS__ code, which does not work with
-fcheck-pointer-bound and which has undefined behavior anyway.
Problem found when trying to port to gcc -fcheck-pointer-bounds.
(This code was removed from glibc and gnulib regex.c many years ago.)
* src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
(EXTEND_BUFFER): Use a more-portable approach that avoids
undefined behavior due to inspecting pointers to freed storage.
Eli Zaretskii [Sat, 26 Nov 2016 07:30:59 +0000 (09:30 +0200)]
; Fix last change in cpp.el
* lisp/progmodes/cpp.el (cpp-message-min-time-interval): Fix the
':type' attribute.
Paul Eggert [Sat, 26 Nov 2016 05:24:28 +0000 (21:24 -0800)]
Port build to gcc -fcheck-pointer-bounds
This does not let Emacs run, just build.
* lib-src/etags.c (main):
* lib-src/profile.c (main):
Use return, not exit.
* src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
Do not define, as -fcheck-pointer-bounds is incompatible with taking
addresses of labels.
* src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
Tino Calancha [Sat, 26 Nov 2016 03:03:25 +0000 (12:03 +0900)]
* lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
Simen Heggestøyl [Fri, 25 Nov 2016 20:08:32 +0000 (21:08 +0100)]
* lisp/rot13.el: Use lexical-binding
Mark Oteiza [Fri, 25 Nov 2016 19:14:41 +0000 (14:14 -0500)]
Add "using" to cl-loop debug spec (Bug#24750)
* lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
"using" hash table clause.
Hong Xu [Fri, 25 Nov 2016 10:51:22 +0000 (12:51 +0200)]
Allow user control of progress messages in cpp.el
* progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
(cpp-progress-time): Use 'cpp-message-min-time-interval'. Improve
the doc string.
(cpp-highlight-buffer): Use 'cpp-progress-message' instead of
'message' to print messages. (Bug#24861)
Copyright-paperwork-exempt: yes
Wojciech Gac [Fri, 25 Nov 2016 10:41:20 +0000 (12:41 +0200)]
New input method 'polish-prefix'
* lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
method. (Bug#24967)
* etc/NEWS: Mention the new input method.
Copyright-paperwork-exempt: yes
Damien Cassou [Fri, 25 Nov 2016 10:29:44 +0000 (12:29 +0200)]
* lisp/isearch.el: Add 'provide'. (Bug#25026)
Philippe Vaucher [Fri, 25 Nov 2016 10:24:22 +0000 (12:24 +0200)]
Add missing 'provide's in preloaded packages
* lisp/composite.el:
* lisp/replace.el:
* lisp/textmodes/text-mode.el: Add provide statement. (Bug#24985)
Alan Mackenzie [Thu, 24 Nov 2016 20:34:42 +0000 (20:34 +0000)]
Handle correctly an (undocumented) bare mode in hack-local-variables.
lisp/files.el (hack-local-variables-prop-line): When a file's first line
contains only a mode specification without the string "mode:", return the mode
symbol only when `handle-mode' is t.
Dima Kogan [Thu, 24 Nov 2016 02:04:21 +0000 (18:04 -0800)]
Clarify ediff-directories prompt
* lisp/vc/ediff-mult.el (ediff-filegroup-action):
* lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
ediff-directories3, ediff-merge-directories,
ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
filename filter in interactive ediff. The new message makes it clear what is
being filtered
Tino Calancha [Thu, 24 Nov 2016 01:39:33 +0000 (10:39 +0900)]
* test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
Ulf Jasper [Wed, 23 Nov 2016 17:09:34 +0000 (18:09 +0100)]
Fix Bug#24199.
* lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
bracket in doc string (make checkdoc happy).
(icalendar-import-buffer),
(icalendar-import-buffer),
(icalendar--convert-ical-to-diary),
(icalendar--add-diary-entry): Rename argument diary-file to
diary-filename (make checkdoc happy).
(icalendar--convert-recurring-to-diary): Take care of byday-clause
in monthly recurring events. Actually fix Bug#24199.
* test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
Tino Calancha [Wed, 23 Nov 2016 12:19:16 +0000 (21:19 +0900)]
* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
Mark Oteiza [Tue, 22 Nov 2016 16:09:15 +0000 (11:09 -0500)]
; Fix previous change
strlen is already computed, just use the symbol.
* lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Use strlen.
Philipp Stephani [Wed, 26 Oct 2016 22:28:34 +0000 (00:28 +0200)]
Comint: new user option for C-c M-r and C-c M-s
This option allows the user to specify where to place point after these
commands.
* comint.el (comint-move-point-for-matching-input): New user option.
(comint-previous-matching-input-from-input): Use user option.
Michael Albinus [Tue, 22 Nov 2016 09:16:54 +0000 (10:16 +0100)]
Add tramp-eshell-directory-change to eshell-first-time-mode-hook
* lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
`eshell-first-time-mode-hook'.
Michael Albinus [Tue, 22 Nov 2016 08:21:03 +0000 (09:21 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 22 Nov 2016 08:20:21 +0000 (09:20 +0100)]
Dump also connection local variables in Tramp bug reports
* lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
Dump also connection local variables.
Mark Oteiza [Tue, 22 Nov 2016 07:42:47 +0000 (02:42 -0500)]
Make sure elided long buffer names have ellipses added (Bug#24972)
* lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
string concat, and chop "strvar" less the width of the ellipsis.
(ibuffer-compile-make-substring-form): Add space as padding, to fix
off-by-one in alignment.
Tino Calancha [Tue, 22 Nov 2016 06:51:57 +0000 (15:51 +0900)]
Buffer-menu-no-header: Detect a fake header
* lisp/buff-menu.el (Buffer-menu-no-header): Use
'tabulated-list-header-overlay-p' (Bug#24855).
Tino Calancha [Tue, 22 Nov 2016 06:23:50 +0000 (15:23 +0900)]
buff-menu: Add command to unmark all buffers
Bind 'U' in buff-menu, bs and electric-buff-menu to commands
to unmark all buffers (Bug#24880).
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
New predicate; return non-nil if tabulated-list has a fake header.
* lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
New command; remove all flags that use a particular mark from all the lines.
Bind it to 'M-DEL'.
(Buffer-menu-unmark-all):
New command; remove all flags from all the lines. Bind it to 'U'.
(Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
(Buffer-menu-delete, Buffer-menu-mark): Use them.
(Buffer-menu-mode-map): Update menus.
(Buffer-menu-mode): Update mode doc.
* lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
(bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
(bs-mode): Update mode doc.
* lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
to 'M-DEL'.
(bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
Use point instead of cursor in doc string.
(electric-buffer-list): Update mode doc.
* doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
and Buffer-menu-unmark-all-buffers.
; * etc/NEWS: Add an entry per each new feature.
Mark Oteiza [Tue, 22 Nov 2016 04:05:47 +0000 (23:05 -0500)]
Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
This reverts commit
10efaf718c5258af0ba62077cf4e2aaf9fb90227.
Mark Oteiza [Mon, 21 Nov 2016 19:50:15 +0000 (14:50 -0500)]
Port htmlfontify to cl-lib
* lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
(hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
(hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
instances of cl aliases with their cl-lib counterparts.
Mark Oteiza [Mon, 21 Nov 2016 17:56:15 +0000 (12:56 -0500)]
* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
Paul Eggert [Mon, 21 Nov 2016 16:42:12 +0000 (08:42 -0800)]
Fix another CANNOT_DUMP problem
Reported by Robert Pluim in:
http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00468.html
* src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
* src/lisp.h: ... to here.
Mark Oteiza [Mon, 21 Nov 2016 09:19:51 +0000 (04:19 -0500)]
Add further consideration to string-width (Bug#24972)
* lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
(ibuffer-compile-make-substring-form): Use truncate-string-to-width.
Katsumi Yamaoka [Mon, 21 Nov 2016 08:21:27 +0000 (08:21 +0000)]
Don't collect strings existing out of <tr>...</tr>
* lisp/net/shr.el (shr-collect-extra-strings-in-table):
Don't collect strings existing out of <tr>...</tr> to avoid
duplication with what `shr-tag-table' renders.
Katsumi Yamaoka [Mon, 21 Nov 2016 06:40:01 +0000 (06:40 +0000)]
* lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
the last commit.
Mike Kupfer [Mon, 21 Nov 2016 06:10:13 +0000 (06:10 +0000)]
Add a variable to pass additional options to rcvstore
* lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
(gnus-summary-save-in-folder): Include gnus-rcvstore-options in
the arguments that are passed to rcvstore.
cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
and followups, i.e., ding mailing list.
Paul Eggert [Mon, 21 Nov 2016 04:55:35 +0000 (20:55 -0800)]
Fix undefined refs on some GNU/Linux hosts
Problem reported by Ken Raeburn in:
http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00463.html
* src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
not needed in the CANNOT_UNDUMP case. All uses removed. This
removes unwanted references to my_endbss and my_endbss_static,
which are not optimized away on some platforms.
Paul Eggert [Mon, 21 Nov 2016 00:57:17 +0000 (16:57 -0800)]
Make CANNOT_DUMP work better on GNU/Linux
Clean up some of the bitrot affecting the CANNOT_DUMP code. This
lets the build succeed again, and fixes the testing framework so
that most test cases now pass. About twenty test cases still
fail, though, and we still have Bug#24974.
* configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
(SYSTEM_MALLOC): Now true if CANNOT_DUMP. There should no longer
be any point to messing with a private memory allocator unless
Emacs is dumping.
* src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
* src/image.c (reset_image_types):
* src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
Do not define if CANNOT_DUMP.
* src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
(daemon_pipe) [!WINDOWSNT]: Now static.
* test/Makefile.in (mostlyclean): Remove *.tmp files.
(make-test-deps.mk): Elide CANNOT_DUMP chatter.
Paul Eggert [Mon, 21 Nov 2016 00:33:40 +0000 (16:33 -0800)]
* src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
Paul Eggert [Sun, 20 Nov 2016 21:24:53 +0000 (13:24 -0800)]
Pacify --enable-gcc-warnings CANNOT_DUMP=yes
* src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
Do not define. If defining, do it in a smaller scope.
Mark Oteiza [Sun, 20 Nov 2016 18:55:28 +0000 (13:55 -0500)]
* lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
Eli Zaretskii [Sun, 20 Nov 2016 17:28:37 +0000 (19:28 +0200)]
Fix redrawing non-selected frame after resize on MS-Windows
* src/xdisp.c (redisplay_internal): If all the frames were
successfully updated, reset the "garbaged" flag of each frame, to
make sure it doesn't stay set.
* src/w32term.c (w32_read_socket): Don't clear the frame if it's
"garbaged", since expose_frame won't redraw the foreground then.
(Bug#24642)
Michael Albinus [Sun, 20 Nov 2016 15:29:47 +0000 (16:29 +0100)]
Add file-local-name
* doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
(Unique File Names): Use it.
* etc/NEWS: Mention `file-local-name'.
* lisp/files.el (file-local-name): New defun.
(file-expand-wildcards):
* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
* lisp/eshell/esh-ext.el (eshell-remote-command):
* lisp/eshell/esh-proc.el (eshell-gather-process-output):
* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init, gud-format-command):
* lisp/progmodes/python.el (python-shell-send-file):
* lisp/shell.el (shell):
* lisp/vc/ediff-diff.el (ediff-same-file-contents):
* lisp/vc/vc-git.el (vc-git-checkin): Use it.
Tino Calancha [Sun, 20 Nov 2016 14:03:36 +0000 (23:03 +0900)]
* lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
Tino Calancha [Sun, 20 Nov 2016 06:38:11 +0000 (15:38 +0900)]
* src/editfns.c (format-time-string): Mention %q in doc string.
Paul Eggert [Sun, 20 Nov 2016 00:15:29 +0000 (16:15 -0800)]
Document format-time-string %q
* doc/lispref/os.texi (Time Parsing):
* etc/NEWS: Document new %q functionality taken from gnulib.
Paul Eggert [Sun, 20 Nov 2016 00:00:57 +0000 (16:00 -0800)]
Merge from gnulib
This incorporates:
2016-11-15 sys_time: add gnulib::timeval for C++
2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
2016-11-13 strftime: don't use __THROW
2016-11-12 strftime: tune %q
2016-11-12 Merge strftime.c changes from glibc
2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
2016-11-05 strftime,strptime: support %q to represent the quarter
The glibc changes in turn incorporate the following strftime.c changes:
2015-10-20 Convert misc function definitions to prototype style
2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
2010-01-09 Add support for XPG7 testing
2009-10-30 Implement Burmese language locale for Myanmar
2008-06-13 [BZ #6612] pass reference to tzset_called around
2007-10-16 [BZ #5184] Add tzset_called argument
* build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
* m4/manywarnings.m4: Copy from gnulib.
Paul Eggert [Sat, 19 Nov 2016 22:57:40 +0000 (14:57 -0800)]
; Spelling fixes
Paul Eggert [Sat, 19 Nov 2016 22:43:25 +0000 (14:43 -0800)]
Merge from origin/emacs-25
07f45d7 ; Spelling fix
1a210f0 * admin/release-process: Update versions and blocking bug num...
36bafc9 Improve documentation of functions that accept time values
# Conflicts:
# admin/release-process
# src/editfns.c
Paul Eggert [Sat, 19 Nov 2016 22:31:06 +0000 (14:31 -0800)]
; Merge from origin/emacs-25
The following commit was skipped:
a37c08d Speed up initialization by preferring /dev/urandom to GnuTLS
Paul Eggert [Sat, 19 Nov 2016 22:31:05 +0000 (14:31 -0800)]
Merge from origin/emacs-25
4af5981 Add a comment in generated refcards about the source
ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
4887e7c js-mode: Fix indent problem after a regexp
e992ac0 Fix sluggish display of symbols in UTF-8 language environment
1fc101b Don't confuse how Texinfo outputs @var with the input
91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
5b0cddd More fixes in copyright notices in etc/refcards/
f994c20 Update copyright text in refcards
9ad2ae7 Fix Outline command names
26c3554 Send text received by bracketed paste to process
db0b58d Correct the statement about programming modes always running ...
78aece4 Improve documentation of 'occur'
eb364fd Do call debugger on failed cl-assert
3ef4ee8 Avoid infloop in python
8da810f Don't refer to obsolete FEATURE-unload-hook
4f478ca Improve documentation of dabbrevs
7272e5d * lisp/chistory.el (list-command-history): Doc fix. (Bug#24890)
89b7482 * lisp/simple.el (set-mark-command): Doc fix. (Bug#24890)
3b199f7 Improve documentation of some Help commands
93d3a0e Fix documentation of yes-or-no prompts
af04919 Fix documentation of partial completion style
ed80184 Fix documentation of the mode line on emacsclient frames
e6be855 Fix description of 'C-z' in User manual
16f7007 Improve and clarify documentation of Outline Mode
31d93aa Add Emacs version number to nt/README.W32
0b6b815 Fix python-mode hideshow regexp
dc152c5 Modernize usage of 'macOS' in doc and comments
84c5343 Prefer comments /* like this */ in C code
bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
3ef86fd Clarify documentation of face attribute functions
de51d59 ; * nt/README.W32: Minor copyedits.
db436e9 Don't call debug on failed cl-assert
# Conflicts:
# doc/emacs/cmdargs.texi
# etc/NEWS
# etc/PROBLEMS
# lisp/auth-source.el
# lisp/net/tramp-sh.el
Paul Eggert [Sat, 19 Nov 2016 22:11:08 +0000 (14:11 -0800)]
; Spelling fix
Mark Oteiza [Sat, 19 Nov 2016 18:34:24 +0000 (13:34 -0500)]
Port RefTeX to cl-lib
* lisp/textmodes/reftex-auc.el:
* lisp/textmodes/reftex-cite.el: Use cl-lib.
(reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
macros.
* lisp/textmodes/reftex-dcr.el: Use cl-lib.
(reftex-view-regexp-match): Substitute cl-lib macro.
* lisp/textmodes/reftex-global.el: Use cl-lib.
(reftex-find-duplicate-labels, reftex-renumber-simple-labels):
(reftex-translate): Substitute cl-lib macros.
* lisp/textmodes/reftex-index.el: Use cl-lib.
(reftex-index, reftex-index-select-tag, reftex-index-mode-map):
(reftex-index-next-phrase, reftex-index-phrases-info):
(reftex-query-index-phrase): Substitute cl-lib macros.
* lisp/textmodes/reftex-parse.el: Use cl-lib.
(reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
(reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
Substitute cl-lib macros.
* lisp/textmodes/reftex-ref.el: Use cl-lib.
(reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
macros.
* lisp/textmodes/reftex-sel.el: Use cl-lib.
(reftex-select-shared-map): Set keymap parent to special-mode-map.
Flatten loop and remove digits and hyphen definitions from the map.
(reftex-select-label-mode-map):
(reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
(reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
* lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
cl-pushnew.
* lisp/textmodes/reftex.el: Use cl-lib.
(reftex-docstruct-symbol): Use cl-incf.
(reftex-ref-style-toggle): Replace add-to-list with append.
(reftex-compile-variables): Use cl-lib macros, and functions with
compiler macros. cl-first is just an alias.
(reftex-parse-args, reftex-scanning-info-available-p):
(reftex-select-external-document, reftex-get-file-buffer-force): Use
cl-lib macros.
(reftex-isearch-minor-mode): Replace add-to-list with append.
Tino Calancha [Sat, 19 Nov 2016 11:48:17 +0000 (20:48 +0900)]
ibuffer-exchange-filters: Simplify code
* lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
Eli Zaretskii [Sat, 19 Nov 2016 10:17:23 +0000 (12:17 +0200)]
Implement getrlimit and setrlimit for MS-Windows
* src/w32heap.c (getrlimit, setrlimit): New functions.
Include w32.h.
* src/emacs.c (main): Use 'rlim_t', not 'long', for values that
should be compatible with 'struct rlimit' members.
* nt/inc/sys/resource.h: New header file.
* nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
Set to "yes".
Eli Zaretskii [Sat, 19 Nov 2016 07:23:33 +0000 (09:23 +0200)]
* admin/release-process: Update versions and blocking bug numbers.
Mark Oteiza [Sat, 19 Nov 2016 01:19:17 +0000 (20:19 -0500)]
Move key mappings into reftex-mode-map defvar
* lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
key mappings.
(reftex-reset-mode): Just use dolist.
Mark Oteiza [Sat, 19 Nov 2016 01:06:05 +0000 (20:06 -0500)]
Derive reftex-index-mode from special-mode
* lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
loop. Remove digit keys and hyphen, as reftex-index-mode is derived
from special-mode now.
(reftex-index-mode): Derive from special-mode.
(reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
Mark Oteiza [Sat, 19 Nov 2016 00:36:18 +0000 (19:36 -0500)]
Clean up reftex-toc-mode-map
* lisp/textmodes/reftex-toc.el: Remove cl.
(reftex-toc-mode-map): Flatten loop. Remove mapping digit keys and
hyphen, as reftex-toc-mode is derived from special-mode nowadays.
Philipp Stephani [Wed, 9 Nov 2016 22:13:52 +0000 (23:13 +0100)]
Prevent dubious argument lists
See Bug#24912 and Bug#24913.
* src/eval.c (funcall_lambda): Detect more dubious argument lists.
* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
more dubious argument lists.
* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
test.
Tino Calancha [Fri, 18 Nov 2016 15:17:50 +0000 (00:17 +0900)]
Add test suite for buff-menu.el
* test/lisp/buff-menu-tests.el: New file.
(buff-menu-24962): Add test for Bug#24962.
Eli Zaretskii [Fri, 18 Nov 2016 11:02:34 +0000 (13:02 +0200)]
Improve documentation of functions that accept time values
* doc/lispref/os.texi (Time Calculations): Mention the meaning of
'nil' or a scalar number as the time-value argument. Add a
cross-reference to 'float-time' for computing a time difference as
a scalar number of seconds.
* src/editfns.c (Fformat_time_string, Ftime_less_p)
(Ftime_subtract, Ftime_add, Fdecode_time, Fcurrent_time_string)
(Fcurrent_time_zone): Mention in the doc strings the meaning of
nil argument and the fact that a time value can be a scalar number
of seconds since the epoch.
(Ftime_subtract): Mention 'float-time'.
Wojciech Gac [Fri, 18 Nov 2016 09:58:36 +0000 (11:58 +0200)]
Add cyrillic-tuvan input method
* lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
method. (Bug#24942)
* etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
Copyright-paperwork-exempt: yes
Alex [Fri, 18 Nov 2016 09:02:55 +0000 (11:02 +0200)]
Extend 'indent-relative' when its arg is non-nil
* lisp/indent.el (indent-relative-maybe): New obsolete alias.
(indent-relative-first-indent-point): Renamed from
'indent-relative-maybe'.
(indent-relative): Now accepts an additional optional argument.
The first argument was renamed to FIRST-ONLY. Doc fix. Support
the additional arg. (Bug#24766)
Daniel Colascione [Thu, 6 Oct 2016 19:46:36 +0000 (12:46 -0700)]
Speed up initialization by preferring /dev/urandom to GnuTLS
* src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
(cherry picked from commit
a37eba849eddc41375ad73974f6fcb1258aa8eba)
Glenn Morris [Fri, 18 Nov 2016 07:24:03 +0000 (23:24 -0800)]
Add a comment in generated refcards about the source
* etc/refcards/calccard.tex, etc/refcards/cs-dired-ref.tex:
* etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
* etc/refcards/de-refcard.tex, etc/refcards/dired-ref.tex:
* etc/refcards/fr-dired-ref.tex, etc/refcards/fr-refcard.tex:
* etc/refcards/fr-survival.tex, etc/refcards/gnus-refcard.tex:
* etc/refcards/orgcard.tex, etc/refcards/pl-refcard.tex:
* etc/refcards/pt-br-refcard.tex, etc/refcards/refcard.tex:
* etc/refcards/ru-refcard.tex, etc/refcards/sk-dired-ref.tex:
* etc/refcards/sk-refcard.tex, etc/refcards/sk-survival.tex:
* etc/refcards/survival.tex, etc/refcards/vipcard.tex:
* etc/refcards/viperCard.tex: Add comment about the source.
Glenn Morris [Fri, 18 Nov 2016 06:59:36 +0000 (22:59 -0800)]
; * etc/refcards/calccard.tex: Remove obsolete comment.
Glenn Morris [Fri, 18 Nov 2016 06:50:40 +0000 (22:50 -0800)]
; Replace "25.2" with "26.1" where appropriate, which is almost everywhere
Ref:
http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00692.html
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01215.html
Dmitry Gutov [Fri, 18 Nov 2016 00:12:02 +0000 (02:12 +0200)]
Add example for bug#24854
* test/manual/indent/js.js: Add example for bug#24854.
Mark Oteiza [Thu, 17 Nov 2016 23:27:38 +0000 (18:27 -0500)]
Port registry.el the rest of the way to cl-lib
This file already is using cl-lib functions at runtime; eieio ultimately
loads cl-lib, which explains why doing so wasn't an issue.
* lisp/registry.el: Require cl-lib.
(registry-db, registry--match, registry-search, registry-delete):
(registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
(registry-collect-prune-candidates): Replace cl function with cl-lib one.
Mark Oteiza [Thu, 17 Nov 2016 22:58:20 +0000 (17:58 -0500)]
Fix arglist in python.el (Bug#24762)
* lisp/progmodes/python.el: Remove unneeded second args.
(python-define-auxiliary-skeleton): DOC arg should be &optional.
Simen Heggestøyl [Thu, 17 Nov 2016 18:19:59 +0000 (19:19 +0100)]
Add tests for rot13.el
* lisp/rot13.el (rot13): Docstring correction.
* test/lisp/rot13-tests.el: New file with tests for rot13.el.
Michael Albinus [Thu, 17 Nov 2016 11:38:58 +0000 (12:38 +0100)]
Fix Bug#24947 (Tramp + ido)
* lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
Run remote tests only if a connection is established only. (Bug#24947)
Dmitry Gutov [Wed, 16 Nov 2016 23:58:59 +0000 (01:58 +0200)]
js-mode: Fix indent problem after a regexp
* lisp/progmodes/js.el (js--looking-at-operator-p): Check that the
slash is not ending a regexp (bug#24854).
Ken Brown [Wed, 16 Nov 2016 23:24:41 +0000 (18:24 -0500)]
Unbreak the build on Darwin (Bug#24957)
* src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
mistakes in recent commit.
Nicolas Petton [Wed, 16 Nov 2016 17:37:26 +0000 (18:37 +0100)]
Do not use map.el in seq-tests.el
* test/lisp/emacs-lisp/seq-tests.el: Do not use map.el. map.el was
introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
Emacs 24.5.
Eli Zaretskii [Wed, 16 Nov 2016 16:11:33 +0000 (18:11 +0200)]
Fix sluggish display of symbols in UTF-8 language environment
* lisp/international/fontset.el (setup-default-fontset): Make sure
Symbola and FreeMono are set up in the default fontset as belonging
to the "iso10646-1" registry. In the UTF-8 locale, this avoids a
long and futile search for a suitable font, whose side effect is a
lot of consing, which then hits the font-cache compacting issue,
and causes very sluggish redisplay of characters displayed by
these fonts. All this happens because the default for the
registry is "iso8859-1". (Bug#24953)
Tino Calancha [Wed, 16 Nov 2016 15:39:43 +0000 (00:39 +0900)]
Update parameter :version to 26.1 in several defcustom
Following defcustom where added or modified for 25.2 release.
In fact all these changes belong to 26.1 release.
* lisp/battery.el (battery-linux-sysfs-regexp)
* lisp/comint.el (comint-password-prompt-regexp)
* lisp/dired.el (dired-always-read-filesystem)
* lisp/image.el (image-scaling-factor)
* lisp/ibuf-ext.el (ibuffer-never-search-content-name)
(ibuffer-never-search-content-mode)
* lisp/mouse.el (mouse-select-region-move-to-beginning)
* lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
(netstat-program, route-program, route-program-options)
* lisp/net/sieve-manage.el (sieve-manage-default-stream)
* lisp/progmodes/grep.el (grep-save-buffers)
* lisp/vc/add-log.el (change-log-directory-files)
* lisp/url/url-vars.el (url-user-agent)
* lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
(vc-hg-use-file-version-for-mode-line-version)
(vc-hg-parse-hg-data-structures)
* lisp/wdired.el (wdired-create-parent-directories)
* lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
* lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
(gnus-button-url-regexp)
* lisp/window.el (switch-to-buffer-preserve-window-point)
* lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
(ibuffer-locked-buffer)
* lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
* lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
* lisp/gnus/message.el (message-user-fqdn)
* lisp/simple.el (shell-command-dont-erase-buffer)
(extended-command-suggest-shorter)
* lisp/net/shr.el (shr-use-fonts)
* lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
Glenn Morris [Wed, 16 Nov 2016 07:28:47 +0000 (23:28 -0800)]
Add --new-daemon, which runs in the foreground and does not fork
This is intended for modern init systems such as systemd,
which manage many of the traditional aspects of daemon behavior
themselves. (Bug#2677)
* src/emacs.c (daemon_type): New integer.
(usage, standard_args): Add --old-daemon and --new-daemon.
(main): Handle --old-daemon and --new-daemon arguments.
Restrict all the forking and complicated daemon stuff to old-daemon.
(Fdaemon_initialized): Handle new-style daemon.
* src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
Replace daemon_pipe with daemon_type.
* doc/emacs/cmdargs.texi (Initial Options):
* doc/emacs/glossary.texi (Glossary):
* doc/emacs/misc.texi (Emacs Server):
* doc/lispref/display.texi (Window Systems):
* doc/lispref/os.texi (Startup Summary): Related doc updates.
* etc/NEWS: Mention this.
* etc/emacs.service: Use Type=simple and --new-daemon.
Glenn Morris [Wed, 16 Nov 2016 00:18:28 +0000 (19:18 -0500)]
Don't confuse how Texinfo outputs @var with the input
* doc/emacs/rmail.texi (Movemail):
* doc/lispref/control.texi (Pattern matching case statement):
* doc/lispref/frames.texi (Size and Position):
* doc/lispref/processes.texi (Asynchronous Processes):
* doc/lispref/text.texi (Document Object Model):
* doc/lispref/windows.texi (Coordinates and Windows):
Do not upper-case the argument of @var.
Glenn Morris [Wed, 16 Nov 2016 00:07:36 +0000 (19:07 -0500)]
* doc/lispref/display.texi (Scroll Bars):
* doc/lispref/frames.texi (Size and Position):
* doc/lispref/windows.texi (Window Sizes): Fix arglist typos.
Glenn Morris [Tue, 15 Nov 2016 23:53:25 +0000 (18:53 -0500)]
* doc/emacs/cmdargs.texi (Initial Options): Copyedit for --daemon.
Glenn Morris [Tue, 15 Nov 2016 23:21:06 +0000 (18:21 -0500)]
* src/emacs.c (usage_message): Mention named daemon. (Bug#24949)
* doc/man/emacs.1.in: Likewise.
Ken Brown [Mon, 14 Nov 2016 22:26:12 +0000 (17:26 -0500)]
Simplify case-insensitivity checks on Mac OS X
* src/fileio.c (file_name_case_insensitive_p): Try skipping the
Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
Leave in two alternatives conditionally compiled based on
DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
* etc/PROBLEMS: Mention the possible problem with pathconf on
Mac OS X.
Glenn Morris [Tue, 15 Nov 2016 22:14:27 +0000 (17:14 -0500)]
* src/emacs.c (sort_args): Warn about multiple matches.
Michael Albinus [Tue, 15 Nov 2016 19:51:20 +0000 (20:51 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 15 Nov 2016 19:50:49 +0000 (20:50 +0100)]
Implement file name handler for `file-name-case-insensitive-p'
* doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
is also applicable for remote hosts.
* lisp/net/tramp.el (tramp-methods): Improve docstring.
(tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
(tramp-handle-file-name-case-insensitive-p): New defun.
* lisp/net/tramp-smb.el (tramp-methods) <smb>:
Add `tramp-case-insensitive' entry.
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
<file-name-case-insensitive-p>: Add handler. (Bug#22300, Bug#24441)
Mark Oteiza [Tue, 15 Nov 2016 18:31:31 +0000 (13:31 -0500)]
Nix more uses of default-FOO variables (Bug#24946)
* lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
Check for header-line-format instead.
* lisp/emulation/viper.el (viper-load-custom-file): Reference
major-mode instead.
* lisp-mail-feedmail.el (feedmail-fill-to-cc-fill-column): Use
fill-column instead.
Simen Heggestøyl [Tue, 15 Nov 2016 18:08:22 +0000 (19:08 +0100)]
Complete the name of PostgreSQL databases
* lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
name.
(sql-postgres-list-databases): New function returning a list of
available PostgreSQL databases.
* test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.