From: morioka Date: Mon, 9 Mar 1998 16:16:42 +0000 (+0000) Subject: tm 7.48.1. X-Git-Tag: tm7_48_1~1 X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fapel.git;a=commitdiff_plain;h=63320164a0e83f23070a216ac47126425ecf458d tm 7.48.1. --- diff --git a/ChangeLog b/ChangeLog index d850603..52e0e5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +Thu Mar 14 16:27:21 1996 MORIOKA Tomohiko + + * 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 + + * tl-str (truncate-string): New Implementation imported from Mule + 2.3. + + Wed Mar 13 17:16:09 1996 MORIOKA Tomohiko * tl: Version 7.18 was released. diff --git a/emu-mule.el b/emu-mule.el index 9ddc0eb..3892370 100644 --- a/emu-mule.el +++ b/emu-mule.el @@ -6,11 +6,26 @@ ;;; ;;; Author: MORIOKA Tomohiko ;;; Version: -;;; $Id: emu-mule.el,v 6.3 1995/09/21 00:08:02 morioka Exp $ +;;; $Id: emu-mule.el,v 7.0 1996/03/14 16:27:21 morioka Exp $ ;;; 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,6 +41,14 @@ 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) @@ -33,9 +56,8 @@ whose return value applied function PRED is not nil. 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 diff --git a/emu-nemacs.el b/emu-nemacs.el index e8d2847..d3911ff 100644 --- a/emu-nemacs.el +++ b/emu-nemacs.el @@ -7,7 +7,7 @@ ;;; Author: MORIOKA Tomohiko ;;; modified by KOBAYASHI Shuhei ;;; Version: -;;; $Id: emu-nemacs.el,v 7.7 1996/02/27 17:50:41 morioka Exp $ +;;; $Id: emu-nemacs.el,v 7.8 1996/03/14 16:25:39 morioka Exp $ ;;; Keywords: emulation, compatibility, NEmacs, Mule ;;; ;;; This file is part of tl (Tiny Library). @@ -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 ;;;