From: Dmitry Gutov <dgutov@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Opaque objects and Emacs documentation
Date: Tue, 21 Jul 2020 23:56:41 +0300 [thread overview]
Message-ID: <fe658e58-37ff-0412-5d31-f646aa6904fe@yandex.ru> (raw)
In-Reply-To: <83v9igfyo1.fsf@gnu.org>
On 21.07.2020 22:36, Eli Zaretskii wrote:
>> A predicate would look like:
>>
>> (defun project-instance-p (pr)
>> (condition-case nil
>> (progn
>> (project-roots pr)
>> t)
>> (error
>> nil)))
>
> I actually thought about cl-defgeneric etc., since obviously each type
> of project should have its own implementation.
There's no point. If it implements project-root, it's a project.
>> But I don't see how it's going to help you write documentation.
>
> It makes the object system more complete. Suppose some application
> would like to check it gets a valid object, before dispatching?
I can imagine some marginal utility in that, but not enough to mandate
every backend to implement a project-instance-p method which simply
returns t.
>>> . a function to compare two objects of this type
>>
>> As discussed, it's a little function called 'equal'.
>
> Again, I envisioned a cl-defgeneric here. Using 'equal' only works
> for simple forms,
Lists, cl-structs, eieio classes, etc, can also be equal.
next prev parent reply other threads:[~2020-07-21 20:56 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200712184908.13140.5739@vcs0.savannah.gnu.org>
[not found] ` <20200712184909.BBC61209B1@vcs0.savannah.gnu.org>
2020-07-12 20:07 ` master 0339325: ; * lisp/progmodes/project.el (project-current): Doc fix Dmitry Gutov
2020-07-13 3:48 ` Eli Zaretskii
2020-07-13 11:09 ` Dmitry Gutov
2020-07-13 13:21 ` Eli Zaretskii
2020-07-13 14:14 ` Dmitry Gutov
2020-07-16 22:40 ` Dmitry Gutov
2020-07-17 6:56 ` Opaque objects and Emacs documentation Eli Zaretskii
2020-07-17 8:13 ` tomas
2020-07-17 10:40 ` Dmitry Gutov
2020-07-17 15:38 ` tomas
2020-07-17 10:37 ` Basil L. Contovounesios
2020-07-17 10:46 ` Dmitry Gutov
2020-07-17 10:53 ` Basil L. Contovounesios
2020-07-17 10:53 ` Dmitry Gutov
2020-07-17 11:14 ` Eli Zaretskii
2020-07-17 12:02 ` Noam Postavsky
2020-07-17 12:52 ` Eli Zaretskii
2020-07-17 13:09 ` Dmitry Gutov
2020-07-17 13:56 ` Eli Zaretskii
2020-07-17 14:35 ` Dmitry Gutov
2020-07-17 14:59 ` Eli Zaretskii
2020-07-17 15:03 ` Dmitry Gutov
2020-07-18 1:54 ` Richard Stallman
2020-07-18 19:17 ` Dmitry Gutov
2020-07-19 2:27 ` Richard Stallman
2020-07-19 14:48 ` Eli Zaretskii
2020-07-21 19:00 ` Dmitry Gutov
2020-07-21 19:36 ` Eli Zaretskii
2020-07-21 20:56 ` Dmitry Gutov [this message]
2020-07-21 21:06 ` Tomas Hlavaty
2020-07-21 20:49 ` Tomas Hlavaty
2020-07-21 20:59 ` Dmitry Gutov
2020-07-21 21:20 ` Tomas Hlavaty
2020-07-21 21:25 ` Dmitry Gutov
2020-07-21 19:08 ` Dmitry Gutov
2020-07-21 19:38 ` Eli Zaretskii
2020-07-21 21:02 ` Dmitry Gutov
2020-07-21 20:29 ` John Yates
2020-07-22 0:45 ` Dmitry Gutov
2020-07-22 14:08 ` Eli Zaretskii
2020-07-19 22:02 ` Dmitry Gutov
2020-07-20 2:44 ` Richard Stallman
2020-07-21 1:09 ` Dmitry Gutov
2020-07-21 8:57 ` tomas
2020-07-21 10:14 ` Dmitry Gutov
2020-07-21 10:29 ` tomas
2020-07-21 14:34 ` Eli Zaretskii
2020-07-21 18:56 ` Dmitry Gutov
2020-07-21 19:33 ` Eli Zaretskii
2020-07-21 21:31 ` Dmitry Gutov
2020-07-22 14:28 ` Eli Zaretskii
2020-07-22 15:44 ` Dmitry Gutov
2020-07-22 16:30 ` Eli Zaretskii
2020-07-22 16:37 ` Dmitry Gutov
2020-07-21 19:36 ` Alan Mackenzie
2020-07-21 21:17 ` Dmitry Gutov
2020-07-21 22:12 ` Edebug (was: Opaque objects and Emacs documentation) Stefan Monnier
2020-07-22 14:31 ` Opaque objects and Emacs documentation Eli Zaretskii
2020-07-22 15:33 ` Dmitry Gutov
2020-07-22 16:22 ` Eli Zaretskii
2020-07-22 16:26 ` Dmitry Gutov
2020-07-23 4:04 ` Richard Stallman
2020-07-23 13:42 ` Dmitry Gutov
2020-07-22 11:43 ` João Távora
2020-07-17 13:08 ` Dmitry Gutov
2020-07-17 13:42 ` Dmitry Gutov
2020-07-17 14:22 ` Eli Zaretskii
2020-07-17 14:56 ` Dmitry Gutov
2020-07-17 16:56 ` John Yates
2020-07-17 17:13 ` Drew Adams
2020-07-17 19:04 ` Eli Zaretskii
2020-07-17 19:26 ` Dmitry Gutov
2020-07-17 19:25 ` Dmitry Gutov
2020-07-17 11:53 ` Gregory Heytings via Emacs development discussions.
2020-07-17 13:13 ` Dmitry Gutov
2020-07-17 14:26 ` Gregory Heytings via Emacs development discussions.
2020-07-17 16:58 ` Drew Adams
2020-07-17 19:22 ` Dmitry Gutov
2020-07-17 22:30 ` Gregory Heytings via Emacs development discussions.
2020-07-18 0:00 ` Yuan Fu
2020-07-18 1:01 ` Drew Adams
2020-07-18 1:55 ` Richard Stallman
2020-07-17 16:48 ` Stefan Monnier
2020-07-23 23:24 ` Andy Moreton
2020-07-23 23:40 ` Andy Moreton
2020-07-24 5:32 ` Eli Zaretskii
2020-07-24 11:23 ` Andy Moreton
2020-07-24 11:43 ` Eli Zaretskii
2020-07-24 0:43 ` Dmitry Gutov
2020-07-24 1:22 ` Andy Moreton
2020-07-24 5:47 ` Eli Zaretskii
2020-07-25 16:33 ` Andy Moreton
2020-07-25 16:51 ` Eli Zaretskii
2020-07-25 20:18 ` Andy Moreton
2020-07-26 2:27 ` Eli Zaretskii
2020-07-26 9:16 ` Andy Moreton
2020-07-26 14:02 ` Eli Zaretskii
2020-07-24 20:49 ` Dmitry Gutov
2020-07-25 16:38 ` Andy Moreton
2020-07-24 5:45 ` Eli Zaretskii
2020-07-24 14:56 ` Dmitry Gutov
2020-07-24 17:21 ` Drew Adams
2020-07-24 17:42 ` Eli Zaretskii
[not found] <<20200712184908.13140.5739@vcs0.savannah.gnu.org>
[not found] ` <<20200712184909.BBC61209B1@vcs0.savannah.gnu.org>
[not found] ` <<7bf4d6ef-c0ec-43dc-ad5d-f6e81422ad90@yandex.ru>
[not found] ` <<83zh84m5ws.fsf@gnu.org>
[not found] ` <<3dd1c224-69b2-40af-5b2e-43a310253632@yandex.ru>
[not found] ` <<83tuybmtxs.fsf@gnu.org>
[not found] ` <<859f594b-1343-6d26-e1ac-7157c44eb56c@yandex.ru>
[not found] ` <<83a6zyk4tt.fsf@gnu.org>
2020-07-17 15:41 ` Drew Adams
2020-07-17 15:49 ` Dmitry Gutov
2020-07-17 15:59 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fe658e58-37ff-0412-5d31-f646aa6904fe@yandex.ru \
--to=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.