Merge from origin/emacs-26

037970f Document insert-image-file's return value (Bug#32978)
598b45a Autoload cua-toggle-rectangle-mark (Bug#34947)
95bd56d Tell xclip not to expect job-control under eshell (Bug#35257)
9997bbb ; * src/emacs.c: Fix typo in comment (Bug#35320).
a4ad7be Fix off-by-one-link error in image--set-property
This commit is contained in:
Glenn Morris 2019-04-21 07:51:36 -07:00
commit 50d00e7153
6 changed files with 57 additions and 6 deletions

View file

@ -602,6 +602,7 @@ a cons (TYPE . COLOR), then both properties are affected."
(autoload 'cua-set-rectangle-mark "cua-rect"
"Start rectangle at mouse click position." t nil)
(autoload 'cua-toggle-rectangle-mark "cua-rect" nil t)
;; Stub definitions until it is loaded
(defvar cua--rectangle)

View file

@ -251,7 +251,11 @@ The prompt will be set to PROMPT."
"A marker that tracks the beginning of output of the last subprocess.
Used only on systems which do not support async subprocesses.")
(defvar eshell-needs-pipe '("bc")
(defvar eshell-needs-pipe
'("bc"
;; xclip.el (in GNU ELPA) calls all of these with
;; `process-connection-type' set to nil.
"pbpaste" "putclip" "xclip" "xsel" "wl-copy")
"List of commands which need `process-connection-type' to be nil.
Currently only affects commands in pipelines, and not those at
the front. If an element contains a directory part it must match

View file

@ -97,8 +97,9 @@ the variable is set using \\[customize]."
;;;###autoload
(defun insert-image-file (file &optional visit beg end replace)
"Insert the image file FILE into the current buffer.
Optional arguments VISIT, BEG, END, and REPLACE are interpreted as for
the command `insert-file-contents'."
Optional arguments VISIT, BEG, END, and REPLACE are interpreted
as for the command `insert-file-contents'. Return list of
absolute file name and number of characters inserted."
(let ((rval
(image-file-call-underlying #'insert-file-contents-literally
'insert-file-contents

View file

@ -454,10 +454,10 @@ Internal use only."
;; plist. Decouple plist entries where the key matches
;; the property.
(if (eq (cadr image) property)
(setcdr image (cddr image))
(setcdr image (cdddr image))
(setq image (cddr image))))
;; Just enter the new value.
(plist-put (cdr image) property value))
(setcdr image (plist-put (cdr image) property value)))
value)
(defun image-property (image property)

View file

@ -342,7 +342,7 @@ section of the Emacs manual or the file BUGS.\n"
bool fatal_error_in_progress;
#ifdef HAVE_NS
/* NS autrelease pool, for memory management. */
/* NS autorelease pool, for memory management. */
static void *ns_pool;
#endif

45
test/lisp/image-tests.el Normal file
View file

@ -0,0 +1,45 @@
;;; image-tests.el --- tests for image.el -*- 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/>.
;;; Code:
(require 'ert)
(require 'image)
(ert-deftest image--set-property ()
"Test `image--set-property' behavior."
(let ((image (list 'image)))
;; Add properties.
(setf (image-property image :scale) 1)
(should (equal image '(image :scale 1)))
(setf (image-property image :width) 8)
(should (equal image '(image :scale 1 :width 8)))
(setf (image-property image :height) 16)
(should (equal image '(image :scale 1 :width 8 :height 16)))
;; Delete properties.
(setf (image-property image :type) nil)
(should (equal image '(image :scale 1 :width 8 :height 16)))
(setf (image-property image :scale) nil)
(should (equal image '(image :width 8 :height 16)))
(setf (image-property image :height) nil)
(should (equal image '(image :width 8)))
(setf (image-property image :width) nil)
(should (equal image '(image)))))
;;; image-tests.el ends here