comparison lisp/modes/arc-mode.el @ 189:489f57a838ef r20-3b21

Import from CVS: tag r20-3b21
author cvs
date Mon, 13 Aug 2007 09:57:07 +0200
parents 2d532a89d707
children
comparison
equal deleted inserted replaced
188:e29a8e7498d9 189:489f57a838ef
99 ;;; Code: 99 ;;; Code:
100 100
101 ;; ------------------------------------------------------------------------- 101 ;; -------------------------------------------------------------------------
102 ;; Section: Configuration. 102 ;; Section: Configuration.
103 103
104 (defvar archive-dos-members t 104 (defgroup archive nil
105 "*If non-nil then recognize member files using ^M^J as line terminator.") 105 "Simple editing of archives."
106 106 :group 'data)
107 (defvar archive-tmpdir 107
108 (defgroup archive-arc nil
109 "ARC-specific options to archive."
110 :group 'archive)
111
112 (defgroup archive-lzh nil
113 "LZH-specific options to archive."
114 :group 'archive)
115
116 (defgroup archive-zip nil
117 "ZIP-specific options to archive."
118 :group 'archive)
119
120 (defgroup archive-zoo nil
121 "ZOO-specific options to archive."
122 :group 'archive)
123
124
125 (defcustom archive-dos-members t
126 "*If non-nil then recognize member files using ^M^J as line terminator."
127 :type 'boolean
128 :group 'archive)
129
130 (defcustom archive-tmpdir
108 (expand-file-name 131 (expand-file-name
109 (make-temp-name (if (eq system-type 'ms-dos) "ar" "archive.tmp")) 132 (make-temp-name (if (eq system-type 'ms-dos) "ar" "archive.tmp"))
110 (or (getenv "TMPDIR") (getenv "TMP") "/tmp")) 133 (or (getenv "TMPDIR") (getenv "TMP") "/tmp"))
111 "*Directory for temporary files made by arc-mode.el") 134 "*Directory for temporary files made by arc-mode.el"
112 135 :type 'directory
113 (defvar archive-remote-regexp "^/[^/:]*[^/:.]:" 136 :group 'archive)
137
138 (defcustom archive-remote-regexp "^/[^/:]*[^/:.]:"
114 "*Regexp recognizing archive files names that are not local. 139 "*Regexp recognizing archive files names that are not local.
115 A non-local file is one whose file name is not proper outside Emacs. 140 A non-local file is one whose file name is not proper outside Emacs.
116 A local copy of the archive will be used when updating.") 141 A local copy of the archive will be used when updating."
117 142 :type 'regexp
118 (defvar archive-extract-hooks nil 143 :group 'archive)
119 "*Hooks to run when an archive member has been extracted.") 144
145 (defcustom archive-extract-hooks nil
146 "*Hooks to run when an archive member has been extracted."
147 :type 'hook
148 :group 'archive)
120 ;; ------------------------------ 149 ;; ------------------------------
121 ;; Arc archive configuration 150 ;; Arc archive configuration
122 151
123 ;; We always go via a local file since there seems to be no reliable way 152 ;; We always go via a local file since there seems to be no reliable way
124 ;; to extract to stdout without junk getting added. 153 ;; to extract to stdout without junk getting added.
125 (defvar archive-arc-extract 154 (defcustom archive-arc-extract
126 '("arc" "x") 155 '("arc" "x")
127 "*Program and its options to run in order to extract an arc file member. 156 "*Program and its options to run in order to extract an arc file member.
128 Extraction should happen to the current directory. Archive and member 157 Extraction should happen to the current directory. Archive and member
129 name will be added.") 158 name will be added."
130 159 :type '(list (string :tag "Program")
131 (defvar archive-arc-expunge 160 (repeat :tag "Options"
161 :inline t
162 (string :format "%v")))
163 :group 'archive-arc)
164
165 (defcustom archive-arc-expunge
132 '("arc" "d") 166 '("arc" "d")
133 "*Program and its options to run in order to delete arc file members. 167 "*Program and its options to run in order to delete arc file members.
134 Archive and member names will be added.") 168 Archive and member names will be added."
135 169 :type '(list (string :tag "Program")
136 (defvar archive-arc-write-file-member 170 (repeat :tag "Options"
171 :inline t
172 (string :format "%v")))
173 :group 'archive-arc)
174
175 (defcustom archive-arc-write-file-member
137 '("arc" "u") 176 '("arc" "u")
138 "*Program and its options to run in order to update an arc file member. 177 "*Program and its options to run in order to update an arc file member.
139 Archive and member name will be added.") 178 Archive and member name will be added."
179 :type '(list (string :tag "Program")
180 (repeat :tag "Options"
181 :inline t
182 (string :format "%v")))
183 :group 'archive-arc)
140 ;; ------------------------------ 184 ;; ------------------------------
141 ;; Lzh archive configuration 185 ;; Lzh archive configuration
142 186
143 (defvar archive-lzh-extract 187 (defcustom archive-lzh-extract
144 '("lha" "pq") 188 '("lha" "pq")
145 "*Program and its options to run in order to extract an lzh file member. 189 "*Program and its options to run in order to extract an lzh file member.
146 Extraction should happen to standard output. Archive and member name will 190 Extraction should happen to standard output. Archive and member name will
147 be added.") 191 be added."
148 192 :type '(list (string :tag "Program")
149 (defvar archive-lzh-expunge 193 (repeat :tag "Options"
194 :inline t
195 (string :format "%v")))
196 :group 'archive-lzh)
197
198 (defcustom archive-lzh-expunge
150 '("lha" "d") 199 '("lha" "d")
151 "*Program and its options to run in order to delete lzh file members. 200 "*Program and its options to run in order to delete lzh file members.
152 Archive and member names will be added.") 201 Archive and member names will be added."
153 202 :type '(list (string :tag "Program")
154 (defvar archive-lzh-write-file-member 203 (repeat :tag "Options"
204 :inline t
205 (string :format "%v")))
206 :group 'archive-lzh)
207
208 (defcustom archive-lzh-write-file-member
155 '("lha" "a") 209 '("lha" "a")
156 "*Program and its options to run in order to update an lzh file member. 210 "*Program and its options to run in order to update an lzh file member.
157 Archive and member name will be added.") 211 Archive and member name will be added."
212 :type '(list (string :tag "Program")
213 (repeat :tag "Options"
214 :inline t
215 (string :format "%v")))
216 :group 'archive-lzh)
158 ;; ------------------------------ 217 ;; ------------------------------
159 ;; Zip archive configuration 218 ;; Zip archive configuration
160 219
161 (defvar archive-zip-use-pkzip (memq system-type '(ms-dos windows-nt)) 220 (defcustom archive-zip-use-pkzip (memq system-type '(ms-dos windows-nt))
162 "*If non-nil then pkzip option are used instead of zip options. 221 "*If non-nil then pkzip option are used instead of zip options.
163 Only set to true for msdog systems!") 222 Only set to true for msdog systems!"
164 223 :type 'boolean
165 (defvar archive-zip-extract 224 :group 'archive-zip)
225
226 (defcustom archive-zip-extract
166 (if archive-zip-use-pkzip '("pkunzip" "-e") '("unzip" "-qq" "-c")) 227 (if archive-zip-use-pkzip '("pkunzip" "-e") '("unzip" "-qq" "-c"))
167 "*Program and its options to run in order to extract a zip file member. 228 "*Program and its options to run in order to extract a zip file member.
168 Extraction should happen to standard output. Archive and member name will 229 Extraction should happen to standard output. Archive and member name will
169 be added. If `archive-zip-use-pkzip' is non-nil then this program is 230 be added. If `archive-zip-use-pkzip' is non-nil then this program is
170 expected to extract to a file junking the directory part of the name.") 231 expected to extract to a file junking the directory part of the name."
232 :type '(list (string :tag "Program")
233 (repeat :tag "Options"
234 :inline t
235 (string :format "%v")))
236 :group 'archive-zip)
171 237
172 ;; For several reasons the latter behaviour is not desirable in general. 238 ;; For several reasons the latter behaviour is not desirable in general.
173 ;; (1) It uses more disk space. (2) Error checking is worse or non- 239 ;; (1) It uses more disk space. (2) Error checking is worse or non-
174 ;; existent. (3) It tends to do funny things with other systems' file 240 ;; existent. (3) It tends to do funny things with other systems' file
175 ;; names. 241 ;; names.
176 242
177 (defvar archive-zip-expunge 243 (defcustom archive-zip-expunge
178 (if archive-zip-use-pkzip '("pkzip" "-d") '("zip" "-d" "-q")) 244 (if archive-zip-use-pkzip '("pkzip" "-d") '("zip" "-d" "-q"))
179 "*Program and its options to run in order to delete zip file members. 245 "*Program and its options to run in order to delete zip file members.
180 Archive and member names will be added.") 246 Archive and member names will be added."
181 247 :type '(list (string :tag "Program")
182 (defvar archive-zip-update 248 (repeat :tag "Options"
249 :inline t
250 (string :format "%v")))
251 :group 'archive-zip)
252
253 (defcustom archive-zip-update
183 (if archive-zip-use-pkzip '("pkzip" "-u") '("zip" "-q")) 254 (if archive-zip-use-pkzip '("pkzip" "-u") '("zip" "-q"))
184 "*Program and its options to run in order to update a zip file member. 255 "*Program and its options to run in order to update a zip file member.
185 Options should ensure that specified directory will be put into the zip 256 Options should ensure that specified directory will be put into the zip
186 file. Archive and member name will be added.") 257 file. Archive and member name will be added."
187 258 :type '(list (string :tag "Program")
188 (defvar archive-zip-update-case 259 (repeat :tag "Options"
260 :inline t
261 (string :format "%v")))
262 :group 'archive-zip)
263
264 (defcustom archive-zip-update-case
189 (if archive-zip-use-pkzip archive-zip-update '("zip" "-q" "-k")) 265 (if archive-zip-use-pkzip archive-zip-update '("zip" "-q" "-k"))
190 "*Program and its options to run in order to update a case fiddled zip member. 266 "*Program and its options to run in order to update a case fiddled zip member.
191 Options should ensure that specified directory will be put into the zip file. 267 Options should ensure that specified directory will be put into the zip file.
192 Archive and member name will be added.") 268 Archive and member name will be added."
193 269 :type '(list (string :tag "Program")
194 (defvar archive-zip-case-fiddle t 270 (repeat :tag "Options"
271 :inline t
272 (string :format "%v")))
273 :group 'archive-zip)
274
275 (defcustom archive-zip-case-fiddle t
195 "*If non-nil then zip file members are case fiddled. 276 "*If non-nil then zip file members are case fiddled.
196 Case fiddling will only happen for members created by a system that 277 Case fiddling will only happen for members created by a system that
197 uses caseless file names.") 278 uses caseless file names."
279 :type 'boolean
280 :group 'archive-zip)
198 ;; ------------------------------ 281 ;; ------------------------------
199 ;; Zoo archive configuration 282 ;; Zoo archive configuration
200 283
201 (defvar archive-zoo-extract 284 (defcustom archive-zoo-extract
202 '("zoo" "xpq") 285 '("zoo" "xpq")
203 "*Program and its options to run in order to extract a zoo file member. 286 "*Program and its options to run in order to extract a zoo file member.
204 Extraction should happen to standard output. Archive and member name will 287 Extraction should happen to standard output. Archive and member name will
205 be added.") 288 be added."
206 289 :type '(list (string :tag "Program")
207 (defvar archive-zoo-expunge 290 (repeat :tag "Options"
291 :inline t
292 (string :format "%v")))
293 :group 'archive-zoo)
294
295 (defcustom archive-zoo-expunge
208 '("zoo" "DqPP") 296 '("zoo" "DqPP")
209 "*Program and its options to run in order to delete zoo file members. 297 "*Program and its options to run in order to delete zoo file members.
210 Archive and member names will be added.") 298 Archive and member names will be added."
211 299 :type '(list (string :tag "Program")
212 (defvar archive-zoo-write-file-member 300 (repeat :tag "Options"
301 :inline t
302 (string :format "%v")))
303 :group 'archive-zoo)
304
305 (defcustom archive-zoo-write-file-member
213 '("zoo" "a") 306 '("zoo" "a")
214 "*Program and its options to run in order to update a zoo file member. 307 "*Program and its options to run in order to update a zoo file member.
215 Archive and member name will be added.") 308 Archive and member name will be added."
309 :type '(list (string :tag "Program")
310 (repeat :tag "Options"
311 :inline t
312 (string :format "%v")))
313 :group 'archive-zoo)
216 ;; ------------------------------------------------------------------------- 314 ;; -------------------------------------------------------------------------
217 ;; Section: Variables 315 ;; Section: Variables
218 316
219 (defvar archive-subtype nil "*Symbol describing archive type.") 317 (defvar archive-subtype nil "*Symbol describing archive type.")
220 (defvar archive-file-list-start nil "*Position of first contents line.") 318 (defvar archive-file-list-start nil "*Position of first contents line.")