]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove Emacs 27 compatibility from Tramp
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 24 Jul 2024 13:25:55 +0000 (15:25 +0200)
committerEshel Yaron <me@eshelyaron.com>
Wed, 24 Jul 2024 16:58:11 +0000 (18:58 +0200)
* doc/misc/tramp.texi (Frequently Asked Questions):
Adapt supported Emacs versions.

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.8.0-pre".

* lisp/net/tramp-compat.el (tramp-compat-file-modes)
(tramp-compat-set-file-modes, tramp-compat-set-file-times)
(tramp-compat-directory-files)
(tramp-compat-directory-files-and-attributes)
(tramp-compat-directory-empty-p, tramp-compat-null-device)
(tramp-compat-string-replace, tramp-compat-string-search)
(tramp-compat-make-lock-file-name)
(tramp-compat-file-name-concat)
(tramp-compat-replace-regexp-in-region, tramp-compat-length<)
(tramp-compat-length>, tramp-compat-length=)
(tramp-compat-always): Remove.

* lisp/net/tramp-adb.el:
* lisp/net/tramp-androidsu.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-message.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sshfs.el:
* lisp/net/tramp-sudoedit.el:
* lisp/net/tramp.el: Use original objects instead of their
`tramp-compat-' counterparts when possible.

(cherry picked from commit c4e8112f983a2add3253e5607f0c29f70e5b4081)

18 files changed:
doc/misc/tramp.texi
doc/misc/trampver.texi
lisp/net/tramp-adb.el
lisp/net/tramp-androidsu.el
lisp/net/tramp-archive.el
lisp/net/tramp-cache.el
lisp/net/tramp-cmds.el
lisp/net/tramp-compat.el
lisp/net/tramp-crypt.el
lisp/net/tramp-fuse.el
lisp/net/tramp-gvfs.el
lisp/net/tramp-message.el
lisp/net/tramp-sh.el
lisp/net/tramp-smb.el
lisp/net/tramp-sshfs.el
lisp/net/tramp-sudoedit.el
lisp/net/tramp.el
lisp/net/trampver.el

index 11beed77a798b34ae4a9ec7fb2fa85c1bebffccf..88e46c058640e2a5176962fd4bc817940ae6cd7c 100644 (file)
@@ -3361,11 +3361,10 @@ files, set user option
 @code{remote-file-name-inhibit-auto-save-visited} to non-@code{nil}.
 
 @vindex lock-file-name-transforms
-And still more issues to handle.  Since @w{Emacs 28}, file locks use a
-similar user option as auto-save files, called
-@code{lock-file-name-transforms}.  By default this user option is
-@code{nil}, meaning to keep file locks in the same directory as the
-original file.
+And still more issues to handle.  File locks use a similar user option
+as auto-save files, called @code{lock-file-name-transforms}.  By
+default this user option is @code{nil}, meaning to keep file locks in
+the same directory as the original file.
 
 If you change @code{lock-file-name-transforms} in order to keep file
 locks for remote files somewhere else, you will lose Emacs's feature
@@ -5154,8 +5153,8 @@ Where is the latest @value{tramp}?
 @item
 Which systems does it work on?
 
-The package works successfully on @w{Emacs 27}, @w{Emacs 28}, @w{Emacs
-29}, and @w{Emacs 30}.
+The package works successfully on @w{Emacs 28}, @w{Emacs 29}, @w{Emacs
+30}, and @w{Emacs 31}.
 
 While Unix and Unix-like systems are the primary remote targets,
 @value{tramp} has equal success connecting to other platforms, such as
index b17dde18656b94484d49d647400186b4e151a39c..71ed247c6df35e52799fb33d054e2572286e7a7a 100644 (file)
@@ -7,10 +7,10 @@
 
 @c In the  Tramp GIT, the version number and the bug report address
 @c are auto-frobbed from configure.ac.
-@set trampver 2.7.2-pre
+@set trampver 2.8.0-pre
 @set trampurl https://www.gnu.org/software/tramp/
 @set tramp-bug-report-address tramp-devel@@gnu.org
-@set emacsver 27.1
+@set emacsver 28.1
 
 @c Other flags from configuration.
 @set instprefix /usr/local
index b26a93fc6e4aa64d162da2c678fe9d584f63beea..3b8a930cb570c6c6c20a59e7b0d2dd916482e6ab 100644 (file)
@@ -228,7 +228,7 @@ arguments to pass to the OPERATION."
      (when (string-match
            (rx bol (group (+ (not blank))) (+ blank) "device" eol) line)
        ;; Replace ":" by "#".
-       `(nil ,(tramp-compat-string-replace
+       `(nil ,(string-replace
               ":" tramp-prefix-port-format (match-string 1 line)))))
    (tramp-process-lines nil tramp-adb-program "devices")))
 
@@ -329,10 +329,10 @@ arguments to pass to the OPERATION."
           v (format "%s -d -a -l %s %s | cat"
                     (tramp-adb-get-ls-command v)
                     (tramp-shell-quote-argument
-                     (tramp-compat-file-name-concat localname "."))
+                     (file-name-concat localname "."))
                     (tramp-shell-quote-argument
-                     (tramp-compat-file-name-concat localname ".."))))
-         (tramp-compat-replace-regexp-in-region
+                     (file-name-concat localname ".."))))
+         (replace-regexp-in-region
           (rx (literal (file-name-unquote (file-name-as-directory localname))))
           "" (point-min))
          (widen)))
@@ -373,7 +373,7 @@ Emacs dired can't find files."
        (search-forward-regexp
         (rx blank (group blank (regexp tramp-adb-ls-date-year-regexp) blank))
         nil t)
-      (replace-match "0\\1" "\\1" nil)
+      (replace-match "0\\1" "\\1")
       ;; Insert missing "/".
       (when (looking-at-p
             (rx (regexp tramp-adb-ls-date-time-regexp) (+ blank) eol))
@@ -650,7 +650,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
 
     ;; KEEP-DATE handling.
     (when keep-date
-      (tramp-compat-set-file-times
+      (set-file-times
        newname
        (file-attribute-modification-time (file-attributes filename))
        (unless ok-if-already-exists 'nofollow)))))
@@ -946,7 +946,7 @@ E.g. a host name \"192.168.1.1#5555\" returns \"192.168.1.1:5555\"
     (let* ((host (tramp-file-name-host vec))
           (port (tramp-file-name-port-or-default vec))
           (devices (mapcar #'cadr (tramp-adb-parse-device-names nil))))
-      (tramp-compat-string-replace
+      (string-replace
        tramp-prefix-port-format ":"
        (cond ((member host devices) host)
             ;; This is the case when the host is connected to the default port.
@@ -956,15 +956,14 @@ E.g. a host name \"192.168.1.1#5555\" returns \"192.168.1.1:5555\"
             ;; An empty host name shall be mapped as well, when there
             ;; is exactly one entry in `devices'.
             ((and (tramp-string-empty-or-nil-p host)
-                  (tramp-compat-length= devices 1))
+                  (length= devices 1))
              (car devices))
             ;; Try to connect device.
             ((and tramp-adb-connect-if-not-connected
-                  (tramp-compat-length> host 0)
+                  (length> host 0)
                   (tramp-adb-execute-adb-command
                     vec "connect"
-                    (tramp-compat-string-replace
-                    tramp-prefix-port-format ":" host)))
+                    (string-replace tramp-prefix-port-format ":" host)))
              ;; When new device connected, running other adb command (e.g.
              ;; adb shell) immediately will fail.  To get around this
              ;; problem, add sleep 0.1 second here.
