<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/doc/lispref, branch scratch/record</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Backward compatibility with pre-existing struct instances.</title>
<updated>2017-03-30T16:31:27+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2017-03-24T13:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=390612eb7ab8ccf0792fda7c48b7056c5cda9b06'/>
<id>390612eb7ab8ccf0792fda7c48b7056c5cda9b06</id>
<content type='text'>
* lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
(cl-old-struct-compat-mode): New minor mode.

* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
cl-struct-define to signal use of record objects.

* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
cl-struct-define): Enable legacy defstruct compatibility.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
old-struct): New tests.

* doc/lispref/elisp.texi, doc/lispref/records.texi: Document
`old-struct-compat'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
(cl-old-struct-compat-mode): New minor mode.

* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
cl-struct-define to signal use of record objects.

* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
cl-struct-define): Enable legacy defstruct compatibility.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
old-struct): New tests.

* doc/lispref/elisp.texi, doc/lispref/records.texi: Document
`old-struct-compat'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make EIEIO use records.</title>
<updated>2017-03-30T16:31:27+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2017-03-16T02:48:28+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=cb315830a6bb2637316bef8664822dac4b8ad0f8'/>
<id>cb315830a6bb2637316bef8664822dac4b8ad0f8</id>
<content type='text'>
* lisp/emacs-lisp/eieio-compat.el
(eieio--generic-static-object-generalizer): Adjust to new tags.

* lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
directly as tag.
(eieio--object-class): Adjust to new tag representation.
(eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
(eieio-defclass-internal): Use `make-record'.
(eieio--generic-generalizer): Adjust generalizer code accordingly.

* lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.

* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Add `recordp'.

* doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/emacs-lisp/eieio-compat.el
(eieio--generic-static-object-generalizer): Adjust to new tags.

* lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
directly as tag.
(eieio--object-class): Adjust to new tag representation.
(eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
(eieio-defclass-internal): Use `make-record'.
(eieio--generic-generalizer): Adjust generalizer code accordingly.

* lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.

* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Add `recordp'.

* doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make cl-defstruct use records.</title>
<updated>2017-03-30T16:31:27+00:00</updated>
<author>
<name>Lars Brinkhoff</name>
</author>
<published>2017-03-14T12:52:40+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=03cf46327d03ad5130052e77060dbd24ad8e9843'/>
<id>03cf46327d03ad5130052e77060dbd24ad8e9843</id>
<content type='text'>
* lisp/emacs-lisp/cl-extra.el (cl--describe-class)
(cl--describe-class-slots): Use the new `type-of'.

* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
(cl--generic-struct-specializers): Adjust to new tag.

* lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
Use the type symbol as the tag.  Use copy-record to copy structs.
(cl--defstruct-predicate): New function.
(cl--pcase-mutually-exclusive-p): Use it.
(cl-struct-sequence-type): Can now return `record'.

* lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
code to new format.
(cl--struct-register-child): Work with records.
(cl-struct-define): Don't touch the tag's symbol-value and
symbol-function slots when we use the type as tag.

* lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
New test.

* doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/emacs-lisp/cl-extra.el (cl--describe-class)
(cl--describe-class-slots): Use the new `type-of'.

* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
(cl--generic-struct-specializers): Adjust to new tag.

* lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
Use the type symbol as the tag.  Use copy-record to copy structs.
(cl--defstruct-predicate): New function.
(cl--pcase-mutually-exclusive-p): Use it.
(cl-struct-sequence-type): Can now return `record'.

* lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
code to new format.
(cl--struct-register-child): Work with records.
(cl-struct-define): Don't touch the tag's symbol-value and
symbol-function slots when we use the type as tag.

* lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
New test.

* doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add record objects with user-defined types.</title>
<updated>2017-03-30T16:31:27+00:00</updated>
<author>
<name>Lars Brinkhoff</name>
</author>
<published>2013-01-06T13:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f98a2a1943548fbe1b54f354d25cf1fb103ca7ba'/>
<id>f98a2a1943548fbe1b54f354d25cf1fb103ca7ba</id>
<content type='text'>
* src/alloc.c (allocate_record): New function.
(Fmake_record, Frecord, Fcopy_record): New functions.
(syms_of_alloc): defsubr them.
(purecopy): Work with records.

* src/data.c (Ftype_of): Return slot 0 for record objects, or type
name if record's type holds class.
(Frecordp): New function.
(syms_of_data): defsubr it.  Define `Qrecordp'.
(Faref, Faset): Work with records.

* src/fns.c (Flength): Work with records.

* src/lisp.h (prec_type): Add PVEC_RECORD.
(RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.

* src/lread.c (read1): Add syntax for records.

* src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
(print_object): Add syntax for records.

* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
New test.

* test/src/alloc-tests.el (record-1, record-2, record-3):
New tests.

* doc/lispref/elisp.texi, doc/lispref/objects.texi,
doc/lispref/records.texi: Add documentation for records.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/alloc.c (allocate_record): New function.
(Fmake_record, Frecord, Fcopy_record): New functions.
(syms_of_alloc): defsubr them.
(purecopy): Work with records.

* src/data.c (Ftype_of): Return slot 0 for record objects, or type
name if record's type holds class.
(Frecordp): New function.
(syms_of_data): defsubr it.  Define `Qrecordp'.
(Faref, Faset): Work with records.

* src/fns.c (Flength): Work with records.

* src/lisp.h (prec_type): Add PVEC_RECORD.
(RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.

* src/lread.c (read1): Add syntax for records.

* src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
(print_object): Add syntax for records.

* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
New test.

* test/src/alloc-tests.el (record-1, record-2, record-3):
New tests.

* doc/lispref/elisp.texi, doc/lispref/objects.texi,
doc/lispref/records.texi: Add documentation for records.
</pre>
</div>
</content>
</entry>
<entry>
<title>Expand manual section on quitting windows</title>
<updated>2017-03-25T16:56:28+00:00</updated>
<author>
<name>Eric Abrahamsen</name>
</author>
<published>2017-03-24T19:10:06+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0a911b68eae3e295139609b1ad94b70a4d421f9b'/>
<id>0a911b68eae3e295139609b1ad94b70a4d421f9b</id>
<content type='text'>
* doc/lispref/windows.texi (Quitting Windows): Provide more
  information about the elements of the quit-restore window parameter,
  and how they affect the behavior of quit-restore-window.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/lispref/windows.texi (Quitting Windows): Provide more
  information about the elements of the quit-restore window parameter,
  and how they affect the behavior of quit-restore-window.
</pre>
</div>
</content>
</entry>
<entry>
<title>* doc/lispref/os.texi (File Notifications):</title>
<updated>2017-03-23T16:07:55+00:00</updated>
<author>
<name>Michael Albinus</name>
</author>
<published>2017-03-23T16:07:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=aa0fb4fed8ef1f3599f573476fc6291f8872c7e7'/>
<id>aa0fb4fed8ef1f3599f573476fc6291f8872c7e7</id>
<content type='text'>
Strengthen the recommendation to use filenotify.el.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Strengthen the recommendation to use filenotify.el.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-25</title>
<updated>2017-03-19T19:34:05+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2017-03-19T19:34:05+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=597598fff47f809c150e452d813c998b868376ec'/>
<id>597598fff47f809c150e452d813c998b868376ec</id>
<content type='text'>
d71e071 Improve documentation of interactive "r".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
d71e071 Improve documentation of interactive "r".
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-25</title>
<updated>2017-03-19T19:34:04+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2017-03-19T19:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=da17b70a997d3b1c38d9f3d7d8ab6c7dab273765'/>
<id>da17b70a997d3b1c38d9f3d7d8ab6c7dab273765</id>
<content type='text'>
a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
1925dd9 Fix duplicate wording in Emacs manual
6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
2d671fd Fix wording in Emacs manual
a8766a2 Document how to customize input methods
6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
aceac95 Fix warning message about native completion (Bug#25984)
a314c1f Clarify documentation of 'raise' and 'height' display specs
f366f6e Mention problems with GPaste in PROBLEMS
6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
6406618 Fix doc strings in info.el
c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
eed9677 Fix doc string of 'posn-at-point'
0d5957e Documentation fix in elisp reference manual
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
1925dd9 Fix duplicate wording in Emacs manual
6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
2d671fd Fix wording in Emacs manual
a8766a2 Document how to customize input methods
6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
aceac95 Fix warning message about native completion (Bug#25984)
a314c1f Clarify documentation of 'raise' and 'height' display specs
f366f6e Mention problems with GPaste in PROBLEMS
6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
6406618 Fix doc strings in info.el
c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
eed9677 Fix doc string of 'posn-at-point'
0d5957e Documentation fix in elisp reference manual
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-25</title>
<updated>2017-03-19T19:34:03+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2017-03-19T19:34:03+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=90f5282e20df79dedaa9d231a108f9a91222eca7'/>
<id>90f5282e20df79dedaa9d231a108f9a91222eca7</id>
<content type='text'>
ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
2b774fa Mention "editor" in Emacs man page header
ae60d0c Document problems with nerd-fonts
2fdb5a9 ; Details about pinning Emacs to w32 task bar
5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
4c51ef4 Clarify what is the "cursor"
8303c32 ; * etc/NEWS: Copyedits.
3f7493e ; Fix a typo in comment
c54cf8d Improve commentary in lisp.h
8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
0ba9932 Disable native completion for ipython (Bug#25067)
38fc456 Fix a typo in ada-mode manual
00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...

# Conflicts:
#	etc/NEWS
#	etc/PROBLEMS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
2b774fa Mention "editor" in Emacs man page header
ae60d0c Document problems with nerd-fonts
2fdb5a9 ; Details about pinning Emacs to w32 task bar
5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
4c51ef4 Clarify what is the "cursor"
8303c32 ; * etc/NEWS: Copyedits.
3f7493e ; Fix a typo in comment
c54cf8d Improve commentary in lisp.h
8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
0ba9932 Disable native completion for ipython (Bug#25067)
38fc456 Fix a typo in ada-mode manual
00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...

# Conflicts:
#	etc/NEWS
#	etc/PROBLEMS
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-25</title>
<updated>2017-03-19T19:29:06+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2017-03-19T19:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e6fd84d2d5ca256797ff210c915a2fa773d4d742'/>
<id>e6fd84d2d5ca256797ff210c915a2fa773d4d742</id>
<content type='text'>
ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
7e02a47 Index byte-compile-debug
7c1e598 Document `byte-compile-debug' in the ELisp manual
4d81eb4 Document variable `byte-compile-debug'
72ef710 Fix call to debugger on assertion failure
ae8264c Call modification hooks in org-src fontify buffers
b3139da ; Fix last change in doc/lispref/strings.texi
c331f39 Improve documentation of 'format' conversions
9f52f67 Remove stale functions from ert manual
c416b14 Fix a typo in Eshell manual
06695a0 ; Fix a typo in ediff-merg.el
954e9e9 Improve documentation of hooks related to saving buffers
9fcab85 Improve documentation of auto-save-visited-file-name
2236c53 fix typo in mailcap-mime-extensions
85a3e4e Fix typos in flymake.el
a1ef10e More NEWS checking for admin.el's set-version

# Conflicts:
#	lisp/emacs-lisp/bytecomp.el
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
7e02a47 Index byte-compile-debug
7c1e598 Document `byte-compile-debug' in the ELisp manual
4d81eb4 Document variable `byte-compile-debug'
72ef710 Fix call to debugger on assertion failure
ae8264c Call modification hooks in org-src fontify buffers
b3139da ; Fix last change in doc/lispref/strings.texi
c331f39 Improve documentation of 'format' conversions
9f52f67 Remove stale functions from ert manual
c416b14 Fix a typo in Eshell manual
06695a0 ; Fix a typo in ediff-merg.el
954e9e9 Improve documentation of hooks related to saving buffers
9fcab85 Improve documentation of auto-save-visited-file-name
2236c53 fix typo in mailcap-mime-extensions
85a3e4e Fix typos in flymake.el
a1ef10e More NEWS checking for admin.el's set-version

# Conflicts:
#	lisp/emacs-lisp/bytecomp.el
</pre>
</div>
</content>
</entry>
</feed>
