If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."
(or pattern
(setq pattern "[ \f\t\n\r\v]+"))
- ;; The FSF version of this function takes care not to cons in case
- ;; of infloop. Maybe we should synch?
- (let (parts (start 0))
- (while (string-match pattern string start)
+ (let (parts (start 0) (len (length string)))
+ (if (string-match pattern string)
+ (setq parts (cons (substring string 0 (match-beginning 0)) parts)
+ start (match-end 0)))
+ (while (and (< start len)
+ (string-match pattern string (if (> start (match-beginning 0))
+ start
+ (1+ start))))
(setq parts (cons (substring string start (match-beginning 0)) parts)
start (match-end 0)))
(nreverse (cons (substring string start) parts))))
(eval-after-load file (read)))
(make-compatible 'eval-next-after-load "")
+(unless (featurep 'mule)
+ (defun make-char (charset &optional arg1 arg2)
+ "Make a character from CHARSET and octets ARG1 and ARG2.
+This function is available for compatibility with Mule-enabled XEmacsen.
+When CHARSET is `ascii', return (int-char ARG1). Otherwise, return
+that value with the high bit set. ARG2 is always ignored."
+ (int-char (if (eq charset 'ascii)
+ arg1
+ (logior arg1 #x80)))))
+
; alternate names (not obsolete)
(if (not (fboundp 'mod)) (define-function 'mod '%))
(define-function 'move-marker 'set-marker)