[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] feature/aptel/dynamic-modules-rc3 9330ca6 12/25: new modul
From: |
Teodor Zlatanov |
Subject: |
[Emacs-diffs] feature/aptel/dynamic-modules-rc3 9330ca6 12/25: new module: elisp |
Date: |
Wed, 04 Feb 2015 22:56:14 +0000 |
branch: feature/aptel/dynamic-modules-rc3
commit 9330ca613bf9b51510989c7f4fdd814f7b595cc8
Author: Aurélien Aptel <address@hidden>
Commit: Aurélien Aptel <address@hidden>
new module: elisp
The elisp module simply evaluates some code written in ELisp from C.
---
modules/elisp/Makefile | 12 ++++++++++++
modules/elisp/elisp.c | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/modules/elisp/Makefile b/modules/elisp/Makefile
new file mode 100644
index 0000000..8df325e
--- /dev/null
+++ b/modules/elisp/Makefile
@@ -0,0 +1,12 @@
+ROOT = ../..
+
+all: elisp.so elisp.doc
+
+%.so: %.o
+ gcc -shared -o $@ $<
+
+%.o: %.c
+ gcc -ggdb3 -Wall -I$(ROOT)/src -I$(ROOT)/lib -fPIC -c $<
+
+%.doc: %.c
+ $(ROOT)/lib-src/make-docfile $< > $@
diff --git a/modules/elisp/elisp.c b/modules/elisp/elisp.c
new file mode 100644
index 0000000..cf61a74
--- /dev/null
+++ b/modules/elisp/elisp.c
@@ -0,0 +1,35 @@
+#include <string.h>
+#include <config.h>
+#include <lisp.h>
+
+int plugin_is_GPL_compatible;
+
+static Lisp_Object Qreplace_regexp_in_string;
+
+#define MAKE_STRING(s) (make_string (s, sizeof(s)-1))
+
+EXFUN (Felisp_test, 0);
+DEFUN ("elisp-test", Felisp_test, Selisp_test, 0, 0, 0,
+ doc: "Eval some lisp.")
+ (void)
+{
+ Lisp_Object string = MAKE_STRING ("no-more-dash");
+ Lisp_Object regex = MAKE_STRING ("[-]");
+ Lisp_Object replace = MAKE_STRING (" ");
+ Lisp_Object res;
+
+ struct gcpro gcpro1, gcpro2, gcpro3;
+ GCPRO3 (string, regex, replace);
+ res = call3 (Qreplace_regexp_in_string, regex, replace, string);
+ UNGCPRO;
+
+ return res;
+}
+
+
+void init ()
+{
+ DEFSYM (Qreplace_regexp_in_string, "replace-regexp-in-string");
+
+ defsubr (&Selisp_test);
+}
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 0526616 04/25: add sample module `fmod'., (continued)
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 0526616 04/25: add sample module `fmod'., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 19705b8 06/25: alloc.c: protect doc field from GC., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 fc0f6ec 02/25: add `load-module' function to emacs lisp., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 0cfb066 07/25: doc.c: use DOC format sanity checks instead of bytecompiled checks on module doc files., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 79e2c28 05/25: change Subr doc field from char* to Lisp_Object., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 b8286d2 08/25: doc.c: don't prefix doc path by ../etc/ for modules, Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 1b98be3 09/25: move fmod module in modules/fmod/., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 772cb16 01/25: add libltdl configure option/dependency., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 bfe16af 10/25: new module: opaque, Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 89c8287 11/25: opaque: add comments., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 9330ca6 12/25: new module: elisp,
Teodor Zlatanov <=
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 9da7346 13/25: new module: curl. basic URL fetcher working., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 582704c 14/25: curl: use url arg., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 8147699 15/25: fix docstring., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 a95e032 17/25: update modules examples with `provide' call., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 1959b65 18/25: use `load-module-suffixes' as a source of module suffixes., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 8254721 16/25: make `load' look for and handle dynamic modules., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 4000103 20/25: yaml module: add `yaml-parse-string'., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 c7248ea 21/25: yaml module: rename `yaml-parse' to `yaml-parse-buffer'., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 092a6d2 22/25: configure.ac: dynamic modules off by default., Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 4e1ad37 19/25: new yaml parsing module using libyaml, Teodor Zlatanov, 2015/02/04