From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "richardeng" Newsgroups: gmane.emacs.devel Subject: New function: what-file-line, used when writing gdb script Date: Sun, 23 Nov 2008 01:03:52 +0800 Message-ID: <200811230103508125332@foxmail.com> References: , , NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=====003_Dragon134048588747_=====" X-Trace: ger.gmane.org 1227373744 18253 80.91.229.12 (22 Nov 2008 17:09:04 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 22 Nov 2008 17:09:04 +0000 (UTC) To: "emacs-devel" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 22 18:10:06 2008 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 1L3vzh-00009w-T1 for ged-emacs-devel@m.gmane.org; Sat, 22 Nov 2008 18:10:06 +0100 Original-Received: from localhost ([127.0.0.1]:54227 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L3vyY-0002YE-LG for ged-emacs-devel@m.gmane.org; Sat, 22 Nov 2008 12:08:54 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L3vu1-0008Va-Uw for emacs-devel@gnu.org; Sat, 22 Nov 2008 12:04:14 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L3vtz-0008UZ-8G for emacs-devel@gnu.org; Sat, 22 Nov 2008 12:04:13 -0500 Original-Received: from [199.232.76.173] (port=53275 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L3vtz-0008UT-2H for emacs-devel@gnu.org; Sat, 22 Nov 2008 12:04:11 -0500 Original-Received: from mx20.gnu.org ([199.232.41.8]:50524) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L3vty-0007wd-Ii for emacs-devel@gnu.org; Sat, 22 Nov 2008 12:04:10 -0500 Original-Received: from smtpbg3.foxmail.com ([121.14.102.33]) by mx20.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1L3vtr-00016t-Qo for emacs-devel@gnu.org; Sat, 22 Nov 2008 12:04:04 -0500 Original-Received: from 172.23.147.140 (foxmail.com [172.23.147.140]) by smtpbg3 (foxmail.com) with SMTP id KtcNLNAL; Sun, 23 Nov 2008 01:03:52 +0800 (envelope-from richardeng@foxmail.com) X-QQ-mid: esmtp512273734325517384 Original-Received: from 889D3A80E680420 (unknown [116.225.241.54]) by smtp.foxmail.com (Postfix) with ESMTP id for ; Sun, 23 Nov 2008 01:03:51 +0800 (CST) X-mailer: Foxmail 6, 14, 103, 20 [cn] X-detected-kernel: by mx20.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) 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:105964 Archived-At: This is a multi-part message in MIME format. --=====003_Dragon134048588747_===== Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 7bit Hi all, When I write gdb script, I need to set many breakpoints. such as: b xxx_file.c:xxx_line_number With following comamnd, I can do it more easy ----- (defcustom what-file-line-separator ":" "Define the separator between file name and line number" :type 'string :group 'editing) (defcustom what-file-line-yankp nil "Toggle on/off Yank to kill ring" :type 'boolean :group 'editing) ;; Maybe this variable is useless, user can copy what they want in mini-buffer (defcustom what-file-line-fullpath t "Toggle on/off file name fullpath" :type 'boolean :group 'editing) (defun what-file-line () "Print the current buffer's file name and line nubmer" (interactive) (let ((n (line-number-at-pos)) (file (buffer-file-name)) result) (setq result (concat file what-file-line-separator (number-to-string n))) (message "%s" result) (if what-file-line-yankp (kill-new result)))) ----- Q: 1. I don't know in which group the customized variables should be put? 2. The 3rd customized variable needn't, agree? 3. If this functionality is usefull, I want to implement a GUI version(as same as gdb-mouse-set-clear-breakpoint). So when user click the left margin when non-gdb-mode, user can get the filename-line pair) What's your comment? 2008-11-23 richardeng --=====003_Dragon134048588747_===== Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu dD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNi4w MC4yOTAwLjMxOTkiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPkBmb250LWZhY2Ugew0KCWZvbnQt ZmFtaWx5OiDLzszlOw0KfQ0KQGZvbnQtZmFjZSB7DQoJZm9udC1mYW1pbHk6IFZlcmRhbmE7DQp9 DQpAZm9udC1mYWNlIHsNCglmb250LWZhbWlseTogQMvOzOU7DQp9DQpAcGFnZSBTZWN0aW9uMSB7 c2l6ZTogNTk1LjNwdCA4NDEuOXB0OyBtYXJnaW46IDcyLjBwdCA5MC4wcHQgNzIuMHB0IDkwLjBw dDsgbGF5b3V0LWdyaWQ6IDE1LjZwdDsgfQ0KUC5Nc29Ob3JtYWwgew0KCVRFWFQtSlVTVElGWTog aW50ZXItaWRlb2dyYXBoOyBGT05ULVNJWkU6IDEwLjVwdDsgTUFSR0lOOiAwY20gMGNtIDBwdDsg Rk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBURVhULUFMSUdOOiBqdXN0aWZ5DQp9DQpM SS5Nc29Ob3JtYWwgew0KCVRFWFQtSlVTVElGWTogaW50ZXItaWRlb2dyYXBoOyBGT05ULVNJWkU6 IDEwLjVwdDsgTUFSR0lOOiAwY20gMGNtIDBwdDsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9t YW4iOyBURVhULUFMSUdOOiBqdXN0aWZ5DQp9DQpESVYuTXNvTm9ybWFsIHsNCglURVhULUpVU1RJ Rlk6IGludGVyLWlkZW9ncmFwaDsgRk9OVC1TSVpFOiAxMC41cHQ7IE1BUkdJTjogMGNtIDBjbSAw cHQ7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgVEVYVC1BTElHTjoganVzdGlmeQ0K fQ0KQTpsaW5rIHsNCglDT0xPUjogYmx1ZTsgVEVYVC1ERUNPUkFUSU9OOiB1bmRlcmxpbmUNCn0N ClNQQU4uTXNvSHlwZXJsaW5rIHsNCglDT0xPUjogYmx1ZTsgVEVYVC1ERUNPUkFUSU9OOiB1bmRl cmxpbmUNCn0NCkE6dmlzaXRlZCB7DQoJQ09MT1I6IHB1cnBsZTsgVEVYVC1ERUNPUkFUSU9OOiB1 bmRlcmxpbmUNCn0NClNQQU4uTXNvSHlwZXJsaW5rRm9sbG93ZWQgew0KCUNPTE9SOiBwdXJwbGU7 IFRFWFQtREVDT1JBVElPTjogdW5kZXJsaW5lDQp9DQpTUEFOLkVtYWlsU3R5bGUxNyB7DQoJRk9O VC1XRUlHSFQ6IG5vcm1hbDsgQ09MT1I6IHdpbmRvd3RleHQ7IEZPTlQtU1RZTEU6IG5vcm1hbDsg Rk9OVC1GQU1JTFk6IFZlcmRhbmE7IFRFWFQtREVDT1JBVElPTjogbm9uZTsgbXNvLXN0eWxlLXR5 cGU6IHBlcnNvbmFsLWNvbXBvc2UNCn0NCkRJVi5TZWN0aW9uMSB7DQoJcGFnZTogU2VjdGlvbjEN Cn0NClVOS05PV04gew0KCUZPTlQtU0laRTogMTBwdA0KfQ0KQkxPQ0tRVU9URSB7DQoJTUFSR0lO LVRPUDogMHB4OyBNQVJHSU4tQk9UVE9NOiAwcHg7IE1BUkdJTi1MRUZUOiAyZW0NCn0NCk9MIHsN CglNQVJHSU4tVE9QOiAwcHg7IE1BUkdJTi1CT1RUT006IDBweA0KfQ0KVUwgew0KCU1BUkdJTi1U T1A6IDBweDsgTUFSR0lOLUJPVFRPTTogMHB4DQp9DQo8L1NUWUxFPg0KPC9IRUFEPg0KPEJPRFkg c3R5bGU9IkZPTlQtU0laRTogMTBwdDsgTUFSR0lOOiAxMHB4OyBGT05ULUZBTUlMWTogdmVyZGFu YSI+DQo8RElWPjxGT05UIGZhY2U9VmVyZGFuYSBjb2xvcj0jMDAwMDgwIHNpemU9Mj5IaSBhbGws PC9GT05UPjwvRElWPg0KPERJVj48Rk9OVCBjb2xvcj0jMDAwMDgwPjwvRk9OVD4mbmJzcDs8L0RJ Vj4NCjxESVYgc3R5bGU9IlRFWFQtSU5ERU5UOiAyZW0iPjxGT05UIGNvbG9yPSMwMDAwODA+V2hl biBJIHdyaXRlIGdkYiBzY3JpcHQsIEkgDQpuZWVkIHRvIHNldCBtYW55IGJyZWFrcG9pbnRzLiBz dWNoIGFzOjwvRk9OVD48L0RJVj4NCjxESVYgc3R5bGU9IlRFWFQtSU5ERU5UOiA0ZW0iPjxGT05U IGNvbG9yPSMwMDAwODA+YiANCnh4eF9maWxlLmM6eHh4X2xpbmVfbnVtYmVyPC9GT05UPjwvRElW Pg0KPERJViBzdHlsZT0iVEVYVC1JTkRFTlQ6IDRlbSI+PEZPTlQgY29sb3I9IzAwMDA4MD48L0ZP TlQ+Jm5ic3A7PC9ESVY+DQo8RElWIHN0eWxlPSJURVhULUlOREVOVDogMmVtIj48Rk9OVCBjb2xv cj0jMDAwMDgwPldpdGggZm9sbG93aW5nIGNvbWFtbmQsIEkgY2FuIA0KZG8gaXQgbW9yZSBlYXN5 PC9GT05UPjwvRElWPg0KPERJVj48Rk9OVCBjb2xvcj0jMDAwMDgwPi0tLS0tPC9GT05UPjwvRElW Pg0KPERJVj48Rk9OVCBmYWNlPVZlcmRhbmEgY29sb3I9IzAwMDA4MCBzaXplPTI+DQo8RElWPihk ZWZjdXN0b20mbmJzcDt3aGF0LWZpbGUtbGluZS1zZXBhcmF0b3ImbmJzcDsiOiI8L0RJVj4NCjxE SVY+Jm5ic3A7Jm5ic3A7IkRlZmluZSZuYnNwO3RoZSZuYnNwO3NlcGFyYXRvciZuYnNwO2JldHdl ZW4mbmJzcDtmaWxlJm5ic3A7bmFtZSZuYnNwO2FuZCZuYnNwO2xpbmUmbmJzcDtudW1iZXIiPC9E SVY+DQo8RElWPiZuYnNwOyZuYnNwOzp0eXBlJm5ic3A7J3N0cmluZzwvRElWPg0KPERJVj4mbmJz cDsmbmJzcDs6Z3JvdXAmbmJzcDsnZWRpdGluZyk8L0RJVj4NCjxESVY+PC9ESVY+DQo8RElWPiZu YnNwOzwvRElWPg0KPERJVj48L0RJVj4NCjxESVY+KGRlZmN1c3RvbSZuYnNwO3doYXQtZmlsZS1s aW5lLXlhbmtwJm5ic3A7bmlsPC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyJUb2dnbGUmbmJzcDtv bi9vZmYmbmJzcDtZYW5rJm5ic3A7dG8mbmJzcDtraWxsJm5ic3A7cmluZyI8L0RJVj4NCjxESVY+ Jm5ic3A7Jm5ic3A7OnR5cGUmbmJzcDsnYm9vbGVhbjwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDs6 Z3JvdXAmbmJzcDsnZWRpdGluZyk8L0RJVj4NCjxESVY+Jm5ic3A7PC9ESVY+DQo8RElWPg0KPERJ Vj47OyZuYnNwO01heWJlJm5ic3A7dGhpcyZuYnNwO3ZhcmlhYmxlJm5ic3A7aXMmbmJzcDt1c2Vs ZXNzLCZuYnNwO3VzZXImbmJzcDtjYW4mbmJzcDtjb3B5Jm5ic3A7d2hhdCZuYnNwO3RoZXkmbmJz cDt3YW50Jm5ic3A7aW4mbmJzcDttaW5pLWJ1ZmZlciZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOzwvRElWPg0KPERJVj4oZGVmY3VzdG9tJm5ic3A7d2hhdC1maWxlLWxpbmUtZnVsbHBh dGgmbmJzcDt0PC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyJUb2dnbGUmbmJzcDtvbi9vZmYmbmJz cDtmaWxlJm5ic3A7bmFtZSZuYnNwO2Z1bGxwYXRoIjwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDs6 dHlwZSZuYnNwOydib29sZWFuPC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOzpncm91cCZuYnNwOydl ZGl0aW5nKTwvRElWPg0KPERJVj4mbmJzcDs8L0RJVj48L0RJVj4NCjxESVY+PC9ESVY+DQo8RElW PihkZWZ1biZuYnNwO3doYXQtZmlsZS1saW5lJm5ic3A7KCk8L0RJVj4NCjxESVY+Jm5ic3A7Jm5i c3A7IlByaW50Jm5ic3A7dGhlJm5ic3A7Y3VycmVudCZuYnNwO2J1ZmZlcidzJm5ic3A7ZmlsZSZu YnNwO25hbWUmbmJzcDthbmQmbmJzcDtsaW5lJm5ic3A7bnVibWVyIjwvRElWPg0KPERJVj4mbmJz cDsmbmJzcDsoaW50ZXJhY3RpdmUpPC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyhsZXQmbmJzcDso KG4mbmJzcDsobGluZS1udW1iZXItYXQtcG9zKSk8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KGZpbGUmbmJzcDsoYnVmZmVyLWZpbGUt bmFtZSkpPC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO3Jlc3VsdCk8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KHNl dHEmbmJzcDtyZXN1bHQmbmJzcDsoY29uY2F0Jm5ic3A7ZmlsZSZuYnNwO3doYXQtZmlsZS1saW5l LXNlcGFyYXRvciZuYnNwOyhudW1iZXItdG8tc3RyaW5nJm5ic3A7bikpKTwvRElWPg0KPERJVj4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsobWVzc2FnZSZuYnNwOyIlcyImbmJzcDtyZXN1bHQpPC9E SVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyhpZiZuYnNwO3doYXQtZmlsZS1saW5l LXlhbmtwPC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyhraWxsLW5ldyZuYnNwO3Jlc3VsdCkpKSk8L0RJVj48L0ZPTlQ+PC9ESVY+DQo8 RElWPjxGT05UIGZhY2U9VmVyZGFuYSBjb2xvcj0jMDAwMDgwIHNpemU9Mj4tLS0tLTwvRk9OVD48 L0RJVj4NCjxESVY+PEZPTlQgY29sb3I9IzAwMDA4MD5ROjwvRk9OVD48L0RJVj4NCjxESVY+PEZP TlQgY29sb3I9IzAwMDA4MD4xLiBJIGRvbid0IGtub3cmbmJzcDtpbiB3aGljaCBncm91cCZuYnNw O3RoZSBjdXN0b21pemVkIA0KdmFyaWFibGVzIHNob3VsZCBiZSBwdXQ/PC9GT05UPjwvRElWPg0K PERJVj48Rk9OVCBjb2xvcj0jMDAwMDgwPjIuIFRoZSAzcmQgY3VzdG9taXplZCB2YXJpYWJsZSBu ZWVkbid0LCANCmFncmVlPzwvRk9OVD48L0RJVj4NCjxESVY+PEZPTlQgY29sb3I9IzAwMDA4MD4z LiBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdXNlZnVsbCwgSSB3YW50IHRvIA0KaW1wbGVtZW50 IGEgR1VJIHZlcnNpb24oYXMgc2FtZSBhcyBnZGItbW91c2Utc2V0LWNsZWFyLWJyZWFrcG9pbnQp LiBTbyB3aGVuIHVzZXIgDQpjbGljayB0aGUgbGVmdCBtYXJnaW4mbmJzcDt3aGVuIG5vbi1nZGIt bW9kZSwgdXNlciBjYW4mbmJzcDtnZXQgdGhlIA0KZmlsZW5hbWUtbGluZSBwYWlyKTwvRk9OVD48 L0RJVj4NCjxESVY+Jm5ic3A7PC9ESVY+DQo8RElWPjxGT05UIGNvbG9yPSMwMDAwODA+V2hhdCdz IHlvdXIgY29tbWVudD88L0ZPTlQ+PC9ESVY+DQo8RElWPjxGT05UIGNvbG9yPSMwMDAwODA+PC9G T05UPiZuYnNwOzwvRElWPg0KPERJVj48Rk9OVCBjb2xvcj0jMDAwMDgwPjwvRk9OVD4mbmJzcDs8 L0RJVj4NCjxESVY+PEZPTlQgZmFjZT1WZXJkYW5hIGNvbG9yPSNjMGMwYzAgc2l6ZT0yPjIwMDgt MTEtMjMgPC9GT05UPjwvRElWPjxGT05UIA0KZmFjZT1WZXJkYW5hIGNvbG9yPSMwMDAwODAgc2l6 ZT0yPg0KPEhSIHN0eWxlPSJXSURUSDogMTAwcHgiIGFsaWduPWxlZnQgY29sb3I9I2I1YzRkZiBT SVpFPTE+DQo8L0ZPTlQ+DQo8RElWPjxGT05UIGZhY2U9VmVyZGFuYSBjb2xvcj0jYzBjMGMwIHNp emU9Mj48U1BBTj5yaWNoYXJkZW5nPC9TUEFOPiANCjwvRk9OVD48L0RJVj4NCjxESVY+PEZPTlQg ZmFjZT1WZXJkYW5hIHNpemU9Mj4mbmJzcDs8L0RJVj48L0ZPTlQ+PC9CT0RZPjwvSFRNTD4NCg== --=====003_Dragon134048588747_=====--