[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] feature/aptel/dynamic-modules-rc3 4000103 20/25: yaml modu
From: |
Teodor Zlatanov |
Subject: |
[Emacs-diffs] feature/aptel/dynamic-modules-rc3 4000103 20/25: yaml module: add `yaml-parse-string'. |
Date: |
Wed, 04 Feb 2015 22:56:17 +0000 |
branch: feature/aptel/dynamic-modules-rc3
commit 40001035c6c9c597cda9507450ac7ae5cce44372
Author: Aurélien Aptel <address@hidden>
Commit: Aurélien Aptel <address@hidden>
yaml module: add `yaml-parse-string'.
---
modules/yaml/yaml.c | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/modules/yaml/yaml.c b/modules/yaml/yaml.c
index 4096205..6d2647f 100644
--- a/modules/yaml/yaml.c
+++ b/modules/yaml/yaml.c
@@ -56,7 +56,7 @@ parse_element (struct context *ctx)
case YAML_SCALAR_EVENT:
res = parse_scalar (ctx, &e);
if (s)
- Fputhash (make_string (s, strlen (s)), res, ctx->anchors);
+ Fputhash (make_string (s, strlen (s)), res, ctx->anchors);
break;
case YAML_SEQUENCE_START_EVENT:
@@ -143,6 +143,25 @@ context_init (struct context *ctx)
ctx->anchors = Fmake_hash_table (2, args);
}
+EXFUN (Fyaml_parse_string, 1);
+DEFUN ("yaml-parse-string", Fyaml_parse_string, Syaml_parse_string, 1, 1, 0,
+ doc: "Parse STRING as yaml.")
+ (Lisp_Object string)
+{
+ struct context ctx;
+ Lisp_Object res = Qnil;
+
+ context_init (&ctx);
+
+ yaml_parser_initialize (&ctx.p);
+ yaml_parser_set_input_string (&ctx.p, SDATA (string), SBYTES (string));
+ res = parse_element (&ctx);
+ yaml_parser_delete (&ctx.p);
+
+ return res;
+}
+
+
EXFUN (Fyaml_parse, 0);
DEFUN ("yaml-parse", Fyaml_parse, Syaml_parse, 0, 0, 0,
doc: "Parse current buffer as yaml.")
@@ -206,6 +225,7 @@ void init ()
DEFSYM (Qyaml, "yaml");
defsubr (&Syaml_parse_file);
+ defsubr (&Syaml_parse_string);
defsubr (&Syaml_parse);
Fprovide (Qyaml, Qnil);
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 772cb16 01/25: add libltdl configure option/dependency., (continued)
- [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, 2015/02/04
- [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 <=
- [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
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 1da9b91 24/25: opaque module: rename Qc variable to Qc_ due to macro collision, Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 9a1d734 25/25: modules/: add proper testing, Teodor Zlatanov, 2015/02/04
- [Emacs-diffs] feature/aptel/dynamic-modules-rc3 41ec64b 23/25: Merge branch 'master' into dynamic-modules, Teodor Zlatanov, 2015/02/04