[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20116: 24.4.91; [PATCH]Don't use iswitchb in erc.
From: |
Thierry Volpiatto |
Subject: |
bug#20116: 24.4.91; [PATCH]Don't use iswitchb in erc. |
Date: |
Mon, 16 Mar 2015 08:45:32 +0100 |
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 <thierry.volpiatto@gmail.com>
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
- bug#20116: 24.4.91; [PATCH]Don't use iswitchb in erc.,
Thierry Volpiatto <=