From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Naveen Garg Newsgroups: gmane.emacs.devel Subject: patch for pointers, callbacks, and dynamically linked libraries in emacs 22.3 Date: Fri, 15 May 2009 21:29:16 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=000325579db2749c650469fd7e85 X-Trace: ger.gmane.org 1242437393 8962 80.91.229.12 (16 May 2009 01:29:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 16 May 2009 01:29:53 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat May 16 03:29:46 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1M58ie-0000xn-4G for ged-emacs-devel@m.gmane.org; Sat, 16 May 2009 03:29:44 +0200 Original-Received: from localhost ([127.0.0.1]:37170 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M58id-00049R-76 for ged-emacs-devel@m.gmane.org; Fri, 15 May 2009 21:29:43 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M58iZ-00049D-8e for emacs-devel@gnu.org; Fri, 15 May 2009 21:29:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M58iX-000491-Ra for emacs-devel@gnu.org; Fri, 15 May 2009 21:29:37 -0400 Original-Received: from [199.232.76.173] (port=59901 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M58iX-00048y-ME for emacs-devel@gnu.org; Fri, 15 May 2009 21:29:37 -0400 Original-Received: from yw-out-1718.google.com ([74.125.46.153]:41618) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M58iX-0003Vx-AO for emacs-devel@gnu.org; Fri, 15 May 2009 21:29:37 -0400 Original-Received: by yw-out-1718.google.com with SMTP id 5so1250660ywm.66 for ; Fri, 15 May 2009 18:29:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:from:date:message-id :subject:to:content-type; bh=6AaX/TGBfweGKbcSlBC76GGN6/ssCbQozM2ijEsNE2g=; b=Re0SIu/kAC+OZYKBF4c+UttSy6U+ZheyEbd7+mXCpJ1Lc+81BmXxVLtpnUweKAT27a zDFSHlyreaYAlEVQBmtHLAfSOqlcTKBKDra/xKmkRXhMSGe8yDUXcY4Vldf4Fh6XPSDm P+xdgbW55cXKBctQL1WdHT8PN4kTecBKUVs4s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=pG/407V0CfusBn63kazssKQEc5T0i51LaqZorbo1CwffWbn4/JR2SOwp1q/JnriI5d 9PmzuOzumIZvZH61KlnEgwZXV8kmUQ4o2zaHNzh/AZTjWvMmV/MN6/n8I3RrpJmWWbsI pOcJUJ6bZAHLX6pix392Km7JRVXpL6CRuawl0= Original-Received: by 10.231.35.75 with SMTP id o11mr2299405ibd.6.1242437376055; Fri, 15 May 2009 18:29:36 -0700 (PDT) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:110907 Archived-At: --000325579db2749c650469fd7e85 Content-Type: multipart/alternative; boundary=000325579db2749c5e0469fd7e83 --000325579db2749c5e0469fd7e83 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hello everyone, Like you, I spend much time in Emacs. When I go out of Emacs, I have AutoHotkey with me. But really, I never leave either now. AutoHotkey is a scripting language for win32 also distributed under GPL. Here is a patch that dynamically loads AutoHotkey into Emacs. Other features: Access to pointers. (strings for now, will add pointers to other LispObjects ) Callback to eval. SendMessage to other windows (AutoHotkey). AutoHotkey already has dynamic function calls by pointer, will add a callback to it from Emacs, until then sendmessage should do it. Thanks, Naveen, http://www.ahklisp.com --000325579db2749c5e0469fd7e83 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello everyone,
Like you, I spend much time in Emacs.
When I go out = of Emacs, I=C2=A0 have AutoHotkey with me.=C2=A0 But really, I never leave = either now.
AutoHotkey is a scripting language for win32 also distribute= d under GPL.=C2=A0
Here is a patch that dynamically loads AutoHotkey into Emacs.
Other feat= ures:
Access to pointers.=C2=A0 (strings for now, will add pointers to = other LispObjects )
Callback to eval.=C2=A0
SendMessage to other win= dows (AutoHotkey).
AutoHotkey already has dynamic function calls by pointer, will add a callba= ck to it from Emacs, until then sendmessage should do it.
Thanks,
Nav= een,
http://www.ahklisp.com


--000325579db2749c5e0469fd7e83-- --000325579db2749c650469fd7e85 Content-Type: application/octet-stream; name="patch-fns.c" Content-Disposition: attachment; filename="patch-fns.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_furlcrfv0 ZGlmZiAtLWdpdCBhL2Zucy5jIGIvZm5zLmMKaW5kZXggNWRmOGJlMi4uMDg1ZjRmMyAxMDA2NDQK LS0tIGEvZm5zLmMKKysrIGIvZm5zLmMKQEAgLTIzMDYsNyArMjMwNywyNyBAQCBpbnRlcm5hbF9l cXVhbCAobzEsIG8yLCBkZXB0aCwgcHJvcHMpCiAKICAgcmV0dXJuIDA7CiB9Ci0MCisKK0xSRVNV TFQgc2VuZEFoayhjaGFyIG1zZ1syMDBdLCBjaGFyICp0YXJnZXQpCit7ICAKKyAgQ09QWURBVEFT VFJVQ1QgY2Q7CisgIGludCBwb3J0ID0gMTAwOworICBjZC5kd0RhdGEgPSBwb3J0OworICBjZC5j YkRhdGEgPSAyMDAgOworICBjZC5scERhdGEgPSBtc2cgOworICBXUEFSQU0gaWQgPSA5NTE3NTM7 CisgIEhXTkQgaEhvc3QgPSBGaW5kV2luZG93KE5VTEwsIHRhcmdldCk7CisgIHJldHVybiBTZW5k TWVzc2FnZShoSG9zdCwgV01fQ09QWURBVEEsIGlkLCAoTFBBUkFNKSZjZCk7Cit9CisKKworRVhQ T1JUIGNoYXIgKmNhbGxiYWNrKGNoYXIgKmV4cHJlc3Npb24pIAoreworICAvLyBleHByZXNzaW9u IG11c3QgcmV0dXJuIGEgc3RyaW5nLCBzaG91bGQgY2hhbmdlIHRoaXMgdG8gTGlzcF9PYmplY3QK KyAgTGlzcF9PYmplY3QgcmVzdWx0ID0gRmV2YWwoRnJlYWQoYnVpbGRfc3RyaW5nKGV4cHJlc3Np b24pKSk7CisgIHJldHVybiBTREFUQShyZXN1bHQpOworfQorCiBleHRlcm4gTGlzcF9PYmplY3Qg Rm1ha2VfY2hhcl9pbnRlcm5hbCAoKTsKIAogREVGVU4gKCJmaWxsYXJyYXkiLCBGZmlsbGFycmF5 LCBTZmlsbGFycmF5LCAyLCAyLCAwLApAQCAtNTQ4MSw2ICs1NTAyLDU1IEBAIEZVTkNUSU9OIGlz IGNhbGxlZCB3aXRoIHR3byBhcmd1bWVudHMsIEtFWSBhbmQgVkFMVUUuICAqLykKIAogICByZXR1 cm4gUW5pbDsKIH0KKy8vIER5bmFtaWMgU2hhcmVkIE9iamVjdHMgYW5kIENhbGxiYWNrcyBpbiBl bWFjczogIG5hdmVlbi5nYXJnQGdtYWlsLmNvbSwgR1BMIHYyLgorREVGVU4gKCJsb2FkbW9kdWxl IiwgRmxvYWRtb2R1bGUsIFNsb2FkbW9kdWxlLCAxLCAzLCAwLAorICAgICAgIGRvYzogLyogbG9h ZCBkeW5hbWljIHNoYXJlZCBvYmplY3Qgb3IgZGxsCisJICAgICAgIHBhcmFtZXRlcnM6IDMgc3Ry aW5nczogZmlsZW5hbWUsIG9wdGlvbiwgcGFyYW1ldGVyICAqLykKKyAgICAgKG8xLCBvMiwgbzMp IAorICAgICBMaXNwX09iamVjdCBvMSwgbzIsIG8zOworeworICAgICAgICB0eXBlZGVmIGludCAo KnBmdW5jKShjaGFyICpmaWxlTmFtZSwgY2hhciAqYXJndiwgY2hhciAqYXJncyk7CisJY2hhciAq cG9pbnRlcjEgPSBTREFUQShvMSk7CisJY2hhciAqcG9pbnRlcjIgPSBTREFUQShvMik7CisJY2hh ciAqcG9pbnRlcjMgPSBTREFUQShvMyk7CisJLypXaW5kb3dzIGhhbmRsZSovCisJSEFORExFIGhk bGw7CisJCisJLypBIHBvaW50ZXIgdG8gYSBmdW5jdGlvbiovCisJcGZ1bmMgYWhrZGxsOworCQor CS8qTG9hZExpYnJhcnkqLworCWhkbGwgPSBMb2FkTGlicmFyeSgiQXV0b0hvdGtleS5kbGwiKTsK KwkKKwkvKkdldFByb2NBZGRyZXNzKi8KKwlhaGtkbGwgPSAocGZ1bmMpR2V0UHJvY0FkZHJlc3Mo aGRsbCwgImFoa2RsbCIpOworCVNsZWVwKDEwMDApOworCS8qQ2FsbCB0aGUgZnVuY3Rpb24qLwor CWFoa2RsbChwb2ludGVyMSwgcG9pbnRlcjIsIHBvaW50ZXIzKTsgIC8vICJkbGxjbGllbnQuYWhr IgorCXJldHVybiBRdDsKK30KKworREVGVU4gKCJwb2ludGVyIiwgRnBvaW50ZXIsIFNwb2ludGVy LCAxLCAxLCAwLAorIGRvYzogLyogcmV0dXJucyBwb2ludGVyIHRvIGxpc3Agb2JqZWN0IGFuZCBh bHNvIHVzZXMgc2VuZG1lc3NhZ2UoKSB0byBzZW5kIGl0IHRvIHBvc3NpYmx5IGEgc2hhcmVkIG1v ZHVsZSAgKi8pCisgICAgIChvMSkKKyAgICAgTGlzcF9PYmplY3QgbzE7Cit7CisgIGNoYXIgKnBv aW50ZXIgPSBTREFUQShvMSk7CisgIHJldHVybiBtYWtlX251bWJlcigoaW50KXBvaW50ZXIpOwor fQorCitERUZVTiAoInNlbmRtc2ciLCBGc2VuZG1zZywgU3NlbmRtc2csIDEsIDEsIDAsCisgICAg ICAgZG9jOiAvKiByZXR1cm5zIHNlbmRtc2cgdG8gbGlzcCBvYmplY3QgYW5kIGFsc28gdXNlcyBz ZW5kbWVzc2FnZSgpIHRvIHNlbmQgaXQgdG8gcG9zc2libHkgYSBzaGFyZWQgbW9kdWxlICAKKwkg ICAgLy8gY2hhciBhU3RyaW5nWzIwMF0gPSB7MH0gOworCSAgICAvLyBzbnByaW50ZihhU3RyaW5n LCAyMDAsICIlcyIsIHBvaW50ZXIpOworCSAgICAvLyBzZW5kQWhrKGFTdHJpbmcsICJkbGxjbGll bnQuYWhrIik7CisJICAgICovKQorICAgICAobzEpCisgICAgIExpc3BfT2JqZWN0IG8xOworewor ICBjaGFyICpwb2ludGVyID0gU0RBVEEobzEpOworICByZXR1cm4gbWFrZV9udW1iZXIoc2VuZEFo ayhwb2ludGVyLCAiZGxsY2xpZW50LmFoayIpKTsKK30KIAogCiBERUZVTiAoImRlZmluZS1oYXNo LXRhYmxlLXRlc3QiLCBGZGVmaW5lX2hhc2hfdGFibGVfdGVzdCwKQEAgLTU4NzgsNiArNTk0OCw5 IEBAIGJvdGggYHVzZS1kaWFsb2ctYm94JyBhbmQgdGhpcyB2YXJpYWJsZSBhcmUgbm9uLW5pbC4g ICovKTsKICAgZGVmc3ViciAoJlNsYXhfcGxpc3RfcHV0KTsKICAgZGVmc3ViciAoJlNlcWwpOwog ICBkZWZzdWJyICgmU2VxdWFsKTsKKyAgZGVmc3ViciAoJlNwb2ludGVyKTsgCisgIGRlZnN1YnIg KCZTbG9hZG1vZHVsZSk7IAorICBkZWZzdWJyICgmU3NlbmRtc2cpOyAKICAgZGVmc3ViciAoJlNl cXVhbF9pbmNsdWRpbmdfcHJvcGVydGllcyk7CiAgIGRlZnN1YnIgKCZTZmlsbGFycmF5KTsKICAg ZGVmc3ViciAoJlNjbGVhcl9zdHJpbmcpOwpAQCAtNTkyMiwzICs1OTk1LDQgQEAgaW5pdF9mbnMg KCkKIAogLyogYXJjaC10YWc6IDc4N2Y4MjE5LTViNzQtNDZiZC04NDY5LTdlMWNjNDc1ZmEzMQog ICAgKGRvIG5vdCBjaGFuZ2UgdGhpcyBjb21tZW50KSAqLworCg== --000325579db2749c650469fd7e85 Content-Type: application/octet-stream; name="patch-lisp.h" Content-Disposition: attachment; filename="patch-lisp.h" Content-Transfer-Encoding: base64 X-Attachment-Id: f_furld37s1 ZGlmZiAtLWdpdCBhL2xpc3AuaCBiL2xpc3AuaAppbmRleCA4YjRmOTQ1Li43YzVjMTQyIDEwMDY0 NAotLS0gYS9saXNwLmgKKysrIGIvbGlzcC5oCkBAIC0xOSw3ICsxOSw3IEBAIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBh bG9uZyB3aXRoIEdOVSBFbWFjczsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRl IHRvCiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl ZXQsIEZpZnRoIEZsb29yLAogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuICAqLwotCisjZGVm aW5lIEVYUE9SVCBfX2RlY2xzcGVjKGRsbGV4cG9ydCkgCiAjaWZuZGVmIEVNQUNTX0xJU1BfSAog I2RlZmluZSBFTUFDU19MSVNQX0gKIApAQCAtMzQ2NiwzICszNDY3LDYgQEAgZXh0ZXJuIExpc3Bf T2JqZWN0IHNhZmVfYWxsb2NhX3Vud2luZCAoTGlzcF9PYmplY3QpOwogCiAvKiBhcmNoLXRhZzog OWIyZWQwMjAtNzBlYi00N2FjLTk0ZWUtZTFjMmE1MTA3ZDVlCiAgICAoZG8gbm90IGNoYW5nZSB0 aGlzIGNvbW1lbnQpICovCisKKworRVhQT1JUIGNoYXIgKmNhbGxiYWNrKGNoYXIgKmV4cHJlc3Np b24pOyAvLyBjYWxscyBldmFsIG9uIGV4cHJlc3Npb24gOiBuYXZlZW4uZ2FyZ0BnbWFpbC5jb20K --000325579db2749c650469fd7e85--