From 26f8a384978c6b1d1db1c6b091fa1e51d9ff5a5b Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 10 Apr 2015 01:50:22 -0400 Subject: [PATCH] cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r" * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize use of c[ad]+r", so as to keep the "cl-" prefix on all cl-lib definitions. --- lisp/desktop.el | 2 +- lisp/edmacro.el | 2 +- lisp/emacs-lisp/cl-lib.el | 133 ++++++++++++++----------------------- lisp/emacs-lisp/cl-macs.el | 65 ++++++++---------- lisp/emacs-lisp/cl.el | 38 +++++++++-- lisp/frameset.el | 2 +- lisp/ibuffer.el | 4 +- lisp/mail/footnote.el | 2 +- lisp/net/dbus.el | 6 +- lisp/net/eudc.el | 6 +- lisp/net/eudcb-ph.el | 2 +- lisp/net/rcirc.el | 18 ++--- lisp/net/secrets.el | 2 +- lisp/play/5x5.el | 8 +-- lisp/play/decipher.el | 4 +- lisp/play/hanoi.el | 2 +- lisp/progmodes/hideif.el | 6 +- lisp/ses.el | 2 +- 18 files changed, 143 insertions(+), 161 deletions(-) diff --git a/lisp/desktop.el b/lisp/desktop.el index 4b76052ca21..fb803b4df5b 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -1468,7 +1468,7 @@ after that many seconds of idle time." (dolist (record compacted-vars) (let* ((var (car record)) - (deser-fun (caddr (assq var desktop-var-serdes-funs)))) + (deser-fun (nth 2 (assq var desktop-var-serdes-funs)))) (if deser-fun (set var (funcall deser-fun (cadr record)))))))) result)))) diff --git a/lisp/edmacro.el b/lisp/edmacro.el index d759160d10d..84dfd4f1ebf 100644 --- a/lisp/edmacro.el +++ b/lisp/edmacro.el @@ -612,7 +612,7 @@ This function assumes that the events can be stored in a string." ((eq (car ev) 'switch-frame)) ((equal ev '(menu-bar)) (push 'menu-bar result)) - ((equal (cadadr ev) '(menu-bar)) + ((equal (cl-cadadr ev) '(menu-bar)) (push (vector 'menu-bar (car ev)) result)) ;; It would be nice to do pop-up menus, too, but not enough ;; info is recorded in macros to make this possible. diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el index 3ee5e0416c0..6b43c126130 100644 --- a/lisp/emacs-lisp/cl-lib.el +++ b/lisp/emacs-lisp/cl-lib.el @@ -385,8 +385,8 @@ Signal an error if X is not a list." (null x) (signal 'wrong-type-argument (list 'listp x 'x)))) -(cl--defalias 'cl-third 'caddr "Return the third element of the list X.") -(cl--defalias 'cl-fourth 'cadddr "Return the fourth element of the list X.") +(cl--defalias 'cl-third 'cl-caddr "Return the third element of the list X.") +(cl--defalias 'cl-fourth 'cl-cadddr "Return the fourth element of the list X.") (defsubst cl-fifth (x) "Return the fifth element of the list X." @@ -418,159 +418,126 @@ Signal an error if X is not a list." (declare (gv-setter (lambda (store) `(setcar (nthcdr 9 ,x) ,store)))) (nth 9 x)) -(defun caaar (x) +(defun cl-caaar (x) "Return the `car' of the `car' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (car (car x)))) -(defun caadr (x) +(defun cl-caadr (x) "Return the `car' of the `car' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (car (cdr x)))) -(defun cadar (x) +(defun cl-cadar (x) "Return the `car' of the `cdr' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (cdr (car x)))) -(defun caddr (x) +(defun cl-caddr (x) "Return the `car' of the `cdr' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (cdr (cdr x)))) -(defun cdaar (x) +(defun cl-cdaar (x) "Return the `cdr' of the `car' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (car (car x)))) -(defun cdadr (x) +(defun cl-cdadr (x) "Return the `cdr' of the `car' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (car (cdr x)))) -(defun cddar (x) +(defun cl-cddar (x) "Return the `cdr' of the `cdr' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (cdr (car x)))) -(defun cdddr (x) +(defun cl-cdddr (x) "Return the `cdr' of the `cdr' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (cdr (cdr x)))) -(defun caaaar (x) +(defun cl-caaaar (x) "Return the `car' of the `car' of the `car' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (car (car (car x))))) -(defun caaadr (x) +(defun cl-caaadr (x) "Return the `car' of the `car' of the `car' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (car (car (cdr x))))) -(defun caadar (x) +(defun cl-caadar (x) "Return the `car' of the `car' of the `cdr' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (car (cdr (car x))))) -(defun caaddr (x) +(defun cl-caaddr (x) "Return the `car' of the `car' of the `cdr' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (car (cdr (cdr x))))) -(defun cadaar (x) +(defun cl-cadaar (x) "Return the `car' of the `cdr' of the `car' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (cdr (car (car x))))) -(defun cadadr (x) +(defun cl-cadadr (x) "Return the `car' of the `cdr' of the `car' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (cdr (car (cdr x))))) -(defun caddar (x) +(defun cl-caddar (x) "Return the `car' of the `cdr' of the `cdr' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (cdr (cdr (car x))))) -(defun cadddr (x) +(defun cl-cadddr (x) "Return the `car' of the `cdr' of the `cdr' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (car (cdr (cdr (cdr x))))) -(defun cdaaar (x) +(defun cl-cdaaar (x) "Return the `cdr' of the `car' of the `car' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (car (car (car x))))) -(defun cdaadr (x) +(defun cl-cdaadr (x) "Return the `cdr' of the `car' of the `car' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (car (car (cdr x))))) -(defun cdadar (x) +(defun cl-cdadar (x) "Return the `cdr' of the `car' of the `cdr' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (car (cdr (car x))))) -(defun cdaddr (x) +(defun cl-cdaddr (x) "Return the `cdr' of the `car' of the `cdr' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (car (cdr (cdr x))))) -(defun cddaar (x) +(defun cl-cddaar (x) "Return the `cdr' of the `cdr' of the `car' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (cdr (car (car x))))) -(defun cddadr (x) +(defun cl-cddadr (x) "Return the `cdr' of the `cdr' of the `car' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (cdr (car (cdr x))))) -(defun cdddar (x) +(defun cl-cdddar (x) "Return the `cdr' of the `cdr' of the `cdr' of the `car' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (cdr (cdr (car x))))) -(defun cddddr (x) +(defun cl-cddddr (x) "Return the `cdr' of the `cdr' of the `cdr' of the `cdr' of X." - (declare (compiler-macro cl--compiler-macro-cXXr)) + (declare (compiler-macro internal--compiler-macro-cXXr)) (cdr (cdr (cdr (cdr x))))) -;; Generate aliases cl-cXXr for all the above defuns, and mark them obsolete. -(eval-when-compile - (defun gen-cXXr--rawname (n bits) - "Generate and return a string like \"adad\" corresponding to N. -BITS is the number of a's and d's. -The \"corresponding\" means each bit of N is converted to an \"a\" (for zero) -or a \"d\" (for one)." - (let ((name (make-string bits ?a)) - (mask (lsh 1 (1- bits))) - (elt 0)) - (while (< elt bits) - (if (/= (logand n mask) 0) - (aset name elt ?d)) - (setq elt (1+ elt) - mask (lsh mask -1))) - name)) - - (defmacro gen-cXXr-all-cl-aliases (bits) - "Generate cl- aliases for all defuns `c[ad]+r' with BITS a's and d's. -Also mark the aliases as obsolete." - `(progn - ,@(mapcar - (lambda (n) - (let* ((raw (gen-cXXr--rawname n bits)) - (old (intern (concat "cl-c" raw "r"))) - (new (intern (concat "c" raw "r")))) - `(progn (defalias ',old ',new) - (make-obsolete ',old ',new "25.1")))) - (number-sequence 0 (1- (lsh 1 bits))))))) - -(gen-cXXr-all-cl-aliases 3) -(gen-cXXr-all-cl-aliases 4) - ;;(defun last* (x &optional n) ;; "Returns the last link in the list LIST. ;;With optional argument N, returns Nth-to-last link (default 1)." diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index fa6a4bc3a72..69f2792f4bd 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -74,19 +74,8 @@ ;; `internal--compiler-macro-cXXr' in subr.el. If you amend either ;; one, you may want to amend the other, too. ;;;###autoload -(defun cl--compiler-macro-cXXr (form x) - (let* ((head (car form)) - (n (symbol-name (car form))) - (i (- (length n) 2))) - (if (not (string-match "c[ad]+r\\'" n)) - (if (and (fboundp head) (symbolp (symbol-function head))) - (cl--compiler-macro-cXXr (cons (symbol-function head) (cdr form)) - x) - (error "Compiler macro for cXXr applied to non-cXXr form")) - (while (> i (match-beginning 0)) - (setq x (list (if (eq (aref n i) ?a) 'car 'cdr) x)) - (setq i (1- i))) - x))) +(define-obsolete-function-alias 'cl--compiler-macro-cXXr + 'internal--compiler-macro-cXXr "25.1") ;;; Some predicates for analyzing Lisp forms. ;; These are used by various @@ -503,7 +492,7 @@ its argument list allows full Common Lisp conventions." (while (and (eq (car args) '&aux) (pop args)) (while (and args (not (memq (car args) cl--lambda-list-keywords))) (if (consp (car args)) - (if (and cl--bind-enquote (cadar args)) + (if (and cl--bind-enquote (cl-cadar args)) (cl--do-arglist (caar args) `',(cadr (pop args))) (cl--do-arglist (caar args) (cadr (pop args)))) @@ -587,7 +576,7 @@ its argument list allows full Common Lisp conventions." (if (eq ?_ (aref name 0)) (setq name (substring name 1))) (intern (format ":%s" name))))) - (varg (if (consp (car arg)) (cadar arg) (car arg))) + (varg (if (consp (car arg)) (cl-cadar arg) (car arg))) (def (if (cdr arg) (cadr arg) ;; The ordering between those two or clauses is ;; irrelevant, since in practice only one of the two @@ -1191,10 +1180,10 @@ For more details, see Info node `(cl)Loop Facility'. (if (memq (car cl--loop-args) '(downto above)) (error "Must specify `from' value for downward cl-loop")) (let* ((down (or (eq (car cl--loop-args) 'downfrom) - (memq (caddr cl--loop-args) + (memq (nth 2 cl--loop-args) '(downto above)))) (excl (or (memq (car cl--loop-args) '(above below)) - (memq (caddr cl--loop-args) + (memq (nth 2 cl--loop-args) '(above below)))) (start (and (memq (car cl--loop-args) '(from upfrom downfrom)) @@ -1294,7 +1283,7 @@ For more details, see Info node `(cl)Loop Facility'. (temp-idx (if (eq (car cl--loop-args) 'using) (if (and (= (length (cadr cl--loop-args)) 2) - (eq (caadr cl--loop-args) 'index)) + (eq (cl-caadr cl--loop-args) 'index)) (cadr (cl--pop2 cl--loop-args)) (error "Bad `using' clause")) (make-symbol "--cl-idx--")))) @@ -1326,8 +1315,8 @@ For more details, see Info node `(cl)Loop Facility'. (other (if (eq (car cl--loop-args) 'using) (if (and (= (length (cadr cl--loop-args)) 2) - (memq (caadr cl--loop-args) hash-types) - (not (eq (caadr cl--loop-args) word))) + (memq (cl-caadr cl--loop-args) hash-types) + (not (eq (cl-caadr cl--loop-args) word))) (cadr (cl--pop2 cl--loop-args)) (error "Bad `using' clause")) (make-symbol "--cl-var--")))) @@ -1389,8 +1378,8 @@ For more details, see Info node `(cl)Loop Facility'. (other (if (eq (car cl--loop-args) 'using) (if (and (= (length (cadr cl--loop-args)) 2) - (memq (caadr cl--loop-args) key-types) - (not (eq (caadr cl--loop-args) word))) + (memq (cl-caadr cl--loop-args) key-types) + (not (eq (cl-caadr cl--loop-args) word))) (cadr (cl--pop2 cl--loop-args)) (error "Bad `using' clause")) (make-symbol "--cl-var--")))) @@ -1614,7 +1603,7 @@ If BODY is `setq', then use SPECS for assignments rather than for bindings." (let ((temps nil) (new nil)) (when par (let ((p specs)) - (while (and p (or (symbolp (car-safe (car p))) (null (cadar p)))) + (while (and p (or (symbolp (car-safe (car p))) (null (cl-cadar p)))) (setq p (cdr p))) (when p (setq par nil) @@ -1689,7 +1678,7 @@ such that COMBO is equivalent to (and . CLAUSES)." (setq clauses (cons (nconc (butlast (car clauses)) (if (eq (car-safe (cadr clauses)) 'progn) - (cdadr clauses) + (cl-cdadr clauses) (list (cadr clauses)))) (cddr clauses))) ;; A final (progn ,@A t) is moved outside of the `and'. @@ -1831,7 +1820,7 @@ from OBARRAY. (let (,(car spec)) (mapatoms #'(lambda (,(car spec)) ,@body) ,@(and (cadr spec) (list (cadr spec)))) - ,(caddr spec)))) + ,(nth 2 spec)))) ;;;###autoload (defmacro cl-do-all-symbols (spec &rest body) @@ -2108,9 +2097,9 @@ by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...). ;; FIXME: For N bindings, this will traverse `body' N times! (macroexpand-all (macroexp-progn body) (cons (list (symbol-name (caar bindings)) - (cadar bindings)) + (cl-cadar bindings)) macroexpand-all-environment)))) - (if (or (null (cdar bindings)) (cddar bindings)) + (if (or (null (cdar bindings)) (cl-cddar bindings)) (macroexp--warn-and-return (format "Malformed `cl-symbol-macrolet' binding: %S" (car bindings)) @@ -2219,7 +2208,7 @@ values. For compatibility, (cl-values A B C) is a synonym for (list A B C). ((and (eq (car-safe spec) 'warn) (boundp 'byte-compile-warnings)) (while (setq spec (cdr spec)) (if (consp (car spec)) - (if (eq (cadar spec) 0) + (if (eq (cl-cadar spec) 0) (byte-compile-disable-warning (caar spec)) (byte-compile-enable-warning (caar spec))))))) nil) @@ -2663,9 +2652,9 @@ non-nil value, that slot cannot be set via `setf'. (t `(and (consp cl-x) (memq (nth ,pos cl-x) ,tag-symbol)))))) pred-check (and pred-form (> safety 0) - (if (and (eq (caadr pred-form) 'vectorp) + (if (and (eq (cl-caadr pred-form) 'vectorp) (= safety 1)) - (cons 'and (cdddr pred-form)) + (cons 'and (cl-cdddr pred-form)) `(,predicate cl-x)))) (let ((pos 0) (descp descs)) (while descp @@ -3093,14 +3082,14 @@ macro that returns its `&whole' argument." cl-fifth cl-sixth cl-seventh cl-eighth cl-ninth cl-tenth cl-rest cl-endp cl-plusp cl-minusp - caaar caadr cadar - caddr cdaar cdadr - cddar cdddr caaaar - caaadr caadar caaddr - cadaar cadadr caddar - cadddr cdaaar cdaadr - cdadar cdaddr cddaar - cddadr cdddar cddddr)) + cl-caaar cl-caadr cl-cadar + cl-caddr cl-cdaar cl-cdadr + cl-cddar cl-cdddr cl-caaaar + cl-caaadr cl-caadar cl-caaddr + cl-cadaar cl-cadadr cl-caddar + cl-cadddr cl-cdaaar cl-cdaadr + cl-cdadar cl-cdaddr cl-cddaar + cl-cddadr cl-cdddar cl-cddddr)) (put y 'side-effect-free t)) ;;; Things that are inline. diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index be7b6f4022a..564a44457d8 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el @@ -259,6 +259,30 @@ copy-list ldiff list* + cddddr + cdddar + cddadr + cddaar + cdaddr + cdadar + cdaadr + cdaaar + cadddr + caddar + cadadr + cadaar + caaddr + caadar + caaadr + caaaar + cdddr + cddar + cdadr + cdaar + caddr + cadar + caadr + caaar tenth ninth eighth @@ -373,7 +397,7 @@ lexical closures as in Common Lisp. (macroexpand-all `(cl-symbol-macrolet ,(mapcar (lambda (x) - `(,(car x) (symbol-value ,(caddr x)))) + `(,(car x) (symbol-value ,(nth 2 x)))) vars) ,@body) (cons (cons 'function #'cl--function-convert) @@ -386,20 +410,20 @@ lexical closures as in Common Lisp. ;; dynamic scoping, since with lexical scoping we'd need ;; (let ((foo )) ...foo...). `(progn - ,@(mapcar (lambda (x) `(defvar ,(caddr x))) vars) - (let ,(mapcar (lambda (x) (list (caddr x) (cadr x))) vars) + ,@(mapcar (lambda (x) `(defvar ,(nth 2 x))) vars) + (let ,(mapcar (lambda (x) (list (nth 2 x) (nth 1 x))) vars) ,(cl-sublis (mapcar (lambda (x) - (cons (caddr x) - `',(caddr x))) + (cons (nth 2 x) + `',(nth 2 x))) vars) ebody))) `(let ,(mapcar (lambda (x) - (list (caddr x) + (list (nth 2 x) `(make-symbol ,(format "--%s--" (car x))))) vars) (setf ,@(apply #'append (mapcar (lambda (x) - (list `(symbol-value ,(caddr x)) (cadr x))) + (list `(symbol-value ,(nth 2 x)) (nth 1 x))) vars))) ,ebody)))) diff --git a/lisp/frameset.el b/lisp/frameset.el index adff85332a8..17fe39be844 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -809,7 +809,7 @@ For the description of FORCE-ONSCREEN, see `frameset-restore'. When forced onscreen, frames wider than the monitor's workarea are converted to fullwidth, and frames taller than the workarea are converted to fullheight. NOTE: This only works for non-iconified frames." - (pcase-let* ((`(,left ,top ,width ,height) (cdadr (frame-monitor-attributes frame))) + (pcase-let* ((`(,left ,top ,width ,height) (cl-cdadr (frame-monitor-attributes frame))) (right (+ left width -1)) (bottom (+ top height -1)) (fr-left (frameset-compute-pos (frame-parameter frame 'left) left right)) diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 837fbaeea2c..f15e150f5d4 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -2162,7 +2162,7 @@ If optional arg SILENT is non-nil, do not display progress messages." (eq ibuffer-always-show-last-buffer :nomini) (minibufferp (cadr bufs))) - (caddr bufs) + (nth 2 bufs) (cadr bufs)) (ibuffer-current-buffers-with-marks bufs) ibuffer-display-maybe-show-predicates))) @@ -2194,7 +2194,7 @@ If optional arg SILENT is non-nil, do not display progress messages." (require 'ibuf-ext)) (let* ((sortdat (assq ibuffer-sorting-mode ibuffer-sorting-functions-alist)) - (func (caddr sortdat))) + (func (nth 2 sortdat))) (let ((result ;; actually sort the buffers (if (and sortdat func) diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el index d841187df0f..ea674434a2f 100644 --- a/lisp/mail/footnote.el +++ b/lisp/mail/footnote.el @@ -644,7 +644,7 @@ by using `Footnote-back-to-message'." (interactive "*P") (let ((num (if footnote-text-marker-alist - (if (< (point) (cadar (last footnote-pointer-marker-alist))) + (if (< (point) (cl-cadar (last footnote-pointer-marker-alist))) (Footnote-make-hole) (1+ (caar (last footnote-text-marker-alist)))) 1))) diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index 4f63374a9b6..474a48ff276 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el @@ -869,7 +869,7 @@ association to the service from D-Bus." ;; Service. (string-equal service (cadr e)) ;; Non-empty object path. - (caddr e) + (nth 2 e) (throw :found t))))) dbus-registered-objects-table) nil)))) @@ -1474,7 +1474,7 @@ name of the property, and its value. If there are no properties, bus service path dbus-interface-properties "GetAll" :timeout 500 interface) result) - (add-to-list 'result (cons (car dict) (caadr dict)) 'append))))) + (add-to-list 'result (cons (car dict) (cl-caadr dict)) 'append))))) (defun dbus-register-property (bus service path interface property access value @@ -1672,7 +1672,7 @@ and \"org.freedesktop.DBus.Properties.GetAll\", which is slow." (if (cadr entry2) ;; "sv". (dolist (entry3 (cadr entry2)) - (setcdr entry3 (caadr entry3))) + (setcdr entry3 (cl-caadr entry3))) (setcdr entry2 nil))))) ;; Fallback: collect the information. Slooow! diff --git a/lisp/net/eudc.el b/lisp/net/eudc.el index ada9eae813e..66dbc65da9c 100644 --- a/lisp/net/eudc.el +++ b/lisp/net/eudc.el @@ -47,6 +47,8 @@ (require 'wid-edit) +(eval-when-compile (require 'cl-lib)) + (eval-and-compile (if (not (fboundp 'make-overlay)) (require 'overlay))) @@ -698,7 +700,7 @@ If ERROR is non-nil, report an error if there is none." (let ((result (eudc-query (list (cons 'name name)) '(email))) email) (if (null (cdr result)) - (setq email (cdaar result)) + (setq email (cl-cdaar result)) (error "Multiple match--use the query form")) (if error (if email @@ -716,7 +718,7 @@ If ERROR is non-nil, report an error if there is none." (let ((result (eudc-query (list (cons 'name name)) '(phone))) phone) (if (null (cdr result)) - (setq phone (cdaar result)) + (setq phone (cl-cdaar result)) (error "Multiple match--use the query form")) (if error (if phone diff --git a/lisp/net/eudcb-ph.el b/lisp/net/eudcb-ph.el index 15e15e2144d..a135e9ba059 100644 --- a/lisp/net/eudcb-ph.el +++ b/lisp/net/eudcb-ph.el @@ -81,7 +81,7 @@ are returned" (eudc-ph-do-request "fields") (if full-records (eudc-ph-parse-query-result) - (mapcar 'caar (eudc-ph-parse-query-result)))) + (mapcar #'caar (eudc-ph-parse-query-result)))) (defun eudc-ph-parse-query-result (&optional fields) "Return a list of alists of key/values from in `eudc-ph-process-buffer'. diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index b418c5192be..45bddb54317 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -2148,7 +2148,7 @@ activity. Only run if the buffer is not visible and (when (and (listp x) (listp (cadr x))) (setcdr x (if (> (length (cdr x)) 1) (rcirc-make-trees (cdr x)) - (setcdr x (list (cdadr x))))))) + (setcdr x (list (cl-cdadr x))))))) alist))) ;;; /commands these are called with 3 args: PROCESS, TARGET, which is @@ -2693,7 +2693,7 @@ the only argument." (defun rcirc-handler-KICK (process sender args _text) (let* ((channel (car args)) (nick (cadr args)) - (reason (caddr args)) + (reason (nth 2 args)) (message (concat nick " " channel " " reason))) (rcirc-print process sender "KICK" channel message t) ;; print in private chat buffer if it exists @@ -2777,7 +2777,7 @@ the only argument." "RPL_AWAY" (let* ((nick (cadr args)) (rec (assoc-string nick rcirc-nick-away-alist)) - (away-message (caddr args))) + (away-message (nth 2 args))) (when (or (not rec) (not (string= (cdr rec) away-message))) ;; away message has changed @@ -2806,7 +2806,7 @@ the only argument." (let ((buffer (or (rcirc-get-buffer process (cadr args)) (rcirc-get-temp-buffer-create process (cadr args))))) (with-current-buffer buffer - (setq rcirc-topic (caddr args))))) + (setq rcirc-topic (nth 2 args))))) (defun rcirc-handler-333 (process sender args _text) "333 says who set the topic and when. @@ -2814,16 +2814,16 @@ Not in rfc1459.txt" (let ((buffer (or (rcirc-get-buffer process (cadr args)) (rcirc-get-temp-buffer-create process (cadr args))))) (with-current-buffer buffer - (let ((setter (caddr args)) + (let ((setter (nth 2 args)) (time (current-time-string (seconds-to-time - (string-to-number (cadddr args)))))) + (string-to-number (cl-cadddr args)))))) (rcirc-print process sender "TOPIC" (cadr args) (format "%s (%s on %s)" rcirc-topic setter time)))))) (defun rcirc-handler-477 (process sender args _text) "ERR_NOCHANMODES" - (rcirc-print process sender "477" (cadr args) (caddr args))) + (rcirc-print process sender "477" (cadr args) (nth 2 args))) (defun rcirc-handler-MODE (process sender args _text) (let ((target (car args)) @@ -2883,9 +2883,9 @@ Passwords are stored in `rcirc-authinfo' (which see)." (dolist (i rcirc-authinfo) (let ((process (rcirc-buffer-process)) (server (car i)) - (nick (caddr i)) + (nick (nth 2 i)) (method (cadr i)) - (args (cdddr i))) + (args (cl-cdddr i))) (when (and (string-match server rcirc-server)) (if (and (memq method '(nickserv chanserv bitlbee)) (string-match nick rcirc-nick)) diff --git a/lisp/net/secrets.el b/lisp/net/secrets.el index f7bb91b14f6..6f4e1736937 100644 --- a/lisp/net/secrets.el +++ b/lisp/net/secrets.el @@ -702,7 +702,7 @@ If there is no such item, return nil." (let ((item-path (secrets-item-path collection item))) (unless (secrets-empty-path item-path) (dbus-byte-array-to-string - (caddr + (nth 2 (dbus-call-method :session secrets-service item-path secrets-interface-item "GetSecret" :object-path secrets-session-path)))))) diff --git a/lisp/play/5x5.el b/lisp/play/5x5.el index 8b1b2171d5c..0258f1e4e4a 100644 --- a/lisp/play/5x5.el +++ b/lisp/play/5x5.el @@ -322,7 +322,7 @@ Quit current game \\[5x5-quit-game]" (save-excursion (goto-char grid-org) (beginning-of-line (+ 1 (/ 5x5-y-scale 2))) - (let ((solution-grid (cdadr 5x5-solver-output))) + (let ((solution-grid (cl-cdadr 5x5-solver-output))) (dotimes (y 5x5-grid-size) (save-excursion (forward-char (+ 1 (/ (1+ 5x5-x-scale) 2))) @@ -747,9 +747,9 @@ Solutions are sorted from least to greatest Hamming weight." ;; The Hamming Weight is computed by matrix reduction ;; with an ad-hoc operator. (math-reduce-vec - ;; (cadadr '(vec (mod x 2))) => x - (lambda (r x) (+ (if (integerp r) r (cadadr r)) - (cadadr x))) + ;; (cl-cadadr '(vec (mod x 2))) => x + (lambda (r x) (+ (if (integerp r) r (cl-cadadr r)) + (cl-cadadr x))) solution); car (5x5-vec-to-grid (calcFunc-arrange solution 5x5-grid-size));cdr diff --git a/lisp/play/decipher.el b/lisp/play/decipher.el index 98a3ae247fe..f42ae90f3c8 100644 --- a/lisp/play/decipher.el +++ b/lisp/play/decipher.el @@ -792,8 +792,8 @@ TOTAL is the total number of letters in the ciphertext." (while temp-list (insert (caar temp-list) (format "%4d%3d%% " - (cadar temp-list) - (/ (* 100 (cadar temp-list)) total))) + (cl-cadar temp-list) + (/ (* 100 (cl-cadar temp-list)) total))) (setq temp-list (nthcdr 4 temp-list))) (insert ?\n) (setq freq-list (cdr freq-list) diff --git a/lisp/play/hanoi.el b/lisp/play/hanoi.el index d2734450593..635e4a95bc3 100644 --- a/lisp/play/hanoi.el +++ b/lisp/play/hanoi.el @@ -277,7 +277,7 @@ BITS must be of length nrings. Start at START-TIME." ;; Disable display of line and column numbers, for speed. (line-number-mode nil) (column-number-mode nil)) ;; do it! - (hanoi-n bits rings (car poles) (cadr poles) (caddr poles) + (hanoi-n bits rings (nth 0 poles) (nth 1 poles) (nth 2 poles) start-time)) (message "Done")) (setq buffer-read-only t) diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el index 64913c2e014..a9376ff6101 100644 --- a/lisp/progmodes/hideif.el +++ b/lisp/progmodes/hideif.el @@ -663,8 +663,8 @@ that form should be displayed.") (setq tok (cadr tokens)) (if (eq (car tokens) 'hif-lparen) (if (and (hif-if-valid-identifier-p tok) - (eq (caddr tokens) 'hif-rparen)) - (setq tokens (cdddr tokens)) + (eq (nth 2 tokens) 'hif-rparen)) + (setq tokens (cl-cdddr tokens)) (error "#define followed by non-identifier: %S" tok)) (setq tok (car tokens) tokens (cdr tokens)) @@ -730,7 +730,7 @@ detecting self-reference." result)) ;; Argument list is nil, direct expansion (setq rep (hif-expand-token-list - (caddr rep) ; Macro's token list + (nth 2 rep) ; Macro's token list tok expand_list)) ;; Replace all remaining references immediately (setq remains (cl-substitute tok rep remains)) diff --git a/lisp/ses.el b/lisp/ses.el index a501435a24f..47fe0d3fbf4 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -1577,7 +1577,7 @@ if the range was altered." (funcall field (ses-sym-rowcol min)))) ;; This range has changed size. (setq ses-relocate-return 'range)) - `(ses-range ,min ,max ,@(cdddr range))))) + `(ses-range ,min ,max ,@(cl-cdddr range))))) (defun ses-relocate-all (minrow mincol rowincr colincr) "Alter all cell values, symbols, formulas, and reference-lists to relocate