emacs.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sat, 03 Jan 2015 15:15:50 +0200
changeset 1653 f9aae584ecb4
parent 1652 a653ec78b1b8
child 1654 f361c89e693f
permissions -rw-r--r--
symbol-file, http://stackoverflow.com/a/27755252/173149
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
.. -*- coding: utf-8; -*-
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1274
diff changeset
     2
.. include:: HEADER.rst
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 Emacs.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
.. contents::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
About.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
======
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
  http://elpa.gnu.org/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
                Packages for Emacs. This requires Emacs version 24.1 or
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
                higher.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
Getting help.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
=============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
 * http://news.gmane.org/gmane.emacs.help
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
 * http://news.gmane.org/gmane.emacs.announce
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
 * http://news.gmane.org/gmane.emacs.auctex.announce
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
Installing Emacs.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
=================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
1265
f98228108bb6 Official alpha build of GNU Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1189
diff changeset
    26
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
  http://ftp.gnu.org/gnu/emacs/windows/
1265
f98228108bb6 Official alpha build of GNU Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1189
diff changeset
    28
                Clean GNU Emacs for 32-bit Windows.
f98228108bb6 Official alpha build of GNU Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1189
diff changeset
    29
  http://alpha.gnu.org/gnu/emacs/windows/
f98228108bb6 Official alpha build of GNU Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1189
diff changeset
    30
                Official alpha build of GNU Emacs.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
  http://emacsformacosx.com/
1265
f98228108bb6 Official alpha build of GNU Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1189
diff changeset
    32
                Clean GNU Emacs for Mac OS X.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
1652
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    34
Development.
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    35
============
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    36
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
Variables.
1652
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    38
----------
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
Select one of::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
  (set 'variable value)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
  (setq variable value)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
  (defvar variable value "documentation")
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
1652
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    46
or file local::
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    47
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    48
  # Local variables:
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    49
  # variable: value
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    50
  # End:
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
1652
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    52
Find variable/function/feature by name or value.
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    53
------------------------------------------------
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    54
::
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    55
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    56
  (apropos-value "PATT")
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    57
  (apropos-variable "PATT")
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    58
  (apropos-function "PATT")
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    59
  (apropos-library "PATT")
a653ec78b1b8 Find variable/function/feature by name or value.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1477
diff changeset
    60
  (apropos-documentation "PATT")
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
Debugging.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
==========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
Evaluating elisp expression on the fly.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
---------------------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
    68
Type ``M-:`` than lisp expression than type ``RET``.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
    70
Or in any buffer place point at the end of lisp expression and type ``C-x C-e``.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
    72
Or invoke elisp "shell" by ``M-x ielm``.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
What functions and variables Emacs load and from which files?
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
-------------------------------------------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
1189
78104ca7c163 symbol-file
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1143
diff changeset
    77
See value of variable ``load-history`` (by C-h v load-history RET)::
78104ca7c163 symbol-file
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1143
diff changeset
    78
1653
f9aae584ecb4 symbol-file, http://stackoverflow.com/a/27755252/173149
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1652
diff changeset
    79
  (symbol-file 'scheme 'provide)        ; Who provide feature.
f9aae584ecb4 symbol-file, http://stackoverflow.com/a/27755252/173149
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1652
diff changeset
    80
  (symbol-file 'nxml-mode-hook 'defvar) ; Where variable defined.
f9aae584ecb4 symbol-file, http://stackoverflow.com/a/27755252/173149
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1652
diff changeset
    81
  (symbol-file 'message-send 'defun)    ; Where function defined.
1476
f437a8297ba2 locate-library
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1420
diff changeset
    82
  load-history
f437a8297ba2 locate-library
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1420
diff changeset
    83
  (locate-library "gnus.el")
1653
f9aae584ecb4 symbol-file, http://stackoverflow.com/a/27755252/173149
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1652
diff changeset
    84
  (find-lisp-object-file-name 'c-mode (symbol-function 'c-mode))
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
Using edebug.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
-------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
Execute ``M-x edebug-defun`` (also on ``C-u C-M-x``) on defun in source code to
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
enable debugging for desired function. When next time this function invoked
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
you entered to its debugging (jumped to its source code).
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
To start debug execute code which used debugged function.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
You can disable edebug on a function by evaluating the function again using
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
``C-M-x``.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
How debug func?
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
---------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
Use M-x debug-on-entry and M-x cancel-debug-on-entry to control
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
which functions will enter the debugger when called.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
When next time that function called automatically loaded debug-mode.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
1274
3860a2e28d4d How to print a trace.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1266
diff changeset
   106
