emacs.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 04 Apr 2011 17:35:05 +0300
changeset 866 0f4a610411cd
parent 838 fadd85984a28
child 878 719703185d67
child 880 60bfe3e287eb
permissions -rw-r--r--
Installing Emacs.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
179
e225b746945d Correct encoding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 177
diff changeset
     1
-*- mode: outline; coding: utf-8 -*-
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
688
980c38722d24 gmane lists.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 653
diff changeset
     3
* About.
980c38722d24 gmane lists.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 653
diff changeset
     4
812
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 804
diff changeset
     5
  http://elpa.gnu.org/
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 804
diff changeset
     6
                Packages for Emacs. This requires Emacs version 24.1 or
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 804
diff changeset
     7
                higher.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 804
diff changeset
     8
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 804
diff changeset
     9
* Getting help.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 804
diff changeset
    10
688
980c38722d24 gmane lists.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 653
diff changeset
    11
  http://news.gmane.org/gmane.emacs.help
980c38722d24 gmane lists.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 653
diff changeset
    12
  http://news.gmane.org/gmane.emacs.announce
980c38722d24 gmane lists.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 653
diff changeset
    13
  http://news.gmane.org/gmane.emacs.auctex.announce
980c38722d24 gmane lists.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 653
diff changeset
    14
866
0f4a610411cd Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 838
diff changeset
    15
* Installing Emacs.
0f4a610411cd Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 838
diff changeset
    16
0f4a610411cd Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 838
diff changeset
    17
  http://ftp.gnu.org/gnu/emacs/windows/
0f4a610411cd Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 838
diff changeset
    18
                Clean GNU Emacs for 32-bit Windows
0f4a610411cd Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 838
diff changeset
    19
  http://emacsformacosx.com/
0f4a610411cd Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 838
diff changeset
    20
                Clean GNU Emacs for Mac OS X
0f4a610411cd Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 838
diff changeset
    21
