Browse files

tm 7.48.1.

  • Loading branch information...
1 parent 82b4a72 commit c5a7f114df47e86feee7e9c89c628feac3910824 morioka committed Mar 9, 1998
Showing with 120 additions and 4 deletions.
  1. +20 −0 ChangeLog
  2. +69 −4 emu-mule.el
  3. +31 −0 emu-nemacs.el
View
20 ChangeLog
@@ -1,3 +1,23 @@
+Thu Mar 14 16:27:21 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * tl-str.el: Function `truncate-string' was moved to emu-mule.el.
+ Alias `top-short-string' and `rightful-boundary-short-string' were
+ deleted.
+
+ * emu-mule.el (truncate-string): New function;
+ moved from tl-str.el.
+
+ * emu-nemacs.el (truncate-string): New function;
+ imported from emu-mule.el.
+
+ * emu-orig.el (truncate-string): New function.
+
+Thu Mar 14 04:23:25 1996 Shuhei KOBAYASHI <shuhei@cmpt01.phys.tohoku.ac.jp>
+
+ * tl-str (truncate-string): New Implementation imported from Mule
+ 2.3.
+
+
Wed Mar 13 17:16:09 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
* tl: Version 7.18 was released.
View
73 emu-mule.el
@@ -9,8 +9,23 @@
;;; $Id$
;;; Keywords: emulation, compatibility, Mule
;;;
-;;; This file is part of tl and tm (Tools for MIME).
+;;; This file is part of tl (Tiny Library).
;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with This program. If not, write to the Free Software
+;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Code:
(defun some-element (pred seq)
"Return the first element of sequence SEQ
@@ -26,16 +41,23 @@ whose return value applied function PRED is not nil.
))
))
+(if (not (boundp 'emacs-major-version))
+ (defconst emacs-major-version (string-to-int emacs-version))
+ )
+
+
+;;; @ leading-character
+;;;
+
(defun get-lc (chr)
"Return leading character of CHAR or LEADING-CHARACTER."
(if (< chr 128)
lc-ascii
chr))
-(if (not (boundp 'emacs-major-version))
- (defconst emacs-major-version (string-to-int emacs-version))
- )
+;;; @ version specific features
+;;;
(cond ((>= emacs-major-version 19)
(require 'emu-19)
@@ -58,4 +80,47 @@ whose return value applied function PRED is not nil.
))
+;;; @@ truncate-string
+;;;
+
+(or (fboundp 'truncate-string)
+;;; Imported from Mule-2.3
+(defun truncate-string (str width &optional start-column)
+ "Truncate STR to fit in WIDTH columns.
+Optional non-nil arg START-COLUMN specifies the starting column.
+\[emu-mule.el; Mule 2.3 emulating function]"
+ (or start-column
+ (setq start-column 0))
+ (let ((max-width (string-width str))
+ (len (length str))
+ (from 0)
+ (column 0)
+ to-prev to ch)
+ (if (>= width max-width)
+ (setq width max-width))
+ (if (>= start-column width)
+ ""
+ (while (< column start-column)
+ (setq ch (aref str from)
+ column (+ column (char-width ch))
+ from (+ from (char-bytes ch))))
+ (if (< width max-width)
+ (progn
+ (setq to from)
+ (while (<= column width)
+ (setq ch (aref str to)
+ column (+ column (char-width ch))
+ to-prev to
+ to (+ to (char-bytes ch))))
+ (setq to to-prev)))
+ (substring str from to))))
+;;;
+ )
+
+
+;;; @ end
+;;;
+
(provide 'emu-mule)
+
+;;; emu-mule.el ends here
View
31 emu-nemacs.el
@@ -158,6 +158,37 @@ else returns nil. [emu-nemacs.el; Mule emulating function]"
)
str)))
+;;; Imported from Mule-2.3
+(defun truncate-string (str width &optional start-column)
+ "Truncate STR to fit in WIDTH columns.
+Optional non-nil arg START-COLUMN specifies the starting column.
+\[emu-mule.el; Mule 2.3 emulating function]"
+ (or start-column
+ (setq start-column 0))
+ (let ((max-width (string-width str))
+ (len (length str))
+ (from 0)
+ (column 0)
+ to-prev to ch)
+ (if (>= width max-width)
+ (setq width max-width))
+ (if (>= start-column width)
+ ""
+ (while (< column start-column)
+ (setq ch (aref str from)
+ column (+ column (char-width ch))
+ from (+ from (char-bytes ch))))
+ (if (< width max-width)
+ (progn
+ (setq to from)
+ (while (<= column width)
+ (setq ch (aref str to)
+ column (+ column (char-width ch))
+ to-prev to
+ to (+ to (char-bytes ch))))
+ (setq to to-prev)))
+ (substring str from to))))
+
;;; @ text property emulation
;;;

0 comments on commit c5a7f11

Please sign in to comment.