You can use ``(debug)`` in your function to automatically enter to debugger.
3860a2e28d4d How to print a trace.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1266
diff changeset
   107
3860a2e28d4d How to print a trace.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1266
diff changeset
   108
You can use ``(backtrace)`` to print a trace of Lisp function.
3860a2e28d4d How to print a trace.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1266
diff changeset
   109
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   110
How debug ini file?
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   111
-------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   112
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   113
When your ini has a bug, or when you load external files that cause errors, the
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   114
bug is often hard to find, because the Emacs Lisp reader does not know about
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   115
line numbers and files - it just knows an error happened, and that's it.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   116
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   117
Try run Emacs with ``--debug-init`` to see backtrace.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   118
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   119
How debug long running command?
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   120
-------------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   122
``M-x debug-on-quit RET`` and then just hit ``C-g`` next time it gets ``stuck``
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   123
somewhere.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   124
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   125
Check if bug in ini file not in Emacs itself.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   126
---------------------------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   127
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   128
First run Emacs without loading anything::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   129
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   130
  $ emacs --no-init-file --no-site-file
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   131
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   132
or more shortly (as ``-Q`` imply ``-q``, ``--no-site-file``, and ``--no-splash``
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   133
together)::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   134
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   135
  $ emacs -Q
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   136
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   137
If bug not reproduced bug lies in ini files!
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   138
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   139
Debug by binary search.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   140
-----------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   141
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   142
Select half of the file in a region, and M-x eval-region. Depending on whether
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   143
that causes the error or not, split this half or the other half again, and
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   144
repeat.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   145
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   146
Simplified Binary Search.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   147
~~~~~~~~~~~~~~~~~~~~~~~~~
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   148
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   149
Add (error ``No error until here``) in the middle of your file. If you get the
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   150
error ``No error until here`` when reloading the file, move the expression
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   151
towards the back of the file, otherwise towards the front of the file.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   152
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   153
Elisp debug tips.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   154
-----------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   155
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   156
 * Use a keyboard macro that moves forward one expression (sexp) and evaluates
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   157
   it.
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   158
 * Try C-x check-parens.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   159
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   160
Enable debug mode (also on loading).
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   161
------------------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   162
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   163
Set in source::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   164
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   165
  (setq debug-on-error t)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   166
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   167
or invoke Emacs like::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   168
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   169
  $ emacs --debug-init
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   170
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   171
where ``--debug-init`` binds ``debug-on-error`` to ``t`` while loading the init
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   172
file, and bypasses the ``condition-case`` which normally catches errors in the
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   173
init file.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   174
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   175
Call tree.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   176
----------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   177
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   178
Before byte compiling file execute::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   179
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   180
  (setq byte-compile-generate-call-tree t)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   181
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   182
Veiw buffer local variables.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   183
----------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   184
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   185
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   186
  (pp (buffer-local-variables))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   187
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   188
Emacs profiling.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   189
================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   190
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   191
benchmark.el.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   192
-------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   193
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   194
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   195
  (benchmark-run 1 (revert-buffer))
