The following commits were skipped:
a6e0a67 gitmerge: Add cherry pick to gitmerge-skip-regexp
fb12af2 ; Merge: some backports from master
6234012 Don't require isearch-update before isearch-done
5e50114 Avoid error in icalendar--read-element
ace9d22 Make a menu less ambiguous
e683495 Doc fix for url-http
The following commits were skipped:
34b6df1 Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
4ef9ea2 Add documentation note from Alex
9d6026d * src/alloc.c: call only non-null finalizers
4b347fe Clarify that doc fixes are okay in feature freeze
01669ad Avoid crashes when setting the cursor
f2144ee Restore 'command-debug-status' functionality
ec6e4b9 ; Minor addition to CONTRIBUTE
The following commits were skipped:
6234012 Don't require isearch-update before isearch-done
5e50114 Avoid error in icalendar--read-element
ace9d22 Make a menu less ambiguous
e683495 Doc fix for url-http
See Bug#24641.
* lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
consider symbols in nested ‘let-alist’ forms.
* test/lisp/emacs-lisp/let-alist-tests.el
(let-alist--deep-dot-search--nested): Add a unit test.
* src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
'DebugBreakProcess' to cause a breakpoint exception to occur in the
specified process. On Windows versions prior to Windows XP that do
not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
(as opposed to EINVAL before this change).
* src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
and global variable to track state of run-time dynamic linking of this
function.
* etc/NEWS: Add entry to document that 'signal-process' now supports
SIGTRAP.
* lisp/textmodes/ispell.el (ispell-check-version): Allow
overriding LIBDIR via the variable defined by LIBRARYVAR (usually
ISPELL_DICTDIR).
(ispell-valid-dictionary-list): If the -d option to Ispell
specifies an absolute file name, use that regardless of
ispell-library-directory. (Bug#24439)
Copyright-paperwork-exempt: yes
* gitmerge.el (gitmerge-skip-regexp): Add "cherry picked from commit",
which is the string appended by 'git cherry-pick -x'.
(cherry picked from commit f648e48669)
Regression in Emacs 25.1
* "Don't require isearch-update before isearch-done"
This bug actually crashes in emacs-25
* "Avoid error in icalendar--read-element"
Doc fixes
* "Make a menu less ambiguous"
* "Doc fix for url-http"
* lisp/term/w32-win.el (w32-menu-bar-open): Clarify that sometimes
two ESC keypresses are needed to exit the menu.
* doc/emacs/screen.texi (Menu Bar): Qualify the description of how
to exit menus. (Bug#24596)
* nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
defining to avoid redefinition warnings.
* nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
inclusion of sys/stat.h from the system headers, which could then
lead to compilation errors due to redefinition of 'struct stat'
etc. This is needed because latest versions of MinGW runtime
include sys/stat.h from wchar.h.
* src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
redefine to 4 to avoid conflict between 2 definitions of
MemoryBarrier. (Bug#24613)
* nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
defining to avoid redefinition warnings.
* nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
inclusion of sys/stat.h from the system headers, which could then
lead to compilation errors due to redefinition of 'struct stat'
etc. This is needed because latest versions of MinGW runtime
include sys/stat.h from wchar.h.
* src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
redefine to 4 to avoid conflict between 2 definitions of
MemoryBarrier. (Bug#24613)
Do not merge to master!
* lisp/net/ntlm.el (ntlm-build-auth-request): Only set
"negotiate domain supplied" bit when a domain is supplied. Do
not set "negotiate workstation supplied" bit.
(ntlm-build-auth-response): Set domain to empty string by
default. Set workstation name to "WORKSTATION". Set flags to
logical and of Type 1 and Type 2 message flags. Remove four
trailing 0 bytes. Always set LM response. Hard-code domain
offset. Reorder buffer fields.
* doc/lispref/windows.texi (Displaying Buffers in Side Windows):
* lisp/window.el (display-buffer-in-side-window): Describe
return value of `display-buffer-in-side-window'.
* doc/lispref/windows.texi (Displaying Buffers in Side Windows)
(Side Window Options and Functions)
(Frame Layouts with Side Windows): Minor wording improvements.
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
* CONTRIBUTE (branches): Explain that doc fixes are always safe, even
on a release branch in feature freeze. Tweak wording of paragraph
after that to avoid a misleading contrast.
* src/xdisp.c (display_and_set_cursor): Don't index glyphs of a
glyph row if hpos is out of valid bounds. This avoids crashes in
some rare cases. (Bug#24614)
Instead, bind history in the default minibuffer-history.
Fixes bug#24580.
* lisp/replace.el (query-replace-read-from): Let-bind
minibuffer-history. Change read-regexp and read-from-minibuffer's
HISTORY arguments to nil so that they use minibuffer-history.
* lisp/simple.el (yank): Document the handling of the
`yank-handled-properties' and `yank-excluded-properties' variables,
and the `yank-handler' text property.
(yank-pop): Refer to `yank' now (bug#286)
* lisp/subr.el (insert-for-yank): Refer to `yank' now.
(insert-for-yank-1): Refer to `insert-for-yank' now.
See this thread for discussion:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
From: Karl Fogel
To: Emacs Devel
Subject: Question about intended behavior of 'insert-for-yank-1'.
Date: Mon, 12 Sep 2016 00:17:14 -0500
Message-ID: <874m5lr92d.fsf@red-bean.com>
* src/fileio.c (Finsert_file_contents): Run before-change-hooks before
deleting the old buffer content.
* src/lisp.h (del_range_byte):
* src/insdel.c (del_range_byte): Drop the last argument.
* src/fns.c (Fbase64_encode_region): Adjust accordingly.
See discussion in:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00384.html
* lisp/ibuffer.el (ibuffer--near-buffers): New defun;
return buffers near current line.
* lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
Add argument ARG; if a non-zero integer, return next ARG buffers.
Otherwise return the marked buffers.
If there are not marked buffers, return buffer at current line
without prompting the user.
Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
Append to kill ring when last command was a kill-region.
(ibuffer-copy-filename-as-kill): Idem.
Simplify the code.
Use ibuffer-buffer-file-name instead of buffer-file-name to
include buffers in Dired mode.
See discussion in #Bug2518 and:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00711.html
* lisp/dired-x.el (dired-mark-extension):
Update interactive calls: a prefix arg C-u unmark files;
a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
(dired-mark-sexp):
Show in the prompt that we are unmarking if called with a prefix argument.
* doc/misc/dired-x.texi (Advanced Mark Commands):
Update documentation for 'dired-mark-extension'.
* lisp/simple.el (yank): Document the handling of the
`yank-handled-properties' and `yank-excluded-properties' variables,
and the `yank-handler' text property.
(yank-pop): Refer to `yank' now (bug#286)
* lisp/subr.el (insert-for-yank): Refer to `yank' now.
(insert-for-yank-1): Refer to `insert-for-yank' now.
See this thread for discussion:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
From: Karl Fogel
To: Emacs Devel
Subject: Question about intended behavior of 'insert-for-yank-1'.
Date: Mon, 12 Sep 2016 00:17:14 -0500
Message-ID: <874m5lr92d.fsf@red-bean.com>
This prevents surprising behavior when timer interval customizations are
only applied whenever the timers happen to be restarted (see Bug#24372).
* lisp/frame.el (blink-cursor--start-idle-timer)
(blink-cursor--start-timer): New functions.
(blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
the new helper functions.
(blink-cursor-delay, blink-cursor-interval): Restart timers when
the value is changed.
It is useful to be able to call `isearch-done' unconditionally to
ensure a non-isearching state.
* lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
is a live buffer before using it (Bug #21091).
* test/lisp/isearch-tests.el (isearch--test-done): Test it.
(cherry picked from commit 68f4b52927)
* lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
stack overflow by not using regex to extract values from calendar
events. (Bug#24315)
(cherry picked from commit 55dde6c1a2)
* doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
is about using modifier keys, not binding them (bug#10942).
(cherry picked from commit 214f85a0a6)
The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
and non-nil values are distinguished. Passing a number here is
confusing. Pass a descriptive symbol instead.
* lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
:repeat symbol instead of number for second argument of
`run-with-idle-timer'