Remove duplication of vc-sccs-registered definition

* lisp/vc/vc-sccs.el (vc-sccs-registered): Use the progn trick to get
the full definition in loaddefs, rather than duplicating it.
Cf vc-rcs-registered.
Use define-minor-mode for winner-mode

* lisp/winner.el (winner-mode): Remove variable (let define-minor-mode
handle it).
(winner-dont-bind-my-keys, winner-boring-buffers, winner-mode-hook):
Doc fixes.
(winner-mode-leave-hook): Rename to winner-mode-off-hook.
(winner-mode): Use define-minor-mode.

* etc/NEWS: Mention winner-mode-hook.
* sysdep.c (handle_fatal_signal): Bump backtrace size to 40.

Suggested by Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00796.html>.
Comment fix
* lisp/textmodes/tex-mode.el (tex-mode-map): Don't bind paren keys.
* lisp/textmodes/text-mode.el (paragraph-indent-minor-mode): Make it
a proper minor-mode.
* lisp/tutorial.el (help-with-tutorial): Use minibuffer-with-setup-hook.
* lisp/url/url-handlers.el (url-file-handler): Don't assume any url-FOO
function is a good handler for FOO.
(url-copy-file, url-file-local-copy, url-insert-file-contents)
(url-file-name-completion, url-file-name-all-completions)
(url-handlers-create-wrapper): Explicitly register as handler.
* lisp/vc/ediff-util.el (ediff-diff-at-point): Don't assume point-min==1.
* lisp/vc/log-edit.el (log-edit-font-lock-keywords): Ignore case to
chose face.
(log-edit-empty-buffer-p): Don't require a space after a header.
* lisp/vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently
visited in a buffer.
(cvs-insert-visited-file): New function.
(find-file-hook): Use it.
* lisp/vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces.
* lisp/winner.el (winner-mode-map): Obey winner-dont-bind-my-keys here.
(minor-mode-map-alist): Remove redundant code.
Merge from gnulib.
Profiler improvements: more-accurate timers, overflow checks.

* profiler.c: Don't include stdio.h, limits.h, sys/time.h,
signal.h, setjmp.h.  Include systime.h instead.
(saturated_add): New function.
(record_backtrace, current_sample_interval): Use EMACS_INT, not size_t.
(record_backtrace, handle_profiler_signal): Saturate on fixnum overflow.
(profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]:
New static vars.
(enum profiler_cpu_running): New enumn.
(profiler_cpu_running): Now of that enum type, not bool.
All uses changed to store the new value.
(handle_profiler_signal): Rename from sigprof_handler_1,
for consistency with other handlers.  Do not check whether
cpu_log is a hash-table if garbage collecting, since it
doesn't matter in that case.
(deliver_profiler_signal): Rename from sigprof_handler,
for consistency with other handlers.
(setup_cpu_timer): New function, with much of what used to be in
Fprofiler_cpu_start.  Check for out-of-range argument.
Prefer timer_settime if available, and prefer
thread cputime clocks, then process cputime clocks, then
monotonic clocks, to the old realtime clock.  Use make_timeval
to round more-correctly when falling back to setitimer.
(Fprofiler_cpu_start): Use it.
(Fprofiler_cpu_stop): Prefer timer_settime if available.
Don't assume that passing NULL as the 2nd argument of setitimer
is the same as passing a pointer to all-zero storage.
Ignore SIGPROF afterwards.
(malloc_probe): Saturate at MOST_POSITIVE_FIXNUM.
* sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in
non-fatal signal handlers.  Ignore SIGPROF on startup.
* syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not
in profiler.c, since sysdep.c now uses it.
Fix compilation failure introduced in revision 110270.

 src/profiler.c (Fprofiler_cpu_stop): Use timer_settime only if
 HAVE_TIMER_SETTIME is defined.
* syssignal.h (PROFILER_CPU_SUPPORT): Don't define if PROFILING.

Suggested by Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00811.html>.
* help-fns.el (help-fns--obsolete): Fix last change.
* lisp/bindings.el (goto-map): Bind M-g TAB to move-to-column.
Minor code tweak for delete-trailing-whitespace.

* lisp/simple.el (delete-trailing-whitespace): Avoid an unnecessary
restriction change.
Handle window-height and window-width alist entries in `display-buffer'.

In buffer display functions handle window-height/window-width
alist entries.  Suggested by Juri Linkov as fix for Bug#1806.
* window.el (window--display-buffer): New argument ALIST.  Obey
window-height and window-width alist entries.
(window--try-to-split-window): New argument ALIST.  Bind
window-combination-limit to t when the window's size shall be
changed and window-combination-limit equals `window-size'.
(display-buffer-in-atom-window)
(display-buffer-in-major-side-window)
(display-buffer-in-side-window, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-below-selected)
(display-buffer-at-bottom, display-buffer-in-previous-window)
(display-buffer-use-some-window): Adjust all callers of
window--display-buffer and window--try-to-split-window.
(fit-frame-to-buffer): New option.
(fit-window-to-buffer): Can resize frames if fit-frame-to-buffer
is non-nil.
(display-buffer-in-major-side-window): Evaluate window-height /
window-width alist entries.

* help.el (temp-buffer-resize-frames)
(temp-buffer-resize-regexps): Remove options.
(temp-buffer-resize-mode): Adjust doc-string.
(resize-temp-buffer-window): Don't consult
temp-buffer-resize-regexps.  Use fit-frame-to-buffer instead of
temp-buffer-resize-frames.

* dired.el (dired-mark-pop-up): Call
display-buffer-below-selected with a fit-window-to-buffer alist
entry.

* window.c (Vwindow_combination_limit): New default value.
(Qwindow_size): New symbol replacing Qtemp_buffer_resize.