/usr/share/a2ps/sheets/elisp.ssh is in a2ps 1:4.14-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | # Style sheet for Emacs Lisp
# Copyright (c) 1998-99 Akim Demaille, Miguel Santana
# $Id: elisp.ssh,v 1.1.1.1.2.1 2007/12/29 01:58:29 mhatta Exp $
#
#
# This file is part of a2ps.
#
# This program 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, or (at your option)
# any later version.
#
# This program 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 this program; see the file COPYING. If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
style "Emacs Lisp" is
version is 2.1
written by "Didier Verna <verna@infres.enst.fr>"
requires a2ps version 4.12a
documentation is
"This style sheet includes support for some extensions dumped with XEmacs."
end documentation
alphabets are
# Problem: the other characters, I mean ALL of them are allowed in symbol
# names, but should appear quoted. For instance, it's theoretically
# possible to have a symbol `f o o'. Only it's written `f\ o\ o'
# It seems that the current `alphabet' logic is not powerfull enough to
# describe this.
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+=*/_~!@$%^&:<>{}"
# This should really be the default
case sensitive
keywords in Keyword are
# Special values
t, nil,
# Special argument markers
&optional, &rest,
# Scheme-like keywords, ie beginning with `:'.
# We often find this in custom code.
/:[^ \t\n]+/,
# Characters
/\\?[^ \t\n]+/
end keywords
keywords in Keyword_strong are
# Logical connectors
if, when, unless, while, cond, and, or, not,
do, dolist, loop,
# Blocks
let, let*, letf, letf*, prog1, prog2, progn, progv, lambda
end keywords
optional keywords in Keyword_strong are
# Assignement
set, setq, setq-default, setf, setcar, setcdr,
# Constructors
list, list*, cons, append, conc, nconc, push, pop,
# Predicate tests
eq, eql, equal, equalp, listp, consp, null
end keywords
sequences are
# Comments
";" Comment,
";;" Comment_strong,
# Strings
C-string,
# Declarations
(/\\(/
/(def(/
/setf|subst|subst\\*|math|type|/
/un|un\\*|foo|/
/const|var|varalias|voo|/
/advice|alias|/
/macro|macro\\*|/
/subst|subst\\*|/
/|custom|face|group)/
/)/
/([ \t]+)/
"(" Plain, \1 Keyword_strong, \3 Plain) Label_strong
/[ \t\n]/ Plain,
# Special sequences
# CAVEAT: this regexp is actually wrong because in theory, I could have a
# `)' in the feature name, provided that it be quoted properly.
(/\\((require|provide|featurep)([ \t]+)([^)]*)\\)/
"(" Plain, \1 Keyword_strong, \2 Plain, \3 Label, ")" Plain) Label
/[ \t\n]/ Plain
end sequences
end style
|