Contents in 1999-06-04-13 of release-21-2.
[chise/xemacs-chise.git.1] / lisp / subr.el
index d07033b..6a49cff 100644 (file)
@@ -88,9 +88,6 @@ Used for compatibility among different emacs variants."
 ;; XEmacs: not used.
 
 ;; XEmacs:
-(define-function 'not 'null)
-(define-function-when-void 'numberp 'integerp) ; different when floats
-
 (defun local-variable-if-set-p (sym buffer)
   "Return t if SYM would be local to BUFFER after it is set.
 A nil value for BUFFER is *not* the same as (current-buffer), but
@@ -540,11 +537,12 @@ yourself.]"
 
 ;;;; Miscellanea.
 
-(defun buffer-substring-no-properties (beg end)
-  "Return the text from BEG to END, without text properties, as a string."
-  (let ((string (buffer-substring beg end)))
-    (set-text-properties 0 (length string) nil string)
-    string))
+;; This is now in C.
+;(defun buffer-substring-no-properties (beg end)
+;  "Return the text from BEG to END, without text properties, as a string."
+;  (let ((string (buffer-substring beg end)))
+;    (set-text-properties 0 (length string) nil string)
+;    string))
 
 (defun get-buffer-window-list (&optional buffer minibuf frame)
   "Return windows currently displaying BUFFER, or nil if none.
@@ -585,12 +583,14 @@ This function accepts any number of arguments, but ignores them."
                                          (cons (cons name defs)
                                                abbrev-table-name-list)))))))
 
-(defun functionp (object)
-  "Non-nil if OBJECT can be called as a function."
-  (or (and (symbolp object) (fboundp object))
-      (subrp object)
-      (compiled-function-p object)
-      (eq (car-safe object) 'lambda)))
+;;; `functionp' has been moved into C.
+
+;;(defun functionp (object)
+;;  "Non-nil if OBJECT can be called as a function."
+;;  (or (and (symbolp object) (fboundp object))
+;;      (subrp object)
+;;      (compiled-function-p object)
+;;      (eq (car-safe object) 'lambda)))
 
 
 
@@ -614,6 +614,28 @@ If FUNCTION is not interactive, nil will be returned."
        (t
         (error "Non-funcallable object: %s" function))))
 
+;; This function used to be an alias to `buffer-substring', except
+;; that FSF Emacs 20.4 added a BUFFER argument in an incompatible way.
+;; The new FSF's semantics makes more sense, but we try to support
+;; both for backward compatibility.
+(defun buffer-string (&optional buffer old-end old-buffer)
+  "Return the contents of the current buffer as a string.
+If narrowing is in effect, this function returns only the visible part
+of the buffer.
+
+If BUFFER is specified, the contents of that buffer are returned.
+
+The arguments OLD-END and OLD-BUFFER are supported for backward
+compatibility with pre-21.2 XEmacsen times when arguments to this
+function were (buffer-string &optional START END BUFFER)."
+  (if (or (null buffer)
+         (bufferp buffer)
+         (stringp buffer))
+      ;; The new way
+      (buffer-substring nil nil buffer)
+    ;; The old way
+    (buffer-substring buffer old-end old-buffer)))
+
 ;; This was not present before.  I think Jamie had some objections
 ;; to this, so I'm leaving this undefined for now. --ben
 
@@ -667,6 +689,5 @@ FILE should be the name of a library, with no directory name."
 (define-function 'remove-directory 'delete-directory)
 (define-function 'set-match-data 'store-match-data)
 (define-function 'send-string-to-terminal 'external-debugging-output)
-(define-function 'buffer-string 'buffer-substring)
 
 ;;; subr.el ends here