]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid errors in erc-dcc.el when erc-dcc-verbose is non-nil
authorVictor J. Orlikowski <vjo@duke.edu>
Sun, 10 Feb 2019 16:13:57 +0000 (11:13 -0500)
committerEli Zaretskii <eliz@gnu.org>
Fri, 15 Feb 2019 08:13:00 +0000 (10:13 +0200)
* lisp/erc/erc-dcc.el (erc-dcc-get-filter): Don't assume STR
is always a string.  Use 'buffer-name' to get the DCC file
name, as buffer-file-name is not set in the process buffer.

Copyright-paperwork-exempt: yes

lisp/erc/erc-dcc.el

index c530b26c05f0b65845039cfbccd33c9f86cf5ac5..2b41c8c705b676db156404d14df749bbd5b7537f 100644 (file)
@@ -989,17 +989,20 @@ rather than every 1024 byte block, but nobody seems to care."
     (let ((inhibit-read-only t)
           received-bytes)
       (goto-char (point-max))
-      (insert (string-make-unibyte str))
+      (if str
+          (insert (string-make-unibyte str)))
 
       (when (> (point-max) erc-dcc-receive-cache)
         (erc-dcc-append-contents (current-buffer) erc-dcc-file-name))
-      (setq received-bytes (+ (buffer-size) erc-dcc-byte-count))
+      (setq received-bytes (buffer-size))
+      (if erc-dcc-byte-count
+          (setq received-bytes (+ received-bytes erc-dcc-byte-count)))
 
       (and erc-dcc-verbose
            (erc-display-message
             nil 'notice erc-server-process
             'dcc-get-bytes-received
-            ?f (file-name-nondirectory buffer-file-name)
+            ?f (file-name-nondirectory (buffer-name))
             ?b (number-to-string received-bytes)))
       (cond
        ((and (> (plist-get erc-dcc-entry-data :size) 0)
@@ -1007,7 +1010,7 @@ rather than every 1024 byte block, but nobody seems to care."
         (erc-display-message
          nil '(notice error) 'active
          'dcc-get-file-too-long
-         ?f (file-name-nondirectory buffer-file-name))
+         ?f (file-name-nondirectory (buffer-name)))
         (delete-process proc))
        (t
         (process-send-string