From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?Windows-1252?Q?Vincent_Bela=EFche?= Newsgroups: gmane.emacs.devel Subject: RE: using ses programatically (was: a ses question) Date: Wed, 27 Dec 2023 17:42:04 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_000_PAXP192MB1608F78598D2AB72F9D9AD9E849FAPAXP192MB1608EURP_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12898"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel , "boruch_baum@gmx.com" To: =?Windows-1252?Q?andr=E9s_ram=EDrez?= , "christoph.conrad@gmx.de" , "cyberbob@redneck.gacracker.org" , "syver-en@online.no" , "fischman@zion.bpnetworks.com" , "Thomas.Gehrlein@t-online.de" , "c.f.a.johnson@rogers.com" , "lyusong@hotmail.com" , "juri@jurta.org" , "maierh@myself.com" , "anash@san.rr.com" , "pinard@iro.umontreal.ca" , "ppinto@cs.cmu.edu" , "xsteve@riic.at" , "epameinondas@gmx.de" , "rms@gnu.org" , "teirllm@dms.auburn.edu" , "jotto@pobox.com" , "jphil@acs.pagesjaunes.fr" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 28 07:12:45 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rIjdM-000385-FG for ged-emacs-devel@m.gmane-mx.org; Thu, 28 Dec 2023 07:12:44 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rIjcC-0003CC-MQ; Thu, 28 Dec 2023 01:11:32 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rIXv2-0002sp-7r for emacs-devel@gnu.org; Wed, 27 Dec 2023 12:42:13 -0500 Original-Received: from mail-db3eur04olkn2053.outbound.protection.outlook.com ([40.92.74.53] helo=EUR04-DB3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rIXuz-0000RJ-NV; Wed, 27 Dec 2023 12:42:11 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DP8ZPyrm2AmuP4tDR8cQGX4s6cE1lPA0X7HvR0sK37RmJ19cmmE0TQlbCmjvA6R8Xt4v1YEpc2tS+mI6J496IAZ4/oruI3msTHw1se+6+akYkscNTbRB9aS/JgMsblWXYbLzBOx6SrSFQ5wLAGAKfC9w7GDHcn+6Pd+xAT7bS5jbfEBaNJ/9SMJocSqbOXPVQnJ4/KdZEMnr4AsE/fAeZtzGgnYWYz7XRgpR3rdyEdYeOWn8byRe7MX9paMBq8Tw4DMPYR3Vu5FfOQuli77Pud0b7t8+4f2tp7+RwmSk6VHRX4C+VBQgVpHhB8ymStJ13oYCOV76/EkaSOEhp3iqyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=n2kS8YB4uYztobf70NWkq05xM3fws3BaXBSFMR936W4=; b=k9xInn+T9tcDj9Tv2nhjxSgKDwm9ZV85xKQhcTOpC7yZX0O3BDJvzck29yqF5uvhULtmsnvz2MuQx67xhSo3wubrX12SyNuxSWqo8TzPWm0V97a/ZGHEt/YgzZ9H7BKlhoX2cNqTZ/86vHt3Fr1F7lzEdmNH1zhs1MaT3FEHyAcecPMqV+jwJMFYGJKehRdCsCLr97OLjRTHaDzfWDp+xKEMLxzbsvYg+sih3ML2EZob9haKeOfVF0KiTD3POwObUaPextawDfqqOQI5tF3bgsj7DXp+4QQGWGsaBkYbdnq3L/vzK2GeKytiaiTy/40FE/D/GFxF5NzOBj82ckyTYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Original-Received: from PAXP192MB1608.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:28c::22) by AS4P192MB1767.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:516::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Wed, 27 Dec 2023 17:42:05 +0000 Original-Received: from PAXP192MB1608.EURP192.PROD.OUTLOOK.COM ([fe80::fee7:9deb:373a:4055]) by PAXP192MB1608.EURP192.PROD.OUTLOOK.COM ([fe80::fee7:9deb:373a:4055%7]) with mapi id 15.20.7113.027; Wed, 27 Dec 2023 17:42:05 +0000 Thread-Topic: using ses programatically (was: a ses question) Thread-Index: AQHaDyaIFxl+uTQAXkSovHGVyH2ZGrBrhKoNgABOFwCAAB8A5YAALdsAgBSj6giAAVoZAIAAPkBXgAADb8GAABTQgIA0PI/6gAIxQoCAAFqNoIAEeSL9 In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: fr-FR x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [lB1Vmw0uppUzDmv574GxjI3lFaVtR3qO] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAXP192MB1608:EE_|AS4P192MB1767:EE_ x-ms-office365-filtering-correlation-id: 9acd42d4-4163-491b-fe19-08dc07032403 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5hNDAPHAyESZkYc/EmArumqXlbEH7W0iVYjoKGARaFfuPKd8oKeo6XxiKnpW2jVccyPdEkqtcCXJz5OIj9+LAO0Yo2vl8Kfc9KZWogjSN6oRD38gkMEs2ty4vtioBzQEyBnZ6S4A6lNqoXUP/fyjtwuss6+JlZ/nL86n+lNSYgqiohuWeI/h2ZPRdG0uCsOTs3zfN31/rjut3BsaBlfe0g+2h2hd7CIDhIJsXjhboN4dj62QvLe9LCaPl9qoebj+KAja52+StAHLmTPJML7WNl4hpFBaaH310zBa8XLc3DjNuQjbr1KXESOXtpysxM5Poun1KGvZzHOT93cW/t2cPjXGLmMT9357IR5jV/lFZVSPtvPNiNOF2mz3D7ex2ofmT9a820z3jUIxxG3bBHPv8ZRBsQhMxUN3G02ysJX8zaPbX6nfkelLiGMjUoSOOs4N0vbwwpD3XLDdtJBeFtVhO64nnglQiA2UUMEZA69FQJt6VIdbB/TqQla/hWykX2AvbixUk4P4vBD+xklfcCtNXUhzWqtqqTu7cN5WmYYckyILGi9MzaRkggOypQ26FfkpBkWIOElQc21+N2wuLbZ7FPLGfd1VbMcUzrRjUSigN2+ilr8g17Gm6qGCnarjUDaKasqlqhfpKhQruAS332WwSVscQGijagzXLlLZvKW6d5qIJGVtcIpjQ+m8jA5Se9kDsi3t4qfM9HXQFWz/bB7NfN5jT1YfVgW18W8FrO+q5XObExnuaa9M1/EEJ9q7S iKBCteB8/wOcfGx2aKSEL4tQgBIsBQ6NdWByeHIiBXouYY= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?VMC1BIf6nSQsr1VP0a58+arX/sHI3ardRBm3dqQq1d907YlKzEl7yp89?= =?Windows-1252?Q?4gqysj5fNU5wI6z7BjzYjIiEtjdMkCGGkIqtU9TClai88RuRiofNp3/K?= =?Windows-1252?Q?iiqpkN4/P4wbtg9g/YpFTUTWyfYN3AmvwkFn/V98ilAKZ9xNJRHdun+3?= =?Windows-1252?Q?dl30p2c+cUWNqGW5ebJNM+WiCXIfHI1pGW2VieX50ev4SStJ5EmTayG6?= =?Windows-1252?Q?2wl1iN8CamJhDAGnssNBd9uSBZPoXdZnuyG7RQzJrDNXtteiO2barHXu?= =?Windows-1252?Q?eGbwSdjp+ukWTyx6hA1O6Ml20+VxeXdRqwox/axL0W9e0IQArMfSHKgP?= =?Windows-1252?Q?9/bzKQxiq4jc98akAvwLgbr+OzHJhVQlRelA1CV4xYfhAC0jQTmVEfw6?= =?Windows-1252?Q?QX1keoHswpAp6+WnSl+zErz2lTx1sVHv+HEAf/9jayUzv1aJAqFQIAVD?= =?Windows-1252?Q?KPGpfVrhuoxldwejXuaDc0p1X2X52o8Uoa2f3fX4F1A+MZoPfGHEoyZx?= =?Windows-1252?Q?Cf1tekyx3YjYvxQaIrLQ0yDPMkcPhndt/xaeg7DIz/bJ0e1FqzPHJePn?= =?Windows-1252?Q?L3YNg2sVoWWXOwqcVzJX9pSScithNFNhaU52UrW1Rcfj7r/az9HuAnWs?= =?Windows-1252? X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-fb43a.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAXP192MB1608.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 9acd42d4-4163-491b-fe19-08dc07032403 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Dec 2023 17:42:04.9980 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4P192MB1767 Received-SPF: pass client-ip=40.92.74.53; envelope-from=vincent.b.1@hotmail.fr; helo=EUR04-DB3-obe.outbound.protection.outlook.com X-Spam_score_int: -5 X-Spam_score: -0.6 X-Spam_bar: / X-Spam_report: (-0.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_SBL_A=0.1 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 28 Dec 2023 01:11:30 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:314267 Archived-At: --_000_PAXP192MB1608F78598D2AB72F9D9AD9E849FAPAXP192MB1608EURP_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hello Andr=E8s and al., I write to all people listed in SES manual acknowledgements to know if anyb= ody minds the proposed change to how ses-select works. Here is an update (from my dev branch, nothing yet pushed), with ses-select= fixed. Also ses-range does not directly inlines the implementation, but no= w delegates to a helper function ses-range-engine. ses-range-engine has an = extra-argument value-extractor, this way, if one day we wish to make some s= es-symbol-range macro to get cell symbols instead of cell values, it would = be quite easy to define it as follows: (defmacro ses-symbol-range (from to &rest rest) `(ses-range-engine #'ses-cell--symbol (quote ,from) (quote ,to) ,(and rest `(quote ,rest)))) FYI information, the ses-select is now a function, no longer a macro, so it= does not expand to a (list =85) form containing symbols that by evaluation= gets a list of values, but directly returns the list of values. I have no = idea what the use of having this expansion to (list CELL-SYMBOLS) was, this= seemed over-complex to me for no use. Also, ses-select used to revert the = symbol order, and I have changed that too. Any brickbats, questions, comments, etc=85 welcome, Vincent. [https://res-h3.public.cdn.office.net/assets/mail/file-icon/png/generic_16x= 16.png]ses.el ________________________________ De : Vincent Bela=EFche Envoy=E9 : dimanche 24 d=E9cembre 2023 22:13 =C0 : andr=E9s ram=EDrez Cc : emacs-devel ; boruch_baum@gmx.com Objet : RE: using ses programatically (was: a ses question) Thank you Andr=E8s for the feedback, I have just pushed to master the improvement in ses+ documentation, and two= other fixes. One is just an optimisation of ses-insert-row that was not re= ally optimizing anything, and the other is about ses-formula-record, that w= as not recording anything, so the ' (ses-read-symbol) auto completion was n= ot working. Vincent. PS : Now the head of my dev branch is this [https://res-h3.public.cdn.offic= e.net/assets/mail/file-icon/png/generic_16x16.png] ses.el ________________________________ De : andr=E9s ram=EDrez Envoy=E9 : dimanche 24 d=E9cembre 2023 16:44 =C0 : Vincent Bela=EFche Cc : emacs-devel ; boruch_baum@gmx.com Objet : Re: using ses programatically (was: a ses question) Hi. Vincent. >>>>> "Vincent" =3D=3D Vincent Bela=EFche writes: Vincent> Hello Andr=E8s, Vincent> That is a good point that ses+ needs better documentation : I = attached an update of Vincent> ses.texi, [cid:55adc5ac-b103-461e-8604-536c90cae07a] Vincent> ses.texi.diff[cid:240f77ca-5cdb-40fb-b4c2-ee89a0eba1d4]ses.texi. Vincent> Do you think it is OK ? The documentation change is Ok. Vincent> Concerning the ses-setq and change of ses-range, I realized th= at this makes a Vincent> regression on ses-insert-range and ses-select, I have made a f= ix to ses-insert-range Vincent> here : [cid:c43f099d-1b5e-4b57-a9f0-7feb40546350] Vincent> ses.el, I st= ill need to fix Vincent> ses-select, since this is not a macro I use, it will take me s= ome more time. Also, Vincent> documenting this and writing tests is still needed before I me= rge my local dev branch Vincent> to master. Take your time. And let me know when that part is completed. Andr=E9s Ram=EDrez ps: I have a second case (improvement) for discussion (about keyboard macros and ses) --_000_PAXP192MB1608F78598D2AB72F9D9AD9E849FAPAXP192MB1608EURP_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
Hello Andr=E8s and al.,

