aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii2012-10-20 18:17:25 +0200
committerEli Zaretskii2012-10-20 18:17:25 +0200
commit6d03e7beda333663080a64af902231342fd941cf (patch)
treebd4521483ad70701e3dbf2c32e2910947bad5b53 /lisp
parent87c6b4e6bd7e023bd57c709bb6af59bca27bf4f6 (diff)
parent83c85d8e2e6c1e1cb309f554555e1aebc1dcb44f (diff)
downloademacs-6d03e7beda333663080a64af902231342fd941cf.tar.gz
emacs-6d03e7beda333663080a64af902231342fd941cf.zip
Merge from trunk.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/eshell/esh-cmd.el28
-rw-r--r--lisp/vc/vc.el18
3 files changed, 32 insertions, 22 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 41b0135a708..0e947b4039b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
12012-10-20 Chong Yidong <cyd@gnu.org>
2
3 * vc/vc.el (vc-diff-internal): Set up Diff mode even if there are
4 no changes to show (Bug#12586).
5
6 * eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body
7 list explicitly (Bug#12571).
8
12012-10-20 Arne Jørgensen <arne@arnested.dk> 92012-10-20 Arne Jørgensen <arne@arnested.dk>
2 10
3 * progmodes/flymake.el (flymake-create-temp-inplace): Use 11 * progmodes/flymake.el (flymake-create-temp-inplace): Use
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index 5a10721387b..e6e89d83b7c 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -484,20 +484,22 @@ implemented via rewriting, rather than as a function."
484 (let ((body (car (last terms)))) 484 (let ((body (car (last terms))))
485 (setcdr (last terms 2) nil) 485 (setcdr (last terms 2) nil)
486 `(let ((for-items 486 `(let ((for-items
487 (append 487 (copy-tree
488 ,@(mapcar 488 (append
489 (lambda (elem) 489 ,@(mapcar
490 (if (listp elem) 490 (lambda (elem)
491 elem 491 (if (listp elem)
492 `(list ,elem))) 492 elem
493 (cdr (cddr terms))))) 493 `(list ,elem)))
494 (eshell-command-body '(nil)) 494 (cdr (cddr terms))))))
495 (eshell-command-body '(nil))
495 (eshell-test-body '(nil))) 496 (eshell-test-body '(nil)))
496 (while (consp for-items) 497 (while (car for-items)
497 (let ((,(intern (cadr terms)) (car for-items))) 498 (let ((,(intern (cadr terms)) (car for-items)))
498 (eshell-protect 499 (eshell-protect
499 ,(eshell-invokify-arg body t))) 500 ,(eshell-invokify-arg body t)))
500 (setq for-items (cdr for-items))) 501 (setcar for-items (cadr for-items))
502 (setcdr for-items (cddr for-items)))
501 (eshell-close-handles 503 (eshell-close-handles
502 eshell-last-command-status 504 eshell-last-command-status
503 (list 'quote eshell-last-command-result)))))) 505 (list 'quote eshell-last-command-result))))))
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 2da721b41d8..a909aca5bca 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1584,21 +1584,21 @@ Return t if the buffer had changes, nil otherwise."
1584 (let ((vc-disable-async-diff (not async))) 1584 (let ((vc-disable-async-diff (not async)))
1585 (vc-call-backend (car vc-fileset) 'diff files rev1 rev2 buffer)) 1585 (vc-call-backend (car vc-fileset) 'diff files rev1 rev2 buffer))
1586 (set-buffer buffer) 1586 (set-buffer buffer)
1587 (diff-mode)
1588 (set (make-local-variable 'diff-vc-backend) (car vc-fileset))
1589 (set (make-local-variable 'revert-buffer-function)
1590 `(lambda (ignore-auto noconfirm)
1591 (vc-diff-internal ,async ',vc-fileset ,rev1 ,rev2 ,verbose)))
1592 ;; Make the *vc-diff* buffer read only, the diff-mode key
1593 ;; bindings are nicer for read only buffers. pcl-cvs does the
1594 ;; same thing.
1595 (setq buffer-read-only t)
1587 (if (and (zerop (buffer-size)) 1596 (if (and (zerop (buffer-size))
1588 (not (get-buffer-process (current-buffer)))) 1597 (not (get-buffer-process (current-buffer))))
1589 ;; Treat this case specially so as not to pop the buffer. 1598 ;; Treat this case specially so as not to pop the buffer.
1590 (progn 1599 (progn
1591 (message "%s" (cdr messages)) 1600 (message "%s" (cdr messages))
1592 nil) 1601 nil)
1593 (diff-mode)
1594 (set (make-local-variable 'diff-vc-backend) (car vc-fileset))
1595 (set (make-local-variable 'revert-buffer-function)
1596 `(lambda (ignore-auto noconfirm)
1597 (vc-diff-internal ,async ',vc-fileset ,rev1 ,rev2 ,verbose)))
1598 ;; Make the *vc-diff* buffer read only, the diff-mode key
1599 ;; bindings are nicer for read only buffers. pcl-cvs does the
1600 ;; same thing.
1601 (setq buffer-read-only t)
1602 ;; Display the buffer, but at the end because it can change point. 1602 ;; Display the buffer, but at the end because it can change point.
1603 (pop-to-buffer (current-buffer)) 1603 (pop-to-buffer (current-buffer))
1604 ;; The diff process may finish early, so call `vc-diff-finish' 1604 ;; The diff process may finish early, so call `vc-diff-finish'