help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lisp anime video


From: Emanuel Berg
Subject: Re: Lisp anime video
Date: Sat, 04 Sep 2021 15:44:49 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Wayne Harris via Users list for the GNU Emacs text editor wrote:

> I don't think they gave the pronunciation of cddr as an
> example. I suppose that should be something like
> ``cududder''. The example that Sussman enjoyed to give was
> caddr. I still remember the smirk --- ``cadader''.

`cddr' and `caddr' are here (in subr.el or lisp/subr.el.gz),
but not "cadader".

In subr.el, lines 517-655, are

  caar
  cadr
  cdar
  cddr
  caaar
  caadr
  cadar
  caddr
  cdaar
  cdadr
  cddar
  cdddr
  caaaar (from here on, the docstrings buttonize `car' and `cdr')
  caaadr
  caadar
  caaddr
  cadaar
  cadadr
  caddar
  cadddr
  cdaaar
  cdaadr
  cdadar
  cdaddr
  cddaar
  cddadr
  cdddar
  cddddr

Also, what does this do?

  (declare (compiler-macro internal--compiler-macro-cXXr))

They all have it. Still the definitions are normal Lisp?
`internal--compiler-macro-cXXr' (line 503) is as well, for
that matter (not a macro with `defmacro'.) What does that
mean? You get one version when you byte-compile and one when
you don't?

Also, it says (lines 500-502)

  ;; Note: `internal--compiler-macro-cXXr' was copied from
  ;; `-compiler-macro-cXXr' in macs.el. If you amend
  ;; either one, you may want to amend the other, too.

Why have the same thing in two places?

As for CL, there are, in Elisp

  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

They are aliases tho, 24, the original were 28, this is
because these

  caar
  cadr
  cdar
  cddr

don't have any cl- aliases.

BTW the docstrings for aliases, e.g.

  cl-caaaar is an alias for ‘caaaar’ in ‘cl-lib.el’.

is a little confusing, to mean it looks like `caaaar' is in
cl-lib.el - better

  cl-caaaar is an alias in ‘cl-lib.el’, for ‘caaaar’.

or even better

  cl-caaaar is an alias in ‘cl-lib.el’, for ‘caaaar‘ in ‘subr.el’.

GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, cairo version
1.16.0) of 2021-08-27

-- 
underground experts united
https://dataswamp.org/~incal




reply via email to

[Prev in Thread] Current Thread [Next in Thread]