1207
b014c71fdb7d benchmark.el
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1189
diff changeset
   196
  (benchmark-run-compiled 1 (hi-lock-face-phrase-buffer "hello" 'hi-yellow))
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   197
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   198
elp.el.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   199
-------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   200
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   201
Enter a prefix for ``M-x elp-instrument-package``, perform action and see result
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   202
by ``M-x elp-results``. To perform new measurement don't forget to run
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   203
``M-x elp-reset-all``.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   204
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   205
WWW.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   206
====
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   207
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   208
Text based WWW browser.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   209
-----------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   210
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   211
 * http://en.wikipedia.org/wiki/W3m
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   212
 * http://emacs-w3m.namazu.org/
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   213
 * http://www.gnu.org/software/w3/
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   214
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   215
Tricks.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   216
=======
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   217
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   218
Sort and uniquify lines.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   219
------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   220
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   221
Select region, type ``C-u M-| sort -u RET``.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   222
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   223
With transient-mark-mode and delete-selection-mode enabled: select region,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   224
type M-| sort -u RET to replace selection with sorted and uniquified lines.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   225
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   226
Determining running environment/platform.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   227
=========================================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   228
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   229
Check variables::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   230
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   231
  emacs-major-version
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   232
  emacs-minor-version
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   233
  window-system             - ``nil`` if in terminal, ``w32`` if native Windows build, ``x`` if under X Window
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   234
  window-system-version     - for windows only
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   235
  window-size-fixed
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   236
  operating-system-release  - release of the operating system Emacs is running on
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   237
  system-configuration      - like configuration triplet: cpu-manufacturer-os
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   238
  system-configuration-options
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   239
  system-name               - host name of the machine you are running on
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   240
  system-time-locale
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   241
  system-type               - indicating the type of operating system you are using:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   242
                              ``gnu`` (GNU Hurd),
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   243
                              ``gnu/linux``,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   244
                              ``gnu/kfreebsd``, ``berkeley-unix`` for (FreeBSD),
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   245
                              ``darwin`` (GNU-Darwin, Mac OS X),
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   246
                              ``ms-dos``,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   247
                              ``windows-nt``,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   248
                              ``cygwin``
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   249
  system-uses-terminfo
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   250
  dynamic-library-alist or deprecated image-library-alist
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   251
                            - alist of image types vs external libraries needed to display them
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   252
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   253
and check functions::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   254
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   255
  (fboundp ...)             - return t if SYMBOL's function definition is not void
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   256
  (featurep ...)            - returns t if FEATURE is present in this Emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   257
  (display-graphic-p)       - return non-nil if DISPLAY is a graphic display; graphical
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   258
                              displays are those which are capable of displaying several
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   259
                              frames and several different fonts at once
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   260
  (display-multi-font-p)    - same as ``display-graphic-p``
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   261
  (display-multi-frame-p)   - same as ``display-graphic-p``
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   262
  (display-color-p)         - return t if DISPLAY supports color
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   263
  (display-images-p)        - return non-nil if DISPLAY can display images
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   264
  (display-grayscale-p)     - return non-nil if frames on DISPLAY can display shades of gray
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   265
  (display-mouse-p)         - return non-nil if DISPLAY has a mouse available
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   266
  (display-popup-menus-p)   - return non-nil if popup menus are supported on DISPLAY
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   267
  (display-selections-p)    - return non-nil if DISPLAY supports selections
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   268
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   269
Run those checks as below::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   270
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   271
  (when window-system ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   272
  (when (eq window-system 'x) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   273
  (when (>= emacs-major-version 22) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   274
  (when (fboundp '...) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   275
  (when (featurep '...) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   276
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   277
Compiling emacs.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   278
================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   279
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   280
Windows.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   281
--------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   282
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   283
Get MSYS for POSIX shell and utilities . Get MinGW for GCC. Get Gnuwin32 for
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   284
jpeg, ungif, tiff, xpm, png, zlib libraries.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   285
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   286
Read emacs/nt/INSTALL::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   287
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   288
  $ cmd
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   289
  $ cd emacs\nt
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   290
  $ configure.bat --prefix %INST_ROOT% --with-gcc --cflags -I%GNUWIN32_ROOT%/include --ldflags -L%GNUWIN32_ROOT%/lib  --ldflags -lregex
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   291
  $ make bootstrap
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   292
  $ make info
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   293
  $ make install
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   294
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   295
Documentation.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   296
==============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   297
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   298
Elisp documentation.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   299
--------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   300
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   301
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   302
  ;;; <file-name>.el --- <one-line-description>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   303
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   304
  ;; Copyright (C) <years> <person>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   305
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   306
  ;; Author: <person> <mail>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   307
  ;; Maintainer: <person> <mail>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   308
  ;; Created: <date>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   309
  ;; Version: <version>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   310
  ;; Keywords: <look for ``finder-by-keyword`` output, separate by comma>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   311
  ;; URL: <file-location>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   312
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   313
  ;;; Commentary:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   314
  <bla-bla-bla>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   315
  ;;; Code:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   316
  <lisp-code>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   317
  ;;; <file-name> ends here
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   318
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   319
See
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   320
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   321
 * http://www.gnu.org/software/emacs/elisp-manual/html_node/Library-Headers.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   322
 * http://www.emacswiki.org/cgi-bin/wiki/ElispAreaConventions
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   323
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   324
CheckDoc.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   325
---------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   326
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   327
CheckDoc checks your EmacsLisp code for errors in documentation and style.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   328
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   329
  http://cedet.sourceforge.net/checkdoc.shtml
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   330
                home page before including it into GNU Emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   331
  http://www.emacswiki.org/emacs/CheckDoc
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   332
                CheckDoc
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   333
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   334
Installing Emacs.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   335
=================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   336
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   337
From sources.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   338
-------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   339
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   340
 * http://ftp.gnu.org/pub/gnu/emacs
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   341
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   342
Windows.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   343
--------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   344
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   345
  http://ftp.gnu.org/pub/gnu/emacs/windows
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   346
                Releases for Windows.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   347
  http://alpha.gnu.org/gnu/emacs/windows
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   348
                Beta releases for Windows.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   349
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   350
Debian.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   351
-------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   352
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   353
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   354
  $ apt-get install emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   355
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   356
Emacs paths.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   357
============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   358
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   359
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   360
  source-directory data-directory doc-directory exec-directory
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   361
  invocation-directory trash-directory tutorial-directory user-emacs-directory
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   362
  widget-image-directory
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   363
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   364
Emacs games.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   365
============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   366
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   367
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   368
  hanoi hanoi-unix life pong tetris gomoku
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   369
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   370
Long lines.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   371
===========
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   372
::
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   373
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   374
  (setq longlines-show-hard-newlines t)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   375
  (setq longlines-wrap-follows-window-size t)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   376
  (longlines-mode 1)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   377
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   378
Printing Emacs structures.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   379
==========================
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   380
::
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   381
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   382
  (message "%S" '(a b 123 "hello" 'set))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   383
  (pp '(a b 123 "hello" 'set))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   384
  (prin1-to-string '(1 2))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   385
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   386
  (symbol-name 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   387
  (symbol-value 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   388
  (symbol-function 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   389
  (symbol-plist 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   390
1143
3a3389b22964 (local-variable-p var buffer)
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1142
diff changeset
   391
  (local-variable-p var buffer)
3a3389b22964 (local-variable-p var buffer)
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1142
diff changeset
   392
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   393
File manager.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   394
=============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   395
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   396
 * http://www.emacswiki.org/emacs/Sunrise_Commander
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   397
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   398
Semantic.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   399
=========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   400
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   401
  semantic-lex-spp-describe
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   402
                Describe the current list of spp macros.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   403
  semantic-lex-c-preprocessor-symbol-file
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   404
                List of C/C++ files that contain preprocessor macros for the C lexer.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   405
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   406
Debugging C code.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   407
=================
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   408
::
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   409
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   410
  -*- mode: grep; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   411
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   412
XML modes.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   413
==========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   414
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   415
XSLT-process.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   416
-------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   417
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   418
XSLT-process is a minor mode for GNU Emacs/XEmacs which transforms it into a powerful editor with
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   419
XSLT processing and debugging capabilities.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   420
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   421
The mode currently supports two Java XSLT processors:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   422
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   423
 * Saxon - fully supported, including debugging capabilities.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   424
 * Xalan - fully supported, including debugging capabilities.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   425
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   426
  http://xslt-process.sourceforge.net/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   427
                home page
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   428
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   429
Useful program logging.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   430
=======================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   431
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   432
Put first line to your log file, you must replace ``default-directory`` to dir where you build
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   433
program::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   434
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   435
  -*- mode: compilation-minor; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   436
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   437
Program must use one of supported by ``compilation-minor-mode`` (see
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   438
``compilation-error-regexp-alist``), like::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   439
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   440
  printf(__FILE__ ":%d: %s\n", __LINE__, msg);  /* msg - user defined string */
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   441
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   442
or in second form (in this case line number included in format string, so easy searchable in
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   443
debugger)::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   444
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   445
  #define NUM2STR(x) STR(x)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   446
  #define STR(x) #x
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   447
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   448
  printf(__FILE__ ":" NUM2STR(__LINE__) ": %s\n", msg);
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   449
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   450
Or some faster use ``grep-mode``, but you restricted with GNU like error format::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   451
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   452
  -*- mode: grep; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   453
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   454
Edit HTML.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   455
==========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   456
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   457
 * psgml-mode
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   458
 * nxml-mode
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   459
 * sgml-mode
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   460
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   461
html-helper-mode.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   462
-----------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   463
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   464
Highlighting, autocompletion, and auto-insertion of closing tags.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   465
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   466
 * http://www.emacswiki.org/emacs/HtmlHelperMode
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   467
 * http://savannah.nongnu.org/projects/baol-hth/
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   468
 * http://www.nongnu.org/baol-hth/
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   469
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   470
Source.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   471
=======
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   472
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   473
Get main development sources::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   474
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   475
  $ bzr init-repo --2a emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   476
  $ cd emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   477
  $ bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   478
  $ cd trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   479
  $ bzr bind http://bzr.savannah.gnu.org/r/emacs/trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   480
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   481
To update with latest changes::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   482
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   483
  $ cd emacs/trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   484
  $ bzr update
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   485
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   486
See:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   487
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   488
 * http://www.emacswiki.org/emacs/BzrForEmacsDevs
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   489
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   490
Emacs Git mirror.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   491
-----------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   492
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   493
 * http://www.emacswiki.org/emacs/EmacsFromGit
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   494
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   495
Patch.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   496
======
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   497
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   498
  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5719
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   499
                [patch] fix bat-generic-mode highlighting pattern for CLI
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   500
                switch.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   501
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   502
How report bug.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   503
===============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   504
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   505
Visit http://debbugs.gnu.org or ``M-x report-emacs-bug``.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   506
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   507
Finding emacs packages.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   508
=======================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   509
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   510
 * http://anc.ed.ac.uk/~stephen/emacs/ell.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   511
 * http://www.emacswiki.org/emacs/WikifiedEmacsLispList
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   512
 * http://www.emacswiki.org/emacs/RationalElispPackaging
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   513
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   514
  http://tromey.com/elpa/index.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   515
                Emacs Lisp Package Archive
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   516
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   517
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   518
EPLA.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   519
-----
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   520
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   521
ELPA goal is to make it simple to install, use, and upgrade Emacs Lisp packages.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   522
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   523
Currently (2011-02-15) available such sources::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   524
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   525
  (setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   526
                           ("gnu" . "http://elpa.gnu.org/packages/")
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   527
                           ("marmalade" . "http://marmalade-repo.org/packages/")
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   528
                           ))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   529
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   530
 * http://www.emacswiki.org/emacs/ELPA
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   531
 * http://marmalade-repo.org/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   532
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   533
  http://elpa.gnu.org/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   534
                official GNU Emacs Lisp Package Archive
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   535
  http://tromey.com/elpa/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   536
                old Emacs Lisp Package Archive home page
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   537
  http://tromey.com/elpa/upload.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   538
                how to contribute
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   539
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   540
Emacswiki.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   541
----------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   542
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   543
 * http://www.emacswiki.org/emacs/ElispArea
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   544
 * http://www.emacswiki.org/emacs/WikifiedEmacsLispList
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   545
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   546
emacsmirror.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   547
------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   548
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   549
 * https://github.com/emacsmirror/p/wiki
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   550
 * http://www.emacsmirror.org/
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   551
 * http://www.emacswiki.org/emacs/Emacsmirror
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   552
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   553
Funny Emacs modes.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   554
==================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   555
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   556
  glasses
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   557
                Minor mode for making identifiers likeThis readable.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   558
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   559
Useful commands.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   560
================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   561
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   562
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   563
  flush-lines keep-lines
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   564
  align-regexp
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   565
  C-x C-o
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   566
  M-PageUp/M-PageDown
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   567
  command-history
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   568
  M-=
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   569
  C-x l
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   570
  locate-library find-library
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   571
  features load-history
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   572