diff --git a/ChangeLog b/ChangeLog
index 0f8e3aeee210c9606bd9a3c59ff341040927cfa6..ed45ffab10b13e28e4668b01cdc0184dec468eeb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2015-04-18  Mark Oteiza  <mvoteiza@udel.edu>
 	* doc/syntax/{python,ruby,sh,tex}.nanorc: Add a linter definition.
+	* doc/syntax/elisp.nanorc: New file; syntax highlighting for Elisp.
+	* doc/syntax/guile.nanorc: New file; syntax highlighting for Guile.
 
 2015-04-17  Benno Schulenberg  <bensberg@justemail.net>
 	* src/text.c (do_alt_speller, do_linter, do_formatter): Distinguish
diff --git a/doc/syntax/Makefile.am b/doc/syntax/Makefile.am
index 03bc8e3e003b955fc6c8c7799f3336cf8e32cd61..3428fb6a39a70b1c7295620d558911cb21252e14 100644
--- a/doc/syntax/Makefile.am
+++ b/doc/syntax/Makefile.am
@@ -6,10 +6,12 @@ pkgdata_DATA =	asm.nanorc \
 		css.nanorc \
 		debian.nanorc \
 		default.nanorc \
+		elisp.nanorc \
 		fortran.nanorc \
 		gentoo.nanorc \
 		go.nanorc \
 		groff.nanorc \
+		guile.nanorc \
 		html.nanorc \
 		java.nanorc \
 		javascript.nanorc \
diff --git a/doc/syntax/elisp.nanorc b/doc/syntax/elisp.nanorc
new file mode 100644
index 0000000000000000000000000000000000000000..2a2bd2eb3616172900c685f21eb9cb7fb043e61a
--- /dev/null
+++ b/doc/syntax/elisp.nanorc
@@ -0,0 +1,31 @@
+## Here is an example for Emacs Lisp.
+
+syntax "elisp" "\.el$"
+
+# Basic functions/macros
+color brightcyan "\<(if|when|unless|cond|and|or|lambda|let|progn|while|dolist|dotimes)\>"
+color brightcyan "\<save-((window-)?excursion|restriction)\>"
+color brightcyan "\<eval-(and|when)-compile\>"
+# Defining functions
+color brightcyan "\<def(un|macro|subst|generic|alias)\>"
+color brightcyan "\<cl-def(un|macro|subst|generic|struct|type)\>"
+color brightcyan "\<define-(derived|minor|generic)-mode\>"
+# Defining variables
+color brightcyan "\<def(class|const|var(-local|alias)?)\>"
+# Customization functions
+color brightcyan "\<def(custom|face|group|theme)\>"
+# Setting values
+color brightcyan "\<(setq(-default|-local)?|setf|push|pop|declare(-function)?)\>"
+# Feature functions
+color brightcyan "\<(require|provide)\>"
+# Quoted symbols
+color brightyellow "#?'\<(\w|-)+\>"
+# Booleans
+color brightred "\<(t|nil)\>"
+# Keywords
+color blue ":(\w|[?-])+"
+# Strings
+color yellow start="^[[:blank:]]+\"" end="[^\]\""
+color yellow ""(\\.|[^"])*""
+# Comments
+color cyan "(^|[[:space:]]);.*$"
diff --git a/doc/syntax/guile.nanorc b/doc/syntax/guile.nanorc
new file mode 100644
index 0000000000000000000000000000000000000000..1feb09b2ad38972068448d570b5c4e72a18bd206
--- /dev/null
+++ b/doc/syntax/guile.nanorc
@@ -0,0 +1,24 @@
+## Here is an example for Guile Scheme.
+
+syntax "guile" "\.scm$"
+header "^#!.*guile"
+magic "guile"
+
+# Basic scheme functions
+color green "\<(do|if|lambda|let(rec)?|map|unless|when)\>"
+# Defining things
+color brightcyan "\<define(-macro|-module|-public|-syntax)?\>"
+# Quoted symbols
+color brightyellow "'\<(\w|-)+\>"
+# Chars
+color brightmagenta "#\\."
+color brightmagenta "#\\\w+\>"
+# Booleans
+color brightred "(#t|#f)\>"
+# Keywords
+color blue "#?:(\w|[?-])+"
+# Strings
+color yellow start="^[[:blank:]]+\"" end="[^\]\""
+color yellow ""(\\.|[^"])*""
+# Comments
+color cyan "(^|[[:space:]]);.*$"