X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fuudecode.el;h=ffb2eee4e7e8bbf6daf87e8740f1672b2833675b;hb=30e5707a7503b9147f566e53163484a99bdb83e9;hp=8e2fd6661bea561510cf4ba7ccc3047667133093;hpb=3738187cad20787b5b99c4061256e30e19ee721a;p=elisp%2Fgnus.git- diff --git a/lisp/uudecode.el b/lisp/uudecode.el index 8e2fd66..ffb2eee 100644 --- a/lisp/uudecode.el +++ b/lisp/uudecode.el @@ -1,11 +1,11 @@ ;;; uudecode.el -- elisp native uudecode -;; Copyright (c) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +;; Copyright (c) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. ;; Author: Shenghuo Zhu ;; Keywords: uudecode news -;; This file is a part of GNU Emacs. +;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -26,10 +26,10 @@ ;;; Code: -(autoload 'executable-find "executable") - (eval-when-compile (require 'cl)) +(require 'path-util) + (eval-and-compile (defalias 'uudecode-char-int (if (fboundp 'char-int) @@ -48,8 +48,8 @@ input and write the converted data to its standard output." :group 'gnus-extract :type '(repeat string)) -(defcustom uudecode-use-external - (executable-find uudecode-decoder-program) +(defcustom uudecode-use-external + (exec-installed-p uudecode-decoder-program) "*Use external uudecode program." :group 'gnus-extract :type 'boolean) @@ -90,13 +90,13 @@ used is specified by `uudecode-decoder-program'." (match-string 1))))) (setq tempfile (if file-name (expand-file-name file-name) - (if (fboundp 'make-temp-file) - (let ((temporary-file-directory - uudecode-temporary-file-directory)) - (make-temp-file "uu")) - (expand-file-name - (make-temp-name "uu") - uudecode-temporary-file-directory)))) + (if (fboundp 'make-temp-file) + (let ((temporary-file-directory + uudecode-temporary-file-directory)) + (make-temp-file "uu")) + (expand-file-name + (make-temp-name "uu") + uudecode-temporary-file-directory)))) (let ((cdir default-directory) default-process-coding-system) (unwind-protect @@ -166,8 +166,8 @@ If FILE-NAME is non-nil, save the result to FILE-NAME." (setq counter (1+ counter) inputpos (1+ inputpos)) (cond ((= counter 4) - (setq result (cons - (concat + (setq result (cons + (concat (char-to-string (lsh bits -16)) (char-to-string (logand (lsh bits -8) 255)) (char-to-string (logand bits 255))) @@ -183,13 +183,13 @@ If FILE-NAME is non-nil, save the result to FILE-NAME." ;;(error "uucode ends unexpectly") (setq done t)) ((= counter 3) - (setq result (cons - (concat + (setq result (cons + (concat (char-to-string (logand (lsh bits -16) 255)) (char-to-string (logand (lsh bits -8) 255))) result))) ((= counter 2) - (setq result (cons + (setq result (cons (char-to-string (logand (lsh bits -10) 255)) result)))) (skip-chars-forward non-data-chars end)) @@ -206,7 +206,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME." (defun uudecode-decode-region (start end &optional file-name) "Uudecode region between START and END. If FILE-NAME is non-nil, save the result to FILE-NAME." - (if uudecode-use-external + (if uudecode-use-external (uudecode-decode-region-external start end file-name) (uudecode-decode-region-internal start end file-name)))