From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Vivek Dasmohapatra Newsgroups: gmane.emacs.devel Subject: patch to improve sh-script.el Date: Mon, 6 Mar 2006 14:29:08 +0000 (GMT) Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-1982809546-1141655348=:4724" X-Trace: sea.gmane.org 1141683103 26943 80.91.229.2 (6 Mar 2006 22:11:43 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 6 Mar 2006 22:11:43 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 06 23:11:40 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FGNv7-0002il-5v for ged-emacs-devel@m.gmane.org; Mon, 06 Mar 2006 23:11:13 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FGNv5-0007Ba-U5 for ged-emacs-devel@m.gmane.org; Mon, 06 Mar 2006 17:11:12 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FGN6Q-0000vJ-Gy for emacs-devel@gnu.org; Mon, 06 Mar 2006 16:18:50 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FGN6M-0000sn-24 for emacs-devel@gnu.org; Mon, 06 Mar 2006 16:18:49 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FGJxD-0003hW-06 for emacs-devel@gnu.org; Mon, 06 Mar 2006 12:57:07 -0500 Original-Received: from [62.197.40.8] (helo=seabass.pepperfish.net) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1FGGkN-0008Uk-GD for emacs-devel@gnu.org; Mon, 06 Mar 2006 09:31:39 -0500 Original-Received: from localhost ([127.0.0.1]) by seabass.pepperfish.net with esmtps (Exim 4.50 #1 (Debian)) id 1FGGhw-0003Vi-5T for ; Mon, 06 Mar 2006 14:29:08 +0000 X-X-Sender: vivek@pike.pepperfish.net Original-To: emacs-devel@gnu.org 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:51296 Archived-At: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-1982809546-1141655348=:4724 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Hi there: at the request of some users on #emacs, I've patched sh-script.el to do the following: `command args...` is highlighted in a different face than normal strings $(command args...) has command highlighted in the same face as above "some text $(command "moose burgers")" is highlighted correctly, at least in that the "" inside the $() do not terminate the "" around it. this new support copes with nested $() and () and `` subshells within the "$()" construct. "`command "an argument"`" is similarly correctly handled (well... more correctly than before, anyway) The changes are not invasive: there's a new item in sh-font-lock-keywords-var for the bash shell, and the syntactic fontification variable likewise has a new entry (with two support functions and a new face defined). Hopefully this is of interest and can be included in the next version of sh-script.el [ The diff is against debian's emacs-snapshot package v 20060202 ] --8323328-1982809546-1141655348=:4724 Content-Type: TEXT/plain; charset=US-ASCII; name=sh-script.el.diff Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=sh-script.el.diff LS0tIC9ob21lL2xvY2FsL3NyYy9lbWFjcy1zbmFwc2hvdC0yMDA2MDIwMi9s aXNwL3Byb2dtb2Rlcy9zaC1zY3JpcHQuZWwJMjAwNS0xMi0xOCAwMToxODo0 NS4wMDAwMDAwMDAgKzAwMDANCisrKyAvdG1wL3NoLXNjcmlwdC5lbAkyMDA2 LTAzLTA2IDE0OjE5OjA5LjAwMDAwMDAwMCArMDAwMA0KQEAgLTgxMyw2ICs4 MTMsMTggQEANCiAgICAgICg6d2VpZ2h0IGJvbGQpKSkNCiAgICJGYWNlIHRv IHNob3cgYSBoZXJlLWRvY3VtZW50Ig0KICAgOmdyb3VwICdzaC1pbmRlbnRh dGlvbikNCisNCis7OyB0aGVzZSBjb2xvdXJzIGFyZSBwcm9iYWJseSBpY2su IHdoYXRldmVyLCBpdCdzIGp1c3QgYSBwbGFjZWhvbGRlci4NCisoZGVmZmFj ZSBzaC1xdW90ZWQtZXhlYyANCisgICcoICggKChjbGFzcyBjb2xvcikgKGJh Y2tncm91bmQgZGFyaykpDQorICAgICAgICg6Zm9yZWdyb3VuZCAic2FsbW9u IikpDQorICAgICAoICgoY2xhc3MgY29sb3IpIChiYWNrZ3JvdW5kIGxpZ2h0 KSkNCisgICAgICAgKDpmb3JlZ3JvdW5kICJtYWdlbnRhIikpDQorICAgICAo dA0KKyAgICAgICg6d2VpZ2h0IGJvbGQpKSApIA0KKyAgIkZhY2UgdG8gc2hv dyBxdW90ZWQgZXhlY3MgbGlrZSBgYCINCisgIDpncm91cCAnc2gtaW5kZW50 YXRpb24pDQorDQogOzsgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBhbGlhcw0K IChwdXQgJ3NoLWhlcmVkb2MtZmFjZSAnZmFjZS1hbGlhcyAnc2gtaGVyZWRv YykNCiAoZGVmdmFyIHNoLWhlcmVkb2MtZmFjZSAnc2gtaGVyZWRvYykNCkBA IC04MzIsNyArODQ0LDcgQEANCiAgICAgICAgICBmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlKSkNCiANCiAgICAgKHJjIHNoLWFwcGVuZCBlcykNCi0N CisgICAgKGJhc2ggc2gtYXBwZW5kIHNoZWxsICgiXFwkKFxcKFxcc3crXFwp IiAoMSAnc2gtcXVvdGVkLWV4ZWMgdCkgKSkNCiAgICAgKHNoIHNoLWFwcGVu ZCBzaGVsbA0KIAk7OyBWYXJpYWJsZSBuYW1lcy4NCiAJKCJcXCRcXCh7Iz9c XCk/XFwoW0EtWmEtel9dW0EtWmEtejAtOV9dKlxcfFstIz9AIV1cXCkiIDIN CkBAIC05NjYsNiArOTc4LDQ5IEBADQogICA7OyBUaGlzIGxvb2tzIHNpbGx5 LCBidXQgaXQncyBiZWNhdXNlIGBzaC1oZXJlLWRvYy1yZScga2VlcHMgY2hh bmdpbmcuDQogICAocmUtc2VhcmNoLWZvcndhcmQgc2gtaGVyZS1kb2MtcmUg bGltaXQgdCkpDQogDQorKGRlZnVuIHNoLXF1b3RlZC1zdWJzaGVsbCAobGlt aXQpDQorICAiU2VhcmNoIGZvciBhIHN1YnNoZWxsIGVtYmVkZGVkIGluIGEg c3RyaW5nLiBGSW5kIGFsbCB0aGUgdW5lc2NhcGVkIA0KK1wiIGNoYXJhY3Rl cnMgd2l0aGluIHNhaWQgc3Vic2hlbGwsIHJlbWVtYmVyaW5nIHRoYXQgc3Vi c2hlbGxzIGNhbiBuZXN0LiINCisgIChpZiAocmUtc2VhcmNoLWZvcndhcmQg IlwiXFwoPzouXFx8XG5cXCkqP1xcKFxcJChcXHxgXFwpIiBsaW1pdCB0KQ0K KyAgICAgIDs7IGJpbmdvIHdlIGhhdmUgYSAkKCBvciBhIGAgaW5zaWRlIGEg IiINCisgICAgICAobGV0ICgoY2hhciAoY2hhci1hZnRlciAocG9pbnQpKSkg DQorICAgICAgICAgICAgKGNvbnRpbnVlIHQpDQorICAgICAgICAgICAgKHBv cyAocG9pbnQpKQ0KKyAgICAgICAgICAgIChkYXRhIG5pbCkgICAgOzsgdmFs dWUgdG8gcHV0IGludG8gbWF0Y2gtZGF0YSAoYW5kIHJldHVybikNCisgICAg ICAgICAgICAobGFzdCBuaWwpICAgIDs7IGxhc3QgY2hhciBzZWVuDQorICAg ICAgICAgICAgKGJxICAoZXF1YWwgKG1hdGNoLXN0cmluZyAxKSAiYCIpKSA7 OyBgIHN0YXRlIGZsaXAtZmxvcA0KKyAgICAgICAgICAgIChzZWVuIG5pbCkg ICAgOzsgbGlzdCBvZiBpbXBvcnRhbnQgcG9zaXRpb25zDQorICAgICAgICAg ICAgKG5lc3QgMSkpICAgICA7OyBzdWJzaGVsbCBuZXN0aW5nIGxldmVsDQor ICAgICAgICAod2hpbGUgKGFuZCBjb250aW51ZSBjaGFyICg8PSBwb3MgbGlt aXQpKQ0KKyAgICAgICAgICA7OyB1bmVzY2FwZWQgIiBpbnNpZGUgYSAkKCAu Li4gKSBjb25zdHJ1Y3QuDQorICAgICAgICAgIDs7IHN0YXRlIG1hY2hpbmUg dGltZS4uLg0KKyAgICAgICAgICA7OyBcID0+IGlnbm9yZSBuZXh0IGNoYXI7 IA0KKyAgICAgICAgICA7OyBgID0+IGluY3JlYXNlIG9yIGRlY3JlYXNlIG5l c3RpbmcgbGV2ZWwgYmFzZWQgb24gYnEgZmxhZw0KKyAgICAgICAgICA7OyAp IFt3aGVyZSBuZXN0aW5nID4gMF0gPT4gZGVjcmVhc2UgbmVzdGluZw0KKyAg ICAgICAgICA7OyAoIFt3aGVyZSBuZXN0aW5nID4gMF0gPT4gaW5jcmVhc2Ug bmVzdGluZw0KKyAgICAgICAgICA7OyAoIFtwcmVjZWVkZWQgYnkgJCBdICAg PT4gaW5jcmVhc2UgbmVzdGluZw0KKyAgICAgICAgICA7OyAiIFtuZXN0aW5n IDw9IDAgXSAgICAgPT4gdGVybWluYXRlLCB3ZSdyZSBkb25lLg0KKyAgICAg ICAgICA7OyAiIFtuZXN0aW5nID4gIDAgXSAgICAgPT4gcmVtZW1iZXIgdGhp cywgaXQncyBub3QgYSBwcm9wZXIgIg0KKyAgICAgICAgICAoaWYgKGVxID9c XCBsYXN0KSBuaWwNCisgICAgICAgICAgICAoaWYgKGVxID9cYCBjaGFyKSAo c2V0cSBuZXN0ICgrIG5lc3QgKGlmIGJxIC0xIDEpKSBicSAobm90IGJxKSkN CisgICAgICAgICAgICAgIChpZiAoYW5kICg+IG5lc3QgMCkgKGVxID9cKSBj aGFyKSkgIChzZXRxIG5lc3QgKDEtIG5lc3QpKQ0KKyAgICAgICAgICAgICAg ICAoaWYgKGFuZCAoZXEgPyQgbGFzdCkgKGVxID9cKCBjaGFyKSkgKHNldHEg bmVzdCAoMSsgbmVzdCkpDQorICAgICAgICAgICAgICAgICAgKGlmIChhbmQg KD4gbmVzdCAwKSAoZXEgP1woIGNoYXIpKSAoc2V0cSBuZXN0ICgxKyBuZXN0 KSkNCisgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgY2hhciA/XCIpDQor ICAgICAgICAgICAgICAgICAgICAgICAgKGlmICg+PSAwIG5lc3QpIChzZXRx IGNvbnRpbnVlIG5pbCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgIChz ZXRxIHNlZW4gKGNvbnMgcG9zIHNlZW4pKSApICkpKSkpKQ0KKyAgICAgICAg ICA7OyhtZXNzYWdlICJQT1M6ICVkIFslZF0iIHBvcyBuZXN0KQ0KKyAgICAg ICAgICAoc2V0cSBsYXN0IGNoYXINCisgICAgICAgICAgICAgICAgcG9zICAo MSsgcG9zKSANCisgICAgICAgICAgICAgICAgY2hhciAoY2hhci1hZnRlciBw b3MpKSApDQorICAgICAgICAod2hlbiBzZWVuIA0KKyAgICAgICAgICA7Oyht ZXNzYWdlICJTRUVOOiAlUyIgc2VlbikNCisgICAgICAgICAgKHNldHEgZGF0 YSAobGlzdCAoY3VycmVudC1idWZmZXIpKSkNCisgICAgICAgICAgKG1hcGMg KGxhbWJkYSAoUCkgDQorICAgICAgICAgICAgICAgICAgKHNldHEgZGF0YSAo Y29ucyBQIChjb25zICgxKyBQKSBkYXRhKSkgKSApIHNlZW4pDQorICAgICAg ICAgIChzdG9yZS1tYXRjaC1kYXRhIGRhdGEpKQ0KKyAgICAgICAgZGF0YSkg KSkNCisNCiAoZGVmdW4gc2gtaXMtcXVvdGVkLXAgKHBvcykNCiAgIChhbmQg KGVxIChjaGFyLWJlZm9yZSBwb3MpID9cXCkNCiAgICAgICAgKG5vdCAoc2gt aXMtcXVvdGVkLXAgKDEtIHBvcykpKSkpDQpAQCAtOTk2LDYgKzEwNTEsMTcg QEANCiAgICAgKHdoZW4gKHNhdmUtZXhjdXJzaW9uIChiYWNrd2FyZC1jaGFy IDIpIChsb29raW5nLWF0ICI7O1xcfGluIikpDQogICAgICAgc2gtc3QtcHVu YykpKQ0KIA0KKyhkZWZ1biBzaC1hcHBseS1xdW90ZWQtc3Vic2hlbGwgKCkg DQorICAiQXBwbHkgdGhlIGBzaC1zdC1wdW5jJyBzeW50YXggdG8gYWxsIHRo ZSBtYXRjaGVzIGluIGBtYXRjaC1kYXRhJy4NCitUaGlzIGlzIHVzZWQgdG8g ZmxhZyBxdW90ZSBjaGFyYWN0ZXJzIGluIHN1YnNoZWxsIGNvbnN0cnVjdHMg aW5zaWRlIHN0cmluZ3MNCitcKHdoaWNoIHNob3VsZCB0aGVyZWZvcmUgbm90 IGJlIHRyZWF0ZWQgYXMgbm9ybWFsIHF1b3RlIGNoYXJhY3RlcnNcKSINCisg IChsZXQgKChtIChtYXRjaC1kYXRhKSkgYSBiKQ0KKyAgICAod2hpbGUgbQ0K KyAgICAgIChzZXRxIGEgKGNhciAgbSkNCisgICAgICAgICAgICBiIChjYWRy IG0pDQorICAgICAgICAgICAgbSAoY2RkciBtKSkNCisgICAgICAocHV0LXRl eHQtcHJvcGVydHkgYSBiICdzeW50YXgtdGFibGUgc2gtc3QtcHVuYykpKSBz aC1zdC1wdW5jKQ0KKw0KIChkZWZjb25zdCBzaC1mb250LWxvY2stc3ludGFj dGljLWtleXdvcmRzDQogICA7OyBBIGAjJyBiZWdpbnMgYSBjb21tZW50IHdo ZW4gaXQgaXMgdW5xdW90ZWQgYW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgYQ0K ICAgOzsgd29yZC4gIEluIHRoZSBzaGVsbCwgd29yZHMgYXJlIHNlcGFyYXRl ZCBieSBtZXRhY2hhcmFjdGVycy4NCkBAIC0xMDA2LDYgKzEwNzIsOCBAQA0K ICAgICAoIlxcKFxcXFxcXCknIiAxICxzaC1zdC1wdW5jKQ0KICAgICA7OyBN YWtlIHN1cmUgJEAgYW5kIEA/IGFyZSBjb3JyZWN0bHkgcmVjb2duaXplZCBh cyBzZXhwcy4NCiAgICAgKCJcXCRcXChbP0BdXFwpIiAxICxzaC1zdC1zeW1i b2wpDQorICAgIChzaC1xdW90ZWQtc3Vic2hlbGwgDQorICAgICAoMSAoc2gt YXBwbHktcXVvdGVkLXN1YnNoZWxsKSB0IHQpKQ0KICAgICA7OyBGaW5kIEhF UkVET0Mgc3RhcnRlcnMgYW5kIGFkZCBhIGNvcnJlc3BvbmRpbmcgcnVsZSBm b3IgdGhlIGVuZGVyLg0KICAgICAoc2gtZm9udC1sb2NrLWhlcmUtZG9jDQog ICAgICAoMiAoc2gtZm9udC1sb2NrLW9wZW4taGVyZWRvYw0KQEAgLTEwMTgs MTEgKzEwODYsMTIgQEANCiAgICAgKCIpIiAwIChzaC1mb250LWxvY2stcGFy ZW4gKG1hdGNoLWJlZ2lubmluZyAwKSkpKSkNCiANCiAoZGVmdW4gc2gtZm9u dC1sb2NrLXN5bnRhY3RpYy1mYWNlLWZ1bmN0aW9uIChzdGF0ZSkNCi0gIChp ZiAobnRoIDMgc3RhdGUpDQotICAgICAgKGlmIChjaGFyLXZhbGlkLXAgKG50 aCAzIHN0YXRlKSkNCi0JICBmb250LWxvY2stc3RyaW5nLWZhY2UNCisgIChs ZXQgKChxIChudGggMyBzdGF0ZSkpKQ0KKyAgICAoaWYgcQ0KKyAgICAgICAg KGlmIChjaGFyLXZhbGlkLXAgcSkNCisgICAgICAgICAgICAoaWYgKGVxIHEg P1xgKSAnc2gtcXVvdGVkLWV4ZWMgZm9udC1sb2NrLXN0cmluZy1mYWNlKQ0K IAlzaC1oZXJlZG9jLWZhY2UpDQotICAgIGZvbnQtbG9jay1jb21tZW50LWZh Y2UpKQ0KKyAgICAgIGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkNCiANCiAo ZGVmZ3JvdXAgc2gtaW5kZW50YXRpb24gbmlsDQogICAiVmFyaWFibGVzIGNv bnRyb2xsaW5nIGluZGVudGF0aW9uIGluIHNoZWxsIHNjcmlwdHMuDQpAQCAt MTMzNiw3ICsxNDA1LDcgQEANCiBUaGUgZGVmYXVsdCBzdHlsZSBvZiB0aGlz IG1vZGUgaXMgdGhhdCBvZiBSb3NlbmJsYXR0J3MgS29ybiBzaGVsbCBib29r Lg0KIFRoZSBzeW50YXggb2YgdGhlIHN0YXRlbWVudHMgdmFyaWVzIHdpdGgg dGhlIHNoZWxsIGJlaW5nIHVzZWQuICBUaGUNCiBmb2xsb3dpbmcgY29tbWFu ZHMgYXJlIGF2YWlsYWJsZSwgYmFzZWQgb24gdGhlIGN1cnJlbnQgc2hlbGwn cyBzeW50YXg6DQotXFw8c2gtbW9kZS1tYXA+DQorDQogXFxbc2gtY2FzZV0J IGNhc2Ugc3RhdGVtZW50DQogXFxbc2gtZm9yXQkgZm9yIGxvb3ANCiBcXFtz aC1mdW5jdGlvbl0JIGZ1bmN0aW9uIGRlZmluaXRpb24NCg== --8323328-1982809546-1141655348=:4724 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel --8323328-1982809546-1141655348=:4724--