* [PATCH] Check code stype in Emacs: gdb-code-style.el
@ 2012-04-14 7:46 Yao Qi
2012-04-14 12:24 ` Eli Zaretskii
2012-04-16 20:01 ` Tom Tromey
0 siblings, 2 replies; 4+ messages in thread
From: Yao Qi @ 2012-04-14 7:46 UTC (permalink / raw)
To: gdb-patches
Hi,
gdb-code-style.el gives some checks, and highlight corresponding parts
if they are violations on a certain rule or convention in gdb development.
So far, it only has two, and I'd like to push more, if it is the right
way to go.
Ideally, I hope these checks can go to gdb/.dir-locals.el, as they apply
when people open gdb source files automatically. However, the repeated
warning when opening files force me to think about moving them to a
separate .el file, and give contributors to decide use this .el or not.
Some of the rules I am using are from the lesson I learned from the review
to my patches, such as missing space or superfluous spaces. I am sure
it is useful, especially to new contributors.
gdb:
* gdb-code-style.el: New.
---
gdb/gdb-code-style.el | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
create mode 100644 gdb/gdb-code-style.el
diff --git a/gdb/gdb-code-style.el b/gdb/gdb-code-style.el
new file mode 100644
index 0000000..5919e3d
--- /dev/null
+++ b/gdb/gdb-code-style.el
@@ -0,0 +1,35 @@
+;; Emacs settings to check various code styles.
+;; Copyright (C) 2012 Free Software Foundation, Inc.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;; These hooks defined in this file provide some code style checks in
+;; Emacs. You can load it in your ~/.emacs,
+;; (load-file "~/$(GDB_SOURCE)/gdb/gdb-code-style.el")
+
+;; Don't use these functions. Their alternatives are better. This list
+;; of functions is from ARI rules.
+(defun gdb-fun-name-hook ()
+ (font-lock-add-keywords
+ nil
+ '(("\\<\\(\\(xasprintf\\|abort\\|vasprintf\\|strerror\\|strdup\\|asprintf\\|sprintf\\)[ ]*\(\\)" 1 font-lock-warning-face t))))
+(add-hook 'c-mode-common-hook 'gdb-fun-name-hook)
+
+;; Don't include these files directly.
+(defun gdb-include-hook ()
+ (font-lock-add-keywords
+ nil
+ '(("\\<include[ ]*\\(<\\(stat\\|dirent\\|wait\\|sys/wait\\|assert\\)\\.h>\\)" 1 font-lock-warning-face t))))
+
+(add-hook 'c-mode-common-hook 'gdb-include-hook)
--
1.7.0.4
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] Check code stype in Emacs: gdb-code-style.el
2012-04-14 7:46 [PATCH] Check code stype in Emacs: gdb-code-style.el Yao Qi
@ 2012-04-14 12:24 ` Eli Zaretskii
2012-04-16 20:01 ` Tom Tromey
1 sibling, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2012-04-14 12:24 UTC (permalink / raw)
To: Yao Qi; +Cc: gdb-patches
> From: Yao Qi <yao@codesourcery.com>
> Date: Sat, 14 Apr 2012 12:43:34 +0800
>
> gdb-code-style.el gives some checks, and highlight corresponding parts
> if they are violations on a certain rule or convention in gdb development.
> So far, it only has two, and I'd like to push more, if it is the right
> way to go.
Thanks.
> +;; Don't include these files directly.
> +(defun gdb-include-hook ()
> + (font-lock-add-keywords
> + nil
> + '(("\\<include[ ]*\\(<\\(stat\\|dirent\\|wait\\|sys/wait\\|assert\\)\\.h>\\)" 1 font-lock-warning-face t))))
This catches '#include <stat.h>', but doesn't catch '#include "sys/stat.h"'.
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] Check code stype in Emacs: gdb-code-style.el
2012-04-14 7:46 [PATCH] Check code stype in Emacs: gdb-code-style.el Yao Qi
2012-04-14 12:24 ` Eli Zaretskii
@ 2012-04-16 20:01 ` Tom Tromey
2012-04-19 4:14 ` [committed] : " Yao Qi
1 sibling, 1 reply; 4+ messages in thread
From: Tom Tromey @ 2012-04-16 20:01 UTC (permalink / raw)
To: Yao Qi; +Cc: gdb-patches
>>>>> "Yao" == Yao Qi <yao@codesourcery.com> writes:
Yao> gdb-code-style.el gives some checks, and highlight corresponding parts
Yao> if they are violations on a certain rule or convention in gdb development.
Yao> So far, it only has two, and I'd like to push more, if it is the right
Yao> way to go.
Super, let's do it.
Yao> diff --git a/gdb/gdb-code-style.el b/gdb/gdb-code-style.el
Yao> new file mode 100644
Yao> index 0000000..5919e3d
Yao> --- /dev/null
Yao> +++ b/gdb/gdb-code-style.el
Yao> @@ -0,0 +1,35 @@
Yao> +;; Emacs settings to check various code styles.
Yao> +;; Copyright (C) 2012 Free Software Foundation, Inc.
Could you make this conform to the elisp comment-header guidelines?
See (info "(elisp) Library Headers").
With this change people can M-x package-install-file the .el if they
want. (In fact that is a decent way to test the headers; package.el is
kind of picky about the formatting.)
Ok with that change.
Tom
^ permalink raw reply [flat|nested] 4+ messages in thread
* [committed] : [PATCH] Check code stype in Emacs: gdb-code-style.el
2012-04-16 20:01 ` Tom Tromey
@ 2012-04-19 4:14 ` Yao Qi
0 siblings, 0 replies; 4+ messages in thread
From: Yao Qi @ 2012-04-19 4:14 UTC (permalink / raw)
To: gdb-patches
On 04/17/2012 02:17 AM, Tom Tromey wrote:
> Could you make this conform to the elisp comment-header guidelines?
> See (info "(elisp) Library Headers").
>
> With this change people can M-x package-install-file the .el if they
> want. (In fact that is a decent way to test the headers; package.el is
> kind of picky about the formatting.)
>
> Ok with that change.
This is what I committed with some minor changes to comply to comment
header guidelines.
http://sourceware.org/ml/gdb-cvs/2012-04/msg00139.html
--
Yao (é½å°§)
gdb:
* gdb-code-style.el: New.
---
gdb/gdb-code-style.el | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
create mode 100644 gdb/gdb-code-style.el
diff --git a/gdb/gdb-code-style.el b/gdb/gdb-code-style.el
new file mode 100644
index 0000000..5897831
--- /dev/null
+++ b/gdb/gdb-code-style.el
@@ -0,0 +1,48 @@
+;;; gdb-code-style.el --- code style checker for GDB contributors
+
+;; Copyright (C) 2012 Free Software Foundation, Inc.
+
+;; Author: Yao Qi <yao@codesourcery.com>
+;; Created: 17 April 2012
+;; Version: 1.0
+;; Keywords: GDB
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; These hooks defined in this file provide some code style checks in
+;; Emacs. You can load it in your ~/.emacs,
+;; (load-file "~/$(GDB_SOURCE)/gdb/gdb-code-style.el")
+
+
+;;; Code:
+
+;; Don't use these functions. Their alternatives are better. This list
+;; of functions is from ARI rules.
+(defun gdb-fun-name-hook ()
+ (font-lock-add-keywords
+ nil
+ '(("\\<\\(\\(xasprintf\\|abort\\|vasprintf\\|strerror\\|strdup\\|asprintf\\|sprintf\\)[ ]*\(\\)" 1 font-lock-warning-face t))))
+(add-hook 'c-mode-common-hook 'gdb-fun-name-hook)
+
+;; Don't include these files directly.
+(defun gdb-include-hook ()
+ (font-lock-add-keywords
+ nil
+ '(("\\<include[ ]*\\(<\\(sys/stat\\|stat\\|dirent\\|wait\\|sys/wait\\|assert\\)\\.h>\\)" 1 font-lock-warning-face t))))
+
+(add-hook 'c-mode-common-hook 'gdb-include-hook)
+
+;;; gdb-code-style.el ends here
--
1.7.0.4
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-04-19 2:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-14 7:46 [PATCH] Check code stype in Emacs: gdb-code-style.el Yao Qi
2012-04-14 12:24 ` Eli Zaretskii
2012-04-16 20:01 ` Tom Tromey
2012-04-19 4:14 ` [committed] : " Yao Qi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox