changeset 84833:b8f420afb6df

* net/tramp.el (tramp-completion-mode-p): Rename from `tramp-completion-mode'. Revert logic, check `return', `newline' and such alike. Packages like Icicles tend to use other completion characters but `tab' and `space' only.
author Michael Albinus <michael.albinus@gmx.de>
date Mon, 24 Sep 2007 05:29:29 +0000
parents 70b23495453d
children 4df2960b016e
files lisp/ChangeLog lisp/net/tramp.el
diffstat 2 files changed, 29 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Sep 24 02:30:15 2007 +0000
+++ b/lisp/ChangeLog	Mon Sep 24 05:29:29 2007 +0000
@@ -1,3 +1,10 @@
+2007-09-24  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-completion-mode-p): Rename from
+	`tramp-completion-mode'. Revert logic, check `return', `newline'
+	and such alike. Packages like Icicles tend to use other completion
+	characters but `tab' and `space' only.
+
 2007-09-24  Adam Hupp  <adam@hupp.org>
 
 	* progmodes/python.el (run-python): Import emacs module without
--- a/lisp/net/tramp.el	Mon Sep 24 02:30:15 2007 +0000
+++ b/lisp/net/tramp.el	Mon Sep 24 05:29:29 2007 +0000
@@ -4345,7 +4345,7 @@
 (defun tramp-find-foreign-file-name-handler (filename)
   "Return foreign file name handler if exists."
   (when (and (stringp filename) (tramp-tramp-file-p filename)
-	     (or (not (tramp-completion-mode))
+	     (or (not (tramp-completion-mode-p))
 		 (not (string-match
 		       tramp-completion-file-name-regexp filename))))
     (let (elt
@@ -4366,7 +4366,7 @@
 Falls back to normal file name handler if no tramp file name handler exists."
   (save-match-data
     (let* ((filename (apply 'tramp-file-name-for-operation operation args))
-	   (completion (tramp-completion-mode))
+	   (completion (tramp-completion-mode-p))
 	   (foreign (tramp-find-foreign-file-name-handler filename)))
       (with-parsed-tramp-file-name filename nil
 	(cond
@@ -4579,35 +4579,26 @@
 ;; tramp file name syntax. Maybe another variable should be introduced
 ;; overwriting this check in such cases. Or we change tramp file name
 ;; syntax in order to avoid ambiguities, like in XEmacs ...
-(defun tramp-completion-mode ()
+(defun tramp-completion-mode-p ()
   "Checks whether method / user name / host name completion is active."
-  (or (equal last-input-event 'tab)
-      ;; Emacs
-      (and (natnump last-input-event)
-	   (or
-	    ;; ?\t has event-modifier 'control
-	    (char-equal last-input-event ?\t)
-	    (and (not (event-modifiers last-input-event))
-		 (or (char-equal last-input-event ?\?)
-		     (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
-	     (funcall (symbol-function 'event-to-character)
-		      last-input-event) ?\t)
-	    (and (not (event-modifiers last-input-event))
-		 (or (char-equal
-		      (funcall (symbol-function 'event-to-character)
-			       last-input-event) ?\?)
-		     (char-equal
-		      (funcall (symbol-function 'event-to-character)
-			       last-input-event) ?\ )))))))
+  (or
+   ;; Emacs
+   (not (memq last-input-event '(return newline)))
+   (and (natnump last-input-event)
+	(not (char-equal last-input-event ?\n))
+	(not (char-equal last-input-event ?\r)))
+   ;; 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)
+	(not (char-equal
+	      (funcall (symbol-function 'event-to-character)
+		       last-input-event) ?\n))
+	(not (char-equal
+	      (funcall (symbol-function 'event-to-character)
+		       last-input-event) ?\r)))))
 
 ;; Method, host name and user name completion.
 ;; `tramp-completion-dissect-file-name' returns a list of
@@ -7575,7 +7566,7 @@
 ;;   about Tramp, it does not do the right thing if the target file
 ;;   name is a Tramp name.
 ;; * Username and hostname completion.
-;; ** Try to avoid usage of `last-input-event' in `tramp-completion-mode'.
+;; ** Try to avoid usage of `last-input-event' in `tramp-completion-mode-p'.
 ;; ** Unify `tramp-parse-{rhosts,shosts,sconfig,hosts,passwd,netrc}'.
 ;;    Code is nearly identical.
 ;; * Allow out-of-band methods as _last_ multi-hop.