I write to all people listed in SES manual acknowledgements to know if anyb= ody minds the proposed change to how ses-select works.

Here is an update= (from my dev branch, nothing yet pushed), with ses-select fixed. Also ses-= range does not directly inlines the implementation, but now delegates to a helper function ses-range-engine. ses-range-engine&= nbsp;has an extra-argument value-extractor, this way, if one day we wish to make so= me ses-symbol-range macro to get cell symbols instead of cell values, it wo= uld be quite easy to define it as follows: 

(defmacro ses-sym= bol-range (from to &rest rest)
  `(ses-range-engine
    #'ses-cell--symbol
    (quote ,from) (quote ,to) ,(= and rest `(quote ,rest))))

FYI information, the ses-select is now a f= unction, no longer a macro, so it does not expand to a (list =85) form cont= aining symbols that by evaluation gets a list of values, but directly returns the list of values. I have no idea what th= e use of having this expansion to (list CELL-SYMBOLS) was, this seemed over= -complex to me for no use. Also, ses-select used to revert the symbol order= , and I have changed that too.

Any brickbats, questions, comments, etc=85= welcome,

  Vincent.





De : Vincent Bela=EFche <= ;vincent.b.1@hotmail.fr>
Envoy=E9 : dimanche 24 d=E9cembre 2023 22:13
=C0 : andr=E9s ram=EDrez <rrandresf@hotmail.com>
Cc : emacs-devel <emacs-devel@gnu.org>; boruch_baum@gmx.c= om <boruch_baum@gmx.com>
Objet : RE: using ses programatically (was: a ses question)
 
