diff options
| author | Eli Zaretskii | 2012-10-20 18:17:25 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-10-20 18:17:25 +0200 |
| commit | 6d03e7beda333663080a64af902231342fd941cf (patch) | |
| tree | bd4521483ad70701e3dbf2c32e2910947bad5b53 /lisp | |
| parent | 87c6b4e6bd7e023bd57c709bb6af59bca27bf4f6 (diff) | |
| parent | 83c85d8e2e6c1e1cb309f554555e1aebc1dcb44f (diff) | |
| download | emacs-6d03e7beda333663080a64af902231342fd941cf.tar.gz emacs-6d03e7beda333663080a64af902231342fd941cf.zip | |
Merge from trunk.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/eshell/esh-cmd.el | 28 | ||||
| -rw-r--r-- | lisp/vc/vc.el | 18 |
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 @@ | |||
| 1 | 2012-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 | |||
| 1 | 2012-10-20 Arne Jørgensen <arne@arnested.dk> | 9 | 2012-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' |