aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2016-03-17 22:38:32 -0400
committerRalph Amissah <ralph@amissah.com>2016-03-17 23:53:20 -0400
commit3e81eda3abd27ab6beadb3f183bcbf413ecd52b8 (patch)
treeed7037df5db5c66d310a94dd0d4005d688e17764
parenttrack (diff)
org file headers updated
-rw-r--r--maker.org43
-rw-r--r--org/ao_abstract_doc_source.org112
-rw-r--r--org/ao_assertions.org10
-rw-r--r--org/ao_defaults.org14
-rw-r--r--org/ao_emitters_and_interfaces.org50
-rw-r--r--org/ao_object_setter.org16
-rw-r--r--org/ao_output_debugs.org24
-rw-r--r--org/ao_read_markup_source.org14
-rw-r--r--org/ao_rgx.org42
-rw-r--r--org/ao_scan_inserts.org18
-rw-r--r--org/ao_utils.org12
-rw-r--r--org/sdp.org26
-rw-r--r--readme.org4
-rw-r--r--sdp.org15
14 files changed, 207 insertions, 193 deletions
diff --git a/maker.org b/maker.org
index 144e04a..9c29b91 100644
--- a/maker.org
+++ b/maker.org
@@ -6,6 +6,7 @@
#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:makefile:
@@ -17,25 +18,25 @@
*** alternative D compilers [+1] :compiler:
**** dmd :dmd:
-#+BEGIN_SRC makefile :padline no :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
DMD=dmd
-DMD_FLAGS=-de -w
+DMD_FLAGS=-de -w -Jlib
DMD_FLAGS_RELEASE=-release
DMD_FLAG_BINOF=-of
#+END_SRC
**** ldc2 :ldc:
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
LDC=ldc2
-LDC_FLAGS=-w
+LDC_FLAGS=-w -J=lib
LDC_FLAGS_RELEASE=-release
LDC_FLAG_BINOF=-of=
#+END_SRC
**** gdc :gdc:
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
GDC=gdc
#GDC=gdc-5
GDC_FLAGS=
@@ -43,16 +44,16 @@ GDC_FLAGS_RELEASE=-frelease
GDC_FLAG_BINOF=-o
#+END_SRC
-*** TODO set/select: ~D compiler~ & ~debug flags~ [+1] [2/2] :select:
+*** TODO set/select: ~D compiler~ & ~debug flags~ [+1] [2/2] :select:
- [X] Set D_COMPILER (one of DMD LDC or GDC)
- [X] Set debug flags (using DMD standard flag -debug=)
**** SET compiler: "SET_D_COMPILER=": :compiler:select:
[[http://wiki.dlang.org/Compilers][D Compilers wiki]]
[[http://dlang.org/download.html][D Compilers download]]
-Set D_COMPILER one of DMD LDC or GDC e.g.: SET_D_COMPILER=DMD
+Set D_COMPILER one of DMD, LDC or GDC e.g.: SET_D_COMPILER=DMD
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
# SET_D_COMPILER=(one of: DMD LDC or GDC):
SET_D_COMPILER=LDC
#+END_SRC
@@ -61,14 +62,14 @@ SET_D_COMPILER=LDC
Set debug flags using DMD standard flag -debug= e.g.:
SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=bookindex
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=footnotes -debug=endnotes
#+END_SRC
*** D compiler settings [+1] :settings:compiler:
**** compiler settings
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
DC=$($(SET_D_COMPILER))
DC_FLAGS=$($(shell echo $(SET_D_COMPILER)_FLAGS))
DC_FLAGS_RELEASE=$($(shell echo $(SET_D_COMPILER)_FLAGS_RELEASE))
@@ -80,7 +81,7 @@ DC_FLAGS_DEBUG_SET=\
**** compiler conditional settings (depending on selected D compiler)
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
ifeq ($(DC), $(DMD))
DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET))
endif
@@ -94,7 +95,7 @@ endif
*** Project Details :project:sdp:
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
PRG_NAME=sdp
PRG_SRC=$(PRG_NAME).d
PRG_SRCDIR=./lib
@@ -104,7 +105,7 @@ PRG_BINDIR=bin
*** Emacs Org settings :settings:emacs:org:tangle:
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
# ORG
EMACSLISP=/usr/share/emacs/site-lisp
EMACSLISP_ORG=~/.emacs.d/elpa/org-20151005
@@ -133,7 +134,7 @@ ORGDIR=$(shell echo `pwd`)
*** build commands [+1] :build:compile:
**** build rebuild
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
all: build
build: $(PRG_SRCDIR)/$(PRG_SRC)
@@ -146,7 +147,7 @@ rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build
**** debug
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
debug: $(PRG_SRCDIR)/$(PRG_SRC)
$(DC) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \
$(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
@@ -170,7 +171,7 @@ debug_gdc: $(PRG_SRCDIR)/$(PRG_SRC)
**** release
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC)
$(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \
$(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \
@@ -179,7 +180,7 @@ release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC)
*** init clean distclean etc. :clean:
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
init:
mkdir -p $(PRG_SRCDIR); \
mkdir -p $(PRG_BINDIR);
@@ -200,7 +201,7 @@ distclean_and_init: init $(PRG_BINDIR) expunge
*** Org Babel Tangle batch process command :tangle:
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
tangle:
for f in $(ORGFILELIST); do \
ORGFILES="$$ORGFILES \"$$f\""; \
@@ -223,14 +224,14 @@ tangle:
*** Git snapshot
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
gitsnapshot: distclean_and_init tangle
git commit -a
#+END_SRC
** phony
-#+BEGIN_SRC makefile :tangle makefile
+#+BEGIN_SRC makefile :tangle makefile
.PHONY : all build rebuild debug release \
clean distclean init \
tangle
@@ -243,7 +244,7 @@ babel tangle) org files in ./org/ to create .d source files in ./lib/sdp/
(similar functionality is contained within the "makefile" created by this
"maker.org" file make tangle)
-#+BEGIN_SRC sh :tangle tangle :padline no :tangle-mode (identity #o755) :shebang #!/bin/sh
+#+BEGIN_SRC sh :tangle tangle :tangle-mode (identity #o755) :shebang #!/bin/sh
# -*- mode: shell-script -*-
# tangle files with org-mode
DIR=`pwd`
diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org
index 6694fa0..0a53bf7 100644
--- a/org/ao_abstract_doc_source.org
+++ b/org/ao_abstract_doc_source.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -17,7 +17,7 @@
Process markup document, create document abstraction.
** initialize
#+name: abs_init
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/+ initialize +/
mixin ObjectSetters;
mixin AssertionsOnMarkupDocumentStructure;
@@ -152,7 +152,7 @@ auto dochead_metadata = parseJSON(header_metadata_jsonstr).object;
** loop: process document body [+7]
*** scope :scope:
#+name: abs_loop_body_00
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* scope */
scope(exit) {
}
@@ -177,7 +177,7 @@ debug(srclines) {
#+END_SRC
*** check whether ocn is on or turned off :ocn:
#+name: abs_loop_body_00
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if ((!line.empty) && (ft["ocn_status_multi_obj"] == 0)) {
/* not multi-line object, check whether ocn is on or turned off */
if (match(line, rgx.ocn_block_marks)) {
@@ -221,7 +221,7 @@ if ((!line.empty) && (ft["ocn_status_multi_obj"] == 0)) {
*** separate regular markup text from code blocks [+6]
**** code blocks :block:code:
#+name: abs_loop_body_00
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (ft["code"] == 1) {
/* block object: code */
if (ft["curly_code"] == 1) {
@@ -256,14 +256,14 @@ if (ft["code"] == 1) {
#+END_SRC
**** non code objects (other blocks or regular text) [+5] :non_code:
#+name: abs_loop_body_00
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (!match(line, rgx.regular_parse_skip)) {
/* object other than code block object (includes regular text paragraph) */
#+END_SRC
***** within block group [+1] :block:active:
****** within block group: biblio :biblio:
#+name: abs_loop_body_non_code_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (((match(line, rgx.heading_biblio)
|| (ft["heading_biblio"] == 1)))
&& (!match(line, rgx.heading))
@@ -351,7 +351,7 @@ if (((match(line, rgx.heading_biblio)
#+END_SRC
****** within block group: poem :poem:
#+name: abs_loop_body_non_code_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (ft["poem"] == 1) {
/* within block object: poem */
if (ft["curly_poem"] == 1) {
@@ -552,7 +552,7 @@ if (((match(line, rgx.heading_biblio)
#+END_SRC
****** within block group: group :group:
#+name: abs_loop_body_non_code_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* within block object: group */
} else if (ft["group"] == 1) {
if (ft["curly_group"] == 1) {
@@ -587,7 +587,7 @@ if (((match(line, rgx.heading_biblio)
#+END_SRC
****** within block group: block :block:
#+name: abs_loop_body_non_code_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (ft["block"] == 1) {
/* within block object: block */
if (ft["curly_block"] == 1) {
@@ -622,7 +622,7 @@ if (((match(line, rgx.heading_biblio)
#+END_SRC
****** within block group: quote :quote:
#+name: abs_loop_body_non_code_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (ft["quote"] == 1) {
/* within block object: quote */
if (ft["curly_quote"] == 1) {
@@ -657,7 +657,7 @@ if (((match(line, rgx.heading_biblio)
#+END_SRC
****** within block group: table :table:
#+name: abs_loop_body_non_code_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (ft["table"] == 1) {
/* within block object: table */
if (ft["curly_table"] == 1) {
@@ -692,13 +692,13 @@ if (((match(line, rgx.heading_biblio)
#+END_SRC
***** not identified as being within block group [+4]
#+name: abs_loop_body_non_code_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else {
/* not within a block group */
#+END_SRC
****** assert
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
assert(
(ft["blocks"] == 0)
|| (ft["blocks"] == 2),
@@ -709,7 +709,7 @@ assertions_flag_types_block_status_none_or_closed(ft);
****** open curly block group [+1] :block:curly:open:
******* open block group: code :code:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (auto m = match(line, rgx.block_curly_code_open)) {
/* curly code open */
debug(code) { // code (curly) open
@@ -726,7 +726,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: poem :poem:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_curly_poem_open)) {
/* curly poem open */
object.remove("obj");
@@ -751,7 +751,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: group :group:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_curly_group_open)) {
/* curly group open */
debug(group) { // group (curly) open
@@ -768,7 +768,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: block :block:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_curly_block_open)) {
/* curly block open */
debug(block) { // block (curly) open
@@ -785,7 +785,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: quote :quote:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_curly_quote_open)) {
/* curly quote open */
debug(quote) { // quote (curly) open
@@ -802,7 +802,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: table :table:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_curly_table_open)) {
/* curly table open */
debug(table) { // table (curly) open
@@ -820,7 +820,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
****** open tic block group [+1] :block:tic:open:
******* open block group: code :code:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_tic_code_open)) {
/* tic code open */
debug(code) { // code (tic) open
@@ -837,7 +837,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: poem :poem:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_tic_poem_open)) {
/* tic poem open */
object.remove("obj");
@@ -862,7 +862,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: group :group:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_tic_group_open)) {
/* tic group open */
debug(group) { // group (tic) open
@@ -879,7 +879,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: block :block:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_tic_block_open)) {
/* tic block open */
debug(block) { // block (tic) open
@@ -896,7 +896,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: quote :quote:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_tic_quote_open)) {
/* tic quote open */
debug(quote) { // quote (tic) open
@@ -913,7 +913,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* open block group: table :table:
#+name: abs_loop_body_open_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.block_tic_table_open)) {
/* tic table open */
debug(table) { // table (tic) open
@@ -930,14 +930,14 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
****** line not empty [+3]
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (!line.empty) {
/* line not empty */
/* non blocks (headers, paragraphs) & closed blocks */
#+END_SRC
******* asserts :assert:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
assert(
!line.empty,
"line tested, line not empty surely"
@@ -962,7 +962,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* book index :bookindex:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (auto m = match(line, rgx.book_index)) {
/* match book_index */
debug(bookindexmatch) { // book index
@@ -1005,13 +1005,13 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******* not book index [+2]
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else {
/* not book_index */
#+END_SRC
******** matched: comment :comment:match:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (auto m = match(line, rgx.comment)) {
/* matched comment */
debug(comment) {
@@ -1039,7 +1039,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** matched: header make :header:make:match:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.header_make)) {
/* matched header_make */
debug(header1) { // header
@@ -1055,7 +1055,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** matched: header metadata :header:metadata:match:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (auto m = match(line, rgx.header_metadata)) {
/* matched header_metadata */
debug(header1) { // header
@@ -1071,7 +1071,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** flag set: header make :header:make:flag:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (ft["header_make"] == 1
&& (line_occur["header_make"] > 0)) {
/* header_make flag set */
@@ -1086,7 +1086,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** flag set: header metadata :header:metadata:flag:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (ft["header_metadata"] == 1
&& (line_occur["header_metadata"] > 0)) {
/* header_metadata flag set */
@@ -1101,7 +1101,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** flag not set & line not exist: heading or para [+1]
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (((line_occur["para"] == 0)
&& (line_occur["heading"] == 0))
&& ((ft["para"] == 0)
@@ -1110,7 +1110,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
********* headings found :heading:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if ((to!string(dochead_make["make"]["headings"]).length > 2)
&& (ft["make_headings"] == 0)) {
/* headings found */
@@ -1180,7 +1180,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
********* headings make set :heading:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if ((ft["make_headings"] == 1)
&& ((line_occur["para"] == 0)
&& (line_occur["heading"] == 0))
@@ -1233,7 +1233,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
********* headings match :heading:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (auto m = match(line, rgx.heading)) {
/* heading match */
ft["heading"] = 1;
@@ -1360,7 +1360,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
********* para matches :para:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (line_occur["para"] == 0) {
/* para matches */
if (auto m = match(line, rgx.para_indent)) {
@@ -1411,7 +1411,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** line exist: header make :header:make:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (line_occur["header_make"] > 0) {
/* header_make */
// should be caught by sub-header
@@ -1423,7 +1423,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** line exist: header metadata :header:metadata:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (line_occur["header_metadata"] > 0) {
/* header_metadata */
// should be caught by sub-header
@@ -1435,7 +1435,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** line exist: heading :heading:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (line_occur["heading"] > 0) {
/* heading */
debug(heading) { // heading
@@ -1446,7 +1446,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
******** line exist: para :para:
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (line_occur["para"] > 0) {
/* paragraph */
debug(para) {
@@ -1459,7 +1459,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
****** line empty, with block flag
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if (ft["blocks"] == 2) {
/* line empty, with blocks flag */
assert(
@@ -1674,13 +1674,13 @@ if (auto m = match(line, rgx.block_curly_code_open)) {
#+END_SRC
****** line empty [+1]
#+name: abs_loop_body_not_block_obj
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else {
/* line empty */
#+END_SRC
******* assert line empty :assert:
#+name: abs_loop_body_not_block_obj_line_empty
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* line.empty, post contents, empty variables: */
assert(
line.empty,
@@ -1693,7 +1693,7 @@ assert(
#+END_SRC
******* header_make instructions :header:make:instructions:
#+name: abs_loop_body_not_block_obj_line_empty
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if ((ft["header_make"] == 1)
&& (line_occur["header_make"] > 0)) {
/* header_make instructions (current line empty) */
@@ -1718,7 +1718,7 @@ if ((ft["header_make"] == 1)
#+END_SRC
******* header_metadata :header:metadata:
#+name: abs_loop_body_not_block_obj_line_empty
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if ((ft["header_metadata"] == 1)
&& (line_occur["header_metadata"] > 0)) {
/* header_metadata (current line empty) */
@@ -1745,7 +1745,7 @@ if ((ft["header_make"] == 1)
#+END_SRC
******* heading object :heading:object:
#+name: abs_loop_body_not_block_obj_line_empty
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if ((ft["heading"] == 1)
&& (line_occur["heading"] > 0)) {
/* heading object (current line empty) */
@@ -1803,7 +1803,7 @@ if ((ft["header_make"] == 1)
#+END_SRC
******* paragraph object :paragraph:object:
#+name: abs_loop_body_not_block_obj_line_empty
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} else if ((ft["para"] == 1) && (line_occur["para"] > 0)) {
/* paragraph object (current line empty) */
ocn = ocn_emit(ft["ocn_status"]);
@@ -1863,14 +1863,14 @@ if ((ft["header_make"] == 1)
#+END_SRC
*** close non code objects (regular text)
#+name: abs_loop_body_00_closed
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
} // close else for line empty
} // close else for not the above
} // close after non code, other blocks or regular text
#+END_SRC
*** regular text objects
#+name: abs_loop_body_01
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (((contents_arbitrary_max_length_set[counter-1]["is"] == "para")
|| (contents_arbitrary_max_length_set[counter-1]["is"] == "heading"))
&& (counter-1 > previous_count)) {
@@ -1887,7 +1887,7 @@ if (((contents_arbitrary_max_length_set[counter-1]["is"] == "para")
** post loop processing
#+name: abs_post
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(objectrelated2) { // check
tell_l("blue", line);
}
@@ -1989,7 +1989,7 @@ return t;
* tangles :tangle:
** code structure: :ao_abstract_doc_source.d:
#+name: tangle_ao_abstract_doc_source
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_abstract_doc_source.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_abstract_doc_source.d
/*
document abstraction
ao_abstract_doc_source.d
diff --git a/org/ao_assertions.org b/org/ao_assertions.org
index b041541..0257f37 100644
--- a/org/ao_assertions.org
+++ b/org/ao_assertions.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -16,7 +16,7 @@
[[./sdp.org][sdp]] [[./][org/]]
** mixin template: assertions on markup document structure :doc_structure:
#+name: ao_assertions
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
mixin template AssertionsOnMarkupDocumentStructure() {
auto assertions_doc_structure(string[string] object, uint[string] lv) {
if (lv["h3"] > 0) {
@@ -218,7 +218,7 @@ mixin template AssertionsOnMarkupDocumentStructure() {
#+END_SRC
** mixin template: assertions on blocks :blocks:
#+name: ao_assertions
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
mixin template AssertionsOnBlocks() {
auto assertions_flag_types_block_status_none_or_closed(int[string] flag_type) {
assert(
@@ -243,7 +243,7 @@ mixin template AssertionsOnBlocks() {
* tangle :tangle:
** code structure: :ao_assertions.d:
#+name: tangle_ao_assertions
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_assertions.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_assertions.d
/*
assertions
ao_assertions.d
diff --git a/org/ao_defaults.org b/org/ao_defaults.org
index 27039c7..6be3da3 100644
--- a/org/ao_defaults.org
+++ b/org/ao_defaults.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -16,7 +16,7 @@
[[./sdp.org][sdp]] [[./][org/]]
** template: header :header:
#+name: ao_defaults_templates
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
template SiSUheader() {
auto header_make_jsonstr = `{
"make": {
@@ -183,7 +183,7 @@ template SiSUheader() {
#+END_SRC
** template: flags regex initialize :regex_flags:
#+name: ao_defaults_templates
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* regex flags */
template SiSUrgxInitFlags() {
int[string] flag_type = [
@@ -221,7 +221,7 @@ template SiSUrgxInitFlags() {
#+END_SRC
** template: bibliography :biblio:
#+name: ao_defaults_templates
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
template SiSUbiblio() {
auto biblio_entry_tags_jsonstr = `{
"is" : "",
@@ -272,7 +272,7 @@ template SiSUbiblio() {
#+END_SRC
** template: internal markup :markup:
#+name: ao_defaults_templates
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
template InternalMarkup() {
class InternalMarkup {
auto en_a_o = "【"; auto en_a_c = "】";
@@ -284,7 +284,7 @@ template InternalMarkup() {
* tangles :tangle:
** code structure: :ao_defaults.d:
#+name: tangle_ao_defaults
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_defaults.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_defaults.d
/*
defaults
ao_defaults.d
diff --git a/org/ao_emitters_and_interfaces.org b/org/ao_emitters_and_interfaces.org
index 0f80bc9..f19907f 100644
--- a/org/ao_emitters_and_interfaces.org
+++ b/org/ao_emitters_and_interfaces.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -20,7 +20,7 @@ various emitters and their interfaces (where available)
** e: command line interface/instructions
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class CLI {
string[string] extract_actions(string cmdlnins, string[string] actions)
in { }
@@ -39,7 +39,7 @@ class CLI {
** e&i: ocn
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class OCNemitter : AssertOCN {
int ocn, ocn_;
int ocn_emitter(int ocn_status_flag)
@@ -58,7 +58,7 @@ class OCNemitter : AssertOCN {
#+END_SRC
*** interface assert :interface:assert:
#+name: ao_interface
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
interface AssertOCN {
int ocn_emitter(int ocn_status_flag)
in { assert(ocn_status_flag <= 2); }
@@ -68,7 +68,7 @@ interface AssertOCN {
** e: object attributes
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class ObjAttributes {
string[string] obj_txt;
string para_and_blocks(string obj_txt_in)
@@ -225,7 +225,7 @@ class ObjAttributes {
** e: object inline markup munge
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class ObjInlineMarkupMunge {
string[string] obj_txt;
int n_foot, n_foot_reg, n_foot_sp_asterisk, n_foot_sp_plus;
@@ -409,7 +409,7 @@ class ObjInlineMarkupMunge {
** e&i: object inline markup
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class ObjInlineMarkup : AssertObjInlineMarkup {
auto munge = new ObjInlineMarkupMunge();
string[string] obj_txt;
@@ -468,7 +468,7 @@ class ObjInlineMarkup : AssertObjInlineMarkup {
#+END_SRC
*** interface assert :interface:assert:
#+name: ao_interface
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
interface AssertObjInlineMarkup {
string obj_inline_markup(string obj_raw, string obj_type_)
in {
@@ -480,7 +480,7 @@ interface AssertObjInlineMarkup {
** e&i: object attrib
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class ObjAttrib : AssertObjAttrib {
auto attrib = new ObjAttributes();
string[string] obj_attrib;
@@ -570,7 +570,7 @@ class ObjAttrib : AssertObjAttrib {
#+END_SRC
*** interface assert :interface:assert:
#+name: ao_interface
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
interface AssertObjAttrib {
string obj_attributes(string obj_raw, string node, string obj_type_)
in {
@@ -582,7 +582,7 @@ interface AssertObjAttrib {
** e: header document metadata in json
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class HeaderDocMetadataMakeJson {
auto rgx = new Rgx();
string hm, hs;
@@ -777,7 +777,7 @@ class HeaderDocMetadataMakeJson {
** e: header document metadata as hash
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class HeaderMetadataMakeHash {
auto rgx = new Rgx();
string header_main;
@@ -830,7 +830,7 @@ class HeaderMetadataMakeHash {
** e&i: book index nugget hash
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class BookIndexNuggetHash : AssertBookIndexNuggetHash {
string main_term, sub_term, sub_term_bits;
uint ocn_offset, ocn_endpoint;
@@ -895,7 +895,7 @@ class BookIndexNuggetHash : AssertBookIndexNuggetHash {
#+END_SRC
*** interface assert :interface:assert:
#+name: ao_interface
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
interface AssertBookIndexNuggetHash {
string[][string][string] bookindex_nugget_hash(string bookindex, int ocn)
in {
@@ -916,7 +916,7 @@ interface AssertBookIndexNuggetHash {
** e&i: book index report
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class BookIndexReport {
int mkn, skn;
auto bookindex_report_sorted(
@@ -944,7 +944,7 @@ class BookIndexReport {
#+END_SRC
*** interface assert :interface:assert:
#+name: ao_interface
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
interface AssertBookIndexReport {
string[][string][][string][] bookindex_nugget_hash(string[][string][string] bookindex_unordered_hashes)
in {
@@ -954,7 +954,7 @@ interface AssertBookIndexReport {
** e: book index report indented
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class BookIndexReportIndent {
int mkn, skn;
auto bookindex_report_indented(
@@ -985,7 +985,7 @@ class BookIndexReportIndent {
** e: book index report section
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class BookIndexReportSection {
mixin ObjectSetters;
int mkn, skn;
@@ -1151,7 +1151,7 @@ class BookIndexReportSection {
** e: (end)notes section
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class NotesSection {
mixin ObjectSetters;
string object_notes;
@@ -1276,7 +1276,7 @@ class NotesSection {
** e: bibliography
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class Bibliography {
public JSONValue[] bibliography(string[] biblio_unsorted_incomplete)
in { }
@@ -1348,7 +1348,7 @@ class Bibliography {
** e&i: node structure metadata
*** emitter :emitter:
#+name: ao_emitter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
class NodeStructureMetadata : AssertNodeJSON {
int lv, lv0, lv1, lv2, lv3, lv4, lv5, lv6, lv7;
uint ocn;
@@ -1475,7 +1475,7 @@ class NodeStructureMetadata : AssertNodeJSON {
*** interface assert :interface:assert:
#+name: ao_interface
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
interface AssertNodeJSON {
string node_emitter(
string lvn,
@@ -1578,7 +1578,7 @@ interface AssertNodeJSON {
* tangles :tangle:
** code structure: :ao_emitter.d:
#+name: tangle_ao_emitter
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_emitter.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_emitter.d
/*
emitters
ao_emitters.d
@@ -1590,7 +1590,7 @@ mixin template Emitters() {
#+END_SRC
** code structure: :ao_interface.d:
#+name: tangle_ao_interface
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_interface.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_interface.d
/*
interface
ao_interface.d
diff --git a/org/ao_object_setter.org b/org/ao_object_setter.org
index f6b9322..f5c2bbd 100644
--- a/org/ao_object_setter.org
+++ b/org/ao_object_setter.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -16,7 +16,7 @@
[[./sdp.org][sdp]] [[./][org/]]
** struct :struct:
#+name: ao_object_setter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
string[string] contents_comment(in string object) {
string[string] object_set;
object_set["use"] = "comment";
@@ -28,7 +28,7 @@ string[string] contents_comment(in string object) {
#+END_SRC
** heading :heading:
#+name: ao_object_setter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
string[string] contents_heading(
in int type,
in string object,
@@ -54,7 +54,7 @@ string[string] contents_heading(
#+END_SRC
** para :para:
#+name: ao_object_setter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
string[string] contents_para(
in string type,
in string object,
@@ -79,7 +79,7 @@ string[string] contents_para(
#+END_SRC
** block :block:
#+name: ao_object_setter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
string[string] contents_block(
in string type,
in string object,
@@ -98,7 +98,7 @@ string[string] contents_block(
#+END_SRC
** block ocn string :block:
#+name: ao_object_setter
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
string[string] contents_block_ocn_string(
in string type,
in string object,
@@ -119,7 +119,7 @@ string[string] contents_block_ocn_string(
* tangles :tangle:
** code structure: :ao_object_setter.d:
#+name: tangle_ao_object_setter
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_object_setter.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_object_setter.d
/*
object setter
ao_object_setter.d
diff --git a/org/ao_output_debugs.org b/org/ao_output_debugs.org
index 4891df9..f10c474 100644
--- a/org/ao_output_debugs.org
+++ b/org/ao_output_debugs.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -16,7 +16,7 @@
[[./sdp.org][sdp]] [[./][org/]]
** (parent) :parent:
#+name: ao_output_debugs
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(parent) {
writeln(__FILE__, ":", __LINE__);
foreach (obj; contents) {
@@ -36,7 +36,7 @@ debug(parent) {
#+END_SRC
** (objects) :objects:
#+name: ao_output_debugs
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(objects) {
writeln("-------------------------------");
writeln(__FILE__, ":", __LINE__);
@@ -55,7 +55,7 @@ debug(objects) {
#+END_SRC
** (headermakejson) :json:header:
#+name: ao_output_debugs
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(headermakejson) {
writeln("document header, metadata & make instructions:");
writeln(dochead);
@@ -81,7 +81,7 @@ debug(headermakejson) {
#+END_SRC
** (headermetadatajson) :json:header:
#+name: ao_output_debugs
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(headermetadatajson) {
writeln("document header, metadata & make instructions:");
writeln(dochead);
@@ -186,7 +186,7 @@ debug(headermetadatajson) {
#+END_SRC
** (bookindex) :bookindex:
#+name: ao_output_debugs
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(bookindex) {
writeln("-------------------------------");
writeln(__FILE__, ":", __LINE__);
@@ -196,7 +196,7 @@ debug(bookindex) {
#+END_SRC
** (summary) [+1] :summary:
#+name: ao_output_debugs
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(summary) {
string[string] check = [
"last_ocn" : "NA [debug \"checkdoc\" not run]",
@@ -204,7 +204,7 @@ debug(summary) {
#+END_SRC
*** (checkdoc) :checkdoc:
#+name: ao_output_debugs_summary
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(checkdoc) {
foreach (obj; contents) {
if (obj["use"] == "content") {
@@ -217,7 +217,7 @@ debug(checkdoc) {
#+END_SRC
*** (headings) :headings:
#+name: ao_output_debugs_summary
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(headings) {
writeln("-------------------------------");
writeln(__FILE__, ":", __LINE__);
@@ -245,7 +245,7 @@ writeln(
#+END_SRC
*** compare number of ocn for known sisu markup output (checkdoc)
#+name: ao_output_debugs_summary
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
debug(checkdoc) {
if (auto mfn=match(fn_src, rgx.src_fn)) {
if (actions["assert"] == "yes") {
@@ -376,7 +376,7 @@ debug(checkdoc) {
* tangles :tangle:
** code structure: :ao_output_debugs.d:
#+name: tangle_ao_output_debugs
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_output_debugs.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_output_debugs.d
/*
output debugs
ao_output_debugs.d
diff --git a/org/ao_read_markup_source.org b/org/ao_read_markup_source.org
index d6cb0dc..d0aa4f9 100644
--- a/org/ao_read_markup_source.org
+++ b/org/ao_read_markup_source.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -17,7 +17,7 @@
** source string :string:
#+name: ao_read_markup_source
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
final private string markupSourceString(in char[] fn_src) {
enforce(
exists(fn_src)!=0,
@@ -45,7 +45,7 @@ final private string markupSourceString(in char[] fn_src) {
** source line array :array:
#+name: ao_read_markup_source
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
final private char[][] markupSourceLineArray(in string src_text) {
char[][] source_line_arr =
split(cast(char[]) src_text, rgx.line_delimiter);
@@ -55,7 +55,7 @@ final private char[][] markupSourceLineArray(in string src_text) {
** insert source content raw line array :array:
#+name: ao_read_markup_source
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
final char[][] markupInsertSourceContentRawLineArray(in char[] fn_src) {
enforce(
match(fn_src, rgx.src_fn_find_inserts),
@@ -69,7 +69,7 @@ final char[][] markupInsertSourceContentRawLineArray(in char[] fn_src) {
** source content raw line array :array:
#+name: ao_read_markup_source
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
final char[][] markupSourceContentRawLineArray(in char[] fn_src) {
enforce(
match(fn_src, rgx.src_pth),
@@ -84,7 +84,7 @@ final char[][] markupSourceContentRawLineArray(in char[] fn_src) {
* tangles :tangle:
** code structure: :ao_read_markup_source.d:
#+name: tangle_ao_read_markup_source
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_read_markup_source.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_read_markup_source.d
/*
read markup source
ao_read_markup_source.d
diff --git a/org/ao_rgx.org b/org/ao_rgx.org
index 39767eb..b9d44d0 100644
--- a/org/ao_rgx.org
+++ b/org/ao_rgx.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -16,7 +16,7 @@
[[./sdp.org][sdp]] [[./][org/]]
** misc :misc:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* misc */
static flag_action = ctRegex!(`^(--[a-z][a-z0-9-]+)$`);
static flag_action_str = ctRegex!(` (--[a-z][a-z0-9-]+)`);
@@ -41,20 +41,20 @@ static levels_numbered_headings = ctRegex!(`^[0-7]$`);
#+END_SRC
** markup insert file :insert:file:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* insert markup file */
static insert_src_fn_ssi_or_sst = ctRegex!(`^<<\s*(?P<path>[a-zA-Z0-9._-]+/)*(?P<filename>[a-zA-Z0-9._-]+[.]ss[ti])$`);
// static insert_ssi_or_sst_fn = ctRegex!(`^<<\s*[a-zA-Z0-9._-]+[.]ss[ti]`);
#+END_SRC
** comments :comment:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* comments */
static comment = ctRegex!(`^%+ `);
#+END_SRC
** header :header:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* header */
static header = ctRegex!(`^@([a-z_]+):(?:\s|$)`);
static header_make = ctRegex!(`^@(make):(?:\s|$)`);
@@ -65,7 +65,7 @@ static head_sub = ctRegex!(`^[ ]*:([a-z_]+):\s+(.+)`, "m");
#+END_SRC
** header & paragraph operators :paragraph:operator:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* heading & paragraph operators */
static heading = ctRegex!(`^:?([A-D1-4])[~]([a-z0-9_.-]*[?]?) `);
static heading_marker = ctRegex!(`^:?([A-D1-4])[~]`);
@@ -81,7 +81,7 @@ static para_attribs = ctRegex!(`^_(([0-9])(_([0-9]))?|_([1-9])?[*]) `);
#+END_SRC
** blocked markup tics :block:tic:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* blocked markup tics */
static block_tic_code_open = ctRegex!("^`{3} (code)");
static block_tic_poem_open = ctRegex!("^`{3} (poem)");
@@ -93,7 +93,7 @@ static block_tic_close = ctRegex!("^(`{3})$","m");
#+END_SRC
** blocked markup curly :block:curly:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* blocked markup curly */
static block_curly_code_open = ctRegex!(`^(code[{].*?$)`);
static block_curly_code_close = ctRegex!(`^([}]code)`);
@@ -110,7 +110,7 @@ static block_curly_table_close = ctRegex!(`^([}]table)`);
#+END_SRC
** inline markup font face mod :inline:font:face:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* inline markup font face mod */
static inline_emphasis = ctRegex!(`\*\{(?P<text>.+?)\}\*`);
static inline_bold = ctRegex!(`!\{(?P<text>.+?)\}!`);
@@ -123,7 +123,7 @@ static inline_mono = ctRegex!(`#\{(?P<text>.+?)\}#`);
#+END_SRC
** inline markup footnotes :inline:footnote:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* inline markup footnotes */
static true_dollar = ctRegex!(`\$`, "gm");
static inline_notes_al = ctRegex!(`【(?:[*+]\s+|\s*)(.+?)】`, "mg");
@@ -154,7 +154,7 @@ static inline_note_square_delimiters = ctRegex!(`(~\[\s*)(.+?)(\]~)`, "m
#+END_SRC
** inline markup book index :inline:bookindex:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* inline markup book index */
static book_index = ctRegex!(`^=\{\s*(.+?)\}$`, "m");
static book_index_open = ctRegex!(`^=\{\s*([^}]+?)$`);
@@ -162,7 +162,7 @@ static book_index_close = ctRegex!(`^(.*?)\}$`, "m"); // strip
#+END_SRC
** no ocn object :ocn:off:object:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* no ocn object */
static ocn_off = ctRegex!(`~#$`, "m");
static ocn_off_dh = ctRegex!(`-#$`, "m");
@@ -170,7 +170,7 @@ static ocn_off_all = ctRegex!(`[~-]#$`, "m");
#+END_SRC
** no ocn block :ocn:off:block:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* no ocn block */
static ocn_off_block = ctRegex!(`^--~#$`);
static ocn_off_block_dh = ctRegex!(`^---#$`);
@@ -180,13 +180,13 @@ static ocn_block_marks = ctRegex!(`^--[+~-]#$`);
#+END_SRC
** ignore outside code blocks :block:code:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* ignore outside code blocks */
static regular_parse_skip = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); // not structural info
#+END_SRC
** line & page breaks :break:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* line & page breaks */
static break_line_within_object = ctRegex!(`[\\]{2}( |$)`);
// static break_line_break_within_object = ctRegex!(`( |^)[\\]{2}( |$)`);
@@ -199,13 +199,13 @@ static parent = ctRegex!(`([0-7]):([0-9]+)`);
#+END_SRC
** json :json:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* json */
static tailing_comma = ctRegex!(`,$`, "m");
#+END_SRC
** head :header:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* head */
static main_headers = ctRegex!(`^(?:creator|title|rights|date|original|classify|identifier|notes|publisher|make|links)$`, "m");
static subhead_creator = ctRegex!(`^(?:author|translator|illustrator)$`, "m");
@@ -221,14 +221,14 @@ static subhead_make = ctRegex!(`^(?:cover_image|home_button_image|h
#+END_SRC
** biblio tags :biblio:tags:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* biblio tags */
static biblio_tags = ctRegex!(`^(is|au|author_raw|author|author_arr|editor_raw|ed|editor_arr|ti|title|subtitle|fulltitle|lng|language|trans|src|jo|journal|in|vol|volume|edn|edition|yr|year|pl|place|pb|pub|publisher|url|pg|pages|note|short_name|id):\s+(.+)`);
static biblio_abbreviations = ctRegex!(`^(au|ed|ti|lng|jo|vol|edn|yr|pl|pb|pub|pg|pgs|sn)$`);
#+END_SRC
** bookindex split :bookindex:split:
#+name: ao_rgx
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* bookindex split */
static bi_main_terms_split = ctRegex!(`\s*;\s*`);
static bi_main_term_plus_rest_split = ctRegex!(`\s*:\s*`);
@@ -238,7 +238,7 @@ static bi_term_and_ocns_match = ctRegex!(`^(.+?)\+(\d+)`);
* tangles :tangle:
** code structure: :ao_rgx.d:
#+name: tangle_ao_rgx
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_rgx.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_rgx.d
/*
regex
ao_rgx.d
diff --git a/org/ao_scan_inserts.org b/org/ao_scan_inserts.org
index 5da6b0a..87e56c0 100644
--- a/org/ao_scan_inserts.org
+++ b/org/ao_scan_inserts.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -18,7 +18,7 @@
** scan inserts (sub-document) source :scan_insert_src:
*** scan subdoc source
#+name: ao_inserts_scan
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
char[][100000] cont_arbitrary_max_length_set_;
auto ft0 = flag_type.dup;
auto ft1 = flag_type.dup;
@@ -38,7 +38,7 @@ auto markup_src_file_path = fn_pth_full.captures[1];
#+END_SRC
*** loop insert (sub-document)
#+name: ao_inserts_scan_loop
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (ft1["curly_code"] == 1) {
ft1["header_make"] = 0;
ft1["header_metadata"] = 0;
@@ -121,7 +121,7 @@ if (ft1["curly_code"] == 1) {
#+END_SRC
*** post loop
#+name: ao_inserts_scan_post
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
auto contents_ = cont_arbitrary_max_length_set_[0 .. counter["add"]].dup;
auto t = tuple(contents_, add);
return t;
@@ -130,7 +130,7 @@ return t;
** scan document source :scan_src:
*** scan doc source
#+name: ao_doc_scan
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
char[][100000] cont_arbitrary_max_length_set; // 2000 pg * 50 lines
string[string] processing;
uint[string] line_occur;
@@ -149,7 +149,7 @@ auto markup_src_file_path = fn_pth_full.captures[1];
#+END_SRC
*** loop insert (document)
#+name: ao_doc_scan_loop
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (ft["curly_code"] == 1) {
ft["header_make"] = 0;
ft["header_metadata"] = 0;
@@ -244,7 +244,7 @@ if (ft["curly_code"] == 1) {
#+END_SRC
*** post loop
#+name: ao_doc_scan_post
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
auto contents = cont_arbitrary_max_length_set[0..add].dup;
debug(insert) { // insert file
writeln(__LINE__);
@@ -257,7 +257,7 @@ return contents;
* tangles :tangle:
** code structure: :ao_inserts.d:
#+name: tangle_ao_inserts
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_scan_inserts.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_scan_inserts.d
/+
inserts
ao_inserts.d
diff --git a/org/ao_utils.org b/org/ao_utils.org
index 9f3bdb5..c4ead3f 100644
--- a/org/ao_utils.org
+++ b/org/ao_utils.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
@@ -16,7 +16,7 @@
[[./sdp.org][sdp]] [[./][org/]]
** set colors for terminal :colors:terminal:
#+name: ao_utils
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
string[string] scr_txt_color = [
"off" : "\033[0m",
"white" : "\033[37m",
@@ -89,21 +89,21 @@ string[string] scr_txt_marker = [
* code snippets, use as needed :code:snippet:debug:
** called from
-#+BEGIN_SRC d :tangle no :exports none
+#+BEGIN_SRC d :tangle no
string functionName = __FUNCTION__,
string file = __FILE__,
size_t line = __LINE__) {
writefln("Called from function %s at file %s, line %s",
functionName, file, line);
#+END_SRC :tangle no
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
writefln("Inside function %s at file %s, line %s",
__FUNCTION__, __FILE__, __LINE__);
#+END_SRC
* tangles :tangle:
** code structure: :ao_util.d:
#+name: tangle_ao_utils
-#+BEGIN_SRC d :tangle ../lib/sdp/ao_utils.d :padline no :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp/ao_utils.d
/*
utils
ao_util.d
diff --git a/org/sdp.org b/org/sdp.org
index d93825f..0130f39 100644
--- a/org/sdp.org
+++ b/org/sdp.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:hub:
@@ -31,7 +31,7 @@ Take command line instructions and process files as instructed.
[[./ao_utils.org][ao_utils]]
#+name: sdp_imports
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/+ sdp sisu document parser +/
import
std.algorithm,
@@ -68,7 +68,7 @@ import std.conv : to;
** argv [+3] :argv:
*** argv mixins & init
#+name: sdp_argv
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
mixin SiSUheader;
mixin SiSUbiblio;
mixin SiSUrgxInitFlags;
@@ -121,7 +121,7 @@ scope(failure) {
*** argv loop
#+name: sdp_argv
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
foreach(cmdlnins; argv) {
if (match(cmdlnins, rgx.flag_action)) {
flag_action ~= " " ~ cmdlnins;
@@ -137,7 +137,7 @@ foreach(cmdlnins; argv) {
**** filename provided [+1]
***** scope :scope:
#+name: sdp_each_file_do
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
scope(success) {
debug(checkdoc) {
writeln(
@@ -170,7 +170,7 @@ enforce(
[[./ao_read_markup_source.org][ao_read_markup_source]]
#+name: sdp_each_file_do
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
auto markup_sourcefile_content =
raw.markupSourceContentRawLineArray(fn_src); // alternative call
// raw.markupSourceLineArray(raw.markupSourceString(fn_src)); // alternative calls (milliseconds faster?)
@@ -190,7 +190,7 @@ debug(insert) {
[[./ao_scan_inserts.org][ao_scan_inserts]]
#+name: sdp_each_file_do
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
if (match(fn_src, rgx.src_fn_master)) {
/+ if master file scan document source for document imports (inserted sub-documents) +/
auto ins = new Inserts();
@@ -211,7 +211,7 @@ debug(raw) {
***** send for processing :processing:
#+name: sdp_each_file_do
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/+ process document ao_abstract_doc_source SiSUdocAbstraction::Abstraction return abstraction as tuple +/
auto t =
abs.abstract_doc_source(msc);
@@ -227,7 +227,7 @@ auto biblio = t[4];
***** debug document parts (checkdoc)
#+name: sdp_each_file_do
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
// DocumentParts
debug(checkdoc) {
dbg.abstract_doc_source_debugs(
@@ -246,7 +246,7 @@ debug(checkdoc) {
***** on exit
#+name: sdp_each_file_do
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
scope(exit) {
destroy(msc);
destroy(t);
@@ -261,7 +261,7 @@ scope(exit) {
**** no filename provided
#+name: sdp_no_filename_provided
-#+BEGIN_SRC d :exports none
+#+BEGIN_SRC d
/* no recognized filename provided */
writeln("no recognized filename");
break;
@@ -271,7 +271,7 @@ break;
* tangles :tangle:
** code structure :sdp.d:
#+name: tangle_sdp
-#+begin_src d :tangle ../lib/sdp.d :shebang #!/usr/bin/env rdmd :exports none :noweb yes
+#+BEGIN_SRC d :tangle ../lib/sdp.d :shebang #!/usr/bin/env rdmd
/*
sdp
sdp.d
diff --git a/readme.org b/readme.org
index 12b5d18..695365c 100644
--- a/readme.org
+++ b/readme.org
@@ -3,10 +3,10 @@
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
-#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
-#+OPTIONS: ^:nil _:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+PRIORITIES: A F E
diff --git a/sdp.org b/sdp.org
index 600adc8..4c2afcc 100644
--- a/sdp.org
+++ b/sdp.org
@@ -1,5 +1,18 @@
-#+OPTIONS: ^:nil _:nil#+OPTIONS: ^:nil _:nil
+#+TITLE: sdp (project) discussion
+#+AUTHOR: Ralph Amissah
+#+EMAIL: ralph.amissah@gmail.com
+#+STARTUP: indent
+#+LANGUAGE: en
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
+#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
+#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
+#+PROPERTY: header-args :padline no :exports none :noweb yes
+#+EXPORT_SELECT_TAGS: export
+#+EXPORT_EXCLUDE_TAGS: noexport
#+PRIORITIES: A F E
+#+FILETAGS: :sdp:rel:makefile:
+#+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n)
+
* sdp :sdp:
** debug :debug:
objects