Special form
special form has its own rule for which arguments are evaluated
Special Form
Purpose |
Forms
|
Definition |
defconst defun defvar
|
Binding constructs |
let let* function
|
Conditional evaluation |
and cond if or
|
Sequential evaluation |
prog1 prog2 progn
|
Iteration |
while function
|
Syntactic extension |
defmacro
|
Quoting |
quote
|
Assignment |
setq setq-default
|
Nonlocal Exits |
catch condition-case unwind-protect
|
Save |
save-current-buffer save-excursion save-restriction save-window-excursion
|
Other |
interactive track-mouse with-output-to-temp-buffer
|
Standard Library
Number
Emacs supports two numeric data types: integers and floating point numbers
Number related function and Variable
Category |
Functions Variable
|
Integer Basics |
most-positive-fixnum most-negative-fixnum
|
Floating Point Basics |
logb float-e float-pi
|
Type Predicate Test |
floatp integerp numberp wholenump zerop
|
Comparison |
= eql /= < <= > >= max min abs
|
Conversions |
float truncate floor ceiling round
|
Arithmetic Operations |
1+ 1- + - * / % mod
|
Rounding Operations |
ffloor fceiling ftruncate fround
|
Bitwise Operations |
lsh ash logand logior logxor lognot
|
Mathematical Functions |
sin cos tan asin acos atan exp log log10 expt sqrt
|
Random Numbers |
random
|
Character
See String section
String
A string in Emacs Lisp is an array that contains an ordered sequence of characters
String and Character related function and Variable
Category |
Functions Variable
|
Predicates for Strings |
stringp string-or-null-p char-or-string-p
|
Creating Strings |
make-string string substring substring-no-properties concat split-string split-string-default-separators
|
Modifying Strings |
store-substring clear-string
|
Comparison |
char-equal string= string-equal string< string-lessp compare-strings assoc-string
|
Conversion |
number-to-string string-to-number char-to-string string-to-char
|
Formatting Strings |
format
|
Case Conversion |
downcase upcase capitalize upcase-initials
|
The Case Table |
case-table-p set-standard-case-table standard-case-table current-case-table set-case-table with-case-table ascii-case-table set-case-syntax-pair set-case-syntax-delims set-case-syntax describe-buffer-case-table
|
List
Lists are built up from cons cells
List related function and Variable
Category |
Functions Variable
|
List-related Predicates |
consp atom listp nlistp null
|
List Elements |
car cdr car-safe cdr-safe pop nth nthcdr last safe-length caar cadr cadr cadr butlast nbutlast
|
Building Lists |
cons list make-list append reverse copy-tree number-sequence
|
List Variables |
push add-to-list add-to-ordered-list
|
Modifying Lists |
setcar setcdr nconc nreverse sort
|
Sets And Lists |
memq delq remq memql member delete remove member-ignore-case delete-dups
|
Association Lists |
assoc rassoc sassq rassq assoc-default copy-alist assq-delete-all rassq-delete-all
|
Rings |
make-ring ring-p ring-size ring-length ring-elements ring-copy ring-empty-p ring-ref ring-insert ring-remove ring-insert-at-beginning
|
Vector
Vector related function and Variable
Category |
Functions Variable
|
Vector Functions |
vectorp vector make-vector vconcat
|
Bool-vectors |
make-bool-vector bool-vector-p
|
Sequence
Sequence related function and Variable
Category |
Functions Variable
|
Sequence Functions |
sequencep length elt copy-sequence
|
Array Functions |
arrayp aref aset fillarray
|
Char-Tables |
make-char-table char-table-p char-table-subtype char-table-parent set-char-table-parent char-table-extra-slot set-char-table-extra-slot char-table-range set-char-table-range map-char-table
|
Hash Tables
Hash Tables related function and Variable
Category |
Functions Variable
|
Creating Hash |
make-hash-table makehash
|
Hash Access |
gethash puthash remhash clrhash maphash
|
Defining Hash |
define-hash-table-test sxhashsxhash
|
Other Hash |
hash-table-p copy-hash-table hash-table-count hash-table-test hash-table-weakness hash-table-rehash-size hash-table-rehash-threshold hash-table-size
|
Symbols
Symbols related function and Variable
Category |
Functions Variable
|
Predicates for symbols |
symbolp
|
Creating Symbols |
symbol-name make-symbol intern intern-soft obarray mapatoms unintern
|
Property Lists |
symbol-plist setplist get put plist-get plist-put lax-plist-get lax-plist-put plist-member
|
Minibuffer
A minibuffer is a special buffer that Emacs commands use to read arguments more complicated than the single numeric prefix argument.
Minibuffer related function and Variable
Category |
Functions Variable
|
Text from Minibuffer |
read-from-minibuffer read-string read-regexp minibuffer-allow-text-properties minibuffer-local-map read-no-blanks-input minibuffer-local-ns-map
|
Object from Minibuffer |
read-minibuffer eval-minibuffer edit-and-eval-command
|
Minibuffer History |
add-to-history history-add-new-input history-length history-delete-duplicates minibuffer-history query-replace-history file-name-history buffer-name-history regexp-history extended-command-history shell-command-history read-expression-history
|
Basic Completion |
try-completion all-completions test-completion completion-boundaries completion-ignore-case completion-regexp-list lazy-completion-table completion-in-region
|
Minibuffer Completion |
completing-read
|
Completion Commands |
minibuffer-completion-table minibuffer-completion-predicate minibuffer-completion-confirm minibuffer-confirm-exit-commands minibuffer-complete-word minibuffer-complete minibuffer-complete-and-exit minibuffer-completion-help display-completion-list completion-auto-help minibuffer-local-completion-map minibuffer-local-must-match-map minibuffer-local-filename-completion-map minibuffer-local-filename-must-match-map
|
High-Level Completion |
read-buffer read-buffer-function read-buffer-completion-ignore-case read-command read-variable read-color
|
Reading File Names |
read-file-name read-file-name-function read-file-name-completion-ignore-case read-directory-name insert-default-directory read-shell-command minibuffer-local-shell-command-map
|
Completion Styles |
completion-styles completion-styles-alist
|
Programmed Completion |
completion-table-dynamic completion-annotate-function
|
Yes-or-No Queries |
y-or-n-p y-or-n-p-with-timeout yes-or-no-p
|
Multiple Queries |
map-y-or-n-p
|
Reading a Password |
read-passwd
|
Minibuffer Commands |
exit-minibuffer self-insert-and-exit previous-history-element next-history-element previous-matching-history-element next-matching-history-element
|
Minibuffer Contents |
minibuffer-prompt minibuffer-prompt-end minibuffer-prompt-width minibuffer-contents minibuffer-contents-no-properties minibuffer-completion-contents delete-minibuffer-contents
|
Minibuffer Windows |
active-minibuffer-window minibuffer-window set-minibuffer-window window-minibuffer-p minibuffer-window-active-p
|
Recursive Mini |
minibuffer-depth enable-recursive-minibuffers
|
Minibuffer Miscellany |
minibufferp minibuffer-setup-hook minibuffer-exit-hook minibuffer-help-form minibuffer-scroll-window minibuffer-selected-window max-mini-window-height
|
Keymaps
File
File related function and Variable
Category |
Functions Variable
|
Visiting Files |
find-file find-file-literally find-file-noselect find-file-other-window find-file-read-only view-file find-file-wildcards find-file-hook find-file-not-found-functions find-file-literally create-file-buffer after-find-file
|
Saving Buffers |
save-buffer save-some-buffers write-file write-file-functions write-contents-functions before-save-hook after-save-hook file-precious-flag require-final-newline
|
Reading from Files |
insert-file-contents insert-file-contents-literally
|
Writing to Files |
append-to-file write-region with-temp-file
|
File Locks |
file-locked-p lock-buffer unlock-buffer ask-user-about-lock
|
Information about Files |
file-exists-p file-readable-p file-executable-p file-writable-p file-accessible-directory-p access-file file-ownership-preserved-p file-newer-than-file-p file-symlink-p file-directory-p file-regular-p file-truename file-chase-links file-modes file-nlinks file-attributes locate-file executable-find
|
Changing Files |
add-name-to-file rename-file copy-file make-symbolic-link delete-file set-file-modes set-default-file-modes default-file-modes read-file-modes file-modes-symbolic-to-number set-file-times
|
File Names |
file-name-directory file-name-nondirectory file-name-sans-versions file-name-extension file-name-sans-extension file-name-absolute-p file-relative-name file-name-as-directory directory-file-name abbreviate-file-name expand-file-name default-directory substitute-in-file-name make-temp-file make-temp-name temporary-file-directory small-temporary-file-directory file-name-all-completions file-name-completion completion-ignored-extensions convert-standard-filename
|
Contents of Directories |
directory-files directory-files-and-attributes file-expand-wildcards insert-directory insert-directory-program
|
Create/Delete Dirs |
make-directory copy-directory delete-directory
|
Magic File Names |
inhibit-file-name-handlers inhibit-file-name-operation find-file-name-handler file-local-copy file-remote-p unhandled-file-name-directory
|
Format Conversion |
format-alist buffer-file-format format-write-file format-find-file format-insert-file buffer-auto-save-file-format write-region-annotate-functions write-region-post-annotation-function after-insert-file-functions
|
Buffer
buffer is a lisp object containing text to be edited
Buffer related function and Variable
Category |
Functions Variable
|
Basic |
bufferp current-buffer set-buffer save-current-buffer with-current-buffer with-temp-buffer
|
Buffer Names |
buffer-name rename-buffer get-buffer generate-new-buffer-name
|
Buffer File Name |
buffer-file-name buffer-file-name buffer-file-truename buffer-file-number get-file-buffer find-buffer-visting set-visted-file-name list-buffers-directory
|
Buffer Modification |
buffer-modified-p set-buffer-modified-p restore-buffer-modified-p not-modified buffer-modified-tick buffer-chars-modified-tick
|
Buffer Modification Time |
verify-visited-file-modtime clear-visited-file-modtime visited-file-modtime set-visited-file-modtime ask-user-about-supersession-threat
|
Read-Only Buffers |
buffer-read-only inhibit-read-only toggle-read-only barf-if-buffer-read-only
|
Buffer List |
buffer-list other-buffer last-buffer bury-buffer unbury-buffer
|
Creating Buffers |
get-buffer-creat generate-new-buffer
|
Killing Buffers |
kill-buffer kill-buffer-query-function kill-buffer-hook buffer-offer-save buffer-save-without-query buffer-live-p
|
Indirect Buffers |
make-indirect-buffer clone-indirect-buffer buffer-base-buffer
|
Swapping Text Between Two Buffers |
buffer-swap-text
|
Buffer Gap |
gap-position gap-size
|
Windows
Frames
Positons
Marker
Text (unfinished)
Text is manipulated through Buffer object with point and marker.
Text related function and Variable
Category |
Function Variable
|
Near Point |
char-after char-before following-char preceding-char bobp eobp bolp eolp
|
Examining Buffer Contents |
buffer-substring buffer-substring-no-properties buffer-string filter-buffer-substring filter-buffer-substring-function buffer-substring-filters current-word thing-at-point
|
Comparing Text |
compare-buffer-substrings
|
Inserting Text |
insert insert-before-markers insert-char insert-buffer-substring insert-buffer-substring-no-properties
|
User-Level Insertion Commands |
insert-buffer self-insert-command newline overwrite-mode
|
Deleting Text |
erase-buffer delete-region delete-and-extract-region delete-char delete-backward-char backwar-delete-char-untabify backward-delete-char-untabify-method
|
User-Level Deletion Commands |
delete-horizontal-space delete-indentation fixup-whitespace just-one-space delete-blank-lines
|