X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=pces-om.el;h=7b8f99c2b5a3536980989d54a29fd10deaf81343;hb=3ed338972b9d15ea01ff17c3a8da1507a07c0eeb;hp=72c8a99e50414ac7d1638918ce5804dba8e4dd14;hpb=048cfece135da53f2462fc9ed4e58366f2f80f33;p=elisp%2Fapel.git diff --git a/pces-om.el b/pces-om.el index 72c8a99..7b8f99c 100644 --- a/pces-om.el +++ b/pces-om.el @@ -110,6 +110,11 @@ ;;; @ coding system ;;; +(defun-maybe find-coding-system (obj) + "Return OBJ if it is a coding-system." + (if (coding-system-p obj) + obj)) + (defun encode-coding-region (start end coding-system) "Encode the text between START and END to CODING-SYSTEM. \[EMACS 20 emulating function]" @@ -155,12 +160,23 @@ ;;; @ with code-conversion ;;; -(defun insert-file-contents-as-coding-system - (coding-system filename &optional visit beg end replace) - "Like `insert-file-contents', q.v., but CODING-SYSTEM the first arg will +(cond + ((and (>= emacs-major-version 19) (>= emacs-minor-version 23)) + ;; Mule 2.0 or later. + (defun insert-file-contents-as-coding-system + (coding-system filename &optional visit beg end replace) + "Like `insert-file-contents', q.v., but CODING-SYSTEM the first arg will +be applied to `file-coding-system-for-read'." + (let ((file-coding-system-for-read coding-system)) + (insert-file-contents filename visit beg end replace)))) + (t + ;; Mule 1.1 or earlier. + (defun insert-file-contents-as-coding-system + (coding-system filename &optional visit beg end replace) + "Like `insert-file-contents', q.v., but CODING-SYSTEM the first arg will be applied to `file-coding-system-for-read'." - (let ((file-coding-system-for-read coding-system)) - (insert-file-contents filename visit beg end replace))) + (let ((file-coding-system-for-read coding-system)) + (insert-file-contents filename visit))))) (cond ((and (>= emacs-major-version 19) (>= emacs-minor-version 29)) @@ -232,17 +248,33 @@ applied to `coding-system-for-write'." (defalias 'set-process-input-coding-system 'set-process-coding-system) -(defun insert-file-contents-as-binary (filename - &optional visit beg end replace) - "Like `insert-file-contents', q.v., but don't code and format conversion. +(cond + ((and (>= emacs-major-version 19) (>= emacs-minor-version 23)) + ;; Mule 2.0 or later. + (defun insert-file-contents-as-binary (filename + &optional visit beg end replace) + "Like `insert-file-contents', q.v., but don't code and format conversion. +Like `insert-file-contents-literary', but it allows find-file-hooks, +automatic uncompression, etc. + +Namely this function ensures that only format decoding and character +code conversion will not take place." + (as-binary-input-file + ;; Returns list absolute file name and length of data inserted. + (insert-file-contents filename visit beg end replace)))) + (t + ;; Mule 1.1 or earlier. + (defun insert-file-contents-as-binary (filename + &optional visit beg end replace) + "Like `insert-file-contents', q.v., but don't code and format conversion. Like `insert-file-contents-literary', but it allows find-file-hooks, automatic uncompression, etc. Namely this function ensures that only format decoding and character code conversion will not take place." - (as-binary-input-file - ;; Returns list absolute file name and length of data inserted. - (insert-file-contents filename visit beg end replace))) + (as-binary-input-file + ;; Returns list absolute file name and length of data inserted. + (insert-file-contents filename visit))))) (defun insert-file-contents-as-raw-text (filename &optional visit beg end replace) @@ -302,6 +334,7 @@ conversion except for line-break code." ;;; @ end ;;; -(provide 'pces-om) +(require 'product) +(product-provide (provide 'pces-om) (require 'apel-ver)) ;;; pces-om.el ends here