Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
c1e57b47
Commit
c1e57b47
authored
Jul 04, 2011
by
Vivek Dasmohapatra
Committed by
Lars Magne Ingebrigtsen
Jul 04, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* erc.el (erc-generate-new-buffer-name): Reuse old buffer names
when reconnecting. Fixes: debbugs:5563
parent
4d19331f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
17 deletions
+29
-17
lisp/erc/ChangeLog
lisp/erc/ChangeLog
+5
-0
lisp/erc/erc.el
lisp/erc/erc.el
+24
-17
No files found.
lisp/erc/ChangeLog
View file @
c1e57b47
2011-07-04 Vivek Dasmohapatra <vivek@etla.org>
* erc.el (erc-generate-new-buffer-name): Reuse old buffer names
when reconnecting (bug#5563).
2011-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
* erc.el (erc-ssl): Made into a synonym for erc-tls, which
...
...
lisp/erc/erc.el
View file @
c1e57b47
...
...
@@ -1555,26 +1555,33 @@ symbol, it may have these values:
(
defun
erc-generate-new-buffer-name
(
server
port
target
&optional
proc
)
"Create a new buffer name based on the arguments."
(
when
(
numberp
port
)
(
setq
port
(
number-to-string
port
)))
(
let*
((
buf-name
(
or
target
(
or
(
let
((
name
(
concat
server
":"
port
)))
(
when
(
>
(
length
name
)
1
)
name
))
; This fallback should in fact never happen
"*erc-server-buffer*"
))))
(
let
((
buf-name
(
or
target
(
or
(
let
((
name
(
concat
server
":"
port
)))
(
when
(
>
(
length
name
)
1
)
name
))
;; This fallback should in fact never happen
"*erc-server-buffer*"
)))
buffer-name
)
;; Reuse existing buffers, but not if the buffer is a connected server
;; buffer and not if its associated with a different server than the
;; current ERC buffer.
(
if
(
and
erc-reuse-buffers
(
get-buffer
buf-name
)
(
or
target
(
with-current-buffer
(
get-buffer
buf-name
)
(
and
(
erc-server-buffer-p
)
(
not
(
erc-server-process-alive
)))))
(
with-current-buffer
(
get-buffer
buf-name
)
(
and
(
string=
erc-session-server
server
)
(
erc-port-equal
erc-session-port
port
))))
buf-name
(
generate-new-buffer-name
buf-name
))))
;; if buf-name is taken by a different connection (or by something !erc)
;; then see if "buf-name/server" meets the same criteria
(
dolist
(
candidate
(
list
buf-name
(
concat
buf-name
"/"
server
)))
(
if
(
and
(
not
buffer-name
)
erc-reuse-buffers
(
get-buffer
candidate
)
(
or
target
(
with-current-buffer
(
get-buffer
candidate
)
(
and
(
erc-server-buffer-p
)
(
not
(
erc-server-process-alive
)))))
(
with-current-buffer
(
get-buffer
candidate
)
(
and
(
string=
erc-session-server
server
)
(
erc-port-equal
erc-session-port
port
))))
(
setq
buffer-name
candidate
)))
;; if buffer-name is unset, neither candidate worked out for us,
;; fallback to the old <N> uniquification method:
(
or
buffer-name
(
generate-new-buffer-name
buf-name
))
))
(
defun
erc-get-buffer-create
(
server
port
target
&optional
proc
)
"Create a new buffer based on the arguments."
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment