X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=poem-ltn1.el;h=0b04b7231f05bea4343ff6f2849691bda058d671;hb=b465e968b9c0dcb7a2e6a48c70d45bf74442dfd6;hp=aa0d3b8fec7d2c27c6d4bdd28bc94ce10ead883b;hpb=a2528c3c1b7aa607b3600ca03c9fcf2dcb310eec;p=elisp%2Fapel.git diff --git a/poem-ltn1.el b/poem-ltn1.el index aa0d3b8..0b04b72 100644 --- a/poem-ltn1.el +++ b/poem-ltn1.el @@ -1,8 +1,8 @@ ;;; poem-ltn1.el --- poem implementation for Emacs 19 and XEmacs without MULE -;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. +;; Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc. -;; Author: MORIOKA Tomohiko +;; Author: MORIOKA Tomohiko ;; Keywords: emulation, compatibility, Mule ;; This file is part of APEL (A Portable Emacs Library). @@ -27,6 +27,9 @@ ;;; @ buffer representation ;;; +(eval-when-compile + (require 'poe)) + (defun-maybe set-buffer-multibyte (flag) "Set the multibyte flag of the current buffer to FLAG. If FLAG is t, this makes the buffer a multibyte buffer. @@ -82,116 +85,6 @@ but the contents viewed as characters do change. (defalias 'find-non-ascii-charset-region 'find-charset-region) -;;; @ coding-system -;;; - -(defun decode-coding-string (string coding-system) - "Decode the STRING which is encoded in CODING-SYSTEM." - string) - -(defun encode-coding-string (string coding-system) - "Encode the STRING as CODING-SYSTEM." - string) - -(defun decode-coding-region (start end coding-system) - "Decode the text between START and END which is encoded in CODING-SYSTEM." - 0) - -(defun encode-coding-region (start end coding-system) - "Encode the text between START and END to CODING-SYSTEM." - 0) - -(defun detect-coding-region (start end) - "Detect coding-system of the text in the region between START and END." - ) - -(defun set-buffer-file-coding-system (coding-system &optional force) - "Set buffer-file-coding-system of the current buffer to CODING-SYSTEM." - ) - - -;;; @ without code-conversion -;;; - -(defmacro as-binary-process (&rest body) - (` (let (selective-display) ; Disable ^M to nl translation. - (,@ body)))) - -(defmacro as-binary-input-file (&rest body) - (` (let ((emx-binary-mode t)) ; Stop CRLF to LF conversion in OS/2 - (,@ body)))) - -(defmacro as-binary-output-file (&rest body) - (` (let ((emx-binary-mode t)) ; Stop CRLF to LF conversion in OS/2 - (,@ body)))) - -(defun write-region-as-binary (start end filename - &optional append visit lockname) - "Like `write-region', q.v., but don't code conversion." - (let ((emx-binary-mode t)) - (write-region start end filename append visit lockname))) - -(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." - (let ((emx-binary-mode t)) - ;; Returns list of absolute file name and length of data inserted. - (insert-file-contents filename visit beg end replace))) - -(defun write-region-as-raw-text-CRLF (start end filename - &optional append visit lockname) - "Like `write-region', q.v., but write as network representation." - (let ((the-buf (current-buffer))) - (with-temp-buffer - (insert-buffer-substring the-buf start end) - (goto-char (point-min)) - (while (re-search-forward "\\(\\=\\|[^\r]\\)\n" nil t) - (replace-match "\\1\r\n")) - (write-region (point-min)(point-max) filename append visit lockname)))) - -(defalias 'insert-file-contents-as-raw-text 'insert-file-contents) - -(defun find-file-noselect-as-binary (filename &optional nowarn rawfile) - "Like `find-file-noselect', q.v., but don't code and format conversion." - (let ((emx-binary-mode t)) - (find-file-noselect filename nowarn rawfile))) - -(defalias find-file-noselect-as-raw-text 'find-file-noselect) - -(defun open-network-stream-as-binary (name buffer host service) - "Like `open-network-stream', q.v., but don't code conversion." - (let ((emx-binary-mode t)) - (open-network-stream name buffer host service))) - - -;;; @ with code-conversion (but actually it might be not done) -;;; - -(defun insert-file-contents-as-coding-system - (filename coding-system &optional visit beg end replace) - "Like `insert-file-contents', q.v., but CODING-SYSTEM the second arg will -be applied to `coding-system-for-read'." - (insert-file-contents filename visit beg end replace)) - -(defun write-region-as-coding-system (start end filename coding-system - &optional append visit lockname) - "Like `write-region', q.v., but CODING-SYSTEM the fourth arg will be -applied to `coding-system-for-write'." - (let (jka-compr-compression-info-list jam-zcat-filename-list) - (write-region start end filename append visit lockname))) - -(defun find-file-noselect-as-coding-system (filename coding-system - &optional nowarn rawfile) - "Like `find-file-noselect', q.v., but CODING-SYSTEM the second arg will -be applied to `coding-system-for-read'." - (find-file-noselect filename nowarn rawfile)) - - ;;; @ character ;;; @@ -238,7 +131,9 @@ Optional non-nil arg START-COLUMN specifies the starting column. \[emu-latin1.el; MULE 2.3 emulating function]" (or start-column (setq start-column 0)) - (substring str start-column width)) + (if (> (length str) width) + (substring str start-column width) + str)) (defalias 'looking-at-as-unibyte 'looking-at) @@ -253,6 +148,7 @@ Optional non-nil arg START-COLUMN specifies the starting column. ;;; @ end ;;; -(provide 'poem-ltn1) +(require 'product) +(product-provide (provide 'poem-ltn1) (require 'apel-ver)) ;;; poem-ltn1.el ends here