emacs.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 30 Jan 2017 00:44:30 +0200
changeset 2075 ccaa2f364422
parent 1952 b01bfc6caae7
child 2125 754abf10c819
permissions -rw-r--r--
Improve page formatting.
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; -*-
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
 Emacs.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1654
diff changeset
     7
   :local:
1142
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
1952
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   192
edebug
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   193
------
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   194
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   195
``edebug`` allow save execution statistic on per line basis. As usual evaluate
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   196
``C-u M-S-x`` (or ``M-x edebug-defun``) on top lovel functional form. Call code
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   197
that uses examined function. On entry to ``edebug`` type ``c``
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   198
(``edebug-continue-mode``). After finishing evaluation place cursor to examined
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   199
function form and evaluate ``M-x edebug-display-freq-count``. Function be
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   200
annotated with evaluation counts per line.
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   201
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   202
benchmark.el
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   203
------------
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   204
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   205
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   206
  (benchmark-run 1 (revert-buffer))
1207
b014c71fdb7d benchmark.el
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1189
diff changeset
   207
  (benchmark-run-compiled 1 (hi-lock-face-phrase-buffer "hello" 'hi-yellow))
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   208
1952
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   209
elp.el
b01bfc6caae7 Emacs profiling with edebug.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1945
diff changeset
   210
------
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   211
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   212
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
   213
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
   214
``M-x elp-reset-all``.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   215
1945
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   216
Validating Elisp code
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   217
=====================
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   218
::
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   219
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   220
   (checkdoc)
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   221
   (byte-compile-file (buffer-file-name))
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   222
   (package-buffer-info)
dbcf75d07a68 Validating Elisp code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
   223
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   224
WWW.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   225
====
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   226
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   227
Text based WWW browser.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   228
-----------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   229
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   230
 * http://en.wikipedia.org/wiki/W3m
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   231
 * http://emacs-w3m.namazu.org/
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   232
 * http://www.gnu.org/software/w3/
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   233
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   234
Tricks.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   235
=======
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   236
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   237
Sort and uniquify lines.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   238
------------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   239
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   240
Select region, type ``C-u M-| sort -u RET``.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   241
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   242
With transient-mark-mode and delete-selection-mode enabled: select region,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   243
type M-| sort -u RET to replace selection with sorted and uniquified lines.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   244
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   245
Determining running environment/platform.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   246
=========================================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   247
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   248
Check variables::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   249
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   250
  emacs-major-version
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   251
  emacs-minor-version
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   252
  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
   253
  window-system-version     - for windows only
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   254
  window-size-fixed
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   255
  operating-system-release  - release of the operating system Emacs is running on
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   256
  system-configuration      - like configuration triplet: cpu-manufacturer-os
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   257
  system-configuration-options
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   258
  system-name               - host name of the machine you are running on
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   259
  system-time-locale
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   260
  system-type               - indicating the type of operating system you are using:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   261
                              ``gnu`` (GNU Hurd),
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   262
                              ``gnu/linux``,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   263
                              ``gnu/kfreebsd``, ``berkeley-unix`` for (FreeBSD),
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   264
                              ``darwin`` (GNU-Darwin, Mac OS X),
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   265
                              ``ms-dos``,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   266
                              ``windows-nt``,
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   267
                              ``cygwin``
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   268
  system-uses-terminfo
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   269
  dynamic-library-alist or deprecated image-library-alist
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   270
                            - alist of image types vs external libraries needed to display them
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   271
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   272
and check functions::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   273
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   274
  (fboundp ...)             - return t if SYMBOL's function definition is not void
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   275
  (featurep ...)            - returns t if FEATURE is present in this Emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   276
  (display-graphic-p)       - return non-nil if DISPLAY is a graphic display; graphical
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   277
                              displays are those which are capable of displaying several
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   278
                              frames and several different fonts at once
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   279
  (display-multi-font-p)    - same as ``display-graphic-p``
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   280
  (display-multi-frame-p)   - same as ``display-graphic-p``
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   281
  (display-color-p)         - return t if DISPLAY supports color
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   282
  (display-images-p)        - return non-nil if DISPLAY can display images
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   283
  (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
   284
  (display-mouse-p)         - return non-nil if DISPLAY has a mouse available
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   285
  (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
   286
  (display-selections-p)    - return non-nil if DISPLAY supports selections
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   287
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   288
Run those checks as below::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   289
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   290
  (when window-system ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   291
  (when (eq window-system 'x) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   292
  (when (>= emacs-major-version 22) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   293
  (when (fboundp '...) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   294
  (when (featurep '...) ...)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   295
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   296
Compiling emacs.
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
Windows.
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
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
   303
jpeg, ungif, tiff, xpm, png, zlib libraries.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   304
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   305
Read emacs/nt/INSTALL::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   306
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   307
  $ cmd
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   308
  $ cd emacs\nt
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   309
  $ 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
   310
  $ make bootstrap
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   311
  $ make info
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   312
  $ make install
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   313
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   314
Documentation.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   315
==============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   316
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   317
Elisp documentation.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   318
--------------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   319
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   320
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   321
  ;;; <file-name>.el --- <one-line-description>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   322
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   323
  ;; Copyright (C) <years> <person>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   324
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   325
  ;; Author: <person> <mail>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   326
  ;; Maintainer: <person> <mail>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   327
  ;; Created: <date>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   328
  ;; Version: <version>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   329
  ;; Keywords: <look for ``finder-by-keyword`` output, separate by comma>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   330
  ;; URL: <file-location>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   331
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   332
  ;;; Commentary:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   333
  <bla-bla-bla>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   334
  ;;; Code:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   335
  <lisp-code>
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   336
  ;;; <file-name> ends here
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   337
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   338
See
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   339
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   340
 * http://www.gnu.org/software/emacs/elisp-manual/html_node/Library-Headers.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   341
 * http://www.emacswiki.org/cgi-bin/wiki/ElispAreaConventions
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   342
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   343
CheckDoc.
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
CheckDoc checks your EmacsLisp code for errors in documentation and style.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   347
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   348
  http://cedet.sourceforge.net/checkdoc.shtml
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   349
                home page before including it into GNU Emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   350
  http://www.emacswiki.org/emacs/CheckDoc
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   351
                CheckDoc
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   352
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   353
Installing Emacs.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   354
=================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   355
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   356
From sources.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   357
-------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   358
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   359
 * http://ftp.gnu.org/pub/gnu/emacs
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   360
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   361
Windows.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   362
--------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   363
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   364
  http://ftp.gnu.org/pub/gnu/emacs/windows
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   365
                Releases for Windows.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   366
  http://alpha.gnu.org/gnu/emacs/windows
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   367
                Beta releases for Windows.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   368
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   369
Debian.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   370
-------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   371
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   372
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   373
  $ apt-get install emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   374
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   375
Emacs paths.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   376
============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   377
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   378
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   379
  source-directory data-directory doc-directory exec-directory
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   380
  invocation-directory trash-directory tutorial-directory user-emacs-directory
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   381
  widget-image-directory
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   382
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   383
Emacs games.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   384
============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   385
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   386
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   387
  hanoi hanoi-unix life pong tetris gomoku
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   388
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   389
Long lines.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   390
===========
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   391
::
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   392
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   393
  (setq longlines-show-hard-newlines t)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   394
  (setq longlines-wrap-follows-window-size t)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   395
  (longlines-mode 1)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   396
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   397
Printing Emacs structures.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   398
==========================
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   399
::
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   400
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   401
  (message "%S" '(a b 123 "hello" 'set))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   402
  (pp '(a b 123 "hello" 'set))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   403
  (prin1-to-string '(1 2))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   404
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   405
  (symbol-name 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   406
  (symbol-value 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   407
  (symbol-function 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   408
  (symbol-plist 'f)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   409
1143
3a3389b22964 (local-variable-p var buffer)
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1142
diff changeset
   410
  (local-variable-p var buffer)
3a3389b22964 (local-variable-p var buffer)
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1142
diff changeset
   411
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   412
File manager.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   413
=============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   414
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   415
 * http://www.emacswiki.org/emacs/Sunrise_Commander
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   416
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   417
Semantic.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   418
=========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   419
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   420
  semantic-lex-spp-describe
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   421
                Describe the current list of spp macros.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   422
  semantic-lex-c-preprocessor-symbol-file
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   423
                List of C/C++ files that contain preprocessor macros for the C lexer.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   424
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   425
Debugging C code.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   426
=================
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   427
::
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   428
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   429
  -*- mode: grep; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   430
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   431
XML modes.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   432
==========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   433
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   434
XSLT-process.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   435
-------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   436
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   437
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
   438
XSLT processing and debugging capabilities.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   439
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   440
The mode currently supports two Java XSLT processors:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   441
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   442
 * Saxon - fully supported, including debugging capabilities.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   443
 * Xalan - fully supported, including debugging capabilities.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   444
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   445
  http://xslt-process.sourceforge.net/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   446
                home page
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   447
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   448
Useful program logging.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   449
=======================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   450
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   451
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
   452
program::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   453
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   454
  -*- mode: compilation-minor; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   455
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   456
Program must use one of supported by ``compilation-minor-mode`` (see
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   457
``compilation-error-regexp-alist``), like::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   458
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   459
  printf(__FILE__ ":%d: %s\n", __LINE__, msg);  /* msg - user defined string */
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   460
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   461
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
   462
debugger)::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   463
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   464
  #define NUM2STR(x) STR(x)
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   465
  #define STR(x) #x
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   466
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   467
  printf(__FILE__ ":" NUM2STR(__LINE__) ": %s\n", msg);
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   468
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   469
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
   470
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   471
  -*- mode: grep; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   472
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   473
Edit HTML.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   474
==========
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   475
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   476
 * psgml-mode
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   477
 * nxml-mode
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   478
 * sgml-mode
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   479
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   480
html-helper-mode.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   481
-----------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   482
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   483
Highlighting, autocompletion, and auto-insertion of closing tags.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   484
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   485
 * http://www.emacswiki.org/emacs/HtmlHelperMode
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   486
 * http://savannah.nongnu.org/projects/baol-hth/
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   487
 * http://www.nongnu.org/baol-hth/
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   488
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   489
Source.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   490
=======
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   491
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   492
Get main development sources::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   493
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   494
  $ bzr init-repo --2a emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   495
  $ cd emacs
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   496
  $ bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   497
  $ cd trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   498
  $ bzr bind http://bzr.savannah.gnu.org/r/emacs/trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   499
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   500
To update with latest changes::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   501
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   502
  $ cd emacs/trunk
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   503
  $ bzr update
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   504
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   505
See:
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   506
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   507
 * http://www.emacswiki.org/emacs/BzrForEmacsDevs
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   508
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   509
Emacs Git mirror.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   510
-----------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   511
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   512
 * http://www.emacswiki.org/emacs/EmacsFromGit
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   513
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   514
Patch.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   515
======
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   516
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   517
  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5719
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   518
                [patch] fix bat-generic-mode highlighting pattern for CLI
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   519
                switch.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   520
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   521
How report bug.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   522
===============
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   523
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   524
Visit http://debbugs.gnu.org or ``M-x report-emacs-bug``.
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   525
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   526
Finding emacs packages.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   527
=======================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   528
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   529
 * http://anc.ed.ac.uk/~stephen/emacs/ell.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   530
 * http://www.emacswiki.org/emacs/WikifiedEmacsLispList
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   531
 * http://www.emacswiki.org/emacs/RationalElispPackaging
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://tromey.com/elpa/index.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   534
                Emacs Lisp Package Archive
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   535
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   536
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   537
EPLA.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   538
-----
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   539
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   540
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
   541
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   542
Currently (2011-02-15) available such sources::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   543
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   544
  (setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   545
                           ("gnu" . "http://elpa.gnu.org/packages/")
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   546
                           ("marmalade" . "http://marmalade-repo.org/packages/")
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   547
                           ))
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   548
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   549
 * http://www.emacswiki.org/emacs/ELPA
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   550
 * http://marmalade-repo.org/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   551
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   552
  http://elpa.gnu.org/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   553
                official GNU Emacs Lisp Package Archive
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   554
  http://tromey.com/elpa/
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   555
                old Emacs Lisp Package Archive home page
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   556
  http://tromey.com/elpa/upload.html
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   557
                how to contribute
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   558
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   559
Emacswiki.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   560
----------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   561
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   562
 * http://www.emacswiki.org/emacs/ElispArea
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   563
 * http://www.emacswiki.org/emacs/WikifiedEmacsLispList
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   564
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   565
emacsmirror.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   566
------------
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   567
1477
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   568
 * https://github.com/emacsmirror/p/wiki
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   569
 * http://www.emacsmirror.org/
652e9d14c7cc Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1476
diff changeset
   570
 * http://www.emacswiki.org/emacs/Emacsmirror
1142
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   571
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   572
Funny Emacs modes.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   573
==================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   574
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   575
  glasses
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   576
                Minor mode for making identifiers likeThis readable.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   577
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   578
Useful commands.
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   579
================
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   580
::
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   581
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   582
  flush-lines keep-lines
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   583
  align-regexp
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   584
  C-x C-o
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   585
  M-PageUp/M-PageDown
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   586
  command-history
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   587
  M-=
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   588
  C-x l
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   589
  locate-library find-library
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   590
  features load-history
3059b0c6c39a symbol-plist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   591