emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/gnus/binhex.el [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/gnus/binhex.el [lexbind]
Date: Wed, 15 Sep 2004 20:44:52 -0400

Index: emacs/lisp/gnus/binhex.el
diff -c emacs/lisp/gnus/binhex.el:1.4.4.2 emacs/lisp/gnus/binhex.el:1.4.4.3
*** emacs/lisp/gnus/binhex.el:1.4.4.2   Tue Oct 14 23:34:50 2003
--- emacs/lisp/gnus/binhex.el   Thu Sep 16 00:12:15 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]