]> git.eshelyaron.com Git - emacs.git/commitdiff
Replace two functions with seq-subseq
authorStefan Kangas <stefan@marxist.se>
Fri, 2 Apr 2021 23:21:32 +0000 (01:21 +0200)
committerStefan Kangas <stefan@marxist.se>
Sat, 3 Apr 2021 01:11:35 +0000 (03:11 +0200)
* lisp/emacs-lisp/seq.el (seq-subseq): Add autoload cookie.
* lisp/eshell/esh-util.el (eshell-sublist): Redefine using seq-subseq
and make obsolete.  Update callers.
* lisp/wid-edit.el (widget-sublist): Redefine as obsolete function
alias for seq-subseq.  Update callers.

lisp/emacs-lisp/seq.el
lisp/eshell/em-hist.el
lisp/eshell/esh-util.el
lisp/wid-edit.el

index 2b8807faad5710342bef60286792503e4915691a..f2f7d677e88bab825da916d244152155da15e3fd 100644 (file)
@@ -147,6 +147,7 @@ the sequence, and its index within the sequence."
   "Return a shallow copy of SEQUENCE."
   (copy-sequence sequence))
 
+;;;###autoload
 (cl-defgeneric seq-subseq (sequence start &optional end)
   "Return the sequence of elements of SEQUENCE from START to END.
 END is exclusive.
index b7b1778ebb1dac9db2a26dda614bafe3f7ca4ab9..e559f5b39fee17418ed4e84ef62a7da7be697381 100644 (file)
@@ -758,7 +758,7 @@ matched."
        (setq nth (eshell-hist-word-reference nth)))
       (unless (numberp mth)
        (setq mth (eshell-hist-word-reference mth)))
-      (cons (mapconcat #'identity (eshell-sublist textargs nth mth) " ")
+      (cons (mapconcat #'identity (seq-subseq textargs nth (1+ mth)) " ")
            end))))
 
 (defun eshell-hist-parse-modifier (hist reference)
index 8ef1ac9c3454f13fca16aa8b52aae40329641ac1..1dcbed3d961b86e3661efdc48c991ffe1ef925c4 100644 (file)
@@ -223,18 +223,6 @@ then quoting is done by a backslash, rather than a doubled delimiter."
              (string-to-number string)
            string))))))
 
-(defun eshell-sublist (l &optional n m)
-  "Return from LIST the N to M elements.
-If N or M is nil, it means the end of the list."
-  (let ((a (copy-sequence l)))
-    (if (and m (consp (nthcdr m a)))
-       (setcdr (nthcdr m a) nil))
-    (if n
-       (setq a (nthcdr n a))
-      (setq n (1- (length a))
-           a (last a)))
-    a))
-
 (defvar-local eshell-path-env (getenv "PATH")
   "Content of $PATH.
 It might be different from \(getenv \"PATH\"), when
@@ -710,9 +698,17 @@ gid format.  Valid values are `string' and `integer', defaulting to
 ;     (or result
 ;      (file-attributes filename))))
 
+;; Obsolete.
+
 (define-obsolete-function-alias 'eshell-copy-tree #'copy-tree "28.1")
 (define-obsolete-function-alias 'eshell-user-name #'user-login-name "28.1")
 
+(defun eshell-sublist (l &optional n m)
+  "Return from LIST the N to M elements.
+If N or M is nil, it means the end of the list."
+  (declare (obsolete seq-subseq "28.1"))
+  (seq-subseq l n (1+ m)))
+
 (provide 'esh-util)
 
 ;;; esh-util.el ends here
index e71290c7ef9104820d995eee8f88ca7aa3de9509..51c6b49e6dfd470b892d806931854b342d7f886f 100644 (file)
@@ -1878,20 +1878,9 @@ as the argument to `documentation-property'."
   (let ((value (widget-get widget :value)))
     (and (listp value)
         (<= (length value) (length vals))
-        (let ((head (widget-sublist vals 0 (length value))))
+         (let ((head (seq-subseq vals 0 (length value))))
           (and (equal head value)
-               (cons head (widget-sublist vals (length value))))))))
-
-(defun widget-sublist (list start &optional end)
-  "Return the sublist of LIST from START to END.
-If END is omitted, it defaults to the length of LIST."
-  (if (> start 0) (setq list (nthcdr start list)))
-  (if end
-      (unless (<= end start)
-       (setq list (copy-sequence list))
-       (setcdr (nthcdr (- end start 1) list) nil)
-       list)
-    (copy-sequence list)))
+                (cons head (seq-subseq vals (length value))))))))
 
 (defun widget-item-action (widget &optional event)
   ;; Just notify itself.
@@ -4117,7 +4106,9 @@ is inline."
        (setq help-echo (funcall help-echo widget)))
     (if help-echo (message "%s" (eval help-echo)))))
 
-;;; The End:
+;;; Obsolete.
+
+(define-obsolete-function-alias 'widget-sublist #'seq-subseq "28.1")
 
 (provide 'wid-edit)