[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/gnus/binhex.el
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/gnus/binhex.el |
Date: |
Sat, 04 Sep 2004 09:48:08 -0400 |
Index: emacs/lisp/gnus/binhex.el
diff -c emacs/lisp/gnus/binhex.el:1.6 emacs/lisp/gnus/binhex.el:1.7
*** emacs/lisp/gnus/binhex.el:1.6 Mon Sep 1 15:45:23 2003
--- emacs/lisp/gnus/binhex.el Sat Sep 4 13:13:43 2004
***************
*** 1,8 ****
;;; binhex.el --- elisp native binhex decode
! ;; Copyright (c) 1998 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <address@hidden>
- ;; Create Date: Oct 1, 1998
;; Keywords: binhex news
;; This file is part of GNU Emacs.
--- 1,7 ----
;;; binhex.el --- elisp native binhex decode
! ;; Copyright (c) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <address@hidden>
;; Keywords: binhex news
;; This file is part of GNU Emacs.
***************
*** 26,45 ****
;;; Code:
(eval-when-compile (require 'cl))
! (defalias 'binhex-char-int
! (if (fboundp 'char-int)
! 'char-int
! 'identity))
! (defvar binhex-decoder-program "hexbin"
! "*Non-nil value should be a string that names a uu decoder.
The program should expect to read binhex data on its standard
! input and write the converted data to its standard output.")
!
! (defvar binhex-decoder-switches '("-d")
! "*List of command line flags passed to the command
`binhex-decoder-program'.")
(defconst binhex-alphabet-decoding-alist
'(( ?\! . 0) ( ?\" . 1) ( ?\# . 2) ( ?\$ . 3) ( ?\% . 4) ( ?\& . 5)
--- 25,57 ----
;;; Code:
+ (autoload 'executable-find "executable")
+
(eval-when-compile (require 'cl))
! (eval-and-compile
! (defalias 'binhex-char-int
! (if (fboundp 'char-int)
! 'char-int
! 'identity)))
! (defcustom binhex-decoder-program "hexbin"
! "*Non-nil value should be a string that names a binhex decoder.
The program should expect to read binhex data on its standard
! input and write the converted data to its standard output."
! :type 'string
! :group 'gnus-extract)
!
! (defcustom binhex-decoder-switches '("-d")
! "*List of command line flags passed to the command
`binhex-decoder-program'."
! :group 'gnus-extract
! :type '(repeat string))
!
! (defcustom binhex-use-external
! (executable-find binhex-decoder-program)
! "*Use external binhex program."
! :group 'gnus-extract
! :type 'boolean)
(defconst binhex-alphabet-decoding-alist
'(( ?\! . 0) ( ?\" . 1) ( ?\# . 2) ( ?\$ . 3) ( ?\% . 4) ( ?\& . 5)
***************
*** 69,81 ****
((boundp 'temporary-file-directory) temporary-file-directory)
("/tmp/")))
! (if (featurep 'xemacs)
! (defalias 'binhex-insert-char 'insert-char)
! (defun binhex-insert-char (char &optional count ignored buffer)
! (if (or (null buffer) (eq buffer (current-buffer)))
! (insert-char char count)
! (with-current-buffer buffer
! (insert-char char count)))))
(defvar binhex-crc-table
[0 4129 8258 12387 16516 20645 24774 28903
--- 81,96 ----
((boundp 'temporary-file-directory) temporary-file-directory)
("/tmp/")))
! (eval-and-compile
! (defalias 'binhex-insert-char
! (if (featurep 'xemacs)
! 'insert-char
! (lambda (char &optional count ignored buffer)
! "Insert COUNT copies of CHARACTER into BUFFER."
! (if (or (null buffer) (eq buffer (current-buffer)))
! (insert-char char count)
! (with-current-buffer buffer
! (insert-char char count)))))))
(defvar binhex-crc-table
[0 4129 8258 12387 16516 20645 24774 28903
***************
*** 184,191 ****
(t
(binhex-insert-char (setq binhex-last-char char) 1 ignored buffer))))
! (defun binhex-decode-region (start end &optional header-only)
! "Binhex decode region between START and END.
If HEADER-ONLY is non-nil only decode header and return filename."
(interactive "r")
(let ((work-buffer nil)
--- 199,207 ----
(t
(binhex-insert-char (setq binhex-last-char char) 1 ignored buffer))))
! ;;;###autoload
! (defun binhex-decode-region-internal (start end &optional header-only)
! "Binhex decode region between START and END without using an external
program.
If HEADER-ONLY is non-nil only decode header and return filename."
(interactive "r")
(let ((work-buffer nil)
***************
*** 258,269 ****
(and work-buffer (kill-buffer work-buffer)))
(if header (aref header 1))))
(defun binhex-decode-region-external (start end)
"Binhex decode region between START and END using external decoder."
(interactive "r")
(let ((cbuf (current-buffer)) firstline work-buffer status
(file-name (expand-file-name
! (concat (binhex-decode-region start end t) ".data")
binhex-temporary-file-directory)))
(save-excursion
(goto-char start)
--- 274,287 ----
(and work-buffer (kill-buffer work-buffer)))
(if header (aref header 1))))
+ ;;;###autoload
(defun binhex-decode-region-external (start end)
"Binhex decode region between START and END using external decoder."
(interactive "r")
(let ((cbuf (current-buffer)) firstline work-buffer status
(file-name (expand-file-name
! (concat (binhex-decode-region-internal start end t)
! ".data")
binhex-temporary-file-directory)))
(save-excursion
(goto-char start)
***************
*** 296,301 ****
--- 314,327 ----
(ignore-errors
(if file-name (delete-file file-name))))))
+ ;;;###autoload
+ (defun binhex-decode-region (start end)
+ "Binhex decode region between START and END."
+ (interactive "r")
+ (if binhex-use-external
+ (binhex-decode-region-external start end)
+ (binhex-decode-region-internal start end)))
+
(provide 'binhex)
;;; arch-tag: 8476badd-1e76-4f1d-a640-f9a38c72eed8
- [Emacs-diffs] Changes to emacs/lisp/gnus/binhex.el,
Miles Bader <=