Guest User

Untitled

a guest
Jul 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. (defun kill-buffer-always (&optional buffer)
  2. "Murderface a buffer, don't listen to nobody, son!"
  3. (interactive "b")
  4. (let ((buffer (or buffer (current-buffer)))
  5. (kill-buffer-query-functions nil))
  6. (kill-buffer buffer)))
  7.  
  8. (defun erc-all-kill (&optional prefix)
  9. "Kill all buffers in erc-mode. With prefix, kill-buffer-query-functions is preserved"
  10. (interactive "P")
  11. (flet ((kill-buffer-p (b) (with-current-buffer b (eq major-mode seek-mode))))
  12. (let* ((seek-mode 'erc-mode)
  13. (kill-buffer-query-functions (if prefix kill-buffer-query-functions '()))
  14. (killed (loop for buffer in (buffer-list)
  15. when (kill-buffer-p buffer)
  16. collect (buffer-name buffer)
  17. and do
  18. (kill-buffer buffer))))
  19. (message "Killed: %s buffers: %s" (length killed) killed)
  20. killed)))
  21.  
  22. (defadvice erc-server-reconnect (after erc-znc-rename last nil activate)
  23. "Maybe rename the buffer we create"
  24. (let* ((wants-name (and (local-variable-p 'znc-buffer-name (erc-server-buffer))
  25. (buffer-local-value 'znc-buffer-name (erc-server-buffer))))
  26. (current (erc-server-buffer))
  27. (returning ad-return-value))
  28. (if wants-name
  29. (progn
  30. (ignore-errors (kill-buffer-always wants-name))
  31. (with-current-buffer returning
  32. (erc-znc-set-name wants-name)
  33. (rename-buffer wants-name))
  34. (get-buffer wants-name))
  35. returning)))
  36.  
  37. (defun erc-znc-set-name (znc-name &optional buffer)
  38. "Set the znc-buffer-name buffer local to znc-name in buffer or (current-buffer)"
  39. (let ((buffer (get-buffer (or buffer (current-buffer)))))
  40. (with-current-buffer buffer
  41. (make-local-variable 'znc-buffer-name)
  42. (setf znc-buffer-name znc-name))))
  43.  
  44. (defun erc-znc (network user pass)
  45. (let ((buffer (format "*irc-%s*" network))
  46. (erc-buffer (erc :server "localhost"
  47. :port 12533
  48. :nick "Muta"
  49. :password (format "%s:%s" user pass))))
  50. (when (get-buffer buffer)
  51. (kill-buffer-always buffer))
  52. (erc-znc-set-name buffer erc-buffer)
  53. (with-current-buffer erc-buffer
  54. (rename-buffer buffer))))
Add Comment
Please, Sign In to add comment