Commit 62390cbf authored by Miles Bader's avatar Miles Bader
Browse files

Merge from emacs--devo--0

Patches applied:

 * emacs--devo--0  (patch 774-780)

   - Update from CVS
   - Merge from emacs--rel--22, gnus--rel--5.10
   - Merge from emacs--rel--22
   - Fix tq.el edge case

 * emacs--rel--22  (patch 28-32)

   - Update from CVS

 * gnus--rel--5.10  (patch 224-225)

   - Merge from emacs--devo--0, emacs--rel--22
   - Update from CVS

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-213
parents 2d423dd0 7a781a54
2007-05-29 Robert J. Chassell <bob@rattlesnake.com>
* NEWS: Fix instances of `allow' without object.
2007-05-22 Glenn Morris <rgm@gnu.org>
* NEWS.22: New file with entries for Emacs 22.
......
......@@ -442,7 +442,7 @@ same string that would be displayed on mouse-over using the
`help-echo' property, but, in certain cases, it can display a more
keyboard oriented alternative.
*** New user option `help-at-pt-display-when-idle' allows to
*** New user option `help-at-pt-display-when-idle' allows you to
automatically show the help provided by `display-local-help' on
point-over, after suitable idle time. The amount of idle time is
determined by the user option `help-at-pt-timer-delay' and defaults
......@@ -1949,11 +1949,11 @@ old name remains available as alias, but has been marked obsolete.
If point is at the end of a file buffer before reverting, Auto Revert
mode keeps it at the end after reverting. Similarly if point is
displayed at the end of a file buffer in any window, it stays at
the end of the buffer in that window. This allows to tail a file:
just put point at the end of the buffer and it stays there. This
rule applies to file buffers. For non-file buffers, the behavior can
be mode dependent.
displayed at the end of a file buffer in any window, it stays at the end
of the buffer in that window. This allows you to "tail" a file: just
put point at the end of the buffer and it stays there. This rule
applies to file buffers. For non-file buffers, the behavior can be mode
dependent.
If you are sure that the file will only change by growing at the end,
then you can tail the file more efficiently by using the new minor
......@@ -3047,7 +3047,7 @@ struct members in C, members variables in C++ and variables in PHP.
*** Support for `movemail' from GNU mailutils was added to Rmail.
This version of `movemail' allows to read mail from a wide range of
This version of `movemail' allows you to read mail from a wide range of
mailbox formats, including remote POP3 and IMAP4 mailboxes with or
without TLS encryption. If GNU mailutils is installed on the system
and its version of `movemail' can be found in exec-path, it will be
......
......@@ -2456,27 +2456,6 @@ This results from a bug in a VERY old version of GNU Sed. To solve
the problem, install the current version of GNU Sed, then rerun
Emacs's configure script.
*** Compiling on GNU/Linux fails due to a missing left operand in gnu-linux.h.
The error messages have the form:
../src/s/gnu-linux.h:49:24: error: operator '>' has no left operand
This error occurs because your system defines LINUX_VERSION_CODE in
the standard header file linux/version.h but does not give it a value.
As a workaround, you can edit the file src/s/gnu-linux.h to add the
needed definition. On the line after "#include <linux/version.h>",
add a line as shown below:
#include <linux/version.h>
#define LINUX_VERSION_CODE 132626
The number to use depends on your kernel version (the example shown is
for kernel 2.6.18). The number can be obtained by running the
following command in the shell:
uname -r | sed -e 's/\./ /g' -e 's/-.*//' | awk '{print $1*(2^16) + $2*(2^8) + $3}'
*** Building a 32-bit executable on a 64-bit GNU/Linux architecture.
First ensure that the necessary 32-bit system libraries and include
......
2007-05-30 Michael Olson <mwolson@gnu.org>
* emacs-lisp/tq.el (tq-queue-pop): Stifle error when a process has
died and we are trying to send a signal to it. The program using
tq.el should periodically check to see whether the process has
died and react appropriately -- this is not the responsibility of
tq.el, and is consistent with the rest of the tq.el source code.
2007-05-29 Martin Rudalics <rudalics@gmx.at>
* textmodes/table.el (table--point-entered-cell-function)
(table--point-left-cell-function): Bind
`inhibit-point-motion-hooks' to t.
2007-05-29 Nikolaj Schumacher <n_schumacher@web.de> (tiny change)
* emacs-lisp/rx.el (rx): Doc fix.
2007-05-28 Juanma Barranquero <lekktu@gmail.com>
* progmodes/idlwave.el (idlwave-routines): Fix typo in docstring.
2007-05-28 Michael Albinus <michael.albinus@gmx.de>
Sync with Tramp 2.0.56.
* net/tramp.el:
* net/tramp-ftp.el:
* net/tramp-smb.el:
* net/tramp-util.el:
* net/tramp-vc.el:
Don't load cl.el, because that pollutes the namespace. Replace cl
macros by their implementations where necessary. Requested by
Richard Stallman <rms@gnu.org>.
* net/tramp.el (top): Make `set-buffer-multibyte' an alias if it
doesn't exist.
(with-parsed-tramp-file-name): Protect debug spec during
compilation.
(tramp-handle-insert-directory): Check (featurep 'ls-lisp).
(tramp-file-name-p, tramp-file-name-multi-method)
(tramp-file-name-method, tramp-file-name-user)
(tramp-file-name-host, tramp-file-name-localname): New defuns,
replacing defstruct `tramp-file-name'.
(tramp-handle-file-remote-p, tramp-completion-dissect-file-name1)
(tramp-dissect-file-name, tramp-dissect-multi-file-name): Apply
`vector' instead of `make-tramp-file-name'.
(tramp-handle-make-auto-save-file-name): Apply
`tramp-temporary-file-directory' for compatibility reasons.
(tramp-completion-mode): Use `natnump' instead of `wholenump'
because of XEmacs.
(tramp-completion-mode): `last-input-event' is nil when XEmacs is
started.
2007-05-28 Chong Yidong <cyd@stupidchicken.com>
* textmodes/sgml-mode.el (sgml-point-entered): Use condition-case.
2007-05-27 Tetsurou Okazaki <okazaki@be.to> (tiny change)
* log-edit.el (log-edit-changelog-paragraph): Return point-max
as the end of the ChangeLog paragraph when it ends without a line
termination.
2007-05-27 Ryan Yeske <rcyeske@gmail.com>
* net/webjump.el (webjump-sample-sites):
Add simple Wikipedia query.
2007-05-25 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/derived.el (define-derived-mode): Remove bogus
......
......@@ -725,8 +725,7 @@ CHAR
matches the empty string, but only at point.
`word-start', `bow'
matches the empty string, but only at the beginning or end of a
word.
matches the empty string, but only at the beginning of a word.
`word-end', `eow'
matches the empty string, but only at the end of a word.
......@@ -740,6 +739,12 @@ CHAR
matches the empty string, but not at the beginning or end of a
word.
`symbol-start'
matches the empty string, but only at the beginning of a symbol.
`symbol-end'
matches the empty string, but only at the end of a symbol.
`digit', `numeric', `num'
matches 0 through 9.
......
......@@ -100,8 +100,9 @@ to a tcp server on another machine."
(defun tq-queue-pop (tq)
(setcar tq (cdr (car tq)))
(let ((question (tq-queue-head-question tq)))
(when question
(process-send-string (tq-process tq) question)))
(condition-case nil
(process-send-string (tq-process tq) question)
(error nil)))
(null (car tq)))
(defun tq-enqueue (tq question regexp closure fn &optional delay-question)
......
2007-05-28 Katsumi Yamaoka <yamaoka@jpl.org>
* message.el (message-pop-to-buffer): Add switch-function argument.
(message-mail): Pass switch-function argument to it.
2007-05-24 Katsumi Yamaoka <yamaoka@jpl.org>
* message.el (message-narrow-to-headers-or-head): Ignore
......
......@@ -5576,7 +5576,7 @@ between beginning of field and beginning of line."
'car-less-than-car)))
new)))))
(defun message-pop-to-buffer (name)
(defun message-pop-to-buffer (name &optional switch-function)
"Pop to buffer NAME, and warn if it already exists and is modified."
(let ((buffer (get-buffer name)))
(if (and buffer
......@@ -5587,14 +5587,16 @@ between beginning of field and beginning of line."
(progn
(gnus-select-frame-set-input-focus (window-frame window))
(select-window window))
(set-buffer (pop-to-buffer buffer)))
(funcall (or switch-function 'pop-to-buffer) buffer)
(set-buffer buffer))
(when (and (buffer-modified-p)
(not (prog1
(y-or-n-p
"Message already being composed; erase? ")
(message nil))))
(error "Message being composed")))
(set-buffer (pop-to-buffer name)))
(funcall (or switch-function 'pop-to-buffer) name)
(set-buffer name))
(erase-buffer)
(message-mode)))
......@@ -5831,15 +5833,15 @@ is a function used to switch to and display the mail buffer."
(interactive)
(let ((message-this-is-mail t) replybuffer)
(unless (message-mail-user-agent)
(funcall
(or switch-function 'message-pop-to-buffer)
(message-pop-to-buffer
;; Search for the existing message buffer if `continue' is non-nil.
(let ((message-generate-new-buffers
(when (or (not continue)
(eq message-generate-new-buffers 'standard)
(functionp message-generate-new-buffers))
message-generate-new-buffers)))
(message-buffer-name "mail" to))))
(message-buffer-name "mail" to))
switch-function))
;; FIXME: message-mail should do something if YANK-ACTION is not
;; insert-buffer.
(and (consp yank-action) (eq (car yank-action) 'insert-buffer)
......
......@@ -538,7 +538,7 @@ If we are between paragraphs, return the previous paragraph."
(point))
(if (re-search-forward "^[ \t\n]*$" nil t)
(match-beginning 0)
(point)))))
(point-max)))))
(defun log-edit-changelog-subparagraph ()
"Return the bounds of the ChangeLog subparagraph containing point.
......
;;; tramp-ftp.el --- Tramp convenience functions for Ange-FTP -*- coding: iso-8859-1; -*-
;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Copyright (C) 2002, 2003, 2004, 2005, 2006,
;; 2007 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
......@@ -31,12 +32,7 @@
(require 'tramp)
(eval-when-compile
(require 'cl)
(require 'custom)
;; Emacs 19.34 compatibility hack -- is this needed?
(or (>= emacs-major-version 20)
(load "cl-seq")))
(eval-when-compile (require 'custom))
;; Disable Ange-FTP from file-name-handler-alist.
;; To handle EFS, the following functions need to be dealt with:
......
......@@ -31,12 +31,7 @@
(require 'tramp)
;; Pacify byte-compiler
(eval-when-compile
(require 'cl)
(require 'custom)
;; Emacs 19.34 compatibility hack -- is this needed?
(or (>= emacs-major-version 20)
(load "cl-seq")))
(eval-when-compile (require 'custom))
;; Avoid byte-compiler warnings if the byte-compiler supports this.
;; Currently, XEmacs supports this.
......
......@@ -29,7 +29,6 @@
;;; Code:
(eval-when-compile (require 'cl))
(require 'compile)
(require 'tramp)
(add-hook 'tramp-util-unload-hook
......
;;; -*- coding: iso-2022-7bit; -*-
;;; tramp-uu.el --- uuencode in Lisp
;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Copyright (C) 2002, 2003, 2004, 2005, 2006,
;; 2007 Free Software Foundation, Inc.
;; Author: Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net>
;; Keywords: comm, terminals
......
......@@ -31,8 +31,6 @@
;;; Code:
(eval-when-compile
(require 'cl))
(require 'vc)
;; Old VC defines vc-rcs-release in vc.el, new VC requires extra module.
(unless (boundp 'vc-rcs-release)
......
......@@ -151,11 +151,7 @@ Otherwise, use a separate filename syntax for Tramp.")
(when (featurep 'tramp-smb)
(unload-feature 'tramp-smb 'force)))))))
(require 'cl)
(require 'custom)
;; Emacs 19.34 compatibility hack -- is this needed?
(or (>= emacs-major-version 20)
(load "cl-seq"))
(unless (boundp 'custom-print-functions)
(defvar custom-print-functions nil)) ; not autoloaded before Emacs 20.4
......@@ -175,6 +171,11 @@ Otherwise, use a separate filename syntax for Tramp.")
(when (boundp 'byte-compile-not-obsolete-var)
(setq byte-compile-not-obsolete-var 'directory-sep-char)))
;; `set-buffer-multibyte' comes from Emacs Leim.
(eval-and-compile
(unless (fboundp 'set-buffer-multibyte)
(defalias 'set-buffer-multibyte 'ignore)))
;;; User Customizable Internal Variables:
(defgroup tramp nil
......@@ -2077,7 +2078,9 @@ If VAR is nil, then we bind `v' to the structure and `multi-method',
(put 'with-parsed-tramp-file-name 'lisp-indent-function 2)
;; Enable debugging.
(def-edebug-spec with-parsed-tramp-file-name (form symbolp body))
(eval-and-compile
(when (featurep 'edebug)
(def-edebug-spec with-parsed-tramp-file-name (form symbolp body))))
;; Highlight as keyword.
(when (functionp 'font-lock-add-keywords)
(funcall 'font-lock-add-keywords
......@@ -2384,10 +2387,10 @@ target of the symlink differ."
"Integer constant overflow in reader")
(string-match
"^[0-9]+\\([0-9][0-9][0-9][0-9][0-9]\\)\\'"
(caddr err)))
(let* ((big (read (substring (caddr err) 0
(car (cddr err))))
(let* ((big (read (substring (car (cddr err)) 0
(match-beginning 1))))
(small (read (match-string 1 (caddr err))))
(small (read (match-string 1 (car (cddr err)))))
(twiddle (/ small 65536)))
(cons (+ big twiddle)
(- small (* twiddle 65536))))))))
......@@ -2807,7 +2810,7 @@ of."
object)))
(cell root))
(while (cdr cell)
(if (and match (not (string-match match (caadr cell))))
(if (and match (not (string-match match (car (cadr cell)))))
;; Remove from list
(setcdr cell (cddr cell))
;; Include in list
......@@ -3426,10 +3429,10 @@ This is like `dired-recursive-delete-directory' for tramp files."
(defun tramp-handle-insert-directory
(filename switches &optional wildcard full-directory-p)
"Like `insert-directory' for tramp files."
(if (and (boundp 'ls-lisp-use-insert-directory-program)
(if (and (featurep 'ls-lisp)
(not (symbol-value 'ls-lisp-use-insert-directory-program)))
(tramp-run-real-handler 'insert-directory
(list filename switches wildcard full-directory-p))
(tramp-run-real-handler
'insert-directory (list filename switches wildcard full-directory-p))
;; For the moment, we assume that the remote "ls" program does not
;; grok "--dired". In the future, we should detect this on
;; connection setup.
......@@ -3869,12 +3872,7 @@ This will break if COMMAND prints a newline, followed by the value of
"Like `file-remote-p' for tramp files."
(when (tramp-tramp-file-p filename)
(with-parsed-tramp-file-name filename nil
(make-tramp-file-name
:multi-method multi-method
:method method
:user user
:host host
:localname ""))))
(vector multi-method method user host ""))))
(defun tramp-handle-insert-file-contents
(filename &optional visit beg end replace)
......@@ -3919,7 +3917,7 @@ This will break if COMMAND prints a newline, followed by the value of
(when (boundp 'last-coding-system-used)
(set 'last-coding-system-used coding-system-used))
(list (expand-file-name filename)
(second result))))))
(cadr result))))))
(defun tramp-handle-find-backup-file-name (filename)
......@@ -3978,7 +3976,8 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
(when (and (string-match (car x) buffer-file-name)
(not (car (cddr x))))
(setq tramp-auto-save-directory
(or tramp-auto-save-directory temporary-file-directory))))
(or tramp-auto-save-directory
(tramp-temporary-file-directory)))))
(symbol-value 'auto-save-file-name-transforms)))
;; Create directory.
(when tramp-auto-save-directory
......@@ -4566,7 +4565,7 @@ Falls back to normal file name handler if no tramp file name handler exists."
(member (match-string 1 file) (mapcar 'car tramp-methods)))
((or (equal last-input-event 'tab)
;; Emacs
(and (wholenump last-input-event)
(and (natnump last-input-event)
(or
;; ?\t has event-modifier 'control
(char-equal last-input-event ?\t)
......@@ -4575,6 +4574,10 @@ Falls back to normal file name handler if no tramp file name handler exists."
(char-equal last-input-event ?\ )))))
;; XEmacs
(and (featurep 'xemacs)
;; `last-input-event' might be nil.
(not (null last-input-event))
;; `last-input-event' may have no character approximation.
(funcall (symbol-function 'event-to-character) last-input-event)
(or
;; ?\t has event-modifier 'control
(char-equal
......@@ -4771,24 +4774,14 @@ remote host and localname (filename on remote host)."
(match-string (nth 1 structure) name)))
(if (and method (member method tramp-multi-methods))
;; Not handled (yet).
(make-tramp-file-name
:multi-method method
:method nil
:user nil
:host nil
:localname nil)
(vector method nil nil nil nil)
(let ((user (and (nth 2 structure)
(match-string (nth 2 structure) name)))
(host (and (nth 3 structure)
(match-string (nth 3 structure) name)))
(localname (and (nth 4 structure)
(match-string (nth 4 structure) name))))
(make-tramp-file-name
:multi-method nil
:method method
:user user
:host host
:localname localname)))))))
(vector nil method user host localname)))))))
;; This function returns all possible method completions, adding the
;; trailing method delimeter.
......@@ -5191,7 +5184,7 @@ USER the array of user names, HOST the array of host names."
(aref user i) (aref host i))
(format "%s@%s:" (aref method i) (aref host i)))
string-list))
(incf i))
(setq i (1+ i)))
(format "*%s/%s %s*"
prefix multi-method
(apply 'concat (reverse string-list)))))
......@@ -5928,7 +5921,7 @@ log in as u2 to h2."
;; is done here.
(funcall multi-func p m u h command)
(erase-buffer)
(incf i)))
(setq i (1+ i))))
(tramp-open-connection-setup-interactive-shell
p multi-method method user host)
(tramp-post-connection multi-method method user host)))))
......@@ -6824,7 +6817,8 @@ If `tramp-discard-garbage' is nil, just erase buffer."
(defun tramp-mode-string-to-int (mode-string)
"Converts a ten-letter `drwxrwxrwx'-style mode string into mode bits."
(let* ((mode-chars (string-to-vector mode-string))
(let* (case-fold-search
(mode-chars (string-to-vector mode-string))
(owner-read (aref mode-chars 1))
(owner-write (aref mode-chars 2))
(owner-execute-or-setid (aref mode-chars 3))
......@@ -6836,45 +6830,61 @@ If `tramp-discard-garbage' is nil, just erase buffer."
(other-execute-or-sticky (aref mode-chars 9)))
(save-match-data
(logior
(case owner-read
(?r (tramp-octal-to-decimal "00400")) (?- 0)
(t (error "Second char `%c' must be one of `r-'" owner-read)))
(case owner-write
(?w (tramp-octal-to-decimal "00200")) (?- 0)
(t (error "Third char `%c' must be one of `w-'" owner-write)))
(case owner-execute-or-setid
(?x (tramp-octal-to-decimal "00100"))
(?S (tramp-octal-to-decimal "04000"))
(?s (tramp-octal-to-decimal "04100"))
(?- 0)
(t (error "Fourth char `%c' must be one of `xsS-'"
owner-execute-or-setid)))
(case group-read
(?r (tramp-octal-to-decimal "00040")) (?- 0)
(t (error "Fifth char `%c' must be one of `r-'" group-read)))
(case group-write
(?w (tramp-octal-to-decimal "00020")) (?- 0)
(t (error "Sixth char `%c' must be one of `w-'" group-write)))
(case group-execute-or-setid
(?x (tramp-octal-to-decimal "00010"))
(?S (tramp-octal-to-decimal "02000"))
(?s (tramp-octal-to-decimal "02010"))
(?- 0)
(t (error "Seventh char `%c' must be one of `xsS-'"
group-execute-or-setid)))
(case other-read
(?r (tramp-octal-to-decimal "00004")) (?- 0)
(t (error "Eighth char `%c' must be one of `r-'" other-read)))
(case other-write
(?w (tramp-octal-to-decimal "00002")) (?- 0)
(cond
((char-equal owner-read ?r) (tramp-octal-to-decimal "00400"))
((char-equal owner-read ?-) 0)
(t (error "Second char `%c' must be one of `r-'" owner-read)))
(cond
((char-equal owner-write ?w) (tramp-octal-to-decimal "00200"))
((char-equal owner-write ?-) 0)
(t (error "Third char `%c' must be one of `w-'" owner-write)))
(cond
((char-equal owner-execute-or-setid ?x)
(tramp-octal-to-decimal "00100"))
((char-equal owner-execute-or-setid ?S)
(tramp-octal-to-decimal "04000"))
((char-equal owner-execute-or-setid ?s)
(tramp-octal-to-decimal "04100"))
((char-equal owner-execute-or-setid ?-) 0)
(t (error "Fourth char `%c' must be one of `xsS-'"
owner-execute-or-setid)))
(cond
((char-equal group-read ?r) (tramp-octal-to-decimal "00040"))
((char-equal group-read ?-) 0)
(t (error "Fifth char `%c' must be one of `r-'" group-read)))
(cond
((char-equal group-write ?w) (tramp-octal-to-decimal "00020"))
((char-equal group-write ?-) 0)
(t (error "Sixth char `%c' must be one of `w-'" group-write)))
(cond
((char-equal group-execute-or-setid ?x)
(tramp-octal-to-decimal "00010"))
((char-equal group-execute-or-setid ?S)
(tramp-octal-to-decimal "02000"))
((char-equal group-execute-or-setid ?s)
(tramp-octal-to-decimal "02010"))
((char-equal group-execute-or-setid ?-) 0)
(t (error "Seventh char `%c' must be one of `xsS-'"
group-execute-or-setid)))
(cond
((char-equal other-read ?r)
(tramp-octal-to-decimal "00004"))
((char-equal other-read ?-) 0)
(t (error "Eighth char `%c' must be one of `r-'" other-read)))
(cond
((char-equal other-write ?w) (tramp-octal-to-decimal "00002"))
((char-equal other-write ?-) 0)
(t (error "Nineth char `%c' must be one of `w-'" other-write)))
(case other-execute-or-sticky
(?x (tramp-octal-to-decimal "00001"))
(?T (tramp-octal-to-decimal "01000"))
(?t (tramp-octal-to-decimal "01001"))
(?- 0)
(t (error "Tenth char `%c' must be one of `xtT-'"
other-execute-or-sticky)))))))
(cond
((char-equal other-execute-or-sticky ?x)
(tramp-octal-to-decimal "00001"))
((char-equal other-execute-or-sticky ?T)
(tramp-octal-to-decimal "01000"))
((char-equal other-execute-or-sticky ?t)
(tramp-octal-to-decimal "01001"))
((char-equal other-execute-or-sticky ?-) 0)
(t (error "Tenth char `%c' must be one of `xtT-'"
other-execute-or-sticky)))))))
(defun tramp-convert-file-attributes (multi-method method user host attr)
"Convert file-attributes ATTR generated by perl script or ls.
......@@ -6977,7 +6987,29 @@ Not actually used. Use `(format \"%o\" i)' instead?"
;; internal data structure. Convenience functions for internal
;; data structure.
(defstruct tramp-file-name multi-method method user host localname)
(defun tramp-file-name-p (obj)
"Check whether TRAMP-FILE-NAME is a Tramp object."
(and (vectorp obj) (= 5 (length obj))))
(defun tramp-file-name-multi-method (obj)
"Return MULTI-METHOD component of TRAMP-FILE-NAME."
(and (tramp-file-name-p obj) (aref obj 0)))
(defun tramp-file-name-method (obj)
"Return METHOD component of TRAMP-FILE-NAME."
(and (tramp-file-name-p obj) (aref obj 1)))
(defun tramp-file-name-user (obj)
"Return USER component of TRAMP-FILE-NAME."
(and (tramp-file-name-p obj) (aref obj 2)))
(defun tramp-file-name-host (obj)
"Return HOST component of TRAMP-FILE-NAME."
(and (tramp-file-name-p obj) (aref obj 3)))
(defun tramp-file-name-localname (obj)
"Return LOCALNAME component of TRAMP-FILE-NAME."
(and (tramp-file-name-p obj) (aref obj 4)))
(defun tramp-tramp-file-p (name)
"Return t iff NAME is a tramp file."
......@@ -7010,12 +7042,7 @@ localname (file name on remote host)."
(let ((user (match-string (nth 2 tramp-file-name-structure) name))
(host (match-string (nth 3 tramp-file-name-structure) name))
(localname (match-string (nth 4 tramp-file-name-structure) name)))
(make-tramp-file-name
:multi-method nil
:method method
:user (or user nil)
:host host
:localname localname))))))
(vector nil method (or user nil) host localname))))))
(defun tramp-find-default-method (user host)
"Look up the right method to use in `tramp-default-method-alist'."
......@@ -7055,7 +7082,7 @@ If both MULTI-METHOD and METHOD are nil, do a lookup in