Fix Bug#17415.
* net/tramp-sh.el (tramp-uudecode): Replace the hard-coded temporary file name by a format specifier. (tramp-remote-coding-commands): Enhance docstring. (tramp-find-inline-encoding): Replace "%t" by a temporary file name.
This commit is contained in:
parent
23a9a6c8c8
commit
23e19cf290
2 changed files with 32 additions and 9 deletions
|
@ -9,6 +9,12 @@
|
|||
(tramp-maybe-open-connection): Setenv HISTFILE to /dev/null.
|
||||
(Bug#17295)
|
||||
|
||||
(tramp-uudecode): Replace the hard-coded temporary file name by a
|
||||
format specifier.
|
||||
(tramp-remote-coding-commands): Enhance docstring.
|
||||
(tramp-find-inline-encoding): Replace "%t" by a temporary file
|
||||
name. (Bug#17415)
|
||||
|
||||
2014-05-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs-lisp/find-gc.el (find-gc-source-directory): Give it a value.
|
||||
|
|
|
@ -492,9 +492,9 @@ This list is used for copying/renaming with out-of-band methods.
|
|||
See `tramp-actions-before-shell' for more info.")
|
||||
|
||||
(defconst tramp-uudecode
|
||||
"(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode
|
||||
cat /tmp/tramp.$$
|
||||
rm -f /tmp/tramp.$$"
|
||||
"(echo begin 600 %t; tail -n +2) | uudecode
|
||||
cat %t
|
||||
rm -f %t"
|
||||
"Shell function to implement `uudecode' to standard output.
|
||||
Many systems support `uudecode -o /dev/stdout' or `uudecode -o -'
|
||||
for this or `uudecode -p', but some systems don't, and for them
|
||||
|
@ -4039,7 +4039,7 @@ Each item is a list that looks like this:
|
|||
|
||||
\(FORMAT ENCODING DECODING [TEST]\)
|
||||
|
||||
FORMAT is symbol describing the encoding/decoding format. It can be
|
||||
FORMAT is a symbol describing the encoding/decoding format. It can be
|
||||
`b64' for base64 encoding, `uu' for uu encoding, or `pack' for simple packing.
|
||||
|
||||
ENCODING and DECODING can be strings, giving commands, or symbols,
|
||||
|
@ -4049,9 +4049,11 @@ filename will be put into the command line at that spot. If the
|
|||
specifier is not present, the input should be read from standard
|
||||
input.
|
||||
|
||||
If they are variables, this variable is a string containing a Perl
|
||||
implementation for this functionality. This Perl program will be transferred
|
||||
to the remote host, and it is available as shell function with the same name.
|
||||
If they are variables, this variable is a string containing a
|
||||
Perl or Shell implementation for this functionality. This
|
||||
program will be transferred to the remote host, and it is
|
||||
available as shell function with the same name. A \"%t\" format
|
||||
specifier in the variable value denotes a temporary file.
|
||||
|
||||
The optional TEST command can be used for further tests, whether
|
||||
ENCODING and DECODING are applicable.")
|
||||
|
@ -4130,10 +4132,25 @@ Goes through the list `tramp-local-coding-commands' and
|
|||
(throw 'wont-work-remote nil))
|
||||
|
||||
(when (not (stringp rem-dec))
|
||||
(let ((name (symbol-name rem-dec)))
|
||||
(let ((name (symbol-name rem-dec))
|
||||
(value (symbol-value rem-dec))
|
||||
tmpfile)
|
||||
(while (string-match (regexp-quote "-") name)
|
||||
(setq name (replace-match "_" nil t name)))
|
||||
(tramp-maybe-send-script vec (symbol-value rem-dec) name)
|
||||
(when (string-match "%t" value)
|
||||
(setq tmpfile
|
||||
(make-temp-name
|
||||
(expand-file-name
|
||||
tramp-temp-name-prefix
|
||||
(tramp-get-remote-tmpdir vec)))
|
||||
value
|
||||
(format-spec
|
||||
value
|
||||
(format-spec-make
|
||||
?t
|
||||
(tramp-file-name-handler
|
||||
'file-remote-p tmpfile 'localname)))))
|
||||
(tramp-maybe-send-script vec value name)
|
||||
(setq rem-dec name)))
|
||||
(tramp-message
|
||||
vec 5
|
||||
|
|
Loading…
Add table
Reference in a new issue