1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 17:10:51 -08:00
emacs/doc/misc
Stefan Monnier 4c6554413d EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior
Change docs to advertize `slot-value` rather than `oref`.
Change the implementation of `:initform` to better match the CLOS semantics,
while preserving the EIEIO semantics, but warn when encountering cases
where the two diverge.
Demote the mostly unused special semantics of `oref-default`
on non-class allocated slots.

* doc/misc/eieio.texi (Quick Start): Use `slot-value`.
(Accessing Slots): Move `slot-value` before `oref`.
Fix paren-typo in example (reported by pillule <pillule@riseup.net>).
(Introspection): Remove mention of `class-slot-initarg`.

* lisp/transient.el (transient--parse-group, transient--parse-suffix):
Don't use `oref-default` to get the default value.
(transient-lisp-variable): Init forms are evaluated.

* lisp/emacs-lisp/eieio.el (defclass): Warn about inapplicable
`:initarg` and about uses of init forms that are ambiguous.
(oref): Don't advertize the deprecated use of initargs as slot names.
(oref-default): Don't advertize the deprecated case where it returns the
initform's value.
(initialize-instance): Use `macroexp-const-p`.
* lisp/emacs-lisp/eieio-core.el (eieio--unbound): Rename from
`eieio-unbound`.
(eieio--unbound-form): New var.
(eieio--slot-override): Use it.
(eieio-defclass-internal): Use it.  Change `init` so it should always
be evaluated.
(eieio--known-class-slot-names): New var.
(eieio--eval-default-p): Rename from `eieio-eval-default-p`.
(eieio--perform-slot-validation-for-default): Use `macroexp-const-p` to
decide whether to skip the test.
(eieio--add-new-slot): Register slot in `eieio--known-class-slot-names`
when applicable.
(eieio-oref-default, eieio-oset-default): Add warning for unknown slots
and slots not known to be allocated to the class.
(eieio-default-eval-maybe): Delete function.  Use just `eval` instead.
(eieio-declare-slots): Allow slots to specify their allocation class.

* lisp/cedet/srecode/insert.el (point): Declare the slot instead of
moving the class definition before the slot's first use.
(srecode-template-inserter-point, srecode-insert-fcn):
Use nil instead of unbound for the `point` slot.

* lisp/cedet/srecode/compile.el (srecode-template-inserter):
Declare the `key` slot that all children should have.

* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar)
(eieio-speedbar-directory-button, eieio-speedbar-file-button):
* lisp/emacs-lisp/eieio-custom.el (eieio-widget-test-class):
* lisp/emacs-lisp/chart.el (chart-bar):
* lisp/cedet/semantic/ede-grammar.el (semantic-ede-proj-target-grammar):
* lisp/cedet/semantic/db.el (semanticdb-project-database):
* lisp/cedet/semantic/db-javascript.el (semanticdb-table-javascript)
(semanticdb-project-database-javascript):
* lisp/cedet/semantic/db-el.el (semanticdb-table-emacs-lisp)
(semanticdb-project-database-emacs-lisp):
* lisp/cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse)
(semanticdb-project-database-ebrowse):
* lisp/cedet/ede/proj.el (ede-proj-project):
* lisp/cedet/ede/proj-obj.el (ede-proj-target-makefile-objectcode):
* lisp/cedet/ede/generic.el (ede-generic-project):
* lisp/cedet/ede/config.el (ede-project-with-config):
* lisp/cedet/ede/base.el (ede-target, ede-project):
* lisp/auth-source.el (auth-source-backend): Init forms are evaluated,
so quote them accordingly.
2021-06-12 16:22:03 -04:00
..
auth.texi Specify precedence in .authinfo files 2021-01-10 15:32:57 +01:00
autotype.texi Fix code for newline-and-indent in skeleton language. 2021-05-02 20:57:38 +02:00
bovine.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
calc.texi ; * doc/misc/calc.texi (Date Arithmetic): Fix order in @menu. 2021-05-13 19:58:30 +03:00
cc-mode.texi * doc/misc/cc-mode.texi: Remove hand-written node pointers (bug#48402). 2021-05-25 11:06:07 -07:00
ChangeLog.1 Update copyright year to 2021 2021-01-01 01:13:56 -08:00
cl.texi Merge from origin/emacs-27 2021-04-25 09:16:09 -07:00
dbus.texi Add command 'dbus-monitor' 2021-02-05 14:32:41 +01:00
dired-x.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
doclicense.texi
ebrowse.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ede.texi Remove more hand-written node pointers in doc/misc 2021-05-13 09:08:40 -07:00
ediff.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
edt.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
efaq-w32.texi Remove several references to Emacs 22 and earlier 2021-03-10 05:45:47 +01:00
efaq.texi Prefer mailing lists to newsgroups in FAQ 2021-02-22 12:17:41 +01:00
eieio.texi EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior 2021-06-12 16:22:03 -04:00
emacs-gnutls.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
emacs-mime.texi Add a new command `mailcap-view-file' 2021-06-01 08:55:06 +02:00
epa.texi * doc/misc/epa.texi: Remove hand-written node pointers. 2021-05-13 08:21:10 -07:00
erc.texi Fix an example in ERC docs 2021-06-08 02:00:29 +02:00
ert.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
eshell.texi Merge from origin/emacs-27 2021-04-16 07:50:20 -07:00
eudc.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
eww.texi Add command in eww to toggle images 2021-04-12 10:31:46 +02:00
flymake.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
forms.texi Fix two Emacs version references in misc manuals 2021-02-11 19:21:48 +01:00
gnus-coding.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
gnus-faq.texi Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
gnus.texi Mention nov-is-evil/nnvirtual combination in the Gnus manual 2021-06-12 14:09:05 +02:00
gpl.texi
htmlfontify.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
idlwave.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ido.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
info.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
mairix-el.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
Makefile.in * doc/misc/Makefile.in (echo-sources): Make it not the first target. 2021-04-04 17:24:27 -07:00
message.texi Improvements to message-syntax-checks docs and options 2021-04-13 08:45:07 -07:00
mh-e.texi Remove more hand-written node pointers in doc/misc 2021-05-13 09:08:40 -07:00
modus-themes.org Remove modus-themes.org build date (bug#48661) 2021-05-26 12:08:01 +03:00
newsticker.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
nxml-mode.texi Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
octave-mode.texi Fix Octave double-quoted string line continuations 2021-02-11 14:35:47 +00:00
org-setup.org Fixes for doc/misc org source files 2021-02-26 19:48:34 -08:00
org.org Fixes for doc/misc org source files 2021-02-26 19:48:34 -08:00
pcl-cvs.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
pgg.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
rcirc.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
reftex.texi Remove more hand-written node pointers in doc/misc 2021-05-13 09:08:40 -07:00
remember.texi Fix two Emacs version references in misc manuals 2021-02-11 19:21:48 +01:00
sasl.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
sc.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
sem-user.texi ; Fix some typos in doc strings and manuals 2021-04-24 18:26:07 +02:00
semantic.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ses.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
sieve.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
smtpmail.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
speedbar.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
srecode.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
texinfo.tex Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
todo-mode.texi Remove more hand-written node pointers in doc/misc 2021-05-13 09:08:40 -07:00
tramp.texi Cleanups for Tramp out-of-band methods on MS Windows 2021-05-09 15:37:37 +02:00
trampver.texi Some Tramp adaptions, mainly direct async processes 2021-01-15 11:32:12 +01:00
url.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
vhdl-mode.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
vip.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
viper.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
widget.texi Merge from origin/emacs-27 2021-01-04 07:50:26 -08:00
wisent.texi Update copyright year to 2021 2021-01-01 01:13:56 -08:00
woman.texi * doc/misc/woman.texi (Introduction): Remove reference to old Emacs. 2021-04-02 16:33:15 +02:00