Thank you Andr=E8s for= the feedback,

I have just pushed to = master the improvement in ses+ documentation, and two other fixes. One is j= ust an optimisation of ses-insert-row that was not really optimizing anything, and the other is about ses-formula-record,= that was not recording anything, so the ' (ses-read-symbol) auto completio= n was not working.

   Vincent.<= /span>

PS : Now the head of m= y dev branch is this 3D""ses.el<= /div>

De : andr=E9s ram=EDrez &= lt;rrandresf@hotmail.com>
Envoy=E9 : dimanche 24 d=E9cembre 2023 16:44
=C0 : Vincent Bela=EFche <vincent.b.1@hotmail.fr>
Cc : emacs-devel <emacs-devel@gnu.org>; boruch_baum@gmx.c= om <boruch_baum@gmx.com>
Objet : Re: using ses programatically (was: a ses question)
 
Hi. Vincent.

>>>>> "Vincent" =3D=3D Vincent Bela=EFche <vinc= ent.b.1@hotmail.fr> writes:

    Vincent> Hello Andr=E8s,

    Vincent> That is a good point that ses+ needs better = documentation : I attached an update of
    Vincent> ses.texi, [cid:55adc5ac-b103-461e-8604-536c9= 0cae07a]
    Vincent> ses.texi.diff<https://1d= rv.ms/u/s!AkDIBBjRAOVwg3ZPAidBAE7SrkLK>[cid:240f77ca-5cdb-40fb-b4c2-ee89= a0eba1d4]ses.texi<https://1drv.ms/u/s!AkDIBBjRAOVwg3UshpzT9ZLCIiDf&g= t;.
    Vincent> Do you think it is OK ?

The documentation change is Ok.

    Vincent> Concerning the ses-setq and change of ses-ra= nge, I realized that this makes a
    Vincent> regression on ses-insert-range and ses-selec= t, I have made a fix to ses-insert-range
    Vincent> here : [cid:c43f099d-1b5e-4b57-a9f0-7feb4054= 6350]
    Vincent> ses.el<https://1drv.ms/u/s!AkDIBBjRAOVwg3f1R7Le1n3L7qVe= >, I still need to fix
    Vincent> ses-select, since this is not a macro I use,= it will take me some more time. Also,
    Vincent> documenting this and writing tests is still = needed before I merge my local dev branch
    Vincent> to master.

Take your time. And let me know when that part is completed.

Andr=E9s Ram=EDrez
ps: I have a second case (improvement) for discussion (about keyboard
macros and ses)
--_000_PAXP192MB1608F78598D2AB72F9D9AD9E849FAPAXP192MB1608EURP_--