* Re: master 0883e98 1/3: New functions for getting and setting image properties [not found] ` <E1aX1a8-0006a1-FW@vcs.savannah.gnu.org> @ 2016-02-20 7:28 ` Lars Ingebrigtsen 2016-02-20 17:00 ` Michael Heerdegen 0 siblings, 1 reply; 8+ messages in thread From: Lars Ingebrigtsen @ 2016-02-20 7:28 UTC (permalink / raw) To: emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > * lisp/image.el (image-set-property): New function. > (image-get-property): Ditto. Should this be a defsetf instead, perhaps? The reason I didn't is because image.el is dumped with most Emacsen, and ... there seemed to be issues with... cl-lib.el in dumped Emacsen? I'm just half-remembering bug reports. Why can't we use cl-lib, seq and map in files that are dumped with Emacs, anyway? It seems a pity that the most important parts of Emacs have to be implemented in the most primitive manner. :-) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 0883e98 1/3: New functions for getting and setting image properties 2016-02-20 7:28 ` master 0883e98 1/3: New functions for getting and setting image properties Lars Ingebrigtsen @ 2016-02-20 17:00 ` Michael Heerdegen 2016-02-21 2:29 ` Lars Ingebrigtsen 0 siblings, 1 reply; 8+ messages in thread From: Michael Heerdegen @ 2016-02-20 17:00 UTC (permalink / raw) To: emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Lars Ingebrigtsen <larsi@gnus.org> writes: > > > * lisp/image.el (image-set-property): New function. > > (image-get-property): Ditto. > > Should this be a defsetf instead, perhaps? The reason I didn't is > because image.el is dumped with most Emacsen, and ... there seemed to be > issues with... cl-lib.el in dumped Emacsen? I'm just half-remembering > bug reports. AFAIK places stuff is implemented in gv.el now, and that doesn't depend on cl-lib, I think. Michael. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 0883e98 1/3: New functions for getting and setting image properties 2016-02-20 17:00 ` Michael Heerdegen @ 2016-02-21 2:29 ` Lars Ingebrigtsen 2016-02-21 11:55 ` Michael Heerdegen 0 siblings, 1 reply; 8+ messages in thread From: Lars Ingebrigtsen @ 2016-02-21 2:29 UTC (permalink / raw) To: Michael Heerdegen; +Cc: emacs-devel Michael Heerdegen <michael_heerdegen@web.de> writes: > AFAIK places stuff is implemented in gv.el now, and that doesn't depend > on cl-lib, I think. Ah, I see. gv doesn't seem to be loaded by loadup, either, though, so is that something that can be used in dumped files? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 0883e98 1/3: New functions for getting and setting image properties 2016-02-21 2:29 ` Lars Ingebrigtsen @ 2016-02-21 11:55 ` Michael Heerdegen 2016-02-22 1:40 ` Lars Ingebrigtsen 0 siblings, 1 reply; 8+ messages in thread From: Michael Heerdegen @ 2016-02-21 11:55 UTC (permalink / raw) To: emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Michael Heerdegen <michael_heerdegen@web.de> writes: > > > AFAIK places stuff is implemented in gv.el now, and that doesn't depend > > on cl-lib, I think. > > Ah, I see. gv doesn't seem to be loaded by loadup, either, though, so > is that something that can be used in dumped files? After reading the sources, AFAIK it's sufficient to load it when compiling. You can use the `gv-setter' declare spec in your defun. Then the byte compiler will autoload gv and put something like (put 'function 'gv-expander [byte code]) in the compiled file. That doesn't depend on gv when loading. OTOH when compiling, `setf' forms are expanded to something that doesn't depend on gv either. That's just how I think it works, but that stuff is used widely in the sources. Michael. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 0883e98 1/3: New functions for getting and setting image properties 2016-02-21 11:55 ` Michael Heerdegen @ 2016-02-22 1:40 ` Lars Ingebrigtsen 2016-02-22 13:15 ` Michael Heerdegen 0 siblings, 1 reply; 8+ messages in thread From: Lars Ingebrigtsen @ 2016-02-22 1:40 UTC (permalink / raw) To: Michael Heerdegen; +Cc: emacs-devel Michael Heerdegen <michael_heerdegen@web.de> writes: > After reading the sources, AFAIK it's sufficient to load it when > compiling. > > You can use the `gv-setter' declare spec in your defun. Then the byte > compiler will autoload gv and put something like > > (put 'function 'gv-expander [byte code]) > > in the compiled file. That doesn't depend on gv when loading. > > OTOH when compiling, `setf' forms are expanded to something that doesn't > depend on gv either. Great! I'll rewrite those two getter/setter functions to be more setf-ey. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 0883e98 1/3: New functions for getting and setting image properties 2016-02-22 1:40 ` Lars Ingebrigtsen @ 2016-02-22 13:15 ` Michael Heerdegen 2016-02-22 16:37 ` Michael Heerdegen 0 siblings, 1 reply; 8+ messages in thread From: Michael Heerdegen @ 2016-02-22 13:15 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Great! I'll rewrite those two getter/setter functions to be more > setf-ey. Looks ok. Nitpick: according to the doc of `gv-define-simple-setter', to "preserve the semantics of setf" `image--set-property' should either return the VALUE. Or use (declare (gv-setter image--set-property t)) ^ Hmm, this DTRT, though it's not documented in (info "(elisp) Declare Form") Will file a bug report... Regards, Michael. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 0883e98 1/3: New functions for getting and setting image properties 2016-02-22 13:15 ` Michael Heerdegen @ 2016-02-22 16:37 ` Michael Heerdegen 2016-02-23 1:26 ` Lars Ingebrigtsen 0 siblings, 1 reply; 8+ messages in thread From: Michael Heerdegen @ 2016-02-22 16:37 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel Michael Heerdegen <michael_heerdegen@web.de> writes: > Looks ok. Nitpick: according to the doc of `gv-define-simple-setter', > to "preserve the semantics of setf" `image--set-property' should either > return the VALUE. Or use > > (declare (gv-setter image--set-property t)) > ^ > > Hmm, this DTRT, though it's not documented in > > (info "(elisp) Declare Form") > > Will file a bug report... Done - see bug#22766: 25.0.91; (info "(elisp) Declare Form"): gv-setter: mention FIX-RETURN arg Stefan suggests to change `image--set-property' to return the VALUE instead of using the undocumented optional second arg of the gv-setter declare form. Michael. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: master 0883e98 1/3: New functions for getting and setting image properties 2016-02-22 16:37 ` Michael Heerdegen @ 2016-02-23 1:26 ` Lars Ingebrigtsen 0 siblings, 0 replies; 8+ messages in thread From: Lars Ingebrigtsen @ 2016-02-23 1:26 UTC (permalink / raw) To: Michael Heerdegen; +Cc: emacs-devel Michael Heerdegen <michael_heerdegen@web.de> writes: > Stefan suggests to change `image--set-property' to return the VALUE > instead of using the undocumented optional second arg of the gv-setter > declare form. I've now fixed this. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-02-23 1:26 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20160220070344.25183.28197@vcs.savannah.gnu.org> [not found] ` <E1aX1a8-0006a1-FW@vcs.savannah.gnu.org> 2016-02-20 7:28 ` master 0883e98 1/3: New functions for getting and setting image properties Lars Ingebrigtsen 2016-02-20 17:00 ` Michael Heerdegen 2016-02-21 2:29 ` Lars Ingebrigtsen 2016-02-21 11:55 ` Michael Heerdegen 2016-02-22 1:40 ` Lars Ingebrigtsen 2016-02-22 13:15 ` Michael Heerdegen 2016-02-22 16:37 ` Michael Heerdegen 2016-02-23 1:26 ` Lars Ingebrigtsen
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.