Fixes: debbugs:20116
* src/minibuf.c (Fread_buffer): Add `predicate' argument.
* src/callint.c (Fcall_interactively): Adjust calls accordingly.
* lisp/erc/erc.el (erc-switch-to-buffer): Rename from erc-iswitchb and rewrite
using read-buffer.
(erc--buffer-p): New function, extracted from erc-buffer-filter.
(erc-buffer-filter): Use it.
(erc-with-all-buffers-of-server): Silence compile warning if the return
value is unused.
(erc-is-valid-nick-p, erc-common-server-suffixes, erc-get-arglist)
(erc-command-name, erc-popup-input-buffer): Use \` and \' to match
beg/end of string.
* lisp/obsolete/iswitchb.el (iswitchb-read-buffer): Add `predicate' arg.
* lisp/isearchb.el (isearchb-iswitchb): Adjust accordingly.
* lisp/ido.el (ido-read-buffer): Add `predicate' argument.
* lisp/misearch.el (unload-function-defs-list): Declare before use.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00501.html
* lisp/obsolete/iswitchb.el: Move to obsolete/.
* lisp/simple.el (iswitchb-mode): Add manual autoloads to ease transition,
since obsolete/ is not scanned for autoloads.
* lisp/emacs-lisp/authors.el (authors-valid-file-names):
Add iswitchb.el.
* doc/emacs/ack.texi (Acknowledgments): No longer mention obsolete files.
* doc/misc/viper.texi (File and Buffer Handling): Prefer ido to iswitchb.
* etc/NEWS: Related edits.