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