Fix Bug#24478
* lisp/net/tramp-sh.el (tramp-histfile-override): Change default value to "~/.tramp_history". (tramp-open-shell): Check proper HISTFILE setting. (tramp-maybe-open-connection): Cleanup also for errors. (Bug#24478)
This commit is contained in:
parent
7bb5c4f206
commit
31219927a9
1 changed files with 21 additions and 11 deletions
|
@ -67,19 +67,18 @@ files conditionalize this setup based on the TERM environment variable."
|
||||||
:type 'string)
|
:type 'string)
|
||||||
|
|
||||||
;;;###tramp-autoload
|
;;;###tramp-autoload
|
||||||
(defcustom tramp-histfile-override ".tramp_history"
|
(defcustom tramp-histfile-override "~/.tramp_history"
|
||||||
"When invoking a shell, override the HISTFILE with this value.
|
"When invoking a shell, override the HISTFILE with this value.
|
||||||
When setting to a string, it redirects the shell history to that
|
When setting to a string, it redirects the shell history to that
|
||||||
file. Be careful when setting to \"/dev/null\"; this might
|
file. Be careful when setting to \"/dev/null\"; this might
|
||||||
result in undesired results when using \"bash\" as shell.
|
result in undesired results when using \"bash\" as shell.
|
||||||
|
|
||||||
The value t, the default value, unsets any setting of HISTFILE,
|
The value t unsets any setting of HISTFILE, and sets both
|
||||||
and sets both HISTFILESIZE and HISTSIZE to 0. If you set this
|
HISTFILESIZE and HISTSIZE to 0. If you set this variable to nil,
|
||||||
variable to nil, however, the *override* is disabled, so the
|
however, the *override* is disabled, so the history will go to
|
||||||
history will go to the default storage location,
|
the default storage location, e.g. \"$HOME/.sh_history\"."
|
||||||
e.g. \"$HOME/.sh_history\"."
|
|
||||||
:group 'tramp
|
:group 'tramp
|
||||||
:version "25.1"
|
:version "25.2"
|
||||||
:type '(choice (const :tag "Do not override HISTFILE" nil)
|
:type '(choice (const :tag "Do not override HISTFILE" nil)
|
||||||
(const :tag "Unset HISTFILE" t)
|
(const :tag "Unset HISTFILE" t)
|
||||||
(string :tag "Redirect to a file")))
|
(string :tag "Redirect to a file")))
|
||||||
|
@ -4117,7 +4116,19 @@ file exists and nonzero exit status otherwise."
|
||||||
""))
|
""))
|
||||||
(tramp-shell-quote-argument tramp-end-of-output)
|
(tramp-shell-quote-argument tramp-end-of-output)
|
||||||
shell (or extra-args ""))
|
shell (or extra-args ""))
|
||||||
t))
|
t)
|
||||||
|
;; Check proper HISTFILE setting. We give up when not working.
|
||||||
|
(when (and (stringp tramp-histfile-override)
|
||||||
|
(file-name-directory tramp-histfile-override))
|
||||||
|
(tramp-barf-unless-okay
|
||||||
|
vec
|
||||||
|
(format
|
||||||
|
"(cd %s)"
|
||||||
|
(tramp-shell-quote-argument
|
||||||
|
(file-name-directory tramp-histfile-override)))
|
||||||
|
"`tramp-histfile-override' uses invalid file `%s'"
|
||||||
|
tramp-histfile-override)))
|
||||||
|
|
||||||
(tramp-set-connection-property
|
(tramp-set-connection-property
|
||||||
(tramp-get-connection-process vec) "remote-shell" shell)))
|
(tramp-get-connection-process vec) "remote-shell" shell)))
|
||||||
|
|
||||||
|
@ -5057,10 +5068,9 @@ connection if a previous connection has died for some reason."
|
||||||
;; Mark it as connected.
|
;; Mark it as connected.
|
||||||
(tramp-set-connection-property p "connected" t)))))
|
(tramp-set-connection-property p "connected" t)))))
|
||||||
|
|
||||||
;; When the user did interrupt, we must cleanup.
|
;; Cleanup, and propagate the signal.
|
||||||
(quit
|
((error quit)
|
||||||
(tramp-cleanup-connection vec t)
|
(tramp-cleanup-connection vec t)
|
||||||
;; Propagate the quit signal.
|
|
||||||
(signal (car err) (cdr err))))))
|
(signal (car err) (cdr err))))))
|
||||||
|
|
||||||
(defun tramp-send-command (vec command &optional neveropen nooutput)
|
(defun tramp-send-command (vec command &optional neveropen nooutput)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue