What is MIME type "text/x-elisp"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
text/x-elisp marks files containing Emacs Lisp code. It tells software that the file is plain text and that its content follows the Emacs Lisp language rules.
This MIME type is mainly used in the Emacs text editor. It enables features like syntax highlighting and code evaluation. It also helps other tools recognize and process these scripts properly.
- Used to customize the behavior of Emacs
- Stores automation and configuration code
- Aids in debugging and editing Lisp code
Files with this MIME type commonly use the EL extension. More details about Emacs Lisp can be found at the GNU Emacs Lisp Reference.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: text/x-elisp
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="text/x-elisp">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'text/x-elisp');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
What is the text/x-elisp MIME type used for?
The text/x-elisp MIME type identifies source code written in Emacs Lisp. It is primarily used to denote configuration files and extensions for the GNU Emacs editor, typically associated with the .el file extension.
How do I open a file sent as text/x-elisp?
Since this type is essentially plain text, you can open it in any text editor like Notepad, TextEdit, or VS Code. However, to execute the code or see proper syntax highlighting, you should open it in GNU Emacs.
What does the "x-" prefix indicate in this MIME type?
The x- prefix signifies that text/x-elisp is a non-standard or private subtype not officially registered with the IANA. It is a convention used by developers and systems to specifically identify Emacs Lisp files distinct from generic text.
How do I configure Apache to serve .el files as text/x-elisp?
You can map the extension in your .htaccess file or main configuration. Add the line AddType text/x-elisp .el to ensure the server sends the correct Content-Type header for Emacs Lisp source files.
Are files with the text/x-elisp MIME type dangerous?
They can be. While they are safe to read as text, text/x-elisp files contain executable code. You should not evaluate or load these files inside Emacs unless you trust the author, as they can modify files or execute system commands.
Why does my browser download the file instead of displaying it?
Browsers do not natively support Emacs Lisp. If the server sends text/x-elisp and the browser doesn't recognize it as a renderable text format, it may default to downloading the file. Configuring the server to send Content-Disposition: inline can force it to display in the browser.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.