#!/usr/bin/env python
+
+# Module helper script.
+
+# Copyright 2015-2016 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs 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.
+
+# GNU Emacs 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 GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
import os
import string
import subprocess as sp
print '[*] %s: running test' % m
testpath = os.path.join(m, 'test.el')
if os.path.isfile(testpath):
- emacs_cmd = [EMACS, '-batch', '-L', '.', '-l', 'ert', '-l', testpath, '-f', 'ert-run-tests-batch-and-exit']
+ emacs_cmd = [EMACS, '-batch', '-L', '.', '-l', 'ert',
+ '-l', testpath, '-f', 'ert-run-tests-batch-and-exit']
print ' '.join(emacs_cmd)
r = sp.call(emacs_cmd)
if r != 0:
subp = mainp.add_subparsers()
testp = subp.add_parser('test', help='run tests')
- testp.add_argument('-f', '--force', action='store_true', help='force regeneration (make -B)')
- testp.add_argument('module', nargs='*', help='path to module to test (default all)')
+ testp.add_argument('-f', '--force', action='store_true',
+ help='force regeneration (make -B)')
+ testp.add_argument('module', nargs='*',
+ help='path to module to test (default all)')
testp.set_defaults(func=cmd_test)
initp = subp.add_parser('init', help='create a test module from a template')
initp.add_argument('module', help='name of the new module')
- initp.add_argument('-f', '--fun', default='fun', help='overide name of the default function')
+ initp.add_argument('-f', '--fun', default='fun',
+ help='override name of the default function')
initp.set_defaults(func=cmd_init)
args = mainp.parse_args()
'''),
string.Template('${c_file}'): string.Template('''
-#include <module.h>
+#include <emacs-module.h>
int plugin_is_GPL_compatible;
-static emacs_value ${c_func} (emacs_env *env, int nargs, emacs_value args[], void *data)
+static emacs_value
+${c_func} (emacs_env *env, int nargs, emacs_value args[], void *data)
{
return env->intern (env, "t");
}
-/* Binds NAME to FUN */
-static void bind_function (emacs_env *env, const char *name, emacs_value Sfun)
+/* Bind NAME to FUN. */
+static void
+bind_function (emacs_env *env, const char *name, emacs_value Sfun)
{
emacs_value Qfset = env->intern (env, "fset");
emacs_value Qsym = env->intern (env, name);
env->funcall (env, Qfset, 2, args);
}
-/* Provide FEATURE to Emacs */
-static void provide (emacs_env *env, const char *feature)
+/* Provide FEATURE to Emacs. */
+static void
+provide (emacs_env *env, const char *feature)
{
emacs_value Qfeat = env->intern (env, feature);
emacs_value Qprovide = env->intern (env, "provide");
env->funcall (env, Qprovide, 1, args);
}
-int emacs_module_init (struct emacs_runtime *ert)
+int
+emacs_module_init (struct emacs_runtime *ert)
{
emacs_env *env = ert->get_environment (ert);
- bind_function (env, "${lisp_func}", env->make_function (env, 1, 1, ${c_func}, "doc", NULL));
+ bind_function (env, "${lisp_func}",
+ env->make_function (env, 1, 1, ${c_func}, "doc", NULL));
provide (env, "${module}");
return 0;
}