lisp revision 1.1.1.7 1 1.1.1.2 christos
2 1.1 christos #------------------------------------------------------------------------------
3 1.1.1.7 christos # $File: lisp,v 1.28 2024/05/30 15:32:20 christos Exp $
4 1.1 christos # lisp: file(1) magic for lisp programs
5 1.1 christos #
6 1.1 christos # various lisp types, from Daniel Quinlan (quinlan (a] yggdrasil.com)
7 1.1 christos
8 1.1 christos # updated by Joerg Jenderek
9 1.1 christos # GRR: This lot is too weak
10 1.1.1.4 christos #0 string ;;
11 1.1 christos # windows INF files often begin with semicolon and use CRLF as line end
12 1.1 christos # lisp files are mainly created on unix system with LF as line end
13 1.1 christos #>2 search/4096 !\r Lisp/Scheme program text
14 1.1 christos #>2 search/4096 \r Windows INF file
15 1.1 christos
16 1.1 christos 0 search/4096 (setq\ Lisp/Scheme program text
17 1.1 christos !:mime text/x-lisp
18 1.1 christos 0 search/4096 (defvar\ Lisp/Scheme program text
19 1.1 christos !:mime text/x-lisp
20 1.1 christos 0 search/4096 (defparam\ Lisp/Scheme program text
21 1.1 christos !:mime text/x-lisp
22 1.1 christos 0 search/4096 (defun\ Lisp/Scheme program text
23 1.1 christos !:mime text/x-lisp
24 1.1 christos 0 search/4096 (autoload\ Lisp/Scheme program text
25 1.1 christos !:mime text/x-lisp
26 1.1 christos 0 search/4096 (custom-set-variables\ Lisp/Scheme program text
27 1.1 christos !:mime text/x-lisp
28 1.1 christos
29 1.1.1.3 christos # URL: https://en.wikipedia.org/wiki/Emacs_Lisp
30 1.1.1.5 christos # Reference: https://ftp.gnu.org/old-gnu/emacs/elisp-manual-18-1.03.tar.gz
31 1.1.1.4 christos # Update: Joerg Jenderek
32 1.1 christos # Emacs 18 - this is always correct, but not very magical.
33 1.1.1.4 christos 0 string \012(
34 1.1.1.3 christos # look for emacs lisp keywords
35 1.1.1.3 christos # GRR: split regex because it is too long or get error like
36 1.1.1.3 christos # lisp, 36: Warning: cannot get string from `^(defun|defvar|defconst|defmacro|setq|fset|put|provide|require|'
37 1.1.1.3 christos >&0 regex \^(defun|defvar|defconst|defmacro|setq|fset) Emacs v18 byte-compiled Lisp data
38 1.1 christos !:mime application/x-elc
39 1.1.1.3 christos # https://searchcode.com/codesearch/view/2173420/
40 1.1.1.3 christos # not really pure text
41 1.1.1.3 christos !:apple EMAxTEXT
42 1.1.1.3 christos !:ext elc
43 1.1.1.3 christos # remaining regex
44 1.1.1.3 christos >&0 regex \^(put|provide|require|random) Emacs v18 byte-compiled Lisp data
45 1.1.1.3 christos !:mime application/x-elc
46 1.1.1.3 christos !:apple EMAxTEXT
47 1.1.1.3 christos !:ext elc
48 1.1.1.3 christos # missed cl.elc dbx.elc simple.elc look like normal lisp starting with ;;;
49 1.1.1.3 christos
50 1.1 christos # Emacs 19+ - ver. recognition added by Ian Springer
51 1.1 christos # Also applies to XEmacs 19+ .elc files; could tell them apart with regexs
52 1.1 christos # - Chris Chittleborough <cchittleborough (a] yahoo.com.au>
53 1.1.1.4 christos # Update: Joerg Jenderek
54 1.1.1.4 christos 0 string ;ELC
55 1.1.1.3 christos # version\0\0\0
56 1.1.1.3 christos >4 byte >18 Emacs/XEmacs v%d byte-compiled Lisp data
57 1.1.1.3 christos # why less than 32 ? does not make sense to me. GNU Emacs version is 24.5 at April 2015
58 1.1.1.3 christos #>4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data
59 1.1.1.4 christos !:mime application/x-elc
60 1.1.1.3 christos !:apple EMAxTEXT
61 1.1.1.3 christos !:ext elc
62 1.1 christos
63 1.1.1.6 christos # Files produced by GNU/Emacs pdumper
64 1.1.1.6 christos 0 string DUMPEDGNUEMACS GNU/Emacs pdumper image
65 1.1.1.6 christos
66 1.1 christos # Files produced by CLISP Common Lisp From: Bruno Haible <haible (a] ilog.fr>
67 1.1 christos 0 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program (pre 2004-03-27)
68 1.1 christos 0 string (|SYSTEM|::|VERSION|\040' CLISP byte-compiled Lisp program text
69 1.1 christos
70 1.1 christos 0 long 0x70768BD2 CLISP memory image data
71 1.1 christos 0 long 0xD28B7670 CLISP memory image data, other endian
72 1.1 christos
73 1.1.1.4 christos #.com and .bin for MIT scheme
74 1.1 christos 0 string \372\372\372\372 MIT scheme (library?)
75 1.1 christos
76 1.1 christos # From: David Allouche <david (a] allouche.net>
77 1.1 christos 0 search/1 \<TeXmacs| TeXmacs document text
78 1.1 christos !:mime text/texmacs
79 1.1.1.7 christos
80 1.1.1.7 christos # Chibi-Scheme
81 1.1.1.7 christos 0 string \a\achibi\n Chibi-Scheme memory image data
82 1.1.1.7 christos >8 ubyte =0 \b, big-endian
83 1.1.1.7 christos >>9 ubyte x \b, format version %d
84 1.1.1.7 christos >>11 ubyte x \b.%d
85 1.1.1.7 christos >8 ubyte >0 \b, little-endian
86 1.1.1.7 christos >>8 ubyte x \b, format version %d
87 1.1.1.7 christos >>10 ubyte x \b.%d
88 1.1.1.7 christos >12 string x \b, ABI %s
89