annotate lisp/efs/efs-dump.el @ 116:9f59509498e1 r20-1b10

Import from CVS: tag r20-1b10
author cvs
date Mon, 13 Aug 2007 09:23:06 +0200
parents 8b8b7f3559a2
children 56c54cf7c5b6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
1 ;; -*-Emacs-Lisp-*-
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
3 ;;
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
4 ;; File: efs-dump.el
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
5 ;; Release: $efs release: 1.15 $
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
6 ;; Version: #Revision: 1.1 $
40
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
7 ;; RCS:
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
8 ;; Description: Install a bare-bones EFS hook into file-name-handler-alist
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
9 ;; for dumping
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
10 ;; Author: Mike Sperber <sperber@informatik.uni-tuebingen.de>
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
11 ;;
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
12 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
13
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
14 (provide 'efs-dump)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
15
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
16 (defconst efs-dump-version
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
17 (concat (substring "$efs release: 1.15 $" 14 -2)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
18 "/"
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
19 (substring "#Revision: 1.1 $" 11 -2)))
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
20
40
7e54bd776075 Import from CVS: tag r19-15b103
cvs
parents:
diff changeset
21 ;;;###autoload
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
22 (defvar allow-remote-paths t
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
23 "*Set this to nil if you don't want remote paths to access
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
24 remote files.")
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
25
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
26 ;;;###autoload
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
27 (or (assoc efs-path-root-regexp file-name-handler-alist)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
28 (setq file-name-handler-alist
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
29 (cons
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
30 (cons efs-path-root-regexp 'remote-path-file-handler-function)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
31 file-name-handler-alist)))
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
32
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
33 ;;;###autoload
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
34 (defun remote-path-file-handler-function (operation &rest args)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
35 "Function to call special file handlers for remote files."
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
36 (if allow-remote-paths
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
37 (apply 'efs-file-handler-function operation args)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
38 (let ((inhibit-file-name-handlers
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
39 (cons 'remote-path-file-handler-function
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
40 (and (eq inhibit-file-name-operation operation)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
41 inhibit-file-name-handlers)))
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
42 (inhibit-file-name-operation operation))
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 40
diff changeset
43 (apply operation args))))