From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.bugs Subject: bug#20116: 24.4.91; [PATCH]Don't use iswitchb in erc. Date: Mon, 16 Mar 2015 08:45:32 +0100 Message-ID: <878uexpeqr.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1426492057 12290 80.91.229.3 (16 Mar 2015 07:47:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 16 Mar 2015 07:47:37 +0000 (UTC) To: 20116@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Mar 16 08:47:23 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YXPk8-00086W-8B for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Mar 2015 08:47:20 +0100 Original-Received: from localhost ([::1]:47733 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXPk7-0002Ts-72 for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Mar 2015 03:47:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42723) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXPjz-0002Ti-Bp for bug-gnu-emacs@gnu.org; Mon, 16 Mar 2015 03:47:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YXPjq-0000yZ-Vr for bug-gnu-emacs@gnu.org; Mon, 16 Mar 2015 03:47:11 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:49459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXPjq-0000yT-RS for bug-gnu-emacs@gnu.org; Mon, 16 Mar 2015 03:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YXPjq-0003Vi-Gw for bug-gnu-emacs@gnu.org; Mon, 16 Mar 2015 03:47:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Mar 2015 07:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 20116 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.142649196113396 (code B ref -1); Mon, 16 Mar 2015 07:47:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 16 Mar 2015 07:46:01 +0000 Original-Received: from localhost ([127.0.0.1]:48026 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YXPiq-0003Tu-8y for submit@debbugs.gnu.org; Mon, 16 Mar 2015 03:46:01 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:40748) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YXPio-0003Tm-5f for submit@debbugs.gnu.org; Mon, 16 Mar 2015 03:45:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YXPii-0000Xl-M0 for submit@debbugs.gnu.org; Mon, 16 Mar 2015 03:45:57 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:47013) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXPii-0000Xh-IV for submit@debbugs.gnu.org; Mon, 16 Mar 2015 03:45:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42438) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXPig-0001qa-Bu for bug-gnu-emacs@gnu.org; Mon, 16 Mar 2015 03:45:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YXPiZ-0000Vc-3Q for bug-gnu-emacs@gnu.org; Mon, 16 Mar 2015 03:45:50 -0400 Original-Received: from mail-wg0-x234.google.com ([2a00:1450:400c:c00::234]:33135) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXPiY-0000Us-Or for bug-gnu-emacs@gnu.org; Mon, 16 Mar 2015 03:45:43 -0400 Original-Received: by wgbcc7 with SMTP id cc7so32563060wgb.0 for ; Mon, 16 Mar 2015 00:45:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=kw6/bE5VXTdYZWrTlX551Fv/Wkwo5xTQ+35AoC6l13M=; b=viA7VCvfWX71X97gggvd2tc5mCXfeIoYD1xbAVvE2zCRuvfiGEcG53v1ShcO1Wx8Sr MqpfxityZKOQu5TXF5FDtM8soH9erMXRRa69jTRK/P8juRF7VEZ6KMDHVl4dSWm4RkLp bEWYst/3V7rD6OMXMufsCksXVpTZerNyf8DVXNainJc8ez80skJ/A6ouMWLS5NqI26ah SUBgt7BGvmJ1AxIImKSjemRfUZoj1Q5cw4GCyfWYTi0pU2tyV+W221xT8lZptvz5EYNe sRZL1Tlk869uLczKNxU2xgXJ5KRL81WVjdt851kMgqgwcAClqF8akHYnMRL9CIKdR1ed xpHQ== X-Received: by 10.180.187.19 with SMTP id fo19mr83835621wic.2.1426491941143; Mon, 16 Mar 2015 00:45:41 -0700 (PDT) Original-Received: from dell-14z ([37.162.130.213]) by mx.google.com with ESMTPSA id r14sm14093823wiv.13.2015.03.16.00.45.36 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 16 Mar 2015 00:45:40 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:100516 Archived-At: Hi, erc is still using iswitchb which is deprecated, thus using this directly does not allow other packages (at least helm) to use their own completion. Using completing-read allow ido user to use ido, helm users helm etc... 8c03a0e7352eeb3e40d94897623a5ce5d68a0789 HEAD erc_no_iswitchb Author: Thierry Volpiatto Date: Mon Mar 16 08:37:59 2015 +0100 Don't use iswitchb in erc. * lisp/erc/erc.el (erc-switch-to-buffer): Renamed from erc-iswitchb. Use completing-read. (erc-mode-map): Bind it. 1 file changed, 13 insertions(+), 31 deletions(-) lisp/erc/erc.el | 44 +++++++++++++------------------------------- Modified lisp/erc/erc.el diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index a84f9f0..e76becd 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -1110,7 +1110,7 @@ which the local user typed." (define-key map "\C-a" 'erc-bol) (define-key map [home] 'erc-bol) (define-key map "\C-c\C-a" 'erc-bol) - (define-key map "\C-c\C-b" 'erc-iswitchb) + (define-key map "\C-c\C-b" 'erc-switch-to-buffer) (define-key map "\C-c\C-c" 'erc-toggle-interpret-controls) (define-key map "\C-c\C-d" 'erc-input-action) (define-key map "\C-c\C-e" 'erc-toggle-ctcp-autoresponse) @@ -1697,40 +1697,22 @@ nil." ;; a variable. res))) -;; (iswitchb-mode) will autoload iswitchb.el -(defvar iswitchb-temp-buflist) -(declare-function iswitchb-read-buffer "iswitchb" - (prompt &optional default require-match start matches-set)) -(defvar iswitchb-make-buflist-hook) - -(defun erc-iswitchb (&optional arg) - "Use `iswitchb-read-buffer' to prompt for a ERC buffer to switch to. +(defun erc-switch-to-buffer (&optional arg) + "Prompt for a ERC buffer to switch to. When invoked with prefix argument, use all erc buffers. Without prefix ARG, allow only buffers related to same session server. If `erc-track-mode' is in enabled, put the last element of -`erc-modified-channels-alist' in front of the buffer list. - -Due to some yet unresolved reason, global function `iswitchb-mode' -needs to be active for this function to work." +`erc-modified-channels-alist' in front of the buffer list." (interactive "P") - (let ((enabled (bound-and-true-p iswitchb-mode))) - (or enabled (iswitchb-mode 1)) - (unwind-protect - (let ((iswitchb-make-buflist-hook - (lambda () - (setq iswitchb-temp-buflist - (mapcar 'buffer-name - (erc-buffer-list - nil - (when arg erc-server-process))))))) - (switch-to-buffer - (iswitchb-read-buffer - "Switch-to: " - (if (boundp 'erc-modified-channels-alist) - (buffer-name (caar (last erc-modified-channels-alist))) - nil) - t))) - (or enabled (iswitchb-mode -1))))) + (switch-to-buffer + (completing-read "Switch-to: " + (mapcar 'buffer-name + (erc-buffer-list + nil + (when arg erc-server-process))) + nil t nil nil + (when (boundp 'erc-modified-channels-alist) + (buffer-name (caar (last erc-modified-channels-alist))))))) (defun erc-channel-list (proc) "Return a list of channel buffers. In GNU Emacs 24.4.91.1 (x86_64-unknown-linux-gnu, X toolkit) of 2015-03-12 on dell-14z Repository revision: b21a56ac91e39e75051ad07bb608c39af057adee Windowing system distributor `The X.Org Foundation', version 11.0.11501000 System Description: Ubuntu 14.04.2 LTS Configured using: `configure --with-x-toolkit=lucid --without-toolkit-scroll-bars --without-gconf --without-gsettings' Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: magit-auto-revert-mode: t erc-list-mode: t erc-menu-mode: t erc-autojoin-mode: t erc-ring-mode: t erc-networks-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-track-minor-mode: t erc-match-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-netsplit-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t diff-auto-refine-mode: t git-gutter-mode: t psession-mode: t golden-ratio-mode: t winner-mode: t global-undo-tree-mode: t undo-tree-mode: t auto-image-file-mode: t eldoc-in-minibuffer-mode: t show-paren-mode: t display-time-mode: t recentf-mode: t savehist-mode: t eldoc-mode: t minibuffer-depth-indicate-mode: t helm-descbinds-mode: t helm-mode: t shell-dirtrack-mode: t helm-adaptive-mode: t helm-match-plugin-mode: t helm-autoresize-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent messages: Running git commit -- When done with a buffer, type C-c C-c Type C-c C-c to commit (C-c C-k to abort). Auto-saving...done Saving file /home/thierry/labo/emacs/.git/COMMIT_EDITMSG... Wrote /home/thierry/labo/emacs/.git/COMMIT_EDITMSG Git finished Type a prefix key to toggle it. Run 'actions' with their prefixes. '?' for more help. Mark set Saved text from "8c03a0e7352eeb3e40d94897623a5ce5d68a0789" Load-path shadows: /home/thierry/.emacs.d/elpa/emms-20150310.458/tq hides /usr/local/share/emacs/24.4.91/lisp/emacs-lisp/tq ~/elisp/auctex/lpath hides ~/elisp/emacs-wget/lpath Features: (shadow emacsbug magit-key-mode magit view help-mode autorevert filenotify git-rebase-mode git-commit-mode log-edit add-log helm-ls-git vc vc-dispatcher cl-indent helm-ring mail-extr helm-dabbrev epa-mail smiley gnus-art mm-uu mml2015 mm-view mml-smime smime dig mule-util network-stream starttls tls erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit erc-goodies erc erc-backend erc-compat helm-command helm-elisp helm-eval package-build lisp-mnt org-element org-rmail org-mhe org-irc org-info org-gnus org-docview org-bibtex bibtex org-bbdb org-w3m sh-script smie executable conf-mode make-mode cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs markdown-mode vc-rcs diff-mode vc-git naquadah-theme em-unix em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic em-banner em-alias align-let git-gutter server psession golden-ratio winner undo-tree diff slime-xref-browser slime-banner slime-tramp slime-asdf slime-fancy slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-tree slime-scratch slime-presentations bridge slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-repl slime-parse slime etags arc-mode archive-mode image-file xdvi-search preview-latex tex-site auto-loads pcomplete-extension pcmpl-unix pcmpl-gnu em-term term disp-table ehelp python eldoc-eval warnings whitespace paren time recentf tree-widget savehist mu4e-config org-mu4e helm-mu mu4e-contrib mu4e mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-view mu4e-headers mu4e-compose mu4e-draft mu4e-actions ido rfc2368 mu4e-mark mu4e-message html2text mu4e-proc mu4e-utils mu4e-lists mu4e-about mu4e-vars hl-line mu4e-meta gnus-dired nnir gnus-sum gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range gnus-win nnoo config-w3m w3m-search w3m doc-view jka-compr image-mode timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util smtpmail-async smtpmail sendmail dired-async iterator lacarte iedit-rect iedit iedit-lib smallurl mm-url gnus gnus-ems nnheader wid-edit rectangle-utils rect ledger-config ledger esh-var esh-io esh-cmd esh-opt esh-ext esh-proc eldoc esh-groups eshell esh-module esh-mode esh-arg esh-util tv-utils pcvs vc-cvs pcvs-parse pcvs-info pcvs-defs pcvs-util ewoc mb-depth cl-info hyperspec esh-toggle flymake no-word htmlize cl dired-extension emms-vlc-config emms-librefm-stream emms-librefm-scrobbler emms-playlist-limit emms-volume emms-volume-amixer emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-playing-time emms-lyrics emms-url emms-tag-editor emms-mark emms-mode-line emms-cache emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mplayer emms-info emms-streams later-do emms-source-playlist emms-source-file locate emms-player-simple emms-setup emms emms-compat org-config-thierry ob-sh org-crypt appt diary-lib diary-loaddefs org-annotation-helper addressbook-bookmark message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader bookmark-firefox-handler bookmark-extensions init-helm-thierry helm-descbinds helm-extensions-autoloads helm-mode helm-files image-dired tramp tramp-compat tramp-loaddefs trampver shell dired-x dired-aux ffap thingatpt helm-buffers helm-elscreen helm-tags helm-bookmark helm-adaptive helm-info bookmark pp helm-locate helm-help helm-org org-location-google-maps org-agenda google-maps google-maps-static google-maps-geocode google-maps-base json org org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs helm-match-plugin helm-grep wgrep-helm wgrep helm-regexp helm-plugin grep helm-external helm-net browse-url xml url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse url-vars mailcap helm-utils dired compile comint ansi-color ring helm easy-mmode helm-source helm-config helm-autoloads async-bytecomp async helm-aliases epa-file epa derived epg auth-source eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core gnus-util mm-util mail-prsvr password-cache cl-macs gv slime-autoloads package epg-config time-date avoid cus-start cus-load w3m-wget info easymenu edmacro kmacro advice help-fns net-utils cl-loaddefs cl-lib tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind gfilenotify dynamic-setting font-render-setting x-toolkit x multi-tty emacs) Memory information: ((conses 16 630268 48383) (symbols 48 67566 0) (miscs 40 2227 1485) (strings 32 178215 24587) (string-bytes 1 5234753) (vectors 16 68597) (vector-slots 8 1767252 27510) (floats 8 1828 1180) (intervals 56 7470 1145) (buffers 960 185) (heap 1024 62416 3341)) -- Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997