Dear Andrès, Concerning the backward compatibility you could test emacs version in smeter.el to know whether the newer ses is distibuted. Otherwise, if not distributed you could have some newer ses.el copied to the same dir as smeter.el and change the load path in smeter.el for this newer ses.el to be loaded instead of the coming with the older emacs. FYI, I have no idea when I will push to master the ses-setq etc... changes, and no idea when this is in a new release of Emacs. Thank you for the information about the cl-... macros, I will I have look when time allows ... Vincent. PS : Maybe smeter.el would be simpler if the final sum was done by SES rather than org-table stuff. ________________________________ De : andrés ramírez Envoyé : dimanche 5 novembre 2023 15:58 À : Vincent Belaïche Cc : emacs-devel ; boruch_baum@gmx.com Objet : Re: using ses programatically (was: a ses question) Hi. Vincent. My comments below. >>>>> "Vincent" == Vincent Belaïche writes: Vincent> Dear Andrès, Vincent> I drafted a macro ses-setq to allow access a SES spreadsheet programatically, and I Vincent> updated your code to use it. This allowed to remove all the workarounds. Please note Vincent> that ses-setq is just a draft, far from complete. I intend to add some switches to Vincent> allow access the cells eaither by cell name or by row col, and to modify either value Vincent> or formula. That's great. Just to mention again I have a newt-C-language app that calls emacs this way: --8<---------------cut here---------------start------------->8--- system ("cp workbook.ses /tmp; cp smeter.el /tmp; emacs -Q --batch -l /tmp/smeter.el /tmp/smeteroutput -f smeter/further-processing > /dev/null 2>&1"); --8<---------------cut here---------------end--------------->8--- And when the calling ends. It reads ses-output from /tmp/smeter.mail. The C-language app does not known anything about emacs. So the logic of calculation is within workbook.ses. That way when calculation logic changes. The newt-C-language-App does not need to be changed. Just the formulae within workbook.ses would be changed, which BTW is simpler than re-compiling the newt-C-language-App. [...] The published version works as expected. Thanks for It. But. I have a question. If emacs does NOT have the ses-setq buffer (29.1 as an example). Which function calls should I do for having backward compatibility with older emacsen?. I see ses-setq calls ses-write-cells. I added a call to ses-write-cells after every call to ses-set-cell. But It did NOT work as expected. Do You think It is possible to have that behaviour without using ses-setq on older emacsen? Vincent> PS: I need to improve the macro, notable setting a cell value should also affect its Vincent> formula if any. Ok. BTW: JIC ses-setq is using 'cl-pushnew' this week there has been a long discussion on emacs-devel about 'use or not to use those cl- prefixes macros' an alternatives that are preloaded on emacs by default. Best Regards Andrés Ramírez