219
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    22
* Variables.
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    23
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    24
Select one of:
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    25
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    26
  (set 'variable value)
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    27
  (setq variable value)
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    28
  (defvar variable value "documentation")
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    29
268
b99a51c4e605 Emacs treat text as local variable definition, escape text.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 225
diff changeset
    30
or (replace <colon> with :)
219
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    31
268
b99a51c4e605 Emacs treat text as local variable definition, escape text.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 225
diff changeset
    32
  # Local variables<colon>
b99a51c4e605 Emacs treat text as local variable definition, escape text.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 225
diff changeset
    33
  # variable<colon> value
b99a51c4e605 Emacs treat text as local variable definition, escape text.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 225
diff changeset
    34
  # End<colon>
219
a6a5839b7423 Set variables in emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
    35
171
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    36
* Debugging.
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    37
799
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    38
** Evaluating elisp expression on the fly.
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    39
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    40
Type M-: than lisp expression than type RET.
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    41
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    42
Or in any buffer place point at the end of lisp expression and type C-x C-e.
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    43
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    44
Or invoke elisp "shell" by M-x ielm.
4052d3b154d8 Evaluating elisp expression on the fly.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 798
diff changeset
    45
382
1f499471d603 What functions and variables Emacs load and from which files?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 296
diff changeset
    46
** What functions and variables Emacs load and from which files?
1f499471d603 What functions and variables Emacs load and from which files?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 296
diff changeset
    47
1f499471d603 What functions and variables Emacs load and from which files?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 296
diff changeset
    48
See value of variable 'load-history' (by C-h v load-history RET).
1f499471d603 What functions and variables Emacs load and from which files?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 296
diff changeset
    49
171
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    50
** Using edebug.
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    51
177
02b79b857ee1 Use plain ascii chars instead of UTF-8.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 171
diff changeset
    52
Execute 'M-x edebug-defun' (also on 'C-u C-M-x') on defun in source code to
171
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    53
enable debugging for desired function. When next time this function invoked
213
af6fdb4adbf3 Correct spell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 212
diff changeset
    54
you entered to its debugging (jumped to its source code).
171
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    55
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    56
To start debug execute code which used debugged function.
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
171
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    58
You can disable edebug on a function by evaluating the function again using
177
02b79b857ee1 Use plain ascii chars instead of UTF-8.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 171
diff changeset
    59
'C-M-x'.
171
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    60
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    61
** How debug func?
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    62
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    63
Use M-x debug-on-entry and M-x cancel-debug-on-entry to control
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    64
which functions will enter the debugger when called.
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    65
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    66
When next time that function called automatically loaded debug-mode.
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    67
8e806cddee36 Debugging emacs (about edebug).
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
    68
** How debug ini file?
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
213
af6fdb4adbf3 Correct spell.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 212
diff changeset
    70
When your ini has a bug, or when you load external files that cause
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
errors, the bug is often hard to find, because the Emacs Lisp reader does not
179
e225b746945d Correct encoding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 177
diff changeset
    72
know about line numbers and files - it just knows an error happened, and
e225b746945d Correct encoding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 177
diff changeset
    73
that's it.
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
585
c7b268051d29 Run Emacs with '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 528
diff changeset
    75
Try run Emacs with '--debug-init' to see backtrace.
c7b268051d29 Run Emacs with '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 528
diff changeset
    76
528
8d0e582bca90 How debug long running command?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 516
diff changeset
    77
** How debug long running command?
8d0e582bca90 How debug long running command?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 516
diff changeset
    78
8d0e582bca90 How debug long running command?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 516
diff changeset
    79
M-x debug-on-quit RET' and then just hit `C-g' next time it gets 'stuck' somewhere.
8d0e582bca90 How debug long running command?
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 516
diff changeset
    80
797
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
    81
** Check if bug in ini file not in Emacs itself.
415
3ae537fcc132 Check if bug in ini file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 382
diff changeset
    82
3ae537fcc132 Check if bug in ini file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 382
diff changeset
    83
First run Emacs without loading anything:
3ae537fcc132 Check if bug in ini file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 382
diff changeset
    84
3ae537fcc132 Check if bug in ini file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 382
diff changeset
    85
  $ emacs --no-init-file --no-site-file
3ae537fcc132 Check if bug in ini file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 382
diff changeset
    86
797
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
    87
or more shortly (as '-Q' imply '-q', '--no-site-file', and '--no-splash'
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
    88
together):
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
    89
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
    90
  $ emacs -Q
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
    91
415
3ae537fcc132 Check if bug in ini file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 382
diff changeset
    92
If bug not reproduced bug lies in ini files!
3ae537fcc132 Check if bug in ini file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 382
diff changeset
    93
797
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
    94
** Debug by binary search.
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
86
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
    96
Select half of the file in a region, and M-x eval-region. Depending on whether
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
    97
that causes the error or not, split this half or the other half again, and
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
    98
repeat.
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
    99
798
c5cff695aec7 Move section to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 797
diff changeset
   100
*** Simplified Binary Search.
c5cff695aec7 Move section to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 797
diff changeset
   101
c5cff695aec7 Move section to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 797
diff changeset
   102
Add (error 'No error until here') in the middle of your file. If you get the
c5cff695aec7 Move section to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 797
diff changeset
   103
error 'No error until here' when reloading the file, move the expression
c5cff695aec7 Move section to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 797
diff changeset
   104
towards the back of the file, otherwise towards the front of the file.
c5cff695aec7 Move section to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 797
diff changeset
   105
797
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   106
** Elisp debug tips.
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
86
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
   108
 - Use a keyboard macro that moves forward one expression (sexp) and evaluates
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
   109
   it.
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
   110
 - Try C-x check-parens.
797
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   111
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   112
** Enable debug mode (also on loading).
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   113
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   114
Set in source
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   115
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   116
  (setq debug-on-error t)
86
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
   117
797
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   118
or invoke Emacs like:
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   119
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   120
  $ emacs --debug-init
18
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
797
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   122
'--debug-init' which binds 'debug-on-error' to 't' while loading the init
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   123
file, and bypasses the `condition-case' which normally catches errors in the
11928bb0b66d Fix section level. Write about '-Q' and '--debug-init'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 782
diff changeset
   124
init file.
86
72175e4fc069 Reformat and add CLI switches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
   125
223
1f1a18891bc2 Call tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 213
diff changeset
   126
** Call tree.
1f1a18891bc2 Call tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 213
diff changeset
   127
1f1a18891bc2 Call tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 213
diff changeset
   128
Before byte compiling file execute
1f1a18891bc2 Call tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 213
diff changeset
   129
1f1a18891bc2 Call tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 213
diff changeset
   130
  (setq byte-compile-generate-call-tree t)
1f1a18891bc2 Call tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 213
diff changeset
   131
782
bfd7453296ca Veiw buffer local variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   132
** Veiw buffer local variables.
bfd7453296ca Veiw buffer local variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   133
bfd7453296ca Veiw buffer local variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   134
  (pp (buffer-local-variables))
bfd7453296ca Veiw buffer local variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 777
diff changeset
   135
776
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   136
* Emacs profiling.
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   137
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   138
** benchmark.el.
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   139
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   140
  (benchmark-run 1 (revert-buffer))
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   141
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   142
** elp.el.
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   143
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   144
Enter a prefix for 'M-x elp-instrument-package', perform action and see result
804
8abdb87eede7 To perform new measurement.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 799
diff changeset
   145
by 'M-x elp-results'. To perform new measurement don't forget to run 'M-x
8abdb87eede7 To perform new measurement.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 799
diff changeset
   146
elp-reset-all'.
776
48b1ac6283ec Emacs profiling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 688
diff changeset
   147
181
4202927c15ac Text based WWW browser for emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
   148
* WWW.
4202927c15ac Text based WWW browser for emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
   149
4202927c15ac Text based WWW browser for emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
   150
** Text based WWW browser.
4202927c15ac Text based WWW browser for emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
   151
4202927c15ac Text based WWW browser for emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
   152
  http://en.wikipedia.org/wiki/W3m
4202927c15ac Text based WWW browser for emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
   153
  http://emacs-w3m.namazu.org/
4202927c15ac Text based WWW browser for emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 86
diff changeset
   154
  http://www.gnu.org/software/w3/
212
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   155
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   156
* Tricks.
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   157
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   158
** Sort and uniquify lines.
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   159
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   160
Select region, type C-u M-| sort -u RET.
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   161
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   162
With transient-mark-mode and delete-selection-mode enabled: select region,
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   163
type M-| sort -u RET to replace selection with sorted and uniquified lines.
5715a5193fd4 Sort and uniquify lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 182
diff changeset
   164
499
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   165
** Determining running environment/platform.
472
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   166
499
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   167
Check variables:
472
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   168
477
88bb97fd33c5 Determining running environment.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 472
diff changeset
   169
  emacs-major-version
88bb97fd33c5 Determining running environment.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 472
diff changeset
   170
  emacs-minor-version
500
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   171
  window-system             - 'nil' if in terminal, 'w32' if native Windows build, 'x' if under X Window
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   172
  window-system-version     - for windows only
807
f4ebb90295ee image-library-alist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 806
diff changeset
   173
  window-size-fixed
500
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   174
  operating-system-release  - release of the operating system Emacs is running on
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   175
  system-configuration      - like configuration triplet: cpu-manufacturer-os
806
3ebfc31f15d5 system-configuration-options
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 799
diff changeset
   176
  system-configuration-options
500
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   177
  system-name               - host name of the machine you are running on
477
88bb97fd33c5 Determining running environment.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 472
diff changeset
   178
  system-time-locale
500
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   179
  system-type               - indicating the type of operating system you are using:
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   180
                              'gnu' (GNU Hurd), 'gnu/linux', 'gnu/kfreebsd' (FreeBSD),
0126175e6252 Reindent and make more doc for some variables.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 499
diff changeset
   181
                              'darwin' (GNU-Darwin, Mac OS X), 'ms-dos', 'windows-nt', 'cygwin'
477
88bb97fd33c5 Determining running environment.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 472
diff changeset
   182
  system-uses-terminfo
807
f4ebb90295ee image-library-alist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 806
diff changeset
   183
  dynamic-library-alist or deprecated image-library-alist
f4ebb90295ee image-library-alist
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 806
diff changeset
   184
                            - alist of image types vs external libraries needed to display them
472
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   185
502
782eb1e22618 small fix
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 501
diff changeset
   186
and check functions:
499
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   187
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   188
  (fboundp ...)             - return t if SYMBOL's function definition is not void
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   189
  (featurep ...)            - returns t if FEATURE is present in this Emacs
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   190
  (display-graphic-p)       - return non-nil if DISPLAY is a graphic display; graphical
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   191
                              displays are those which are capable of displaying several
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   192
                              frames and several different fonts at once
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   193
  (display-multi-font-p)    - same as 'display-graphic-p'
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   194
  (display-multi-frame-p)   - same as 'display-graphic-p'
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   195
  (display-color-p)         - return t if DISPLAY supports color
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   196
  (display-images-p)        - return non-nil if DISPLAY can display images
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   197
  (display-grayscale-p)     - return non-nil if frames on DISPLAY can display shades of gray
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   198
  (display-mouse-p)         - return non-nil if DISPLAY has a mouse available
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   199
  (display-popup-menus-p)   - return non-nil if popup menus are supported on DISPLAY
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   200
  (display-selections-p)    - return non-nil if DISPLAY supports selections
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   201
ab94e51efbc6 Determining running environment/platform.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 478
diff changeset
   202
Run those checks as below:
472
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   203
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   204
  (when window-system ...)
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   205
  (when (eq window-system 'x) ...)
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   206
  (when (>= emacs-major-version 22) ...)
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   207
  (when (fboundp '...) ...)
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   208
  (when (featurep '...) ...)
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   209
269
77c8799aa8de Finding emacs packages.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 268
diff changeset
   210
* Finding emacs packages.
77c8799aa8de Finding emacs packages.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 268
diff changeset
   211
77c8799aa8de Finding emacs packages.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 268
diff changeset
   212
See
77c8799aa8de Finding emacs packages.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 268
diff changeset
   213
77c8799aa8de Finding emacs packages.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 268
diff changeset
   214
  http://anc.ed.ac.uk/~stephen/emacs/ell.html
77c8799aa8de Finding emacs packages.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 268
diff changeset
   215
  http://www.emacswiki.org/emacs/WikifiedEmacsLispList
296
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   216
  http://tromey.com/elpa/index.html
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   217
                Emacs Lisp Package Archive
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   218
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   219
** ELPA.
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   220
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   221
ELPA goal is to make it simple to install, use, and upgrade Emacs Lisp
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   222
packages.
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   223
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   224
  http://tromey.com/elpa/upload.html
a1447ce5751b About ELPA.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 283
diff changeset
   225
                how to contribute
270
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   226
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   227
* Compiling emacs.
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   228
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   229
** Windows.
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   230
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   231
Get MSYS for POSIX shell and utilities . Get MinGW for GCC. Get Gnuwin32 for
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   232
jpeg, ungif, tiff, xpm, png, zlib libraries.
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   233
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   234
Read emacs/nt/INSTALL.
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   235
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   236
  $ cmd
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   237
  $ cd emacs\nt
275
3b1d21da03e3 Correct configure.bat options.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 270
diff changeset
   238
  $ configure.bat --prefix %INST_ROOT% --with-gcc --cflags -I%GNUWIN32_ROOT%/include --ldflags -L%GNUWIN32_ROOT%/lib  --ldflags -lregex
270
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   239
  $ make bootstrap
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   240
  $ make info
f11742a1e175 Compiling emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 269
diff changeset
   241
  $ make install
280
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   242
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   243
* Documentation.
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   244
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   245
** Elisp documentation.
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   246
283
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   247
  ;;; <file-name>.el --- <one-line-description>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   248
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   249
  ;; Copyright (C) <years> <person>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   250
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   251
  ;; Author: <person> <mail>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   252
  ;; Maintainer: <person> <mail>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   253
  ;; Created: <date>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   254
  ;; Version: <version>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   255
  ;; Keywords: <look for 'finder-by-keyword' output, separate by comma>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   256
  ;; URL: <file-location>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   257
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   258
  ;;; Commentary:
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   259
  <bla-bla-bla>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   260
  ;;; Code:
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   261
  <lisp-code>
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   262
  ;;; <file-name> ends here
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   263
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   264
See
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   265
74036be9b6f9 Elisp documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 280
diff changeset
   266
  http://www.gnu.org/software/emacs/elisp-manual/html_node/Library-Headers.html
280
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   267
  http://www.emacswiki.org/cgi-bin/wiki/ElispAreaConventions
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   268
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   269
*** CheckDoc.
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   270
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   271
CheckDoc checks your EmacsLisp code for errors in documentation and style.
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   272
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   273
  http://cedet.sourceforge.net/checkdoc.shtml
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   274
                home page before including it into GNU Emacs
4739b9c54c18 About CheckDoc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 275
diff changeset
   275
  http://www.emacswiki.org/emacs/CheckDoc
454
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   276
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   277
* Installing Emacs.
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   278
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   279
** From sources.
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   280
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   281
  http://ftp.gnu.org/pub/gnu/emacs
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   282
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   283
** Windows.
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   284
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   285
  http://ftp.gnu.org/pub/gnu/emacs/windows
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   286
  http://alpha.gnu.org/gnu/emacs/windows
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   287
                beta releases for windows
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   288
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   289
** Debian.
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   290
56dce8c7f298 Installing Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 415
diff changeset
   291
  $ apt-get install emacs
472
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   292
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   293
* Emacs paths.
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   294
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   295
  source-directory data-directory doc-directory exec-directory invocation-directory trash-directory
cfe17c4a293b Emacs paths.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 454
diff changeset
   296
  tutorial-directory user-emacs-directory widget-image-directory
478
d602ea06bb76 Emacs games.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 477
diff changeset
   297
d602ea06bb76 Emacs games.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 477
diff changeset
   298
* Emacs games.
d602ea06bb76 Emacs games.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 477
diff changeset
   299
d602ea06bb76 Emacs games.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 477
diff changeset
   300
  hanoi hanoi-unix life pong tetris gomoku
d602ea06bb76 Emacs games.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 477
diff changeset
   301
501
df542c2499f9 Long lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 500
diff changeset
   302
* Long lines.
df542c2499f9 Long lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 500
diff changeset
   303
df542c2499f9 Long lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 500
diff changeset
   304
  (setq longlines-show-hard-newlines t)
df542c2499f9 Long lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 500
diff changeset
   305
  (setq longlines-wrap-follows-window-size t)
df542c2499f9 Long lines.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 500
diff changeset
   306
  (longlines-mode 1)
511
79d2735bd210 Printing Emacs structures.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 502
diff changeset
   307
79d2735bd210 Printing Emacs structures.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 502
diff changeset
   308
* Printing Emacs structures.
79d2735bd210 Printing Emacs structures.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 502
diff changeset
   309
79d2735bd210 Printing Emacs structures.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 502
diff changeset
   310
  (message "%S" '(a b 123 "hello" 'set))
79d2735bd210 Printing Emacs structures.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 502
diff changeset
   311
  (pp '(a b 123 "hello" 'set))
838
fadd85984a28 Printing Emacs structures.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 826
diff changeset
   312
  (prin1-to-string '(1 2))
512
c90889a42e2b File manager.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 511
diff changeset
   313
c90889a42e2b File manager.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 511
diff changeset
   314
* File manager.
c90889a42e2b File manager.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 511
diff changeset
   315
c90889a42e2b File manager.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 511
diff changeset
   316
  http://www.emacswiki.org/emacs/Sunrise_Commander
513
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   317
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   318
* Semantic.
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   319
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   320
  semantic-lex-spp-describe
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   321
                Describe the current list of spp macros.
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   322
  semantic-lex-c-preprocessor-symbol-file
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   323
                List of C/C++ files that contain preprocessor macros for the C lexer.
d4dbea0f4121 Semantic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 512
diff changeset
   324
516
3441ccca2e29 Debugging C code.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 513
diff changeset
   325
* Debugging C code.
3441ccca2e29 Debugging C code.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 513
diff changeset
   326
3441ccca2e29 Debugging C code.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 513
diff changeset
   327
  -*- mode: grep; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
637
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   328
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   329
* XML modes.
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   330
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   331
** XSLT-process.
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   332
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   333
XSLT-process is a minor mode for GNU Emacs/XEmacs which transforms it into a powerful editor with
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   334
XSLT processing and debugging capabilities.
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   335
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   336
The mode currently supports two Java XSLT processors:
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   337
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   338
 * Saxon - fully supported, including debugging capabilities.
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   339
 * Xalan - fully supported, including debugging capabilities.
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   340
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   341
  http://xslt-process.sourceforge.net/
fc4f97c313ef XML modes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 585
diff changeset
   342
                home page
653
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   343
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   344
* Useful program logging.
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   345
777
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   346
Put first line to your log file, you must replace 'default-directory' to dir where you build
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   347
program:
653
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   348
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   349
  -*- mode: compilation-minor; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   350
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   351
Program must use one of supported by 'compilation-minor-mode' (see
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   352
'compilation-error-regexp-alist'), like:
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   353
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   354
  printf(__FILE__ ":%d: %s\n", __LINE__, msg);  /* msg - user defined string */
82f1a982109d Useful program logging.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 637
diff changeset
   355
777
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   356
or in second form (in this case line number included in format string, so easy searchable in
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   357
debugger):
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   358
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   359
  #define NUM2STR(x) STR(x)
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   360
  #define STR(x) #x
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   361
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   362
  printf(__FILE__ ":" NUM2STR(__LINE__) ": %s\n", msg);
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   363
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   364
Or some faster use 'grep-mode', but you restricted with GNU like error format:
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   365
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   366
  -*- mode: grep; mode: auto-revert-tail; default-directory: "~/devel/proj" -*-
e759f98ea3a8 Useful program logging. Add info about grep-mode and logging format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 776
diff changeset
   367
825
a3eeb2644f77 Edit HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 814
diff changeset
   368
* Edit HTML.
a3eeb2644f77 Edit HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 814
diff changeset
   369
a3eeb2644f77 Edit HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 814
diff changeset
   370
psgml-mode
a3eeb2644f77 Edit HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 814
diff changeset
   371
nxml-mode
a3eeb2644f77 Edit HTML.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 814
diff changeset
   372
sgml-mode
826
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   373
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   374
** html-helper-mode.
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   375
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   376
Highlighting, autocompletion, and auto-insertion of closing tags.
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   377
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   378
  http://www.emacswiki.org/emacs/HtmlHelperMode
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   379
  http://savannah.nongnu.org/projects/baol-hth/
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   380
  http://www.nongnu.org/baol-hth/
a89ae1fd97f5 html-helper-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 825
diff changeset
   381