• Michael Albinus's avatar
    Do not hardcode "/bin/sh" in compile. Bug#24338, Bug#29723 · 21f54fee
    Michael Albinus authored
    * doc/emacs/custom.texi (Connection Variables): New node.
    
    * doc/emacs/emacs.texi (Top): Add entry for Connection Variables.
    
    * doc/emacs/misc.texi (Single Shell): Mention default value for
    remote buffers.
    
    * doc/lispref/variables.texi (Connection Local Variables):
    Describe `with-connection-local-variables' instead of
    `with-connection-local-profiles'.
    
    * doc/misc/tramp.texi (Remote processes): Refer to Emacs manual.
    Mention default connection-local settings for `shell-file-name'
    and `shell-command-switch'.
    
    * etc/NEWS: Mention connection-local variables changes.
    
    * lisp/files-x.el (hack-connection-local-variables):
    Push connection-local variables to `file-local-variables-alist'.
    (connection-local-criteria-for-default-directory): New defsubst.
    (with-connection-local-variables): Rename from
    `with-connection-local-profiles'.  Adapt implementation.
    
    * lisp/files.el (hack-local-variables):
    Call `hack-connection-local-variables'.
    
    * lisp/shell.el (shell): Use `with-connection-local-variables'.
    
    * lisp/subr.el (start-file-process-shell-command):
    * lisp/progmodes/compile.el (compilation-start):
    Use `with-connection-local-variables'.  Do not set "/bin/sh" for
    remote buffers, trust settings of `shell-file-name'.  (Bug#24338),
    (Bug#29723)
    
    * lisp/net/ange-ftp.el (ange-ftp-compress, ange-ftp-uncompress):
    Use `shell-command-switch'.
    
    * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
    New defvar.  Add it to connection-local profiles after loading "shell".
    
    * lisp/net/tramp-integration.el (tramp-compat): Require tramp-compat.
    (tramp-compat-exec-path): Do not declare anymore.
    (tramp-connection-local-safe-shell-file-names): New defvar.
    (tramp-connection-local-default-profile): New defconst.  Activate
    it after loading "shell".
    (shell-file-name, shell-command-switch): Add safe-local-variable
    property.
    
    * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
    Add tramp-autoload cookie.
    
    * test/lisp/files-x-tests.el (remote-shell-file-name):
    Add safe-local-variable property to remote-* variables.
    (tramp-connection-local-default-profile): Declare.
    (files-x-test-with-connection-local-variables):
    Rename from `files-x-test-with-connection-local-profiles'.  Adapt
    implementation.
    
    * test/lisp/net/tramp-tests.el
    (tramp-test34-connection-local-variables): New test.
    (tramp-test34-explicit-shell-file-name): Run it also for tramp-adb.
    Bind connection-local-{profile,criteria}-alist.  Use tramp-adb
    specific `shell-file-name'.  Add safe-local-variable property to
    `explicit-shell-file-name' and `explicit-sh-args'.
    21f54fee
files-x-tests.el 14.4 KB