comparison lisp/jka-compr.el @ 11635:b56f6afa16ec

(jka-compr-write-region): Handle the append argument correctly when the can-append flag is false. (jka-compr-write-region): Make temp-buffer name unique to this fn. (jka-compr-file-local-copy): Ditto.
author Richard M. Stallman <rms@gnu.org>
date Mon, 01 May 1995 05:23:49 +0000
parents 710b5ce824c2
children a285eaa710ac
comparison
equal deleted inserted replaced
11634:820eaef29fae 11635:b56f6afa16ec
179 179
180 180
181 (put 'compression-error 'error-conditions '(compression-error file-error error)) 181 (put 'compression-error 'error-conditions '(compression-error file-error error))
182 182
183 183
184 (defvar jka-compr-acceptable-retval-list '(0 141)) 184 (defvar jka-compr-acceptable-retval-list '(0 2 141))
185 185
186 186
187 (defun jka-compr-error (prog args infile message &optional errfile) 187 (defun jka-compr-error (prog args infile message &optional errfile)
188 188
189 (let ((errbuf (get-buffer-create " *jka-compr-error*")) 189 (let ((errbuf (get-buffer-create " *jka-compr-error*"))
359 (compress-message (jka-compr-info-compress-message info)) 359 (compress-message (jka-compr-info-compress-message info))
360 (uncompress-program (jka-compr-info-uncompress-program info)) 360 (uncompress-program (jka-compr-info-uncompress-program info))
361 (uncompress-message (jka-compr-info-uncompress-message info)) 361 (uncompress-message (jka-compr-info-uncompress-message info))
362 (compress-args (jka-compr-info-compress-args info)) 362 (compress-args (jka-compr-info-compress-args info))
363 (uncompress-args (jka-compr-info-uncompress-args info)) 363 (uncompress-args (jka-compr-info-uncompress-args info))
364 (temp-file (jka-compr-make-temp-name))
365 (base-name (file-name-nondirectory visit-file)) 364 (base-name (file-name-nondirectory visit-file))
366 cbuf temp-buffer) 365 temp-file cbuf temp-buffer)
367 366
368 (setq cbuf (current-buffer) 367 (setq cbuf (current-buffer)
369 temp-buffer (get-buffer-create " *jka-compr-temp*")) 368 temp-buffer (get-buffer-create " *jka-compr-wr-temp*"))
370 (set-buffer temp-buffer) 369 (set-buffer temp-buffer)
371 (widen) (erase-buffer) 370 (widen) (erase-buffer)
372 (set-buffer cbuf) 371 (set-buffer cbuf)
373 372
374 (and append 373 (if (and append
375 (not can-append) 374 (not can-append)
376 (file-exists-p filename) 375 (file-exists-p filename))
377 (let* ((local-copy (file-local-copy filename)) 376
378 (local-file (or local-copy filename))) 377 (let* ((local-copy (file-local-copy filename))
379 378 (local-file (or local-copy filename)))
380 (unwind-protect 379
381 380 (setq temp-file local-file))
382 (progn 381
383 382 (setq temp-file (jka-compr-make-temp-name)))
384 (and
385 uncompress-message
386 (message "%s %s..." uncompress-message base-name))
387
388 (jka-compr-call-process uncompress-program
389 (concat uncompress-message
390 " " base-name)
391 local-file
392 temp-file
393 temp-buffer
394 uncompress-args)
395 (and
396 uncompress-message
397 (message "%s %s...done" uncompress-message base-name)))
398
399 (and
400 local-copy
401 (file-exists-p local-copy)
402 (delete-file local-copy)))))
403 383
404 (and 384 (and
405 compress-message 385 compress-message
406 (message "%s %s..." compress-message base-name)) 386 (message "%s %s..." compress-message base-name))
407 387
408 (jka-compr-run-real-handler 'write-region 388 (jka-compr-run-real-handler 'write-region
409 (list start end temp-file t 'dont)) 389 (list start end temp-file t 'dont))
410 390
411 (jka-compr-call-process compress-program 391 (jka-compr-call-process compress-program
412 (concat compress-message 392 (concat compress-message
583 (uncompress-args (jka-compr-info-uncompress-args info)) 563 (uncompress-args (jka-compr-info-uncompress-args info))
584 (base-name (file-name-nondirectory filename)) 564 (base-name (file-name-nondirectory filename))
585 (local-copy 565 (local-copy
586 (jka-compr-run-real-handler 'file-local-copy (list filename))) 566 (jka-compr-run-real-handler 'file-local-copy (list filename)))
587 (temp-file (jka-compr-make-temp-name t)) 567 (temp-file (jka-compr-make-temp-name t))
588 (temp-buffer (get-buffer-create " *jka-compr-temp*")) 568 (temp-buffer (get-buffer-create " *jka-compr-flc-temp*"))
589 (notfound nil) 569 (notfound nil)
590 (cbuf (current-buffer)) 570 (cbuf (current-buffer))
591 local-file) 571 local-file)
592 572
593 (setq local-file (or local-copy filename)) 573 (setq local-file (or local-copy filename))