1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-30 19:53:09 +00:00

* net/tramp.el (tramp-get-inline-coding): Return `nil' in case of

errors.

* net/trampver.el: Update release number.
This commit is contained in:
Michael Albinus 2010-10-21 08:33:47 +02:00
parent 945c0344ed
commit efd498859f
3 changed files with 55 additions and 45 deletions

View File

@ -1,3 +1,10 @@
2010-10-21 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-get-inline-coding): Return `nil' in case of
errors.
* net/trampver.el: Update release number.
2010-10-20 Kenichi Handa <handa@m17n.org>
* face-remap.el (text-scale-adjust): Call read-event with a proper

View File

@ -8578,54 +8578,57 @@ If no corresponding command is found, nil is returned.
Otherwise, either a string is returned which contains a `%s' mark
to be used for the respective input or output file; or a Lisp
function cell is returned to be applied on a buffer."
(let ((coding
(with-connection-property vec prop
(tramp-find-inline-encoding vec)
(tramp-get-connection-property vec prop nil)))
(prop1 (if (string-match "encoding" prop)
"inline-compress" "inline-decompress"))
compress)
;; The connection property might have been cached. So we must send
;; the script to the remote side - maybe.
(when (and coding (symbolp coding) (string-match "remote" prop))
(let ((name (symbol-name coding)))
(while (string-match (regexp-quote "-") name)
(setq name (replace-match "_" nil t name)))
(tramp-maybe-send-script vec (symbol-value coding) name)
(setq coding name)))
(when coding
;; Check for the `compress' command.
(setq compress (tramp-get-inline-compress vec prop1 size))
;; Return the value.
(cond
((and compress (symbolp coding))
(if (string-match "decompress" prop1)
;; We must catch the errors, because we want to return `nil', when
;; no inline coding is found.
(ignore-errors
(let ((coding
(with-connection-property vec prop
(tramp-find-inline-encoding vec)
(tramp-get-connection-property vec prop nil)))
(prop1 (if (string-match "encoding" prop)
"inline-compress" "inline-decompress"))
compress)
;; The connection property might have been cached. So we must
;; send the script to the remote side - maybe.
(when (and coding (symbolp coding) (string-match "remote" prop))
(let ((name (symbol-name coding)))
(while (string-match (regexp-quote "-") name)
(setq name (replace-match "_" nil t name)))
(tramp-maybe-send-script vec (symbol-value coding) name)
(setq coding name)))
(when coding
;; Check for the `compress' command.
(setq compress (tramp-get-inline-compress vec prop1 size))
;; Return the value.
(cond
((and compress (symbolp coding))
(if (string-match "decompress" prop1)
`(lambda (beg end)
(,coding beg end)
(let ((coding-system-for-write 'binary)
(coding-system-for-read 'binary))
(apply
'call-process-region (point-min) (point-max)
(car (split-string ,compress)) t t nil
(cdr (split-string ,compress)))))
`(lambda (beg end)
(,coding beg end)
(let ((coding-system-for-write 'binary)
(coding-system-for-read 'binary))
(apply
'call-process-region (point-min) (point-max)
'call-process-region beg end
(car (split-string ,compress)) t t nil
(cdr (split-string ,compress)))))
`(lambda (beg end)
(let ((coding-system-for-write 'binary)
(coding-system-for-read 'binary))
(apply
'call-process-region beg end
(car (split-string ,compress)) t t nil
(cdr (split-string ,compress))))
(,coding (point-min) (point-max)))))
((symbolp coding)
coding)
((and compress (string-match "decoding" prop))
(format "(%s | %s >%%s)" coding compress))
(compress
(format "(%s <%%s | %s)" compress coding))
((string-match "decoding" prop)
(format "%s >%%s" coding))
(t
(format "%s <%%s" coding))))))
(cdr (split-string ,compress))))
(,coding (point-min) (point-max)))))
((symbolp coding)
coding)
((and compress (string-match "decoding" prop))
(format "(%s | %s >%%s)" coding compress))
(compress
(format "(%s <%%s | %s)" compress coding))
((string-match "decoding" prop)
(format "%s >%%s" coding))
(t
(format "%s <%%s" coding)))))))
(defun tramp-get-method-parameter (method param)
"Return the method parameter PARAM.

View File

@ -30,14 +30,14 @@
;; version check is defined in macro AC_EMACS_INFO of aclocal.m4;
;; should be changed only there.
(defconst tramp-version "2.1.19"
(defconst tramp-version "2.1.20-pre"
"This version of Tramp.")
(defconst tramp-bug-report-address "tramp-devel@gnu.org"
"Email address to send bug reports to.")
;; Check for (X)Emacs version.
(let ((x (if (or (>= emacs-major-version 22) (and (featurep 'xemacs) (= emacs-major-version 21) (>= emacs-minor-version 4))) "ok" (format "Tramp 2.1.19 is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version)))))))
(let ((x (if (or (>= emacs-major-version 22) (and (featurep 'xemacs) (= emacs-major-version 21) (>= emacs-minor-version 4))) "ok" (format "Tramp 2.1.20-pre is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version)))))))
(unless (string-match "\\`ok\\'" x) (error "%s" x)))
(provide 'trampver)