[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21201: 25.0.50; (buffer-modified-p) errors inside cl-letf
From: |
Nicolas Richard |
Subject: |
bug#21201: 25.0.50; (buffer-modified-p) errors inside cl-letf |
Date: |
Thu, 06 Aug 2015 22:07:13 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Artur Malabarba <bruce.connor.am@gmail.com> writes:
> From emacs -Q, run the following:
>
> (cl-letf (((buffer-modified-p)))
> (insert "ookok"))
>
> You'll get an error from trying to set a nil buffer.
Here is a fix:
--8<---------------cut here---------------start------------->8---
modified lisp/emacs-lisp/cl-lib.el
@@ -634,8 +634,10 @@ If ALIST is non-nil, the new pairs are prepended to it."
;; Some more Emacs-related place types.
(gv-define-simple-setter buffer-file-name set-visited-file-name t)
(gv-define-setter buffer-modified-p (flag &optional buf)
- `(with-current-buffer ,buf
- (set-buffer-modified-p ,flag)))
+ (if buf
+ `(with-current-buffer ,buf
+ (set-buffer-modified-p ,flag))
+ `(set-buffer-modified-p ,flag)))
(gv-define-simple-setter buffer-name rename-buffer t)
(gv-define-setter buffer-string (store)
`(insert (prog1 ,store (erase-buffer))))
--8<---------------cut here---------------end--------------->8---
--
Nico