diff options
| author | Po Lu | 2021-12-07 09:32:13 +0800 |
|---|---|---|
| committer | Po Lu | 2021-12-07 09:32:13 +0800 |
| commit | d9b3f665bc57bc78716f4c9d5efebf283f7e1964 (patch) | |
| tree | 4795b7d972c36f84ae57632922a05de2e01fd856 | |
| parent | 0b6a632f99214e2d1e9e1d72b8f8b3a7f054d552 (diff) | |
| parent | e17aea73a5b2ae5f7cbf9057d7dad286be81ffc0 (diff) | |
| download | emacs-d9b3f665bc57bc78716f4c9d5efebf283f7e1964.tar.gz emacs-d9b3f665bc57bc78716f4c9d5efebf283f7e1964.zip | |
Merge remote-tracking branch 'origin/master' into feature/pgtk
| -rw-r--r-- | doc/emacs/dired.texi | 17 | ||||
| -rw-r--r-- | etc/tutorials/TUTORIAL | 14 | ||||
| -rw-r--r-- | etc/tutorials/TUTORIAL.sv | 14 | ||||
| -rw-r--r-- | lisp/bindings.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-registry.el | 3 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 5 | ||||
| -rw-r--r-- | lisp/net/shr.el | 4 | ||||
| -rw-r--r-- | lisp/net/tramp-cmds.el | 7 | ||||
| -rw-r--r-- | lisp/net/tramp-gvfs.el | 2 | ||||
| -rw-r--r-- | lisp/net/tramp-sh.el | 11 | ||||
| -rw-r--r-- | lisp/net/tramp-smb.el | 6 | ||||
| -rw-r--r-- | lisp/net/tramp-sudoedit.el | 13 | ||||
| -rw-r--r-- | lisp/net/tramp.el | 86 | ||||
| -rw-r--r-- | lisp/startup.el | 10 | ||||
| -rw-r--r-- | src/image.c | 18 | ||||
| -rw-r--r-- | test/lisp/emacs-lisp/bytecomp-tests.el | 5 | ||||
| -rw-r--r-- | test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el | 1 | ||||
| -rw-r--r-- | test/lisp/mail/mail-utils-tests.el | 3 | ||||
| -rw-r--r-- | test/lisp/net/tramp-tests.el | 7 |
20 files changed, 140 insertions, 92 deletions
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index 0edd8bc7da0..48cf5630eea 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi | |||
| @@ -742,6 +742,15 @@ never creates such missing directories; the value @code{always}, | |||
| 742 | means Dired automatically creates them; the value @code{ask} | 742 | means Dired automatically creates them; the value @code{ask} |
| 743 | means Dired asks you for confirmation before creating them. | 743 | means Dired asks you for confirmation before creating them. |
| 744 | 744 | ||
| 745 | @vindex dired-create-destination-dirs-on-trailing-dirsep | ||
| 746 | If the option @code{dired-create-destination-dirs-on-trailing-dirsep} | ||
| 747 | is non-@code{nil} in addition to @code{dired-create-destination-dirs}, | ||
| 748 | a trailing directory separator at the destination directory is treated | ||
| 749 | specially. In that case, when copying to @samp{test/} and no | ||
| 750 | directory @samp{test} exists already, it will be created and the | ||
| 751 | specified source files or directories are copied into the newly | ||
| 752 | created directory. | ||
| 753 | |||
| 745 | @vindex dired-copy-preserve-time | 754 | @vindex dired-copy-preserve-time |
| 746 | If @code{dired-copy-preserve-time} is non-@code{nil}, then copying | 755 | If @code{dired-copy-preserve-time} is non-@code{nil}, then copying |
| 747 | with this command preserves the modification time of the old file in | 756 | with this command preserves the modification time of the old file in |
| @@ -784,6 +793,14 @@ which to move the files (this is like the shell command @command{mv}). | |||
| 784 | The option @code{dired-create-destination-dirs} controls whether Dired | 793 | The option @code{dired-create-destination-dirs} controls whether Dired |
| 785 | should create non-existent directories in @var{new}. | 794 | should create non-existent directories in @var{new}. |
| 786 | 795 | ||
| 796 | The option @code{dired-create-destination-dirs-on-trailing-dirsep}, | ||
| 797 | when set in addition to @code{dired-create-destination-dirs}, controls | ||
| 798 | wether a trailing directory separator at the destination is treated | ||
| 799 | specially. In that case, when renaming a directory @samp{old} to | ||
| 800 | @samp{new/} and no directory @samp{new} exists already, it will be | ||
| 801 | created and @samp{old} is moved into the newly created directory. | ||
| 802 | Otherwise, @samp{old} is renamed to @samp{new}. | ||
| 803 | |||
| 787 | Dired automatically changes the visited file name of buffers associated | 804 | Dired automatically changes the visited file name of buffers associated |
| 788 | with renamed files so that they refer to the new names. | 805 | with renamed files so that they refer to the new names. |
| 789 | 806 | ||
diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL index dcdb61f23ec..cbb333470a0 100644 --- a/etc/tutorials/TUTORIAL +++ b/etc/tutorials/TUTORIAL | |||
| @@ -1099,6 +1099,20 @@ manual in the node called "Dired". | |||
| 1099 | The manual also describes many other Emacs features. | 1099 | The manual also describes many other Emacs features. |
| 1100 | 1100 | ||
| 1101 | 1101 | ||
| 1102 | * INSTALLING PACKAGES | ||
| 1103 | --------------------- | ||
| 1104 | |||
| 1105 | There's a rich set of packages for Emacs written by the community, | ||
| 1106 | which extend Emacs' capabilities. These packages include support for | ||
| 1107 | new languages, additional themes, plugins for integrating with | ||
| 1108 | external applications, and much, much more. | ||
| 1109 | |||
| 1110 | To see a list of all available packages, type M-x list-packages. In | ||
| 1111 | the display this shows, you can install or uninstall packages, as well | ||
| 1112 | as read packages' descriptions. For more information about package | ||
| 1113 | management, consult the manual. | ||
| 1114 | |||
| 1115 | |||
| 1102 | * CONCLUSION | 1116 | * CONCLUSION |
| 1103 | ------------ | 1117 | ------------ |
| 1104 | 1118 | ||
diff --git a/etc/tutorials/TUTORIAL.sv b/etc/tutorials/TUTORIAL.sv index dacc66d916f..5c9703f8066 100644 --- a/etc/tutorials/TUTORIAL.sv +++ b/etc/tutorials/TUTORIAL.sv | |||
| @@ -1119,6 +1119,20 @@ Emacs-manualen i noden "Dired". | |||
| 1119 | Manualen beskriver även många andra funktioner i Emacs. | 1119 | Manualen beskriver även många andra funktioner i Emacs. |
| 1120 | 1120 | ||
| 1121 | 1121 | ||
| 1122 | * INSTALLERA PAKET | ||
| 1123 | ------------------ | ||
| 1124 | |||
| 1125 | Det finns en stor mängd paket för Emacs skrivna av användare, som | ||
| 1126 | utökar Emacs funktionalitet. Detta kan innefatta stöd för nya språk, | ||
| 1127 | fler teman, insticksmoduler för integration med externa program och | ||
| 1128 | mycket, mycket annat. | ||
| 1129 | |||
| 1130 | Skriv M-x list-packages för att se en lista över alla tillgängliga | ||
| 1131 | paket. I detta läge kan du installera eller avinstallera paket samt | ||
| 1132 | läsa mer om olika paket. Se användarmanualen för mer information om | ||
| 1133 | pakethantering. | ||
| 1134 | |||
| 1135 | |||
| 1122 | * SLUTORD | 1136 | * SLUTORD |
| 1123 | --------- | 1137 | --------- |
| 1124 | 1138 | ||
diff --git a/lisp/bindings.el b/lisp/bindings.el index 578406dd988..ba3bf81b3e3 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -288,7 +288,7 @@ mnemonics of the following coding systems: | |||
| 288 | Value is used for `mode-line-frame-identification', which see." | 288 | Value is used for `mode-line-frame-identification', which see." |
| 289 | (if (or (null window-system) | 289 | (if (or (null window-system) |
| 290 | (eq window-system 'pc)) | 290 | (eq window-system 'pc)) |
| 291 | "-%F " | 291 | " %F " |
| 292 | " ")) | 292 | " ")) |
| 293 | 293 | ||
| 294 | ;; We need to defer the call to mode-line-frame-control to the time | 294 | ;; We need to defer the call to mode-line-frame-control to the time |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index d6b25e02795..b1afa6fe611 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -1712,10 +1712,10 @@ It is too wide if it has any lines longer than the largest of | |||
| 1712 | (nth 2 form))))) | 1712 | (nth 2 form))))) |
| 1713 | (when (and (consp name) (eq (car name) 'quote)) | 1713 | (when (and (consp name) (eq (car name) 'quote)) |
| 1714 | (setq name (cadr name))) | 1714 | (setq name (cadr name))) |
| 1715 | (setq name (if name (format " `%s'" name) "")) | 1715 | (setq name (if name (format " `%s' " name) "")) |
| 1716 | (when (and kind docs (stringp docs) | 1716 | (when (and kind docs (stringp docs) |
| 1717 | (byte-compile--wide-docstring-p docs col)) | 1717 | (byte-compile--wide-docstring-p docs col)) |
| 1718 | (byte-compile-warn "%s%s docstring wider than %s characters" | 1718 | (byte-compile-warn "%s%sdocstring wider than %s characters" |
| 1719 | kind name col)))) | 1719 | kind name col)))) |
| 1720 | form) | 1720 | form) |
| 1721 | 1721 | ||
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index 8ce88dc81e4..163d543afd1 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el | |||
| @@ -847,7 +847,8 @@ Overrides existing keywords with FORCE set non-nil." | |||
| 847 | (defun gnus-registry-register-message-ids () | 847 | (defun gnus-registry-register-message-ids () |
| 848 | "Register the Message-ID of every article in the group." | 848 | "Register the Message-ID of every article in the group." |
| 849 | (unless (or (gnus-parameter-registry-ignore gnus-newsgroup-name) | 849 | (unless (or (gnus-parameter-registry-ignore gnus-newsgroup-name) |
| 850 | (null gnus-registry-register-all)) | 850 | (null gnus-registry-register-all) |
| 851 | (null (eieio-object-p gnus-registry-db))) | ||
| 851 | (dolist (article gnus-newsgroup-articles) | 852 | (dolist (article gnus-newsgroup-articles) |
| 852 | (let* ((id (gnus-registry-fetch-message-id-fast article)) | 853 | (let* ((id (gnus-registry-fetch-message-id-fast article)) |
| 853 | (groups (gnus-registry-get-id-key id 'group))) | 854 | (groups (gnus-registry-get-id-key id 'group))) |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 0a5fb72774b..28bd1df59ab 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -283,8 +283,9 @@ the form (concat S2 S)." | |||
| 283 | ((eq (car-safe action) 'boundaries) | 283 | ((eq (car-safe action) 'boundaries) |
| 284 | (let ((beg (or (and (eq (car-safe res) 'boundaries) (cadr res)) 0))) | 284 | (let ((beg (or (and (eq (car-safe res) 'boundaries) (cadr res)) 0))) |
| 285 | `(boundaries | 285 | `(boundaries |
| 286 | ,(max (min (length string) (length s1)) | 286 | ,(min (length string) |
| 287 | (+ beg (- (length s1) (length s2)))) | 287 | (max (length s1) |
| 288 | (+ beg (- (length s1) (length s2))))) | ||
| 288 | . ,(and (eq (car-safe res) 'boundaries) (cddr res))))) | 289 | . ,(and (eq (car-safe res) 'boundaries) (cddr res))))) |
| 289 | ((stringp res) | 290 | ((stringp res) |
| 290 | (if (string-prefix-p s2 res completion-ignore-case) | 291 | (if (string-prefix-p s2 res completion-ignore-case) |
diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 63522b02ace..829cf151f79 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el | |||
| @@ -1431,9 +1431,7 @@ ones, in case fg and bg are nil." | |||
| 1431 | 1431 | ||
| 1432 | (defun shr-parse-style (style) | 1432 | (defun shr-parse-style (style) |
| 1433 | (when style | 1433 | (when style |
| 1434 | (save-match-data | 1434 | (setq style (replace-regexp-in-string "\n" " " style)) |
| 1435 | (when (string-search "\n" style) | ||
| 1436 | (setq style (replace-match " " t t style)))) | ||
| 1437 | (let ((plist nil)) | 1435 | (let ((plist nil)) |
| 1438 | (dolist (elem (split-string style ";")) | 1436 | (dolist (elem (split-string style ";")) |
| 1439 | (when elem | 1437 | (when elem |
diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el index 63eab1b31a1..2eaebebed9f 100644 --- a/lisp/net/tramp-cmds.el +++ b/lisp/net/tramp-cmds.el | |||
| @@ -67,7 +67,7 @@ SYNTAX can be one of the symbols `default' (default), | |||
| 67 | nil | 67 | nil |
| 68 | (mapcar | 68 | (mapcar |
| 69 | (lambda (x) | 69 | (lambda (x) |
| 70 | (with-current-buffer x (when (tramp-tramp-file-p default-directory) x))) | 70 | (when (tramp-tramp-file-p (tramp-get-default-directory x)) x)) |
| 71 | (buffer-list)))) | 71 | (buffer-list)))) |
| 72 | 72 | ||
| 73 | ;;;###tramp-autoload | 73 | ;;;###tramp-autoload |
| @@ -593,9 +593,8 @@ buffer in your bug report. | |||
| 593 | 593 | ||
| 594 | (defun tramp-reporter-dump-variable (varsym mailbuf) | 594 | (defun tramp-reporter-dump-variable (varsym mailbuf) |
| 595 | "Pretty-print the value of the variable in symbol VARSYM." | 595 | "Pretty-print the value of the variable in symbol VARSYM." |
| 596 | (let* ((reporter-eval-buffer (symbol-value 'reporter-eval-buffer)) | 596 | (when-let ((reporter-eval-buffer reporter-eval-buffer) |
| 597 | (val (with-current-buffer reporter-eval-buffer | 597 | (val (buffer-local-value varsym reporter-eval-buffer))) |
| 598 | (symbol-value varsym)))) | ||
| 599 | 598 | ||
| 600 | (if (hash-table-p val) | 599 | (if (hash-table-p val) |
| 601 | ;; Pretty print the cache. | 600 | ;; Pretty print the cache. |
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 6d83ae59b06..d7af0d34bd5 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el | |||
| @@ -1456,7 +1456,7 @@ If FILE-SYSTEM is non-nil, return file system attributes." | |||
| 1456 | `file-notify' events." | 1456 | `file-notify' events." |
| 1457 | (let* ((events (process-get proc 'events)) | 1457 | (let* ((events (process-get proc 'events)) |
| 1458 | (rest-string (process-get proc 'rest-string)) | 1458 | (rest-string (process-get proc 'rest-string)) |
| 1459 | (dd (with-current-buffer (process-buffer proc) default-directory)) | 1459 | (dd (tramp-get-default-directory (process-buffer proc))) |
| 1460 | (ddu (regexp-quote (tramp-gvfs-url-file-name dd)))) | 1460 | (ddu (regexp-quote (tramp-gvfs-url-file-name dd)))) |
| 1461 | (when rest-string | 1461 | (when rest-string |
| 1462 | (tramp-message proc 10 "Previous string:\n%s" rest-string)) | 1462 | (tramp-message proc 10 "Previous string:\n%s" rest-string)) |
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 8e66363f03a..c2a02312474 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el | |||
| @@ -2601,7 +2601,7 @@ The method used must be an out-of-band method." | |||
| 2601 | ;; We cannot use `insert-buffer-substring' because the Tramp | 2601 | ;; We cannot use `insert-buffer-substring' because the Tramp |
| 2602 | ;; buffer changes its contents before insertion due to calling | 2602 | ;; buffer changes its contents before insertion due to calling |
| 2603 | ;; `expand-file-name' and alike. | 2603 | ;; `expand-file-name' and alike. |
| 2604 | (insert (with-current-buffer (tramp-get-buffer v) (buffer-string))) | 2604 | (insert (tramp-get-buffer-string (tramp-get-buffer v))) |
| 2605 | 2605 | ||
| 2606 | ;; We must enable unibyte strings, because the "--dired" | 2606 | ;; We must enable unibyte strings, because the "--dired" |
| 2607 | ;; output counts in bytes. | 2607 | ;; output counts in bytes. |
| @@ -3160,8 +3160,7 @@ implementation will be used." | |||
| 3160 | (when outbuf | 3160 | (when outbuf |
| 3161 | (with-current-buffer outbuf | 3161 | (with-current-buffer outbuf |
| 3162 | (insert | 3162 | (insert |
| 3163 | (with-current-buffer (tramp-get-connection-buffer v) | 3163 | (tramp-get-buffer-string (tramp-get-connection-buffer v)))) |
| 3164 | (buffer-string)))) | ||
| 3165 | (when (and display (get-buffer-window outbuf t)) (redisplay)))) | 3164 | (when (and display (get-buffer-window outbuf t)) (redisplay)))) |
| 3166 | ;; When the user did interrupt, we should do it also. We use | 3165 | ;; When the user did interrupt, we should do it also. We use |
| 3167 | ;; return code -1 as marker. | 3166 | ;; return code -1 as marker. |
| @@ -3475,8 +3474,7 @@ implementation will be used." | |||
| 3475 | (not | 3474 | (not |
| 3476 | (string-equal | 3475 | (string-equal |
| 3477 | (buffer-string) | 3476 | (buffer-string) |
| 3478 | (with-current-buffer (tramp-get-buffer v) | 3477 | (tramp-get-buffer-string (tramp-get-buffer v)))) |
| 3479 | (buffer-string)))) | ||
| 3480 | (tramp-error | 3478 | (tramp-error |
| 3481 | v 'file-error | 3479 | v 'file-error |
| 3482 | (concat "Couldn't write region to `%s'," | 3480 | (concat "Couldn't write region to `%s'," |
| @@ -3770,8 +3768,7 @@ Fall back to normal file name handler if no Tramp handler exists." | |||
| 3770 | "Read output from \"gio monitor\" and add corresponding `file-notify' events." | 3768 | "Read output from \"gio monitor\" and add corresponding `file-notify' events." |
| 3771 | (let ((events (process-get proc 'events)) | 3769 | (let ((events (process-get proc 'events)) |
| 3772 | (remote-prefix | 3770 | (remote-prefix |
| 3773 | (with-current-buffer (process-buffer proc) | 3771 | (file-remote-p (tramp-get-default-directory (process-buffer proc)))) |
| 3774 | (file-remote-p default-directory))) | ||
| 3775 | (rest-string (process-get proc 'rest-string)) | 3772 | (rest-string (process-get proc 'rest-string)) |
| 3776 | pos) | 3773 | pos) |
| 3777 | (when rest-string | 3774 | (when rest-string |
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 24119539db0..34203076b24 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el | |||
| @@ -1436,9 +1436,9 @@ component is used as the target of the symlink." | |||
| 1436 | (unless (process-live-p proc) | 1436 | (unless (process-live-p proc) |
| 1437 | ;; Accept pending output. | 1437 | ;; Accept pending output. |
| 1438 | (while (tramp-accept-process-output proc)) | 1438 | (while (tramp-accept-process-output proc)) |
| 1439 | (with-current-buffer (tramp-get-connection-buffer vec) | 1439 | (tramp-message |
| 1440 | (tramp-message vec 10 "\n%s" (buffer-string)) | 1440 | vec 10 "\n%s" (tramp-get-buffer-string (tramp-get-connection-buffer vec))) |
| 1441 | (throw 'tramp-action 'ok)))) | 1441 | (throw 'tramp-action 'ok))) |
| 1442 | 1442 | ||
| 1443 | (defun tramp-smb-handle-set-file-acl (filename acl-string) | 1443 | (defun tramp-smb-handle-set-file-acl (filename acl-string) |
| 1444 | "Like `set-file-acl' for Tramp files." | 1444 | "Like `set-file-acl' for Tramp files." |
diff --git a/lisp/net/tramp-sudoedit.el b/lisp/net/tramp-sudoedit.el index 6da00f812da..0309b6b0227 100644 --- a/lisp/net/tramp-sudoedit.el +++ b/lisp/net/tramp-sudoedit.el | |||
| @@ -453,12 +453,13 @@ the result will be a local, non-Tramp, file name." | |||
| 453 | (if (file-directory-p (expand-file-name f directory)) | 453 | (if (file-directory-p (expand-file-name f directory)) |
| 454 | (file-name-as-directory f) | 454 | (file-name-as-directory f) |
| 455 | f)) | 455 | f)) |
| 456 | (with-current-buffer (tramp-get-connection-buffer v) | 456 | (delq |
| 457 | (delq | 457 | nil |
| 458 | nil | 458 | (mapcar |
| 459 | (mapcar | 459 | (lambda (l) (and (not (string-match-p "^[[:space:]]*$" l)) l)) |
| 460 | (lambda (l) (and (not (string-match-p "^[[:space:]]*$" l)) l)) | 460 | (split-string |
| 461 | (split-string (buffer-string) "\n" 'omit))))))))) | 461 | (tramp-get-buffer-string (tramp-get-connection-buffer v)) |
| 462 | "\n" 'omit)))))))) | ||
| 462 | 463 | ||
| 463 | (defun tramp-sudoedit-handle-file-readable-p (filename) | 464 | (defun tramp-sudoedit-handle-file-readable-p (filename) |
| 464 | "Like `file-readable-p' for Tramp files." | 465 | "Like `file-readable-p' for Tramp files." |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 552788b4615..7dddd84e556 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -1866,6 +1866,20 @@ version, the function does nothing." | |||
| 1866 | :user ,(file-remote-p default-directory 'user) | 1866 | :user ,(file-remote-p default-directory 'user) |
| 1867 | :machine ,(file-remote-p default-directory 'host))))) | 1867 | :machine ,(file-remote-p default-directory 'host))))) |
| 1868 | 1868 | ||
| 1869 | (defsubst tramp-get-default-directory (buffer) | ||
| 1870 | "Return `default-directory' of BUFFER." | ||
| 1871 | (buffer-local-value 'default-directory buffer)) | ||
| 1872 | |||
| 1873 | (put #'tramp-get-default-directory 'tramp-suppress-trace t) | ||
| 1874 | |||
| 1875 | (defsubst tramp-get-buffer-string (&optional buffer) | ||
| 1876 | "Return contents of BUFFER. | ||
| 1877 | If BUFFER is not a buffer, return the contents of `current-buffer'." | ||
| 1878 | (with-current-buffer (if (bufferp buffer) buffer (current-buffer)) | ||
| 1879 | (substring-no-properties (buffer-string)))) | ||
| 1880 | |||
| 1881 | (put #'tramp-get-buffer-string 'tramp-suppress-trace t) | ||
| 1882 | |||
| 1869 | (defun tramp-debug-buffer-name (vec) | 1883 | (defun tramp-debug-buffer-name (vec) |
| 1870 | "A name for the debug buffer for VEC." | 1884 | "A name for the debug buffer for VEC." |
| 1871 | (let ((method (tramp-file-name-method vec)) | 1885 | (let ((method (tramp-file-name-method vec)) |
| @@ -2084,12 +2098,15 @@ applicable)." | |||
| 2084 | ;; Append connection buffer for error messages, if exists. | 2098 | ;; Append connection buffer for error messages, if exists. |
| 2085 | (when (= level 1) | 2099 | (when (= level 1) |
| 2086 | (ignore-errors | 2100 | (ignore-errors |
| 2087 | (with-current-buffer | 2101 | (setq fmt-string (concat fmt-string "\n%s") |
| 2088 | (if (processp vec-or-proc) | 2102 | arguments |
| 2089 | (process-buffer vec-or-proc) | 2103 | (append |
| 2090 | (tramp-get-connection-buffer vec-or-proc 'dont-create)) | 2104 | arguments |
| 2091 | (setq fmt-string (concat fmt-string "\n%s") | 2105 | `(,(tramp-get-buffer-string |
| 2092 | arguments (append arguments (list (buffer-string))))))) | 2106 | (if (processp vec-or-proc) |
| 2107 | (process-buffer vec-or-proc) | ||
| 2108 | (tramp-get-connection-buffer | ||
| 2109 | vec-or-proc 'dont-create)))))))) | ||
| 2093 | ;; Translate proc to vec. | 2110 | ;; Translate proc to vec. |
| 2094 | (when (processp vec-or-proc) | 2111 | (when (processp vec-or-proc) |
| 2095 | (setq vec-or-proc (process-get vec-or-proc 'vector)))) | 2112 | (setq vec-or-proc (process-get vec-or-proc 'vector)))) |
| @@ -2151,8 +2168,8 @@ an input event arrives. The other arguments are passed to `tramp-error'." | |||
| 2151 | (and (tramp-file-name-p vec-or-proc) | 2168 | (and (tramp-file-name-p vec-or-proc) |
| 2152 | (tramp-get-connection-buffer vec-or-proc)))) | 2169 | (tramp-get-connection-buffer vec-or-proc)))) |
| 2153 | (vec (or (and (tramp-file-name-p vec-or-proc) vec-or-proc) | 2170 | (vec (or (and (tramp-file-name-p vec-or-proc) vec-or-proc) |
| 2154 | (and buf (with-current-buffer buf | 2171 | (and buf (tramp-dissect-file-name |
| 2155 | (tramp-dissect-file-name default-directory)))))) | 2172 | (tramp-get-default-directory buf)))))) |
| 2156 | (unwind-protect | 2173 | (unwind-protect |
| 2157 | (apply #'tramp-error vec-or-proc signal fmt-string arguments) | 2174 | (apply #'tramp-error vec-or-proc signal fmt-string arguments) |
| 2158 | ;; Save exit. | 2175 | ;; Save exit. |
| @@ -2567,8 +2584,7 @@ Must be handled by the callers." | |||
| 2567 | ;; PROC. | 2584 | ;; PROC. |
| 2568 | ((member operation '(file-notify-rm-watch file-notify-valid-p)) | 2585 | ((member operation '(file-notify-rm-watch file-notify-valid-p)) |
| 2569 | (when (processp (nth 0 args)) | 2586 | (when (processp (nth 0 args)) |
| 2570 | (with-current-buffer (process-buffer (nth 0 args)) | 2587 | (tramp-get-default-directory (process-buffer (nth 0 args))))) |
| 2571 | default-directory))) | ||
| 2572 | ;; VEC. | 2588 | ;; VEC. |
| 2573 | ((member operation '(tramp-get-remote-gid tramp-get-remote-uid)) | 2589 | ((member operation '(tramp-get-remote-gid tramp-get-remote-uid)) |
| 2574 | (tramp-make-tramp-file-name (nth 0 args))) | 2590 | (tramp-make-tramp-file-name (nth 0 args))) |
| @@ -2845,7 +2861,7 @@ whether HANDLER is to be called. Add operations defined in | |||
| 2845 | (defun tramp-command-completion-p (_symbol buffer) | 2861 | (defun tramp-command-completion-p (_symbol buffer) |
| 2846 | "A predicate for Tramp interactive commands. | 2862 | "A predicate for Tramp interactive commands. |
| 2847 | They are completed by \"M-x TAB\" only if the current buffer is remote." | 2863 | They are completed by \"M-x TAB\" only if the current buffer is remote." |
| 2848 | (with-current-buffer buffer (tramp-tramp-file-p default-directory))) | 2864 | (tramp-tramp-file-p (tramp-get-default-directory buffer))) |
| 2849 | 2865 | ||
| 2850 | (defun tramp-connectable-p (vec-or-filename) | 2866 | (defun tramp-connectable-p (vec-or-filename) |
| 2851 | "Check, whether it is possible to connect the remote host w/o side-effects. | 2867 | "Check, whether it is possible to connect the remote host w/o side-effects. |
| @@ -4705,8 +4721,8 @@ of." | |||
| 4705 | (save-window-excursion | 4721 | (save-window-excursion |
| 4706 | (pop-to-buffer (tramp-get-connection-buffer vec)) | 4722 | (pop-to-buffer (tramp-get-connection-buffer vec)) |
| 4707 | (read-string (match-string 0))))))) | 4723 | (read-string (match-string 0))))))) |
| 4708 | (with-current-buffer (tramp-get-connection-buffer vec) | 4724 | (tramp-message |
| 4709 | (tramp-message vec 6 "\n%s" (buffer-string))) | 4725 | vec 6 "\n%s" (tramp-get-buffer-string (tramp-get-connection-buffer vec))) |
| 4710 | (tramp-message vec 3 "Sending login name `%s'" user) | 4726 | (tramp-message vec 3 "Sending login name `%s'" user) |
| 4711 | (tramp-send-string vec (concat user tramp-local-end-of-line))) | 4727 | (tramp-send-string vec (concat user tramp-local-end-of-line))) |
| 4712 | t) | 4728 | t) |
| @@ -4749,8 +4765,8 @@ See also `tramp-action-yn'." | |||
| 4749 | (unless (yes-or-no-p (match-string 0)) | 4765 | (unless (yes-or-no-p (match-string 0)) |
| 4750 | (kill-process proc) | 4766 | (kill-process proc) |
| 4751 | (throw 'tramp-action 'permission-denied)) | 4767 | (throw 'tramp-action 'permission-denied)) |
| 4752 | (with-current-buffer (tramp-get-connection-buffer vec) | 4768 | (tramp-message |
| 4753 | (tramp-message vec 6 "\n%s" (buffer-string))) | 4769 | vec 6 "\n%s" (tramp-get-buffer-string (tramp-get-connection-buffer vec))) |
| 4754 | (tramp-send-string vec (concat "yes" tramp-local-end-of-line))) | 4770 | (tramp-send-string vec (concat "yes" tramp-local-end-of-line))) |
| 4755 | t) | 4771 | t) |
| 4756 | 4772 | ||
| @@ -4763,8 +4779,8 @@ See also `tramp-action-yesno'." | |||
| 4763 | (unless (y-or-n-p (match-string 0)) | 4779 | (unless (y-or-n-p (match-string 0)) |
| 4764 | (kill-process proc) | 4780 | (kill-process proc) |
| 4765 | (throw 'tramp-action 'permission-denied)) | 4781 | (throw 'tramp-action 'permission-denied)) |
| 4766 | (with-current-buffer (tramp-get-connection-buffer vec) | 4782 | (tramp-message |
| 4767 | (tramp-message vec 6 "\n%s" (buffer-string))) | 4783 | vec 6 "\n%s" (tramp-get-buffer-string (tramp-get-connection-buffer vec))) |
| 4768 | (tramp-send-string vec (concat "y" tramp-local-end-of-line))) | 4784 | (tramp-send-string vec (concat "y" tramp-local-end-of-line))) |
| 4769 | t) | 4785 | t) |
| 4770 | 4786 | ||
| @@ -4772,15 +4788,15 @@ See also `tramp-action-yesno'." | |||
| 4772 | "Tell the remote host which terminal type to use. | 4788 | "Tell the remote host which terminal type to use. |
| 4773 | The terminal type can be configured with `tramp-terminal-type'." | 4789 | The terminal type can be configured with `tramp-terminal-type'." |
| 4774 | (tramp-message vec 5 "Setting `%s' as terminal type." tramp-terminal-type) | 4790 | (tramp-message vec 5 "Setting `%s' as terminal type." tramp-terminal-type) |
| 4775 | (with-current-buffer (tramp-get-connection-buffer vec) | 4791 | (tramp-message |
| 4776 | (tramp-message vec 6 "\n%s" (buffer-string))) | 4792 | vec 6 "\n%s" (tramp-get-buffer-string (tramp-get-connection-buffer vec))) |
| 4777 | (tramp-send-string vec (concat tramp-terminal-type tramp-local-end-of-line)) | 4793 | (tramp-send-string vec (concat tramp-terminal-type tramp-local-end-of-line)) |
| 4778 | t) | 4794 | t) |
| 4779 | 4795 | ||
| 4780 | (defun tramp-action-confirm-message (_proc vec) | 4796 | (defun tramp-action-confirm-message (_proc vec) |
| 4781 | "Return RET in order to confirm the message." | 4797 | "Return RET in order to confirm the message." |
| 4782 | (with-current-buffer (tramp-get-connection-buffer vec) | 4798 | (tramp-message |
| 4783 | (tramp-message vec 6 "\n%s" (buffer-string))) | 4799 | vec 6 "\n%s" (tramp-get-buffer-string (tramp-get-connection-buffer vec))) |
| 4784 | (tramp-send-string vec tramp-local-end-of-line) | 4800 | (tramp-send-string vec tramp-local-end-of-line) |
| 4785 | t) | 4801 | t) |
| 4786 | 4802 | ||
| @@ -5068,8 +5084,8 @@ nil." | |||
| 5068 | ;; The process could have timed out, for example due to session | 5084 | ;; The process could have timed out, for example due to session |
| 5069 | ;; timeout of sudo. The process buffer does not exist any longer then. | 5085 | ;; timeout of sudo. The process buffer does not exist any longer then. |
| 5070 | (ignore-errors | 5086 | (ignore-errors |
| 5071 | (with-current-buffer (process-buffer proc) | 5087 | (tramp-message |
| 5072 | (tramp-message proc 6 "\n%s" (buffer-string)))) | 5088 | proc 6 "\n%s" (tramp-get-buffer-string (process-buffer proc)))) |
| 5073 | (unless found | 5089 | (unless found |
| 5074 | (if timeout | 5090 | (if timeout |
| 5075 | (tramp-error | 5091 | (tramp-error |
| @@ -5590,14 +5606,12 @@ are written with verbosity of 6." | |||
| 5590 | (with-temp-buffer | 5606 | (with-temp-buffer |
| 5591 | (setq result | 5607 | (setq result |
| 5592 | (apply | 5608 | (apply |
| 5593 | #'call-process program infile (or destination t) display args)) | 5609 | #'call-process program infile (or destination t) display args) |
| 5610 | output (tramp-get-buffer-string destination)) | ||
| 5594 | ;; `result' could also be an error string. | 5611 | ;; `result' could also be an error string. |
| 5595 | (when (stringp result) | 5612 | (when (stringp result) |
| 5596 | (setq error result | 5613 | (setq error result |
| 5597 | result 1)) | 5614 | result 1))) |
| 5598 | (with-current-buffer | ||
| 5599 | (if (bufferp destination) destination (current-buffer)) | ||
| 5600 | (setq output (buffer-string)))) | ||
| 5601 | (error | 5615 | (error |
| 5602 | (setq error (error-message-string err) | 5616 | (setq error (error-message-string err) |
| 5603 | result 1))) | 5617 | result 1))) |
| @@ -5628,10 +5642,10 @@ are written with verbosity of 6." | |||
| 5628 | ;; `result' could also be an error string. | 5642 | ;; `result' could also be an error string. |
| 5629 | (when (stringp result) | 5643 | (when (stringp result) |
| 5630 | (signal 'file-error (list result))) | 5644 | (signal 'file-error (list result))) |
| 5631 | (with-current-buffer (if (bufferp buffer) buffer (current-buffer)) | 5645 | (if (zerop result) |
| 5632 | (if (zerop result) | 5646 | (tramp-message vec 6 "%d" result) |
| 5633 | (tramp-message vec 6 "%d" result) | 5647 | (tramp-message |
| 5634 | (tramp-message vec 6 "%d\n%s" result (buffer-string))))) | 5648 | vec 6 "%d\n%s" result (tramp-get-buffer-string buffer)))) |
| 5635 | (error | 5649 | (error |
| 5636 | (setq result 1) | 5650 | (setq result 1) |
| 5637 | (tramp-message vec 6 "%d\n%s" result (error-message-string err)))) | 5651 | (tramp-message vec 6 "%d\n%s" result (error-message-string err)))) |
| @@ -5696,7 +5710,7 @@ Invokes `password-read' if available, `read-passwd' else." | |||
| 5696 | (format "%s for %s " (capitalize (match-string 1)) key)))) | 5710 | (format "%s for %s " (capitalize (match-string 1)) key)))) |
| 5697 | (auth-source-creation-prompts `((secret . ,pw-prompt))) | 5711 | (auth-source-creation-prompts `((secret . ,pw-prompt))) |
| 5698 | ;; Use connection-local value. | 5712 | ;; Use connection-local value. |
| 5699 | (auth-sources (with-current-buffer (process-buffer proc) auth-sources)) | 5713 | (auth-sources (buffer-local-value 'auth-sources (process-buffer proc))) |
| 5700 | ;; We suspend the timers while reading the password. | 5714 | ;; We suspend the timers while reading the password. |
| 5701 | (stimers (with-timeout-suspend)) | 5715 | (stimers (with-timeout-suspend)) |
| 5702 | auth-info auth-passwd) | 5716 | auth-info auth-passwd) |
| @@ -5922,5 +5936,11 @@ BODY is the backend specific code." | |||
| 5922 | ;; and friends, for most of the handlers this is the major | 5936 | ;; and friends, for most of the handlers this is the major |
| 5923 | ;; difference between the different backends. Other handlers but | 5937 | ;; difference between the different backends. Other handlers but |
| 5924 | ;; *-process-file would profit from this as well. | 5938 | ;; *-process-file would profit from this as well. |
| 5939 | ;; | ||
| 5940 | ;; * Implement file name abbreviation for a different user. That is, | ||
| 5941 | ;; (abbreviate-file-name "/ssh:user1@host:/home/user2") => | ||
| 5942 | ;; "/ssh:user1@host:~user2". | ||
| 5943 | ;; | ||
| 5944 | ;; * Implement file name abbreviation for user and host names. | ||
| 5925 | 5945 | ||
| 5926 | ;;; tramp.el ends here | 5946 | ;;; tramp.el ends here |
diff --git a/lisp/startup.el b/lisp/startup.el index 0065bf85d17..88708f0670b 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1840,18 +1840,22 @@ a face or button specification." | |||
| 1840 | (unless concise | 1840 | (unless concise |
| 1841 | (fancy-splash-insert | 1841 | (fancy-splash-insert |
| 1842 | :face 'variable-pitch | 1842 | :face 'variable-pitch |
| 1843 | "\nTo start... " | 1843 | "\nTo start...\t" |
| 1844 | :link `("Open a File" | 1844 | :link `("Open a File" |
| 1845 | ,(lambda (_button) (call-interactively 'find-file)) | 1845 | ,(lambda (_button) (call-interactively 'find-file)) |
| 1846 | "Specify a new file's name, to edit the file") | 1846 | "Specify a new file's name, to edit the file") |
| 1847 | " " | 1847 | "\t\t" |
| 1848 | :link `("Open Home Directory" | 1848 | :link `("Open Home Directory" |
| 1849 | ,(lambda (_button) (dired "~")) | 1849 | ,(lambda (_button) (dired "~")) |
| 1850 | "Open your home directory, to operate on its files") | 1850 | "Open your home directory, to operate on its files") |
| 1851 | " " | 1851 | "\n\t" |
| 1852 | :link `("Customize Startup" | 1852 | :link `("Customize Startup" |
| 1853 | ,(lambda (_button) (customize-group 'initialization)) | 1853 | ,(lambda (_button) (customize-group 'initialization)) |
| 1854 | "Change initialization settings including this screen") | 1854 | "Change initialization settings including this screen") |
| 1855 | "\t" | ||
| 1856 | :link `("Explore Packages" | ||
| 1857 | ,(lambda (_button) (call-interactively 'package-list-packages)) | ||
| 1858 | "Explore, install and remove Emacs packages (requires Internet connection)") | ||
| 1855 | "\n")) | 1859 | "\n")) |
| 1856 | (fancy-splash-insert | 1860 | (fancy-splash-insert |
| 1857 | :face 'variable-pitch "To quit a partially entered command, type " | 1861 | :face 'variable-pitch "To quit a partially entered command, type " |
diff --git a/src/image.c b/src/image.c index f8188292d46..2c33a8eaa21 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -3187,14 +3187,6 @@ gui_put_x_image (struct frame *f, Emacs_Pix_Container pimg, | |||
| 3187 | XFreeGC (FRAME_X_DISPLAY (f), gc); | 3187 | XFreeGC (FRAME_X_DISPLAY (f), gc); |
| 3188 | #endif /* HAVE_X_WINDOWS */ | 3188 | #endif /* HAVE_X_WINDOWS */ |
| 3189 | 3189 | ||
| 3190 | #ifdef HAVE_NTGUI | ||
| 3191 | #if 0 /* I don't think this is necessary looking at where it is used. */ | ||
| 3192 | HDC hdc = get_frame_dc (f); | ||
| 3193 | SetDIBits (hdc, pixmap, 0, height, pimg->data, &(pimg->info), DIB_RGB_COLORS); | ||
| 3194 | release_frame_dc (f, hdc); | ||
| 3195 | #endif | ||
| 3196 | #endif /* HAVE_NTGUI */ | ||
| 3197 | |||
| 3198 | #ifdef HAVE_NS | 3190 | #ifdef HAVE_NS |
| 3199 | eassert (pimg == pixmap); | 3191 | eassert (pimg == pixmap); |
| 3200 | ns_retain_object (pimg); | 3192 | ns_retain_object (pimg); |
| @@ -11124,16 +11116,6 @@ x_kill_gs_process (Pixmap pixmap, struct frame *f) | |||
| 11124 | free_color_table (); | 11116 | free_color_table (); |
| 11125 | #endif | 11117 | #endif |
| 11126 | XDestroyImage (ximg); | 11118 | XDestroyImage (ximg); |
| 11127 | |||
| 11128 | #if 0 /* This doesn't seem to be the case. If we free the colors | ||
| 11129 | here, we get a BadAccess later in image_clear_image when | ||
| 11130 | freeing the colors. */ | ||
| 11131 | /* We have allocated colors once, but Ghostscript has also | ||
| 11132 | allocated colors on behalf of us. So, to get the | ||
| 11133 | reference counts right, free them once. */ | ||
| 11134 | if (img->ncolors) | ||
| 11135 | x_free_colors (f, img->colors, img->ncolors); | ||
| 11136 | #endif | ||
| 11137 | } | 11119 | } |
| 11138 | else | 11120 | else |
| 11139 | image_error ("Cannot get X image of `%s'; colors will not be freed", | 11121 | image_error ("Cannot get X image of `%s'; colors will not be freed", |
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el b/test/lisp/emacs-lisp/bytecomp-tests.el index b82afd353cf..7e51f820b70 100644 --- a/test/lisp/emacs-lisp/bytecomp-tests.el +++ b/test/lisp/emacs-lisp/bytecomp-tests.el | |||
| @@ -851,8 +851,7 @@ byte-compiled. Run with dynamic binding." | |||
| 851 | (byte-compile-file ,(ert-resource-file file)) | 851 | (byte-compile-file ,(ert-resource-file file)) |
| 852 | (ert-info ((buffer-string) :prefix "buffer: ") | 852 | (ert-info ((buffer-string) :prefix "buffer: ") |
| 853 | (,(if reverse 'should-not 'should) | 853 | (,(if reverse 'should-not 'should) |
| 854 | (re-search-forward ,(string-replace " " "[ \n]+" re-warning) | 854 | (re-search-forward ,re-warning nil t)))))) |
| 855 | nil t)))))) | ||
| 856 | 855 | ||
| 857 | (bytecomp--define-warning-file-test "error-lexical-var-with-add-hook.el" | 856 | (bytecomp--define-warning-file-test "error-lexical-var-with-add-hook.el" |
| 858 | "add-hook.*lexical var") | 857 | "add-hook.*lexical var") |
| @@ -980,7 +979,7 @@ byte-compiled. Run with dynamic binding." | |||
| 980 | 979 | ||
| 981 | (bytecomp--define-warning-file-test | 980 | (bytecomp--define-warning-file-test |
| 982 | "warn-wide-docstring-defun.el" | 981 | "warn-wide-docstring-defun.el" |
| 983 | "wider than .* characters") | 982 | "Warning: docstring wider than .* characters") |
| 984 | 983 | ||
| 985 | (bytecomp--define-warning-file-test | 984 | (bytecomp--define-warning-file-test |
| 986 | "warn-wide-docstring-defvar.el" | 985 | "warn-wide-docstring-defvar.el" |
diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el index ee52d831d69..e881e46a2d1 100644 --- a/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el +++ b/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el | |||
| @@ -325,6 +325,7 @@ | |||
| 325 | ()) | 325 | ()) |
| 326 | 326 | ||
| 327 | (with-suppressed-warnings ((obsolete defmethod) | 327 | (with-suppressed-warnings ((obsolete defmethod) |
| 328 | (obsolete defgeneric) | ||
| 328 | (obsolete next-method-p) | 329 | (obsolete next-method-p) |
| 329 | (obsolete call-next-method)) | 330 | (obsolete call-next-method)) |
| 330 | (defmethod initialize-instance :after ((_this eitest-Jb) &rest _slots) | 331 | (defmethod initialize-instance :after ((_this eitest-Jb) &rest _slots) |
diff --git a/test/lisp/mail/mail-utils-tests.el b/test/lisp/mail/mail-utils-tests.el index 5b54f2440c7..f75de5c620c 100644 --- a/test/lisp/mail/mail-utils-tests.el +++ b/test/lisp/mail/mail-utils-tests.el | |||
| @@ -85,7 +85,8 @@ | |||
| 85 | "foo@example.org\\|bar@example.org\\|baz@example.org"))) | 85 | "foo@example.org\\|bar@example.org\\|baz@example.org"))) |
| 86 | 86 | ||
| 87 | (ert-deftest mail-utils-tests-mail-rfc822-time-zone () | 87 | (ert-deftest mail-utils-tests-mail-rfc822-time-zone () |
| 88 | (should (stringp (mail-rfc822-time-zone (current-time))))) | 88 | (with-suppressed-warnings ((obsolete mail-rfc822-time-zone)) |
| 89 | (should (stringp (mail-rfc822-time-zone (current-time)))))) | ||
| 89 | 90 | ||
| 90 | (ert-deftest mail-utils-test-mail-rfc822-date/contains-year () | 91 | (ert-deftest mail-utils-test-mail-rfc822-date/contains-year () |
| 91 | (should (string-match (rx " 20" digit digit " ") | 92 | (should (string-match (rx " 20" digit digit " ") |
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index c047f666dae..a572ff83d3f 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el | |||
| @@ -219,8 +219,7 @@ is greater than 10. | |||
| 219 | (when (and (null tramp--test-instrument-test-case-p) (> tramp-verbose 3)) | 219 | (when (and (null tramp--test-instrument-test-case-p) (> tramp-verbose 3)) |
| 220 | (untrace-all) | 220 | (untrace-all) |
| 221 | (dolist (buf (tramp-list-tramp-buffers)) | 221 | (dolist (buf (tramp-list-tramp-buffers)) |
| 222 | (with-current-buffer buf | 222 | (message ";; %s\n%s" buf (tramp-get-buffer-string buf)) |
| 223 | (message ";; %s\n%s" buf (buffer-string))) | ||
| 224 | (kill-buffer buf)))))) | 223 | (kill-buffer buf)))))) |
| 225 | 224 | ||
| 226 | (defsubst tramp--test-message (fmt-string &rest arguments) | 225 | (defsubst tramp--test-message (fmt-string &rest arguments) |
| @@ -5054,8 +5053,8 @@ INPUT, if non-nil, is a string sent to the process." | |||
| 5054 | "echo foo >&2; echo bar" (current-buffer) stderr) | 5053 | "echo foo >&2; echo bar" (current-buffer) stderr) |
| 5055 | (should (string-equal "bar\n" (buffer-string))) | 5054 | (should (string-equal "bar\n" (buffer-string))) |
| 5056 | ;; Check stderr. | 5055 | ;; Check stderr. |
| 5057 | (with-current-buffer stderr | 5056 | (should |
| 5058 | (should (string-equal "foo\n" (buffer-string))))) | 5057 | (string-equal "foo\n" (tramp-get-buffer-string stderr)))) |
| 5059 | 5058 | ||
| 5060 | ;; Cleanup. | 5059 | ;; Cleanup. |
| 5061 | (ignore-errors (kill-buffer stderr)))))) | 5060 | (ignore-errors (kill-buffer stderr)))))) |