From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Qiantan Hong Newsgroups: gmane.emacs.devel Subject: Re: About implementing libre.js/el in Emacs Date: Mon, 31 Aug 2020 04:24:00 +0000 Message-ID: References: <791FBE67-B71F-4F80-810D-BE29B55FD10C@mit.edu> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="Apple-Mail=_5A997ADC-D14B-474C-9A45-FFDE37FE67D4"; protocol="application/pkcs7-signature"; micalg=sha-256 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23290"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" To: "rms@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 31 06:24:37 2020 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 1kCbMz-0005wr-Cu for ged-emacs-devel@m.gmane-mx.org; Mon, 31 Aug 2020 06:24:37 +0200 Original-Received: from localhost ([::1]:50488 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kCbMy-0001TK-FI for ged-emacs-devel@m.gmane-mx.org; Mon, 31 Aug 2020 00:24:36 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55280) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kCbMT-00012t-7R for emacs-devel@gnu.org; Mon, 31 Aug 2020 00:24:05 -0400 Original-Received: from outgoing-exchange-7.mit.edu ([18.9.28.58]:57099) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kCbMR-0002rY-1Q; Mon, 31 Aug 2020 00:24:04 -0400 Original-Received: from w92exedge4.exchange.mit.edu (W92EXEDGE4.EXCHANGE.MIT.EDU [18.7.73.16]) by outgoing-exchange-7.mit.edu (8.14.7/8.12.4) with ESMTP id 07V4O1fs023546; Mon, 31 Aug 2020 00:24:01 -0400 Original-Received: from oc11expo16.exchange.mit.edu (18.9.4.47) by w92exedge4.exchange.mit.edu (18.7.73.16) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Mon, 31 Aug 2020 00:23:39 -0400 Original-Received: from oc11expo16.exchange.mit.edu (18.9.4.47) by oc11expo16.exchange.mit.edu (18.9.4.47) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Mon, 31 Aug 2020 00:24:00 -0400 Original-Received: from oc11expo16.exchange.mit.edu ([18.9.4.47]) by oc11expo16.exchange.mit.edu ([18.9.4.47]) with mapi id 15.00.1365.000; Mon, 31 Aug 2020 00:24:00 -0400 Thread-Topic: About implementing libre.js/el in Emacs Thread-Index: AQHWfjicB33grfm1p0G9a/nWkLfm86lRmTn/gABKfQA= In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [18.18.245.17] Received-SPF: pass client-ip=18.9.28.58; envelope-from=qhong@mit.edu; helo=outgoing-exchange-7.mit.edu X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/31 00:13:59 X-ACL-Warn: Detected OS = Windows 7 (Websense crawler) X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:254433 Archived-At: --Apple-Mail=_5A997ADC-D14B-474C-9A45-FFDE37FE67D4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Aug 30, 2020, at 11:57 PM, Richard Stallman wrote: >=20 > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] >=20 >> Both will require adding primitives to Emacs C source to expose >> urlRequest events, etc. >=20 > Can someone explain how those events work? What do theese events do? > What code generates them? >=20 > Why does it function that way, rather than by calling Lisp directly? They are event (technically GTK signals) coming from WebkitGTK. WebkitGTK emit those event at some interesting moments, e.g. before a HTTP request is about to be sent. Librejs use Javascript handlers to intercept requests, analyze scripts and block the bad ones. This relies on the browser wrapping those event and expose the interface to JS. If we decide to let Librejs run in its JS form then we=E2=80=99ll have = to do what those browsers do. We can also have Librejs.el. In this case there=E2=80=99s a technique = concern though, since WebkitGTK require the send-request signal to be blocked *synchronously* when executing the signal callback, we can=E2=80=99t do it the usual way that push a event into emacs=E2=80=99= s input event queue, we have to evaluate Emacs Lisp during a GTK signal callback. Is this safe from, e.g., deadlock issues?= --Apple-Mail=_5A997ADC-D14B-474C-9A45-FFDE37FE67D4 Content-Disposition: attachment; filename="smime.p7s" Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCA70w ggO5MIIDIqADAgECAhAaql39NsO1qLVjkS2hl517MA0GCSqGSIb3DQEBCwUAMGwxCzAJBgNVBAYT AlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMS4wLAYDVQQKEyVNYXNzYWNodXNldHRzIEluc3Rp dHV0ZSBvZiBUZWNobm9sb2d5MRUwEwYDVQQLEwxDbGllbnQgQ0EgdjEwHhcNMjAwODAzMDEyNDIz WhcNMjEwODAxMDEyNDIzWjCBoTELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMx LjAsBgNVBAoTJU1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kxFTATBgNVBAsT DENsaWVudCBDQSB2MTEVMBMGA1UEAxMMUWlhbnRhbiBIb25nMRwwGgYJKoZIhvcNAQkBFg1xaG9u Z0BNSVQuRURVMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAylUlEQdK4BSXKzoGh6As CKN/TpLmC0kjhPdxUKMj1/86Xl6GDCla4h95uISDOWVAKdu3cIlA8m9zRLT2jNEIkt1DVpXP6c9h y8RRyfJm0qlrvr6tsHi5AmO4Li6s2dEGaTxbakPL6vEn7ZYr86t5orq56nubki77Z8ZvRv9/fWdF bF/YBNGDayLNk0NbXIEQdCHiz1l+bxfw+GHHRmdOge3MKWSg463+GGMdxtLQ61AbtR2vm47FIJBt c0X6ptcInWUg4Nf/9vSNGl6KvREvfbEWKCT6TfL5ncIFlitf6ZWKue2PZ4ULFfIQ3/7EsEk03xxr S7sTOy7e2dbPboe/WwIDAQABo4GhMIGeMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMB0G A1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjALBgNVHQ8EBAMCBeAwHQYDVR0OBBYEFDeb9Jlj XSm+y0CD872IhzRDIGv1MDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jYS5taXQuZWR1L2NhL21p dGNsaWVudC5jcmwwDQYJKoZIhvcNAQELBQADgYEApBTx4tBbD5rQ+bNGd/Z3OBV07qFsm5QHNg0+ 6lxJ3j7q5zMMq35o6y5cBIhcFG6t+MFqJIdERZ3EprDturyqozQsIBMHFnqh+iZcMg0uQyssEqKZ hrzIdw8GuY4Z6jNewdGy5mwwG9yjpEbzWWgdofSM5rnezZz7EvCQu9ilt1sxggNDMIIDPwIBATCB gDBsMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEuMCwGA1UEChMlTWFzc2Fj aHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neTEVMBMGA1UECxMMQ2xpZW50IENBIHYxAhAa ql39NsO1qLVjkS2hl517MA0GCWCGSAFlAwQCAQUAoIIBkzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN AQcBMBwGCSqGSIb3DQEJBTEPFw0yMDA4MzEwNDI0MDFaMC8GCSqGSIb3DQEJBDEiBCA4+UsojOJB TbxrvOTOWAroPD7mT7p/0wsbqYqC1Je2UzCBkQYJKwYBBAGCNxAEMYGDMIGAMGwxCzAJBgNVBAYT AlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMS4wLAYDVQQKEyVNYXNzYWNodXNldHRzIEluc3Rp dHV0ZSBvZiBUZWNobm9sb2d5MRUwEwYDVQQLEwxDbGllbnQgQ0EgdjECEBqqXf02w7WotWORLaGX nXswgZMGCyqGSIb3DQEJEAILMYGDoIGAMGwxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNo dXNldHRzMS4wLAYDVQQKEyVNYXNzYWNodXNldHRzIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5MRUw EwYDVQQLEwxDbGllbnQgQ0EgdjECEBqqXf02w7WotWORLaGXnXswDQYJKoZIhvcNAQEBBQAEggEA Us1GANGVhWyssEEZcD5PyJLNYG36994thUg+slmM+CYTIJEO/t2JUFMigYW6fWkdBvKAoBRIOjYa d5vDKws2/tqtAesmPP753t6+ZA0RVPtpmKpLQFCTCTM9rR6SA8T9ZlILKLw7UUtKW17wYy0/aBd8 0KMLj2RL4jlrnxg+4pRJ2NLxQxUUeZ00kMDOhALP6MV79RN7fyXurFfG1N2fOEJlpqbtrnFK1RhX tqImW9mj/bMmL117RgcoVBRmzYpz3nl6ZLYEohdexNzGK8EJqte7joeDguB4jVaHuNEj5XA2zLPE jk4jhbbL/dq4MYb/FlVccbqLYp9cWUjAAp5z4wAAAAAAAA== --Apple-Mail=_5A997ADC-D14B-474C-9A45-FFDE37FE67D4--