Adjust consing_since_gc when objects are explicitly freed.
* alloc.c (GC_DEFAULT_THRESHOLD): New macro.
(Fgarbage_collect): Use it.  Change minimum to 1/10 of default.
(free_cons, free_misc): Subtract object size from consing_since_gc.
* nsmenu.m (Popdown_data): New struct.
(pop_down_menu): p->pointer is Popdown_data.  Release the pool and
free Popdown_data.
(ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
(initWithContentRect): Make imgView and contentView non-static
and autorelease them.  Also autorelease img and matrix.
(dealloc): Remove (Bug#12005).
* ses.el (ses-cell-formula-aset): New macro.
(ses-cell-references-aset): New macro.
(ses-cell-p): New function.
(ses-rename-cell): Do no longer rely on complex operations like
ses-cell-set-formula or ses-set-cell to change the cell and handle
the undo at the same time, but rather use lower level new macros
`ses-cell-formula-aset' and `ses-cell-references-aset' and handle
the undo directly. Refresh the mode line.
Swap buffer text indirection counters in Fbuffer_swap_text.
* buffer.c (Fbuffer_swap_text): Swap indirections too.
This avoids crash reported by Christoph Scholtes at
http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html.
nnir.el ("nnir"): Add 'virtual ability to nnir backend
Cleanup miscellaneous objects allocation and initialization.
* alloc.c (allocate_misc): Change to static.  Add argument to
specify the subtype.  Adjust comment and users.
(build_overlay): New function.
* buffer.c (copy_overlays, Fmake_overlay): Use it.
* lisp.h (struct Lisp_Overlay): Remove obsolete comment.
(allocate_misc): Remove prototype.
(build_overlay): Add prototype.
nnir.el ("nnir"): Revert last change, that's premature to merge from Gnus master
Fix bug #12025 with a crash when displaying tooltips.

 src/print.c (print_object): Don't crash when a frame's name is nil
 or invalid.
 src/window.c (decode_any_window): Disable CHECK_LIVE_FRAME test, as
 it signals an error when a tooltip frame is being created.
Fix displaying the user name in error message about no home directory.

 lisp/startup.el (command-line): Don't display an empty user name in
 the error message about non-existent home directory, when
 init-file-user was set to an empty string.  See
 http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00835.html
 for the details and context.
Simplify copy_overlay.
* buffer.c (copy_overlay): Simplify, use build_marker.
* lisp.h (struct Lisp_Overlay): Restore comment with minor tweaks.
Fix display of tooltips damaged by enhancements for bug #11832.

 src/xdisp.c (init_iterator): Don't compute dimensions of truncation
 and continuation glyphs on tooltip frames, leave them at zero.
 Avoids displaying continued lines in tooltips.
Merge changes made in Gnus master; Remove dead code

* mail-source.el (mail-source-movemail-and-remove): Remove, unused.
* nntp.el (nntp-send-nosy-authinfo, nntp-send-authinfo-from-file)
  (nntp-async-timer-handler): Remove, unused.
* nnimap.el (nnimap-get-responses): Remove, unused.
* nnheader.el (mail-header-set-extra): Remove, unused.
* netrc.el (netrc-find-service-number, netrc-store-data): Remove,
  unused.
* mm-view.el (mm-view-sound-file): Remove, unused.
* mm-url.el (mm-url-fetch-simple, mm-url-fetch-form)
  (mm-url-encode-multipart-form-data): Remove, unused.
* message.el (message-remove-signature, message-make-host-name)
  (message-fill-address): Remove, unused.
* gnus.el (gnus-writable-groups, gnus-group-guess-prefixed-name)
  (gnus-group-guess-full-name, gnus-group-guess-prefixed-name): Remove,
  unused.
* gnus-uu.el (gnus-uu-find-name-in-shar): Remove, unused.
* gnus-util.el (gnus-extract-address-component-name)
  (gnus-extract-address-component-email, gnus-sortable-date)
  (gnus-alist-to-hashtable, gnus-hashtable-to-alist)
  (gnus-process-live-p): Remove, unused.
* gnus-topic.el (gnus-group-parent-topic): Remove, unused.
* gnus-sum.el (gnus-score-set-default, gnus-article-parent-p)
  (gnus-article-read-p, gnus-uncompress-marks): Remove, unused.
  (gnus-summary-set-current-mark): Remove obsolete, empty and unused
  function.
* gnus-start.el (gnus-kill-newsgroup): Remove unused obsolete function.
* gnus-score.el (gnus-summary-score-crossposting)
  (gnus-score-regexp-bad-p): Remove, unused.
* gnus-salt.el (gnus-tree-goto-article): Remove, unused.
* gnus-range.el (gnus-sublist-p): Remove, unused.
* gnus-msg.el (gnus-mail-parse-comma-list, gnus-put-message): Remove,
  unused.
* gnus-kill.el (gnus-Newsgroup-kill-file): Remove, unused.
* gnus-int.el (gnus-list-active-group, gnus-request-group-articles)
  (gnus-request-associate-buffer): Remove, unused.
* gnus-group.el (gnus-group-set-method-info)
  (gnus-group-set-params-info): Remove, unused.
* gnus-fun.el (gnus-shell-command-to-string)
  (gnus-shell-command-on-region): Remove, unused.
* gnus-cite.el (gnus-cited-line-p): Remove, unused.
* gnus-art.el (gnus-article-text-type-exists-p)
  (article-translate-characters, gnus-article-hide-text-of-type)
  (gnus-kill-sticky-article-buffers, gnus-article-maybe-highlight):
  Remove, unused.
calc-alg.el (math-simplify-divide): Don't cross multiply 
in an equation when the lhs is a variable.
nnimap.el (nnimap-get-responses): Don't remove, still used
Adjust buffer text indirection counters at the end of Fkill_buffer.
* buffer.c (Fkill_buffer): Adjust indirection counters when the
buffer is definitely dead.  This should really fix an issue reported
by Christoph Scholtes again.  (Bug#12007).
(init_buffer_once): Initialize indirection counters of
buffer_defaults and buffer_local_symbols (for sanity and safety).
Prefer typical American spelling for "acknowledgment".
Add advertised calling convention for redirect-frame-focus (Bug#12030).

* frame.c (Fredirect_frame_focus): In doc-string don't mention
that FOCUS-FRAME can be omitted.

* subr.el (redirect-frame-focus): Add advertised calling
convention (Bug#12030).