@@ -977,7 +976,7 @@ E.g. a host name \"192.168.1.1#5555\" returns \"192.168.1.1:5555\"
   "Execute an adb command.
 Insert the result into the connection buffer.  Return nil on
 error and non-nil on success."
-  (when (and (tramp-compat-length> (tramp-file-name-host vec) 0)
+  (when (and (length> (tramp-file-name-host vec) 0)
             ;; The -s switch is only available for ADB device commands.
             (not (member (car args) '("connect" "disconnect"))))
     (setq args (append (list "-s" (tramp-adb-get-device vec)) args)))
@@ -1021,7 +1020,7 @@ error and non-nil on success."
          ;; system, but this requires changes in core Tramp.
          (goto-char (point-min))
          (while (search-forward-regexp (rx (+ "\r") eol) nil t)
-           (replace-match "" nil nil)))))))
+           (replace-match "")))))))
 
 (defun tramp-adb-send-command-and-check
     (vec command &optional exit-status command-augmented-p)
index dae902024781774dc251530eada04a33c007b5a7..473cecf7a1bb456e0a7e738c3ea3c705b37fe85e 100644 (file)
@@ -304,15 +304,14 @@ FUNCTION."
   "Like `tramp-handle-make-process', but modified for Android."
   (tramp-skeleton-make-process args nil nil
     (let* ((env (mapcar
-                (lambda (elt)
-                  (when (tramp-compat-string-search "=" elt) elt))
+                (lambda (elt) (when (string-search "=" elt) elt))
                 tramp-remote-process-environment))
           ;; We use as environment the difference to toplevel
           ;; `process-environment'.
           (env (dolist (elt process-environment env)
                  (when
                      (and
-                      (tramp-compat-string-search "=" elt)
+                      (string-search "=" elt)
                       (not
                        (member
                         elt (default-toplevel-value 'process-environment))))
index 59c4223794ca2a84a1098563c1022b3a83423017..3e6c483a47f30b525673da43f565b2d521aa2beb 100644 (file)
@@ -602,7 +602,7 @@ offered."
 (defun tramp-archive-handle-directory-file-name (directory)
   "Like `directory-file-name' for file archives."
   (with-parsed-tramp-archive-file-name directory nil
-    (if (and (tramp-compat-length> localname 0)
+    (if (and (length> localname 0)
             (eq (aref localname (1- (length localname))) ?/)
             (not (string= localname "/")))
        (substring directory 0 -1)
index 30c38d19fb74243a0ce956b1280401327b1f7ab1..9d7fb488412e5410b658e9afe99da32197f18d67 100644 (file)
@@ -271,8 +271,7 @@ Remove also properties of all files in subdirectories."
     (dolist (key (hash-table-keys tramp-cache-data))
       (when (and (tramp-file-name-p key)
                 (stringp (tramp-file-name-localname key))
-                (tramp-compat-string-search
-                 directory (tramp-file-name-localname key)))
+                (string-search directory (tramp-file-name-localname key)))
        (remhash key tramp-cache-data)))
     ;; Remove file properties of symlinks.
     (when (and (stringp truename)
index 5b2646a0b03a84cf7d79c7b0a3e5e33d16cc6321..09c48db05620a7c4f92b4ffb70e7f6135712800c 100644 (file)
@@ -287,7 +287,7 @@ non-nil."
 (defun tramp-cleanup-all-buffers ()
   "Kill all remote buffers."
   (interactive)
-  (let ((tramp-cleanup-some-buffers-hook '(tramp-compat-always)))
+  (let ((tramp-cleanup-some-buffers-hook '(always)))
     (tramp-cleanup-some-buffers)))
 
 ;;; Rename
@@ -472,8 +472,7 @@ ESC or `q' to quit without changing further buffers,
        (dolist (buffer (tramp-list-remote-buffers))
           (switch-to-buffer buffer)
          (let* ((bfn (buffer-file-name))
-                (new-bfn (and (stringp bfn)
-                              (tramp-compat-string-replace source target bfn)))
+                (new-bfn (and (stringp bfn) (string-replace source target bfn)))
                 (prompt (format-message
                          "Set visited file name to `%s' [Type yn!eq or %s] "
                          new-bfn (key-description (vector help-char)))))
@@ -827,7 +826,7 @@ buffer in your bug report.
   (insert "\nload-path shadows:\n==================\n")
   (ignore-errors
     (mapc
-     (lambda (x) (when (tramp-compat-string-search "tramp" x) (insert x "\n")))
+     (lambda (x) (when (string-search "tramp" x) (insert x "\n")))
      (split-string (list-load-path-shadows t) "\n")))
 
   ;; Append buffers only when we are in message mode.
index 8781230c00c3429ed8866673469887266d1b72b4..ec74d9bb76ef1606865c18e7332911ae1df32151 100644 (file)
@@ -24,8 +24,8 @@
 ;;; Commentary:
 
 ;; Tramp's main Emacs version for development is Emacs 30.  This
-;; package provides compatibility functions for Emacs 27, Emacs 28 and
-;; Emacs 29.
+;; package provides compatibility functions for Emacs 28, Emacs 29 and
+;; Emacs 30.
 
 ;;; Code:
 
@@ -79,8 +79,7 @@
    (if-let ((xdg (xdg-cache-home))
            ((file-directory-p xdg))
            ((file-writable-p xdg)))
-       ;; We can use `file-name-concat' starting with Emacs 28.1.
-       (prog1 (setq xdg (concat (file-name-as-directory xdg) "emacs"))
+       (prog1 (setq xdg (file-name-concat xdg "emacs"))
         (make-directory xdg t))
      (eval (car (get 'temporary-file-directory 'standard-value)) t)))
   "The default value of `temporary-file-directory' for Tramp.")
@@ -99,152 +98,6 @@ Add the extension of F, if existing."
     tramp-temp-name-prefix tramp-compat-temporary-file-directory)
    dir-flag (file-name-extension f t)))
 
-;; `file-modes', `set-file-modes' and `set-file-times' got argument
-;; FLAG in Emacs 28.1.
-(defalias 'tramp-compat-file-modes
-  (if (equal (func-arity #'file-modes) '(1 . 2))
-      #'file-modes
-    (lambda (filename &optional _flag)
-      (file-modes filename))))
-
-(defalias 'tramp-compat-set-file-modes
-  (if (equal (func-arity #'set-file-modes) '(2 . 3))
-      #'set-file-modes
-    (lambda (filename mode &optional _flag)
-      (set-file-modes filename mode))))
-
-(defalias 'tramp-compat-set-file-times
-  (if (equal (func-arity #'set-file-times) '(1 . 3))
-      #'set-file-times
-    (lambda (filename &optional timestamp _flag)
-      (set-file-times filename timestamp))))
-
-;; `directory-files' and `directory-files-and-attributes' got argument
-;; COUNT in Emacs 28.1.
-(defalias 'tramp-compat-directory-files
-  (if (equal (func-arity #'directory-files) '(1 . 5))
-      #'directory-files
-    (lambda (directory &optional full match nosort _count)
-      (directory-files directory full match nosort))))
-
-(defalias 'tramp-compat-directory-files-and-attributes
-  (if (equal (func-arity #'directory-files-and-attributes) '(1 . 6))
-      #'directory-files-and-attributes
-    (lambda (directory &optional full match nosort id-format _count)
-      (directory-files-and-attributes directory full match nosort id-format))))
-
-;; `directory-empty-p' is new in Emacs 28.1.
-(defalias 'tramp-compat-directory-empty-p
-  (if (fboundp 'directory-empty-p)
-      #'directory-empty-p
-    (lambda (dir)
-      (and (file-directory-p dir)
-          (null (tramp-compat-directory-files
-                 dir nil directory-files-no-dot-files-regexp t 1))))))
-
-;; Function `null-device' is new in Emacs 28.1.
-(defalias 'tramp-compat-null-device
-  (if (fboundp 'null-device)
-      #'null-device
-    (lambda ()
-      (if (tramp-tramp-file-p default-directory) "/dev/null" null-device))))
-
-;; Function `string-replace' is new in Emacs 28.1.
-(defalias 'tramp-compat-string-replace
-  (if (fboundp 'string-replace)
-      #'string-replace
-    (lambda (from-string to-string in-string)
-      (let (case-fold-search)
-        (replace-regexp-in-string
-         (regexp-quote from-string) to-string in-string t t)))))
-
-;; Function `string-search' is new in Emacs 28.1.
-(defalias 'tramp-compat-string-search
-  (if (fboundp 'string-search)
-      #'string-search
-    (lambda (needle haystack &optional start-pos)
-      (let (case-fold-search)
-        (string-match-p (regexp-quote needle) haystack start-pos)))))
-
-;; Function `make-lock-file-name' is new in Emacs 28.1.
-(defalias 'tramp-compat-make-lock-file-name
-  (if (fboundp 'make-lock-file-name)
-      #'make-lock-file-name
-    (lambda (filename)
-      (expand-file-name
-       (concat
-        ".#" (file-name-nondirectory filename))
-       (file-name-directory filename)))))
-
-;; Function `file-name-concat' is new in Emacs 28.1.
-(defalias 'tramp-compat-file-name-concat
-  (if (fboundp 'file-name-concat)
-      #'file-name-concat
-    (lambda (directory &rest components)
-      (let ((components (cl-remove-if (lambda (el)
-                                        (or (null el) (equal "" el)))
-                                      components))
-           file-name-handler-alist)
-        (if (null components)
-           directory
-          (apply #'tramp-compat-file-name-concat
-                (concat (unless (or (equal "" directory) (null directory))
-                           (file-name-as-directory directory))
-                         (car components))
-                (cdr components)))))))
-
-;; Function `replace-regexp-in-region' is new in Emacs 28.1.
-(defalias 'tramp-compat-replace-regexp-in-region
-  (if (fboundp 'replace-regexp-in-region)
-      #'replace-regexp-in-region
-    (lambda (regexp replacement &optional start end)
-      (if start
-         (when (< start (point-min))
-            (error "Start before start of buffer"))
-       (setq start (point)))
-      (if end
-         (when (> end (point-max))
-            (error "End after end of buffer"))
-       (setq end (point-max)))
-      (save-excursion
-       (let ((matches 0)
-              (case-fold-search nil))
-         (goto-char start)
-         (while (search-forward-regexp regexp end t)
-            (replace-match replacement t)
-            (setq matches (1+ matches)))
-         (and (not (zerop matches))
-               matches))))))
-
-;; `length<', `length>' and `length=' are added to Emacs 28.1.
-(defalias 'tramp-compat-length<
-  (if (fboundp 'length<)
-      #'length<
-    (lambda (sequence length)
-      (< (length sequence) length))))
-
-(defalias 'tramp-compat-length>
-  (if (fboundp 'length>)
-      #'length>
-    (lambda (sequence length)
-      (> (length sequence) length))))
-
-(defalias 'tramp-compat-length=
-  (if (fboundp 'length=)
-      #'length=
-    (lambda (sequence length)
-      (= (length sequence) length))))
-
-;; `always' is introduced with Emacs 28.1.
-(defalias 'tramp-compat-always
-  (if (fboundp 'always)
-      #'always
-    (lambda (&rest _arguments)
-      "Do nothing and return t.
-This function accepts any number of ARGUMENTS, but ignores them.
-Also see `ignore'."
-      t)))
-
 ;; `permission-denied' is introduced in Emacs 29.1.
 (defconst tramp-permission-denied
   (if (get 'permission-denied 'error-conditions) 'permission-denied 'file-error)
@@ -274,7 +127,7 @@ Also see `ignore'."
       #'take
     (lambda (n list)
       (when (and (natnump n) (> n 0))
-       (if (tramp-compat-length< list n)
+       (if (length< list n)
            list (butlast list (- (length list) n)))))))
 
 ;; Function `ntake' is new in Emacs 29.1.
@@ -283,7 +136,7 @@ Also see `ignore'."
       #'ntake
     (lambda (n list)
       (when (and (natnump n) (> n 0))
-       (if (tramp-compat-length< list n)
+       (if (length< list n)
            list (nbutlast list (- (length list) n)))))))
 
 ;; Function `string-equal-ignore-case' is new in Emacs 29.1.
index 5d567b487a4a3e8bae6fa9deecded5215b116fa0..dc65b0da0cbd4b09bcc4a5f53d4b5c189194f5cb 100644 (file)
@@ -830,15 +830,13 @@ WILDCARD is not supported."
   "Like `set-file-modes' for Tramp files."
   (tramp-skeleton-set-file-modes-times-uid-gid filename
     (let (tramp-crypt-enabled)
-      (tramp-compat-set-file-modes
-       (tramp-crypt-encrypt-file-name filename) mode flag))))
+      (set-file-modes (tramp-crypt-encrypt-file-name filename) mode flag))))
 
 (defun tramp-crypt-handle-set-file-times (filename &optional time flag)
   "Like `set-file-times' for Tramp files."
   (tramp-skeleton-set-file-modes-times-uid-gid filename
     (let (tramp-crypt-enabled)
-      (tramp-compat-set-file-times
-       (tramp-crypt-encrypt-file-name filename) time flag))))
+      (set-file-times (tramp-crypt-encrypt-file-name filename) time flag))))
 
 (defun tramp-crypt-handle-set-file-uid-gid (filename &optional uid gid)
   "Like `tramp-set-file-uid-gid' for Tramp files."
index 3d42948043c43627dada7637fa551b76712977b4..127303dfae1eb26c274fd003ead7816ee381b318 100644 (file)
@@ -63,8 +63,7 @@
            (append
             '("." "..")
             (tramp-fuse-remove-hidden-files
-             (tramp-compat-directory-files
-              (tramp-fuse-local-file-name directory))))))))
+             (directory-files (tramp-fuse-local-file-name directory))))))))
     (if full
        ;; Massage the result.
        (let ((local (rx
@@ -207,7 +206,7 @@ It has the same meaning as `remote-file-name-inhibit-cache'.")
          (delete (tramp-file-name-unify vec) tramp-fuse-mount-points))
     ;; Give the caches a chance to expire.
     (sleep-for 1)
-    (when (tramp-compat-directory-empty-p mount-point)
+    (when (directory-empty-p mount-point)
       (delete-directory mount-point))))
 
 (defun tramp-fuse-local-file-name (filename)
index 8d7b6c4f962a85e295e034a7544d6ae09a4d2e70..cc319150fcb98406174d08f64d3fd9ca82b72249 100644 (file)
@@ -1169,7 +1169,7 @@ file names."
                  (delete-file file)))
              (directory-files
               directory 'full directory-files-no-dot-files-regexp))
-      (unless (tramp-compat-directory-empty-p directory)
+      (unless (directory-empty-p directory)
        (tramp-error
         v 'file-error "Couldn't delete non-empty %s" directory)))
 
@@ -1203,7 +1203,7 @@ file names."
     (setq name "."))
   ;; Unless NAME is absolute, concat DIR and NAME.
   (unless (file-name-absolute-p name)
-    (setq name (tramp-compat-file-name-concat dir name)))
+    (setq name (file-name-concat dir name)))
   ;; If NAME is not a Tramp file, run the real handler.
   (if (not (tramp-tramp-file-p name))
       (tramp-run-real-handler #'expand-file-name (list name))
@@ -1465,7 +1465,7 @@ If FILE-SYSTEM is non-nil, return file system attributes."
 (defun tramp-gvfs-handle-file-name-all-completions (filename directory)
   "Like `file-name-all-completions' for Tramp files."
   (tramp-skeleton-file-name-all-completions filename directory
-    (unless (tramp-compat-string-search "/" filename)
+    (unless (string-search "/" filename)
       (all-completions
        filename
        (with-parsed-tramp-file-name (expand-file-name directory) nil
@@ -1533,12 +1533,9 @@ If FILE-SYSTEM is non-nil, return file system attributes."
     (tramp-message proc 6 "%S\n%s" proc string)
     (setq string (concat rest-string string)
           ;; Fix action names.
-          string (tramp-compat-string-replace
-                 "attributes changed" "attribute-changed" string)
-          string (tramp-compat-string-replace
-                 "changes done" "changes-done-hint" string)
-          string (tramp-compat-string-replace
-                 "renamed to" "moved" string))
+          string (string-replace "attributes changed" "attribute-changed" string)
+          string (string-replace "changes done" "changes-done-hint" string)
+          string (string-replace "renamed to" "moved" string))
     ;; https://bugs.launchpad.net/bugs/1742946
     (when
        (string-match-p
@@ -2144,7 +2141,7 @@ Their full names are
           (vec (make-tramp-file-name
                 :method "mtp"
                 ;; A host name cannot contain spaces.
-                :host (tramp-compat-string-replace " " "_" (nth 1 volume))))
+                :host (string-replace " " "_" (nth 1 volume))))
           (media (make-tramp-media-device
                   :method method
                   :host (tramp-gvfs-url-host (nth 5 volume))
@@ -2461,7 +2458,7 @@ VEC is used only for traces."
               (vec (make-tramp-file-name
                     :method "mtp"
                     ;; A host name cannot contain spaces.
-                    :host (tramp-compat-string-replace " " "_" (nth 1 volume))))
+                    :host (string-replace " " "_" (nth 1 volume))))
               (media (make-tramp-media-device
                       :method method
                       :host (tramp-gvfs-url-host (nth 5 volume))
@@ -2475,7 +2472,7 @@ VEC is used only for traces."
     ;; Adapt default host name, supporting /mtp:: when possible.
     (setq tramp-default-host-alist
          (append
-          `(("mtp" nil ,(if (tramp-compat-length= devices 1) (car devices) "")))
+          `(("mtp" nil ,(if (length= devices 1) (car devices) "")))
           (delete
            (assoc "mtp" tramp-default-host-alist)
            tramp-default-host-alist)))))
index a0740e03723ec5e67d76fb67d21a253b1bc929ff..737279a9ac0298d8f5eba30cce1c860e5792c652 100644 (file)
@@ -190,13 +190,13 @@ They are completed by `M-x TAB' only in Tramp debug buffers."
   "Get the debug file name for VEC."
   (declare (tramp-suppress-trace t))
   (expand-file-name
-   (tramp-compat-string-replace "/" " " (tramp-debug-buffer-name vec))
+   (string-replace "/" " " (tramp-debug-buffer-name vec))
    tramp-compat-temporary-file-directory))
 
 (defun tramp-trace-buffer-name (vec)
   "A name for the trace buffer for VEC."
   (declare (tramp-suppress-trace t))
-   (tramp-compat-string-replace "*debug" "*trace" (tramp-debug-buffer-name vec)))
+  (string-replace "*debug" "*trace" (tramp-debug-buffer-name vec)))
 
 (defvar tramp-trace-functions nil
   "A list of non-Tramp functions to be traced with `tramp-verbose' > 10.")
index de19939071fdf8b075bf3f7f0e9d930793e95815..9e53f86c11b6ca204732440be3d529f23d233192 100644 (file)
@@ -1911,9 +1911,9 @@ ID-FORMAT valid values are `string' and `integer'."
   "Like `file-name-all-completions' for Tramp files."
   (tramp-skeleton-file-name-all-completions filename directory
     (with-parsed-tramp-file-name (expand-file-name directory) nil
-      (when (and (not (tramp-compat-string-search "/" filename))
+      (when (and (not (string-search "/" filename))
                 (tramp-connectable-p v))
-       (unless (tramp-compat-string-search "/" filename)
+       (unless (string-search "/" filename)
          (all-completions
           filename
           (with-tramp-file-property v localname "file-name-all-completions"
@@ -2237,7 +2237,7 @@ file names."
 
             ;; KEEP-DATE handling.
             (when (and keep-date (not copy-keep-date))
-              (tramp-compat-set-file-times
+              (set-file-times
                newname file-times (unless ok-if-already-exists 'nofollow)))
 
             ;; Set the mode.
@@ -2514,8 +2514,7 @@ The method used must be an out-of-band method."
            copy-args
            (flatten-tree
             (mapcar
-             (lambda (x) (if (tramp-compat-string-search " " x)
-                              (split-string x) x))
+             (lambda (x) (if (string-search " " x) (split-string x) x))
              copy-args))
            copy-env (apply #'tramp-expand-args v 'tramp-copy-env nil spec)
            remote-copy-program
@@ -2814,7 +2813,7 @@ The method used must be an out-of-band method."
        (save-restriction
          (narrow-to-region beg-marker end-marker)
          ;; Some busyboxes are reluctant to discard colors.
-         (unless (tramp-compat-string-search
+         (unless (string-search
                   "color" (tramp-get-connection-property v "ls" ""))
            (goto-char (point-min))
            (while (search-forward-regexp ansi-color-control-seq-regexp nil t)
@@ -2901,7 +2900,7 @@ the result will be a local, non-Tramp, file name."
       (tramp-run-real-handler #'expand-file-name (list name dir))
     ;; Unless NAME is absolute, concat DIR and NAME.
     (unless (file-name-absolute-p name)
-      (setq name (tramp-compat-file-name-concat dir name)))
+      (setq name (file-name-concat dir name)))
     ;; Dissect NAME.
     (with-parsed-tramp-file-name name nil
       ;; If connection is not established yet, run the real handler.
@@ -2992,7 +2991,7 @@ will be used."
             (heredoc (and (not (bufferp stderr))
                           (stringp program)
                           (string-match-p (rx "sh" eol) program)
-                          (tramp-compat-length= args 2)
+                          (length= args 2)
                           (string-equal "-c" (car args))
                           ;; Don't if there is a quoted string.
                           (not (string-match-p (rx (any "'\"")) (cadr args)))
@@ -3001,7 +3000,7 @@ will be used."
             ;; When PROGRAM is nil, we just provide a tty.
             (args (if (not heredoc) args
                     (let ((i 250))
-                      (while (and (not (tramp-compat-length< (cadr args) i))
+                      (while (and (not (length< (cadr args) i))
                                   (string-match " " (cadr args) i))
                         (setcdr
                          args
@@ -3020,7 +3019,7 @@ will be used."
             (env (dolist (elt (cons prompt process-environment) env)
                    (or (member
                         elt (default-toplevel-value 'process-environment))
-                       (if (tramp-compat-string-search "=" elt)
+                       (if (string-search "=" elt)
                            (setq env (append env `(,elt)))
                          (setq uenv (cons elt uenv))))))
             (env (setenv-internal
@@ -3253,7 +3252,7 @@ will be used."
       ;; We use as environment the difference to toplevel `process-environment'.
       (dolist (elt process-environment)
         (or (member elt (default-toplevel-value 'process-environment))
-            (if (tramp-compat-string-search "=" elt)
+            (if (string-search "=" elt)
                 (setq env (append env `(,elt)))
               (setq uenv (cons elt uenv)))))
       (setq env (setenv-internal env "INSIDE_EMACS" (tramp-inside-emacs) 'keep))
@@ -3782,7 +3781,7 @@ Fall back to normal file name handler if no Tramp handler exists."
              ;; Make events a list of symbols.
              events
              (mapcar
-              (lambda (x) (intern-soft (tramp-compat-string-replace "_" "-" x)))
+              (lambda (x) (intern-soft (string-replace "_" "-" x)))
               (split-string events "," 'omit))))
        ;; "gio monitor".
        ((setq command (tramp-get-remote-gio-monitor v))
@@ -3840,12 +3839,9 @@ Fall back to normal file name handler if no Tramp handler exists."
     (tramp-message proc 6 "%S\n%s" proc string)
     (setq string (concat rest-string string)
           ;; Fix action names.
-          string (tramp-compat-string-replace
-                 "attributes changed" "attribute-changed" string)
-          string (tramp-compat-string-replace
-                 "changes done" "changes-done-hint" string)
-          string (tramp-compat-string-replace
-                 "renamed to" "moved" string))
+          string (string-replace "attributes changed" "attribute-changed" string)
+          string (string-replace "changes done" "changes-done-hint" string)
+          string (string-replace "renamed to" "moved" string))
 
     (catch 'doesnt-work
       ;; https://bugs.launchpad.net/bugs/1742946
@@ -3880,7 +3876,7 @@ Fall back to normal file name handler if no Tramp handler exists."
        (setq string (substring string pos)))
 
       ;; Delete empty lines.
-      (setq string (tramp-compat-string-replace "\n\n" "\n" string))
+      (setq string (string-replace "\n\n" "\n" string))
 
       (while (string-match
              (rx
@@ -3933,9 +3929,7 @@ Fall back to normal file name handler if no Tramp handler exists."
             (list
              proc
              (mapcar
-              (lambda (x)
-                (intern-soft
-                 (tramp-compat-string-replace "_" "-" (downcase x))))
+              (lambda (x) (intern-soft (string-replace "_" "-" (downcase x))))
               (split-string (match-string 1 line) "," 'omit))
              (or (match-string 2 line)
                  (file-name-nondirectory
@@ -4059,8 +4053,8 @@ Only send the definition if it has not already been done."
          vec 5 (format-message "Sending script `%s'" name)
        ;; In bash, leading TABs like in `tramp-bundle-read-file-names'
        ;; could result in unwanted command expansion.  Avoid this.
-       (setq script (tramp-compat-string-replace
-                     (make-string 1 ?\t) (make-string 8 ? ) script))
+       (setq script
+             (string-replace (make-string 1 ?\t) (make-string 8 ? ) script))
        ;; Expand format specifiers.
        (unless (setq script (tramp-expand-script vec script))
          (tramp-error
@@ -4150,7 +4144,7 @@ variable PATH."
        (pipe-buf (tramp-get-remote-pipe-buf vec))
        tmpfile chunk chunksize)
     (tramp-message vec 5 "Setting $PATH environment variable")
-    (if (tramp-compat-length< command pipe-buf)
+    (if (length< command pipe-buf)
        (tramp-send-command vec command)
       ;; Use a temporary file.  We cannot use `write-region' because
       ;; setting the remote path happens in the early connection
@@ -4802,12 +4796,12 @@ means standard output and thus the current buffer), or nil (which
 means discard it)."
   (tramp-call-process
    nil tramp-encoding-shell
-   (when (and input (not (tramp-compat-string-search "%s" cmd))) input)
+   (when (and input (not (string-search "%s" cmd))) input)
    (if (eq output t) t nil)
    nil
    tramp-encoding-command-switch
    (concat
-    (if (tramp-compat-string-search "%s" cmd) (format cmd input) cmd)
+    (if (string-search "%s" cmd) (format cmd input) cmd)
     (if (stringp output) (concat " >" output) ""))))
 
 (defconst tramp-inline-compress-commands
@@ -6012,13 +6006,12 @@ function cell is returned to be applied on a buffer."
           (with-tramp-connection-property (tramp-get-process vec) prop
             (tramp-find-inline-encoding vec)
             (tramp-get-connection-property (tramp-get-process vec) prop)))
-         (prop1 (if (tramp-compat-string-search "encoding" prop)
+         (prop1 (if (string-search "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)
-                (tramp-compat-string-search "remote" prop))
+      (when (and coding (symbolp coding) (string-search "remote" prop))
        (let ((name (symbol-name coding)))
          (while (string-match "-" name)
            (setq name (replace-match "_" nil t name)))
@@ -6030,7 +6023,7 @@ function cell is returned to be applied on a buffer."
        ;; Return the value.
        (cond
         ((and compress (symbolp coding))
-         (if (tramp-compat-string-search "decompress" prop1)
+         (if (string-search "decompress" prop1)
              `(lambda (beg end)
                 (,coding beg end)
                 (let ((coding-system-for-write 'binary)
@@ -6049,16 +6042,15 @@ function cell is returned to be applied on a buffer."
               (,coding (point-min) (point-max)))))
         ((symbolp coding)
          coding)
-        ((and compress (tramp-compat-string-search "decoding" prop))
+        ((and compress (string-search "decoding" prop))
          (format
           ;; Windows shells need the program file name after
           ;; the pipe symbol be quoted if they use forward
           ;; slashes as directory separators.
           (cond
-           ((and (tramp-compat-string-search "local" prop)
-                 (eq system-type 'windows-nt))
-              "(%s | \"%s\")")
-           ((tramp-compat-string-search "local" prop) "(%s | %s)")
+           ((and (string-search "local" prop) (eq system-type 'windows-nt))
+            "(%s | \"%s\")")
+           ((string-search "local" prop) "(%s | %s)")
            (t "(%s | %s >%%s)"))
           coding compress))
         (compress
@@ -6066,14 +6058,13 @@ function cell is returned to be applied on a buffer."
           ;; Windows shells need the program file name after
           ;; the pipe symbol be quoted if they use forward
           ;; slashes as directory separators.
-          (if (and (tramp-compat-string-search "local" prop)
-                   (eq system-type 'windows-nt))
+          (if (and (string-search "local" prop) (eq system-type 'windows-nt))
               "(%s <%%s | \"%s\")"
             "(%s <%%s | %s)")
           compress coding))
-        ((tramp-compat-string-search "decoding" prop)
+        ((string-search "decoding" prop)
          (cond
-          ((tramp-compat-string-search "local" prop) (format "%s" coding))
+          ((string-search "local" prop) (format "%s" coding))
           (t (format "%s >%%s" coding))))
         (t
          (format "%s <%%s" coding)))))))
index c6c3caabdcf5c6980e88cbd9860899c7c482b11d..1f4ee8bc8e579f7e5b1d2ba3a1a7e65f6c1460f6 100644 (file)
@@ -485,7 +485,7 @@ arguments to pass to the OPERATION."
 
                (let* ((share (tramp-smb-get-share v))
                       (localname (file-name-as-directory
-                                  (tramp-compat-string-replace
+                                  (string-replace
                                    "\\" "/" (tramp-smb-get-localname v))))
                       (tmpdir    (tramp-compat-make-temp-name))
                       (args      (list (concat "//" host "/" share) "-E"))
@@ -572,7 +572,7 @@ arguments to pass to the OPERATION."
 
                ;; Handle KEEP-DATE argument.
                (when keep-date
-                 (tramp-compat-set-file-times
+                 (set-file-times
                   newname
                   (file-attribute-modification-time (file-attributes dirname))
                   (unless ok-if-already-exists 'nofollow)))
@@ -656,7 +656,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
 
     ;; KEEP-DATE handling.
     (when keep-date
-      (tramp-compat-set-file-times
+      (set-file-times
        newname
        (file-attribute-modification-time (file-attributes filename))
        (unless ok-if-already-exists 'nofollow)))))
@@ -716,7 +716,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
     (setq name "."))
   ;; Unless NAME is absolute, concat DIR and NAME.
   (unless (file-name-absolute-p name)
-    (setq name (tramp-compat-file-name-concat dir name)))
+    (setq name (file-name-concat dir name)))
   ;; If NAME is not a Tramp file, run the real handler.
   (if (not (tramp-tramp-file-p name))
       (tramp-run-real-handler #'expand-file-name (list name))
@@ -780,7 +780,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
       (with-tramp-file-property v localname "file-acl"
        (when (tramp-smb-remote-acl-p v)
          (let* ((share     (tramp-smb-get-share v))
-                (localname (tramp-compat-string-replace
+                (localname (string-replace
                             "\\" "/" (tramp-smb-get-localname v)))
                 (args      (list (concat "//" host "/" share) "-E"))
                 (options   tramp-smb-options))
@@ -845,8 +845,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
 
            ;; Check result.
            (when entry
-             (list (and (tramp-compat-string-search "d" (nth 1 entry))
-                        t)              ;0 file type
+             (list (and (string-search "d" (nth 1 entry)) t) ;0 file type
                    -1                   ;1 link count
                    (cons
                     tramp-unknown-id-string tramp-unknown-id-integer) ;2 uid
@@ -981,7 +980,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
           (mapcar
            (lambda (x)
              (list
-              (if (tramp-compat-string-search "d" (nth 1 x))
+              (if (string-search "d" (nth 1 x))
                   (file-name-as-directory (nth 0 x))
                 (nth 0 x))))
            (tramp-smb-get-file-entries directory))))))))
@@ -1020,7 +1019,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
 (defun tramp-smb-handle-file-writable-p (filename)
   "Like `file-writable-p' for Tramp files."
   (if (file-exists-p filename)
-      (tramp-compat-string-search
+      (string-search
        "w" (or (file-attribute-modes (file-attributes filename)) ""))
     (let ((dir (file-name-directory filename)))
       (and (file-exists-p dir)
@@ -1083,14 +1082,14 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
                (sort
                 entries
                 (lambda (x y)
-                  (if (tramp-compat-string-search "t" switches)
+                  (if (string-search "t" switches)
                       ;; Sort by date.
                       (time-less-p (nth 3 y) (nth 3 x))
                     ;; Sort by name.
                     (string-lessp (nth 0 x) (nth 0 y))))))
 
          ;; Handle "-F" switch.
-         (when (tramp-compat-string-search "F" switches)
+         (when (string-search "F" switches)
            (mapc
             (lambda (x)
               (unless (string-empty-p (car x))
@@ -1121,7 +1120,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
                           (expand-file-name
                            (nth 0 x) (file-name-directory filename))
                           'string)))))
-                (when (tramp-compat-string-search "l" switches)
+                (when (string-search "l" switches)
                   (insert
                    (format
                     "%10s %3d %-8s %-8s %8s %s "
@@ -1150,7 +1149,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
                   (put-text-property start (point) 'dired-filename t))
 
                 ;; Insert symlink.
-                (when (and (tramp-compat-string-search "l" switches)
+                (when (and (string-search "l" switches)
                            (stringp (file-attribute-type attr)))
                   (insert " -> " (file-attribute-type attr))))
 
@@ -1369,11 +1368,9 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
 
       (when (and (stringp acl-string) (tramp-smb-remote-acl-p v))
        (let* ((share     (tramp-smb-get-share v))
-              (localname (tramp-compat-string-replace
-                          "\\" "/" (tramp-smb-get-localname v)))
+              (localname (string-replace "\\" "/" (tramp-smb-get-localname v)))
               (args      (list (concat "//" host "/" share) "-E" "-S"
-                               (tramp-compat-string-replace
-                                "\n" "," acl-string)))
+                               (string-replace "\n" "," acl-string)))
               (options   tramp-smb-options))
 
          (if (tramp-string-empty-or-nil-p user)
@@ -1492,7 +1489,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
        ;; Save exit.
        ;; FIXME: Does `tramp-get-connection-buffer' return the proper value?
        (with-current-buffer (tramp-get-connection-buffer v)
-         (if (tramp-compat-string-search tramp-temp-buffer-name (buffer-name))
+         (if (string-search tramp-temp-buffer-name (buffer-name))
              (progn
                (set-process-buffer (tramp-get-connection-process v) nil)
                (kill-buffer (current-buffer)))
@@ -1765,12 +1762,10 @@ are listed.  Result is the list (LOCALNAME MODE SIZE MTIME)."
             mode (or (match-string 1 line) "")
             mode (format
                    "%s%s"
-                   (if (tramp-compat-string-search "D" mode) "d" "-")
+                   (if (string-search "D" mode) "d" "-")
                    (mapconcat
                     (lambda (_x) "") "    "
-                    (format
-                     "r%sx"
-                     (if (tramp-compat-string-search "R" mode) "-" "w"))))
+                    (format "r%sx" (if (string-search "R" mode) "-" "w"))))
             line (substring line 0 -6))
          (cl-return))
 
index c75796d3b36da2a230f757dd089049cb99b5af8c..1031e71a9946f79f0055a94fceb59341d8d631bb 100644 (file)
@@ -301,15 +301,13 @@ arguments to pass to the OPERATION."
   "Like `set-file-modes' for Tramp files."
   (unless (and (eq flag 'nofollow) (file-symlink-p filename))
     (tramp-skeleton-set-file-modes-times-uid-gid filename
-      (tramp-compat-set-file-modes
-       (tramp-fuse-local-file-name filename) mode flag))))
+      (set-file-modes (tramp-fuse-local-file-name filename) mode flag))))
 
 (defun tramp-sshfs-handle-set-file-times (filename &optional timestamp flag)
   "Like `set-file-times' for Tramp files."
   (unless (and (eq flag 'nofollow) (file-symlink-p filename))
     (tramp-skeleton-set-file-modes-times-uid-gid filename
-      (tramp-compat-set-file-times
-       (tramp-fuse-local-file-name filename) timestamp flag))))
+      (set-file-times (tramp-fuse-local-file-name filename) timestamp flag))))
 
 (defun tramp-sshfs-handle-write-region
   (start end filename &optional append visit lockname mustbenew)
index 131250ba93a3c638a6e283957a7fe378e75adba9..1149e4d07b84ce7e7e4703021fccc51fce74cc6e 100644 (file)
@@ -307,7 +307,7 @@ absolute file names."
          ;; Set the time and mode. Mask possible errors.
          (when keep-date
            (ignore-errors
-             (tramp-compat-set-file-times
+             (set-file-times
               newname file-times (unless ok-if-already-exists 'nofollow))
              (set-file-modes newname file-modes)))
 
@@ -373,7 +373,7 @@ the result will be a local, non-Tramp, file name."
     (setq name "."))
   ;; Unless NAME is absolute, concat DIR and NAME.
   (unless (file-name-absolute-p name)
-    (setq name (tramp-compat-file-name-concat dir name)))
+    (setq name (file-name-concat dir name)))
   ;; If NAME is not a Tramp file, run the real handler.
   (if (not (tramp-tramp-file-p name))
       (tramp-run-real-handler #'expand-file-name (list name))
index de3de00830016e85fbb1128fe188ecb957b17b49..33ff3319367290622ae39ff32ed5a69b34518af3 100644 (file)
@@ -1714,7 +1714,7 @@ This is HOST, if non-nil.  Otherwise, do a lookup in
 `tramp-default-host-alist' and `tramp-default-host'."
   (declare (tramp-suppress-trace t))
   (let ((result
-        (or (and (tramp-compat-length> host 0) host)
+        (or (and (length> host 0) host)
             (let ((choices tramp-default-host-alist)
                   lhost item)
               (while choices
@@ -1726,7 +1726,7 @@ This is HOST, if non-nil.  Otherwise, do a lookup in
               lhost)
             tramp-default-host)))
     ;; We must mark, whether a default value has been used.
-    (if (or (tramp-compat-length> host 0) (null result))
+    (if (or (length> host 0) (null result))
        result
       (propertize result 'tramp-default t))))
 
@@ -1770,8 +1770,7 @@ default values are used."
            (setq v (tramp-dissect-hop-name hop)
                  hop (and hop (tramp-make-tramp-hop-name v))))
          (let ((tramp-default-host
-                (or (and v (not (tramp-compat-string-search
-                                 "%h" (tramp-file-name-host v)))
+                (or (and v (not (string-search "%h" (tramp-file-name-host v)))
                          (tramp-file-name-host v))
                     tramp-default-host)))
            (setq method (tramp-find-method method user host)
@@ -2098,7 +2097,7 @@ If VAR is nil, then we bind `v' to the structure and `method', `user',
   "Report progress of an operation for Tramp."
   (let* ((parameters (cdr reporter))
         (message (aref parameters 3)))
-    (when (tramp-compat-string-search message (or (current-message) ""))
+    (when (string-search message (or (current-message) ""))
       (progress-reporter-update reporter value suffix))))
 
 ;;;###tramp-autoload
@@ -2267,7 +2266,7 @@ If optional FLAG is `nofollow', do not follow FILENAME if it is a
 symbolic link.  If the file modes of FILENAME cannot be
 determined, return the value of `default-file-modes', without
 execute permissions."
-  (or (tramp-compat-file-modes filename flag)
+  (or (file-modes filename flag)
       (logand (default-file-modes) #o0666)))
 
 (defun tramp-replace-environment-variables (filename)
@@ -3096,7 +3095,7 @@ PARTIAL-USER must match USER, PARTIAL-HOST must match HOST."
 
 (defun tramp-completion-handle-file-name-nondirectory (filename)
   "Like `file-name-nondirectory' for partial Tramp files."
-  (tramp-compat-string-replace (file-name-directory filename) "" filename))
+  (string-replace (file-name-directory filename) "" filename))
 
 (defun tramp-parse-default-user-host (method)
   "Return a list of (user host) tuples allowed to access for METHOD.
@@ -3344,7 +3343,7 @@ BODY is the backend specific code."
        (if (and delete-by-moving-to-trash ,trash)
           ;; Move non-empty dir to trash only if recursive deletion was
           ;; requested.
-          (if (not (or ,recursive (tramp-compat-directory-empty-p ,directory)))
+          (if (not (or ,recursive (directory-empty-p ,directory)))
               (tramp-error
                v 'file-error "Directory is not empty, not moving to trash")
             (move-file-to-trash ,directory))
@@ -4001,7 +4000,7 @@ Let-bind it when necessary.")
   ;; Otherwise, remove any trailing slash from localname component.
   ;; Method, host, etc, are unchanged.
   (while (with-parsed-tramp-file-name directory nil
-          (and (tramp-compat-length> localname 0)
+          (and (length> localname 0)
                (eq (aref localname (1- (length localname))) ?/)
                (not (string= localname "/"))))
     (setq directory (substring directory 0 -1)))
@@ -4019,7 +4018,7 @@ Let-bind it when necessary.")
    (lambda (x)
      (cons x (file-attributes
              (if full x (expand-file-name x directory)) id-format)))
-   (tramp-compat-directory-files directory full match nosort count)))
+   (directory-files directory full match nosort count)))
 
 (defun tramp-handle-dired-uncache (dir)
   "Like `dired-uncache' for Tramp files."
@@ -4036,7 +4035,7 @@ Let-bind it when necessary.")
     (setq name "."))
   ;; Unless NAME is absolute, concat DIR and NAME.
   (unless (file-name-absolute-p name)
-    (setq name (tramp-compat-file-name-concat dir name)))
+    (setq name (file-name-concat dir name)))
   ;; If NAME is not a Tramp file, run the real handler.
   (if (not (tramp-tramp-file-p name))
       (tramp-run-real-handler #'expand-file-name (list name))
@@ -4202,8 +4201,7 @@ Let-bind it when necessary.")
     ;; "." and ".." are never interesting as completions, and are
     ;; actually in the way in a directory with only one file.  See
     ;; file_name_completion() in dired.c.
-    (when (and (consp fnac)
-              (tramp-compat-length= (delete "./" (delete "../" fnac)) 1))
+    (when (and (consp fnac) (length= (delete "./" (delete "../" fnac)) 1))
       (setq fnac (delete "./" (delete "../" fnac))))
     (or
      (try-completion
@@ -4436,7 +4434,7 @@ existing) are returned."
         (list filename switches wildcard full-directory-p))
        ;; `ls-lisp' always returns full listings.  We must remove
        ;; superfluous parts.
-       (unless (tramp-compat-string-search "l" switches)
+       (unless (string-search "l" switches)
          (save-excursion
            (goto-char (point-min))
            (while (setq start
@@ -4713,7 +4711,7 @@ It is not guaranteed, that all process attributes as described in
 (defun tramp-get-lock-file (file)
   "Read lockfile info of FILE.
 Return nil when there is no lockfile."
-  (when-let ((lockname (tramp-compat-make-lock-file-name file)))
+  (when-let ((lockname (make-lock-file-name file)))
     (or (file-symlink-p lockname)
        (and (file-readable-p lockname)
             (with-temp-buffer
@@ -4775,7 +4773,7 @@ Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.")
                       (match-string 2 info) (match-string 3 info)))
          (throw 'dont-lock nil)))
 
-      (when-let ((lockname (tramp-compat-make-lock-file-name file))
+      (when-let ((lockname (make-lock-file-name file))
                 ;; USER@HOST.PID[:BOOT_TIME]
                 (info
                  (format
@@ -4823,7 +4821,7 @@ Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.")
       ;; connection.  See Bug#61663.
       (if-let ((v (tramp-dissect-file-name file))
               ((process-live-p (tramp-get-process v)))
-              (lockname (tramp-compat-make-lock-file-name file)))
+              (lockname (make-lock-file-name file)))
           (delete-file lockname)
        ;; Trigger the unlock error.  Be quiet if user isn't
        ;; interested in lock files.  See Bug#70900.
@@ -5066,13 +5064,13 @@ should be set connection-local.")
           (adb-file-name-handler-p (tramp-adb-file-name-p v))
           (env (mapcar
                 (lambda (elt)
-                  (when (tramp-compat-string-search "=" elt) elt))
+                  (when (string-search "=" elt) elt))
                 tramp-remote-process-environment))
           ;; We use as environment the difference to toplevel
           ;; `process-environment'.
           (env (dolist (elt process-environment env)
                  (when (and
-                        (tramp-compat-string-search "=" elt)
+                        (string-search "=" elt)
                         (not
                          (member
                           elt (default-toplevel-value 'process-environment))))
@@ -5139,8 +5137,7 @@ should be set connection-local.")
 
       ;; Command could be too long, for example due to a longish PATH.
       (when (and sh-file-name-handler-p
-                (tramp-compat-length>
-                 (string-join command) (tramp-get-remote-pipe-buf v)))
+                (length> (string-join command) (tramp-get-remote-pipe-buf v)))
        (signal 'error (cons "Command too long:" command)))
 
       (setq
@@ -7010,7 +7007,7 @@ If VEC is `tramp-null-hop', return local null device."
       null-device
     (with-tramp-connection-property vec "null-device"
       (let ((default-directory (tramp-make-tramp-file-name vec)))
-        (tramp-compat-null-device)))))
+        (null-device)))))
 
 ;; Checklist for `tramp-unload-hook'
 ;; - Unload all `tramp-*' packages
index 8b2700a0d9631a0b25162cb29d8cb8e8ae56fe3b..2ffea846ecb6662de3c9c9dba89da3b3441635bb 100644 (file)
@@ -7,8 +7,8 @@
 ;; Maintainer: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
 ;; Package: tramp
-;; Version: 2.7.2-pre
-;; Package-Requires: ((emacs "27.1"))
+;; Version: 2.8.0-pre
+;; Package-Requires: ((emacs "28.1"))
 ;; Package-Type: multi
 ;; URL: https://www.gnu.org/software/tramp/
 
@@ -40,7 +40,7 @@
 ;; ./configure" to change them.
 
 ;;;###tramp-autoload
-(defconst tramp-version "2.7.2-pre"
+(defconst tramp-version "2.8.0-pre"
   "This version of Tramp.")
 
 ;;;###tramp-autoload
@@ -76,9 +76,9 @@
   "The repository revision of the Tramp sources.")
 
 ;; Check for Emacs version.
-(let ((x   (if (not (string-version-lessp emacs-version "27.1"))
+(let ((x   (if (not (string-version-lessp emacs-version "28.1"))
       "ok"
-    (format "Tramp 2.7.2-pre is not fit for %s"
+    (format "Tramp 2.8.0-pre is not fit for %s"
             (replace-regexp-in-string "\n" "" (emacs-version))))))
   (unless (string-equal "ok" x) (error "%s" x)))