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:
parent
945c0344ed
commit
efd498859f
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user