mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-30 17:10:51 -08:00
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. |
||
|---|---|---|
| .. | ||
| auth.texi | ||
| autotype.texi | ||
| bovine.texi | ||
| calc.texi | ||
| cc-mode.texi | ||
| ChangeLog.1 | ||
| cl.texi | ||
| dbus.texi | ||
| dired-x.texi | ||
| doclicense.texi | ||
| ebrowse.texi | ||
| ede.texi | ||
| ediff.texi | ||
| edt.texi | ||
| efaq-w32.texi | ||
| efaq.texi | ||
| eieio.texi | ||
| emacs-gnutls.texi | ||
| emacs-mime.texi | ||
| epa.texi | ||
| erc.texi | ||
| ert.texi | ||
| eshell.texi | ||
| eudc.texi | ||
| eww.texi | ||
| flymake.texi | ||
| forms.texi | ||
| gnus-coding.texi | ||
| gnus-faq.texi | ||
| gnus.texi | ||
| gpl.texi | ||
| htmlfontify.texi | ||
| idlwave.texi | ||
| ido.texi | ||
| info.texi | ||
| mairix-el.texi | ||
| Makefile.in | ||
| message.texi | ||
| mh-e.texi | ||
| modus-themes.org | ||
| newsticker.texi | ||
| nxml-mode.texi | ||
| octave-mode.texi | ||
| org-setup.org | ||
| org.org | ||
| pcl-cvs.texi | ||
| pgg.texi | ||
| rcirc.texi | ||
| reftex.texi | ||
| remember.texi | ||
| sasl.texi | ||
| sc.texi | ||
| sem-user.texi | ||
| semantic.texi | ||
| ses.texi | ||
| sieve.texi | ||
| smtpmail.texi | ||
| speedbar.texi | ||
| srecode.texi | ||
| texinfo.tex | ||
| todo-mode.texi | ||
| tramp.texi | ||
| trampver.texi | ||
| url.texi | ||
| vhdl-mode.texi | ||
| vip.texi | ||
| viper.texi | ||
| widget.texi | ||
| wisent.texi | ||
| woman.texi | ||