]> git.eshelyaron.com Git - emacs.git/commitdiff
Replace use of obsolete string-make-unibyte
authorNoam Postavsky <npostavs@gmail.com>
Sun, 28 Apr 2019 20:29:44 +0000 (16:29 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 28 Apr 2019 20:45:13 +0000 (16:45 -0400)
* lisp/image-file.el (insert-image-file): Use encode-coding-region
instead of string-make-unibyte.
* test/lisp/image-file-tests.el: New test.

lisp/image-file.el
test/lisp/image-file-tests.el [new file with mode: 0644]

index abc4686d69c74890117d6c05ce6e02925143241e..6cadc42110fc1d3b1a94fc8fd77ab880dd91c0e2 100644 (file)
@@ -110,11 +110,8 @@ absolute file name and number of characters inserted."
       (let* ((ibeg (point))
             (iend (+ (point) (cadr rval)))
             (visitingp (and visit (= ibeg (point-min)) (= iend (point-max))))
-            (data
-             (string-make-unibyte
-              (buffer-substring-no-properties ibeg iend)))
-            (image
-             (create-image data nil t))
+             (image (create-image (encode-coding-region ibeg iend 'binary t)
+                                  nil t))
             (props
              `(display ,image
                        yank-handler
diff --git a/test/lisp/image-file-tests.el b/test/lisp/image-file-tests.el
new file mode 100644 (file)
index 0000000..b3676d1
--- /dev/null
@@ -0,0 +1,44 @@
+;;; image-file-tests.el --- Test suite for image-files  -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2019 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ert)
+(require 'image-file)
+
+(defconst image-file-tests-data-directory
+  (expand-file-name "data/image" (getenv "EMACS_TEST_DIRECTORY"))
+  "Directory containing image test data.")
+
+(ert-deftest insert-image-file ()
+  (skip-unless (image-type-available-p 'png))
+  (with-temp-buffer
+    (set-buffer-multibyte t)
+    (insert-image-file (expand-file-name "blank-100x200.png"
+                                         image-file-tests-data-directory))
+    (should (image--get-image)))
+  (with-temp-buffer
+    (set-buffer-multibyte nil)
+    (insert-image-file (expand-file-name "blank-100x200.png"
+                                         image-file-tests-data-directory))
+    (should (image--get-image))))
+
+;;; image-file-tests.el ends here