diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 105e1ab43d8..46258cbbd81 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -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) diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index d538ae32b37..32a3eecb523 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el @@ -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 diff --git a/lisp/image-file.el b/lisp/image-file.el index bc5ef446bb2..abc4686d69c 100644 --- a/lisp/image-file.el +++ b/lisp/image-file.el @@ -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 diff --git a/lisp/image.el b/lisp/image.el index 6da3a0b6cd0..ba87d7f7859 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -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) diff --git a/src/emacs.c b/src/emacs.c index 5eba88c74ff..8655f715e47 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -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 diff --git a/test/lisp/image-tests.el b/test/lisp/image-tests.el new file mode 100644 index 00000000000..89b926e629d --- /dev/null +++ b/test/lisp/image-tests.el @@ -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 . + +;;; 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