Vsplit_window_preferred_function out of conditions that check
if window is eligible for vertical splitting.
When Vsplit_window_preferred_function is non-nil, call it and use
its non-nil return value as window. Otherwise, continue doing
vertical splitting using Fsplit_window with arg horflag=nil.
(syms_of_window) <Vsplit_window_preferred_function>: Change the
default value from `split-window' to nil.
the default to minibuffer-default-add-completions.
(minibuffer-default-add-done): New variable. Make it buffer-local.
(minibuffer-default-add-completions): New function.
(goto-history-element): Set minibuffer-default-add-done to t and
call a function in minibuffer-default-add-function when the
specified absolute history position is greater than the length of
the minibuffer-default list and minibuffer-default-add-done is nil.
Change "^End of history; no next item$" to "^End of defaults;
no next item$".
(vc-status-refresh): Create a temporary buffer and call the
`dir-status' backend function from that buffer.
* vc-bzr.el (vc-bzr-dir-status): Don't create a buffer.
(vc-bzr-after-dir-status): Don't kill the buffer.
* vc-cvs.el (vc-cvs-dir-status): Don't create a buffer.
(vc-cvs-after-dir-status): Don't kill the buffer.
* vc-git.el (vc-git-dir-status): Don't create a buffer.
(vc-git-after-dir-status-stage2): Don't kill the buffer.
* vc-hg.el (vc-hg-dir-status): Don't create a buffer.
(vc-hg-after-dir-status): Don't kill the buffer.
* vc-svn.el (vc-svn-dir-status): Don't create a buffer.
(vc-svn-after-dir-status): Don't kill the buffer.
(insert-hebrew-diary-entry, insert-monthly-hebrew-diary-entry)
(insert-yearly-hebrew-diary-entry): Use diary-insert-entry-1.
(diary-make-date): Autoload it.
(diary-yahrzeit): Doc fix. Use diary-make-date.
icalendar--datetime-to-noneuropean-date. Make old name obsolete alias.
(icalendar--datetime-to-iso-date): New function.
(icalendar--datetime-to-diary-date): Doc fix. Respect
calendar-date-style if bound.
(european-date-diary-pattern,european-calendar-display-form)
(american-calendar-display-form, diary-display-hook): Doc fixes.
(european-calendar-style): Doc fix. Use calendar-set-date-style for
custom :set. Mark as obsolete.
(calendar-date-style, iso-date-diary-pattern)
(iso-calendar-display-form): New user variables.
(diary-date-forms, calendar-date-display-form): Set using
calendar-date-style. Doc fix.
(calendar-set-date-style): New command.
(european-calendar, american-calendar): Use calendar-set-date-style.
Mark as obsolete.
(xterm-turn-on-modify-other-keys, xterm-turn-off-modify-other-keys)
(xterm-remove-modify-other-keys): Lookup terminal rather than frame
in xterm-modify-other-keys-terminal-list.
(timer_check): Run it.
(syms_of_keyboard): Initialize it.
* terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
(Vdelete_terminal_functions): New vars.
(syms_of_terminal): Initialize them.
(Fdelete_terminal): Run delete-terminal-functions.
* xdisp.c (safe_eval): Rewrite.
(safe_call2): New fun.
* frame.c (Qdelete_frame_functions): New var.
(syms_of_frame): Initialize it.
(Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
* lisp.h (safe_call2, pending_funcalls): Declare.