aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2006-02-24 13:44:56 +0000
committerKaroly Lorentey2006-02-24 13:44:56 +0000
commit475789a7d6e602ceed2980c2f2a1c41fc46b56e7 (patch)
treeec1b5fc54d74959b669346020af0ad5a23eb8f0a
parent260a37ea6639a7872381615e8e2f4041240458ac (diff)
parent77343e1d1c4d26539f48e32754707df15e6e2ad2 (diff)
downloademacs-475789a7d6e602ceed2980c2f2a1c41fc46b56e7.tar.gz
emacs-475789a7d6e602ceed2980c2f2a1c41fc46b56e7.zip
Merged from
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-116 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-117 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-118 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-119 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-38 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-39 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-520
-rw-r--r--etc/ChangeLog4
-rw-r--r--etc/TUTORIAL.cn2
-rw-r--r--etc/orgcard.tex4
-rw-r--r--lisp/ChangeLog123
-rw-r--r--lisp/allout.el22
-rw-r--r--lisp/compare-w.el25
-rw-r--r--lisp/gnus/ChangeLog37
-rw-r--r--lisp/gnus/flow-fill.el10
-rw-r--r--lisp/gnus/message.el4
-rw-r--r--lisp/gnus/mm-util.el4
-rw-r--r--lisp/gnus/mm-view.el9
-rw-r--r--lisp/gnus/nnimap.el1
-rw-r--r--lisp/gnus/qp.el2
-rw-r--r--lisp/gnus/utf7.el2
-rw-r--r--lisp/help.el10
-rw-r--r--lisp/info.el12
-rw-r--r--lisp/progmodes/gdb-ui.el78
-rw-r--r--lisp/progmodes/glasses.el14
-rw-r--r--lisp/progmodes/gud.el15
-rw-r--r--lisp/textmodes/org.el159
-rw-r--r--man/ChangeLog27
-rw-r--r--man/faq.texi349
-rw-r--r--man/org.texi2
-rw-r--r--src/ChangeLog17
-rw-r--r--src/dispnew.c13
-rw-r--r--src/fileio.c2
-rw-r--r--src/macterm.c22
27 files changed, 642 insertions, 327 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 61fec42dbe2..cfc2f3e9a04 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12006-02-23 Herbert Euler <herberteuler@hotmail.com> (tiny change)
2
3 * TUTORIAL.cn: Fix omission bug: Add dot (ASCII 0x2E) on first line.
4
12006-02-22 Carsten Dominik <dominik@science.uva.nl> 52006-02-22 Carsten Dominik <dominik@science.uva.nl>
2 6
3 * orgcard.tex: (section{Links}): Rewritten to cover the modified 7 * orgcard.tex: (section{Links}): Rewritten to cover the modified
diff --git a/etc/TUTORIAL.cn b/etc/TUTORIAL.cn
index 2546b84e465..a1589aa0cd7 100644
--- a/etc/TUTORIAL.cn
+++ b/etc/TUTORIAL.cn
@@ -1,4 +1,4 @@
1Emacs 快速指南(查看版权声明请至本文末尾) 1Emacs 快速指南.(查看版权声明请至本文末尾)
2 2
3【注意:位于【】之间的内容是译注,比如本行,下同。】 3【注意:位于【】之间的内容是译注,比如本行,下同。】
4 4
diff --git a/etc/orgcard.tex b/etc/orgcard.tex
index caccb7622eb..75ff98514b5 100644
--- a/etc/orgcard.tex
+++ b/etc/orgcard.tex
@@ -1,4 +1,4 @@
1% Reference Card for Org Mode 4.05 1% Reference Card for Org Mode 4.06
2% 2%
3%**start of header 3%**start of header
4\newcount\columnsperpage 4\newcount\columnsperpage
@@ -58,7 +58,7 @@
58% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik 58% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
59% for their many good ideas. 59% for their many good ideas.
60 60
61\def\orgversionnumber{4.05} 61\def\orgversionnumber{4.06}
62\def\year{2006} 62\def\year{2006}
63 63
64\def\shortcopyrightnotice{\vskip 1ex plus 2 fill 64\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fd03764b8d0..52c222bc36d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,61 @@
12006-02-24 Juanma Barranquero <lekktu@gmail.com>
2
3 * help.el (help): Revert last part of 2006-02-23 change (deletion
4 of the `provide' call).
5
62006-02-23 Juri Linkov <juri@jurta.org>
7
8 * compare-w.el (compare-windows-highlight): Add new value
9 `persistent' and change :type from `boolean' to `choice'.
10 (compare-windows-overlays1, compare-windows-overlays2):
11 New internal variables.
12 (compare-windows-highlight): If compare-windows-highlight is
13 `persistent', add current overlays to compare-windows-overlays[12]
14 instead of adding compare-windows-dehighlight to pre-command-hook.
15 (compare-windows-dehighlight): Delete all overlays from
16 compare-windows-overlays[12].
17
18 * info.el (Info-search): Don't bind search-spaces-regexp to
19 Info-search-whitespace-regexp in non-regexp isearch mode.
20
212006-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
22
23 * help.el (describe-mode): Pass `mode-name' to format-mode-line.
24
252006-02-23 Juanma Barranquero <lekktu@gmail.com>
26
27 * textmodes/org.el (org-xemacs-p)
28 (org-export-html-show-new-buffer, org-table-may-need-update)
29 (org-insert-item, org-mhe-get-message-real-folder)
30 (org-mhe-get-message-folder-from-index)
31 (org-mhe-get-message-folder, org-mhe-get-message-num)
32 (org-mhe-get-header, org-make-org-heading-search-string)
33 (org-make-org-heading-camel, org-table-sort-lines)
34 (org-format-org-table-html, org-format-table-table-html):
35 Fix typos in docstrings.
36
3712006-02-23 Carsten Dominik <dominik@science.uva.nl>
38
39 * textmodes/org.el (org-cleaned-string-for-export)
40 (org-solidify-link-text): New function.
41 (org-add-hook): Use `add-local-hook' instead of `make-local-hook' for
42 XEmacs, just to silence the compiler.
43 (org-export-as-ascii, org-export-as-html-and-open):
44 Use `org-cleaned-string-for-export' and create internal links.
45 (org-follow-mhe-link): Require mh-e, use folder.
46
472006-02-23 Nick Roberts <nickrob@snap.net.nz>
48
49 * progmodes/gud.el (gud-speedbar-buttons): Use shadow face properly.
50
51 * progmodes/gdb-ui.el (gdb-debug-ring-max): Rename from
52 gdb-debug-log-length.
53 (gdb-debug-ring): Rename from gdb-debug-log-ring. Don't make
54 it a real ring but...
55 (gud-gdba-marker-filter): ...make it work like mark-ring.
56 (gdb-enable-debug): Rename from gdb-enable-debug-log.
57 (gdb-mouse-jump): New function. Add bindings.
58
12006-02-23 Nick Roberts <nickrob@snap.net.nz> 592006-02-23 Nick Roberts <nickrob@snap.net.nz>
2 60
3 * progmodes/gdb-ui.el (gdb-signalled): New variable and function. 61 * progmodes/gdb-ui.el (gdb-signalled): New variable and function.
@@ -11,16 +69,14 @@
11 69
122006-02-22 Carsten Dominik <dominik@science.uva.nl> 702006-02-22 Carsten Dominik <dominik@science.uva.nl>
13 71
14 * textmodes/reftex.el (reftex-locate-file): Removed duplicate 72 * textmodes/reftex.el (reftex-locate-file): Remove duplicate function.
15 function.
16 73
17 * textmodes/reftex-vars.el: (reftex-try-all-extensions): New 74 * textmodes/reftex-vars.el (reftex-try-all-extensions): New option.
18 option.
19 75
20 * textmodes/reftex.el: (reftex-locate-file): Search all extensions 76 * textmodes/reftex.el (reftex-locate-file): Search all extensions
21 if `reftex-try-all-extensions' is set. 77 if `reftex-try-all-extensions' is set.
22 78
23 * textmodes/org.el: (org-mark-ring-previous, org-mark-ring-set): 79 * textmodes/org.el (org-mark-ring-push, org-mark-ring-goto):
24 New commands. 80 New commands.
25 (org-mark-ring): New variable. 81 (org-mark-ring): New variable.
26 (org-mark-ring-length): New option. 82 (org-mark-ring-length): New option.
@@ -28,12 +84,12 @@
28 onto the mark ring. 84 onto the mark ring.
29 (org-add-hook): New function. 85 (org-add-hook): New function.
30 (org-export-table-remove-special-lines): New option. 86 (org-export-table-remove-special-lines): New option.
31 (org-skip-comments, org-format-org-table-html): Respect new option 87 (org-skip-comments, org-format-org-table-html): Respect new
32 `org-export-table-remove-special-lines'. 88 option `org-export-table-remove-special-lines'.
33 (org-open-file): Allow special command configuration for directory 89 (org-open-file): Allow special command configuration for
34 link. 90 directory link.
35 (org-file-apps): Fixed bugs in customize type, added setting for 91 (org-file-apps): Fix bugs in customize type, added setting
36 directories. 92 for directories.
37 (org-activate-tags, org-format-agenda-item, org-complete) 93 (org-activate-tags, org-format-agenda-item, org-complete)
38 (org-get-tags-at, org-scan-tags, org-make-tags-matcher) 94 (org-get-tags-at, org-scan-tags, org-make-tags-matcher)
39 (org-get-tags, org-get-buffer-tags, org-open-at-point) 95 (org-get-tags, org-get-buffer-tags, org-open-at-point)
@@ -42,37 +98,38 @@
42 (org-radio-targets, org-file-link-context-use-camel-case) 98 (org-radio-targets, org-file-link-context-use-camel-case)
43 (org-activate-camels): New options. 99 (org-activate-camels): New options.
44 (org-update-radio-target-regexp, org-all-targets) 100 (org-update-radio-target-regexp, org-all-targets)
45 (org-make-target-link-regexp, org-activate-target-links): New 101 (org-make-target-link-regexp, org-activate-target-links):
46 functions. 102 New functions.
47 (org-make-org-heading-search-string): New function. 103 (org-make-org-heading-search-string): New function.
48 (org-store-link, org-insert-link): Use new option 104 (org-store-link, org-insert-link): Use new option
49 `org-file-link-context-use-camel-case'. 105 `org-file-link-context-use-camel-case'.
50 (org-activate-camels): Use new option `org-activate-camels'. 106 (org-activate-camels): Use new option `org-activate-camels'.
51 (org-link-regexp): Added mhe prefix. 107 (org-link-regexp): Add mhe prefix.
52 (org-open-at-point,org-store-link): Support for mhe links. 108 (org-open-at-point, org-store-link): Support for mhe links.
53 (org-mhe-get-message-id, org-mhe-get-message-folder) 109 (org-mhe-get-message-real-folder, org-mhe-get-message-folder)
54 (org-mhe-get-header,org-follow-mhe-link): New functions. 110 (org-mhe-get-message-folder-from-index, org-mhe-get-message-num)
55 (org-remove-angle-brackets, org-add-angle-brackets): New 111 (org-mhe-get-header, org-follow-mhe-link): New functions.
56 functions. 112 (org-remove-angle-brackets, org-add-angle-brackets):
57 (org-bracked-link-regexp): New constant. 113 New functions.
58 (org-read-date): Fixed bug that was rejecting all typed dates. 114 (org-bracket-link-regexp): New constant.
115 (org-read-date): Fix bug that was rejecting all typed dates.
59 (org-link-search): Make hierarchy above visible after a match. 116 (org-link-search): Make hierarchy above visible after a match.
60 (org-follow-bbdb-link): Inhibit electric mode for BBDB. 117 (org-follow-bbdb-link): Inhibit electric mode for BBDB.
61 (org-store-link): Fixed bug with link creation when cursor is in 118 (org-store-link): Fix bug with link creation when cursor is in
62 an empty line. 119 an empty line.
63 (org-open-at-point): Fixed bug with matching a link. Fixed buggy 120 (org-open-at-point): Fix bug with matching a link.
64 argument sequence in call to `org-view-tags'. 121 Fixed buggy argument sequence in call to `org-view-tags'.
65 (org-compile-prefix-format): Set `org-prefix-has-tag'. 122 (org-compile-prefix-format): Set `org-prefix-has-tag'.
66 (org-prefix-has-tag): New variable. 123 (org-prefix-has-tag): New variable.
67 (org-format-agenda-item): Remove tags from headline if 124 (org-format-agenda-item): Remove tags from headline
68 appropriate. 125 if appropriate.
69 (org-agenda-remove-tags-when-in-prefix): New option. 126 (org-agenda-remove-tags-when-in-prefix): New option.
70 127
712006-02-21 Michael Kifer <kifer@cs.stonybrook.edu> 1282006-02-21 Michael Kifer <kifer@cs.stonybrook.edu>
72 129
73 * ediff-diff.el (ediff-setup-diff-regions, ediff-setup-diff-regions3): 130 * ediff-diff.el (ediff-setup-diff-regions, ediff-setup-diff-regions3):
74 fix the regular expressions. 131 Fix the regular expressions.
75 132
762006-02-21 Richard M. Stallman <rms@gnu.org> 1332006-02-21 Richard M. Stallman <rms@gnu.org>
77 134
78 * progmodes/sh-script.el (sh-mode): Set shell type based on file name 135 * progmodes/sh-script.el (sh-mode): Set shell type based on file name
@@ -124,8 +181,8 @@
124 181
1252006-02-20 Chong Yidong <cyd@stupidchicken.com> 1822006-02-20 Chong Yidong <cyd@stupidchicken.com>
126 183
127 * custom.el (customize-mark-to-save, customize-mark-as-set): Load 184 * custom.el (customize-mark-to-save, customize-mark-as-set):
128 the symbol first. 185 Load the symbol first.
129 186
1302006-02-20 Juanma Barranquero <lekktu@gmail.com> 1872006-02-20 Juanma Barranquero <lekktu@gmail.com>
131 188
@@ -238,7 +295,7 @@
238 * progmodes/gdb-ui.el (gdb-var-evaluate-expression-handler) 295 * progmodes/gdb-ui.el (gdb-var-evaluate-expression-handler)
239 (gdb-var-update-handler): Detect out of scope variables with pre 296 (gdb-var-update-handler): Detect out of scope variables with pre
240 GDB 6.4 too. 297 GDB 6.4 too.
241 (gdb-post-prompt): Revert changet 2006-02-17 (force update). 298 (gdb-post-prompt): Revert change from 2006-02-17 (force update).
242 Reset status of variable objects to nil in update handlers. 299 Reset status of variable objects to nil in update handlers.
243 (gdb-var-update-handler-1): Detect when a variable object comes 300 (gdb-var-update-handler-1): Detect when a variable object comes
244 in scope. setcar on var changes gdb-var-list directly. 301 in scope. setcar on var changes gdb-var-list directly.
diff --git a/lisp/allout.el b/lisp/allout.el
index 69d72506fce..edce1e8d61e 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1,7 +1,7 @@
1;;; allout.el --- extensive outline mode for use alone and with other modes 1;;; allout.el --- extensive outline mode for use alone and with other modes
2 2
3;; Copyright (C) 1992, 1993, 1994, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1992, 1993, 1994, 2001, 2002, 2003, 2004,
4;; 2005 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Ken Manheimer <ken dot manheimer at gmail dot com> 6;; Author: Ken Manheimer <ken dot manheimer at gmail dot com>
7;; Maintainer: Ken Manheimer <ken dot manheimer at gmail dot com> 7;; Maintainer: Ken Manheimer <ken dot manheimer at gmail dot com>
@@ -5811,14 +5811,14 @@ the point does not move. To ignore field boundaries bind
5811(provide 'allout) 5811(provide 'allout)
5812 5812
5813;;;_* Local emacs vars. 5813;;;_* Local emacs vars.
5814;;; The following `allout-layout' local variable setting: 5814;; The following `allout-layout' local variable setting:
5815;;; - closes all topics from the first topic to just before the third-to-last, 5815;; - closes all topics from the first topic to just before the third-to-last,
5816;;; - shows the children of the third to last (config vars) 5816;; - shows the children of the third to last (config vars)
5817;;; - and the second to last (code section), 5817;; - and the second to last (code section),
5818;;; - and closes the last topic (this local-variables section). 5818;; - and closes the last topic (this local-variables section).
5819;;;Local variables: 5819;;Local variables:
5820;;;allout-layout: (0 : -1 -1 0) 5820;;allout-layout: (0 : -1 -1 0)
5821;;;End: 5821;;End:
5822 5822
5823;;; arch-tag: cf38fbc3-c044-450f-8bff-afed8ba5681c 5823;; arch-tag: cf38fbc3-c044-450f-8bff-afed8ba5681c
5824;;; allout.el ends here 5824;;; allout.el ends here
diff --git a/lisp/compare-w.el b/lisp/compare-w.el
index 2d23de8c54c..e61f24a0c7c 100644
--- a/lisp/compare-w.el
+++ b/lisp/compare-w.el
@@ -117,8 +117,14 @@ and the value `((4) (4))' for horizontally split windows."
117 :version "22.1") 117 :version "22.1")
118 118
119(defcustom compare-windows-highlight t 119(defcustom compare-windows-highlight t
120 "*Non-nil means compare-windows highlights the differences." 120 "*Non-nil means compare-windows highlights the differences.
121 :type 'boolean 121The value t removes highlighting immediately after invoking a command
122other than `compare-windows'.
123The value `persistent' leaves all highlighted differences. You can clear
124out all highlighting later with the command `compare-windows-dehighlight'."
125 :type '(choice (const :tag "No highlighting" nil)
126 (const :tag "Persistent highlighting" persistent)
127 (other :tag "Highlight until next command" t))
122 :group 'compare-w 128 :group 'compare-w
123 :version "22.1") 129 :version "22.1")
124 130
@@ -130,6 +136,8 @@ and the value `((4) (4))' for horizontally split windows."
130 136
131(defvar compare-windows-overlay1 nil) 137(defvar compare-windows-overlay1 nil)
132(defvar compare-windows-overlay2 nil) 138(defvar compare-windows-overlay2 nil)
139(defvar compare-windows-overlays1 nil)
140(defvar compare-windows-overlays2 nil)
133(defvar compare-windows-sync-point nil) 141(defvar compare-windows-sync-point nil)
134 142
135;;;###autoload 143;;;###autoload
@@ -351,13 +359,22 @@ on third call it again advances points to the next difference and so on."
351 (overlay-put compare-windows-overlay2 'face 'compare-windows) 359 (overlay-put compare-windows-overlay2 'face 'compare-windows)
352 (overlay-put compare-windows-overlay2 'priority 1000)) 360 (overlay-put compare-windows-overlay2 'priority 1000))
353 (overlay-put compare-windows-overlay2 'window w2) 361 (overlay-put compare-windows-overlay2 'window w2)
354 ;; Remove highlighting before next command is executed 362 (if (not (eq compare-windows-highlight 'persistent))
355 (add-hook 'pre-command-hook 'compare-windows-dehighlight))) 363 ;; Remove highlighting before next command is executed
364 (add-hook 'pre-command-hook 'compare-windows-dehighlight)
365 (when compare-windows-overlay1
366 (push (copy-overlay compare-windows-overlay1) compare-windows-overlays1)
367 (delete-overlay compare-windows-overlay1))
368 (when compare-windows-overlay2
369 (push (copy-overlay compare-windows-overlay2) compare-windows-overlays2)
370 (delete-overlay compare-windows-overlay2)))))
356 371
357(defun compare-windows-dehighlight () 372(defun compare-windows-dehighlight ()
358 "Remove highlighting created by `compare-windows-highlight'." 373 "Remove highlighting created by `compare-windows-highlight'."
359 (interactive) 374 (interactive)
360 (remove-hook 'pre-command-hook 'compare-windows-dehighlight) 375 (remove-hook 'pre-command-hook 'compare-windows-dehighlight)
376 (mapc 'delete-overlay compare-windows-overlays1)
377 (mapc 'delete-overlay compare-windows-overlays2)
361 (and compare-windows-overlay1 (delete-overlay compare-windows-overlay1)) 378 (and compare-windows-overlay1 (delete-overlay compare-windows-overlay1))
362 (and compare-windows-overlay2 (delete-overlay compare-windows-overlay2))) 379 (and compare-windows-overlay2 (delete-overlay compare-windows-overlay2)))
363 380
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index c77c92d05c7..87327dde482 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,38 @@
12006-02-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * flow-fill.el (fill-flowed): Bind adaptive-fill-mode to nil.
4 Remove space stuffing, and only do quotes that actually start with
5 ">" at the beginning of the lines.
6 Merge of 2005-11-17 and 2004-07-25 from the trunk.
7
82006-02-23 Reiner Steib <Reiner.Steib@gmx.de>
9
10 * utf7.el (utf7-utf-16-coding-system): Fix comment. utf-16-be is
11 also available in Emacs 21.3.
12
13 * message.el (message-fix-before-sending): Change "Emacs 22" to
14 "Emacs 23 (unicode)" in comment.
15
16 * qp.el (quoted-printable-encode-region): Change "Emacs 22" to
17 "Emacs 23 (unicode)" in comment.
18
19 * mm-util.el: Change "Emacs 22" to "Emacs 23 (unicode)" in
20 comment.
21 (mm-coding-system-p): Add comment about no-MULE XEmacs.
22
23 * mm-view.el (mm-fill-flowed): Add :version.
24
252006-02-23 Ralf Angeli <angeli@iwi.uni-sb.de>
26
27 * mm-view.el (mm-fill-flowed): New variable.
28 (mm-inline-text): Use it.
29
302006-02-21 Wolfram Fenske <wolfram.fenske@student.uni-magdeburg.de>
31 (tiny change)
32
33 * nnimap.el (nnimap-request-move-article): Change folder back to
34 source group before deleting.
35
12006-02-20 Katsumi Yamaoka <yamaoka@jpl.org> 362006-02-20 Katsumi Yamaoka <yamaoka@jpl.org>
2 37
3 * rfc2047.el (rfc2047-charset-to-coding-system): Don't check the 38 * rfc2047.el (rfc2047-charset-to-coding-system): Don't check the
@@ -1266,7 +1301,7 @@
1266 1301
1267 * gnus-topic.el (gnus-topic-mode): Ditto. 1302 * gnus-topic.el (gnus-topic-mode): Ditto.
1268 1303
12692005-07-08 Ralf Angeli <angeli@iwi.uni-sb.de> (tiny change) 13042005-07-08 Ralf Angeli <angeli@iwi.uni-sb.de>
1270 1305
1271 * gnus-art.el (gnus-article-next-page, gnus-article-next-page-1) 1306 * gnus-art.el (gnus-article-next-page, gnus-article-next-page-1)
1272 (gnus-article-prev-page): Take scroll-margin into consideration. 1307 (gnus-article-prev-page): Take scroll-margin into consideration.
diff --git a/lisp/gnus/flow-fill.el b/lisp/gnus/flow-fill.el
index c3f7f7bb20e..480505549c9 100644
--- a/lisp/gnus/flow-fill.el
+++ b/lisp/gnus/flow-fill.el
@@ -113,10 +113,15 @@ RFC 2646 suggests 66 characters for readability."
113 (save-excursion 113 (save-excursion
114 (set-buffer (or (current-buffer) buffer)) 114 (set-buffer (or (current-buffer) buffer))
115 (goto-char (point-min)) 115 (goto-char (point-min))
116 ;; Remove space stuffing.
117 (while (re-search-forward "^ " nil t)
118 (delete-char -1)
119 (forward-line 1))
120 (goto-char (point-min))
116 (while (re-search-forward " $" nil t) 121 (while (re-search-forward " $" nil t)
117 (when (save-excursion 122 (when (save-excursion
118 (beginning-of-line) 123 (beginning-of-line)
119 (looking-at "^\\(>*\\)\\( ?\\)")) 124 (looking-at "^\\(>+\\)\\( ?\\)"))
120 (let ((quote (match-string 1)) 125 (let ((quote (match-string 1))
121 sig) 126 sig)
122 (if (string= quote "") 127 (if (string= quote "")
@@ -146,7 +151,8 @@ RFC 2646 suggests 66 characters for readability."
146 (condition-case nil 151 (condition-case nil
147 (let ((fill-prefix (when quote (concat quote " "))) 152 (let ((fill-prefix (when quote (concat quote " ")))
148 (fill-column (eval fill-flowed-display-column)) 153 (fill-column (eval fill-flowed-display-column))
149 filladapt-mode) 154 filladapt-mode
155 adaptive-fill-mode)
150 (fill-region (fill-flowed-point-at-bol) 156 (fill-region (fill-flowed-point-at-bol)
151 (min (1+ (fill-flowed-point-at-eol)) 157 (min (1+ (fill-flowed-point-at-eol))
152 (point-max)) 158 (point-max))
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 28325b73e26..1bdc2f6a11f 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -3615,8 +3615,8 @@ It should typically alter the sending method in some way or other."
3615 (when (let ((char (char-after))) 3615 (when (let ((char (char-after)))
3616 (or (< (mm-char-int char) 128) 3616 (or (< (mm-char-int char) 128)
3617 (and (mm-multibyte-p) 3617 (and (mm-multibyte-p)
3618 ;; Fixme: Wrong for Emacs 22 and for things 3618 ;; FIXME: Wrong for Emacs 23 (unicode) and for
3619 ;; like undecable utf-8. Should at least 3619 ;; things like undecable utf-8. Should at least
3620 ;; use find-coding-systems-region. 3620 ;; use find-coding-systems-region.
3621 (memq (char-charset char) 3621 (memq (char-charset char)
3622 '(eight-bit-control eight-bit-graphic 3622 '(eight-bit-control eight-bit-graphic
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index 9bdbc3c72b1..a7f375aeba8 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -174,7 +174,7 @@ system object in XEmacs."
174 (if (fboundp 'coding-system-p) 174 (if (fboundp 'coding-system-p)
175 (when (coding-system-p cs) 175 (when (coding-system-p cs)
176 cs) 176 cs)
177 ;; Is this branch ever actually useful? 177 ;; no-MULE XEmacs:
178 (car (memq cs (mm-get-coding-system-list)))))) 178 (car (memq cs (mm-get-coding-system-list))))))
179 179
180(defvar mm-charset-synonym-alist 180(defvar mm-charset-synonym-alist
@@ -331,7 +331,7 @@ with Mule charsets. It is completely useless for Emacs."
331 cs mime mule alist) 331 cs mime mule alist)
332 (while css 332 (while css
333 (setq cs (pop css) 333 (setq cs (pop css)
334 mime (or (coding-system-get cs :mime-charset) ; Emacs 22 334 mime (or (coding-system-get cs :mime-charset) ; Emacs 23 (unicode)
335 (coding-system-get cs 'mime-charset))) 335 (coding-system-get cs 'mime-charset)))
336 (when (and mime 336 (when (and mime
337 (not (eq t (setq mule 337 (not (eq t (setq mule
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el
index 43d6bddf194..c2b4e19f806 100644
--- a/lisp/gnus/mm-view.el
+++ b/lisp/gnus/mm-view.el
@@ -72,6 +72,12 @@
72 (html2text html2text)) 72 (html2text html2text))
73 "The attributes of washer types for text/html.") 73 "The attributes of washer types for text/html.")
74 74
75(defcustom mm-fill-flowed t
76 "If non-nil an format=flowed article will be displayed flowed."
77 :type 'boolean
78 :version "22.1"
79 :group 'mime-display)
80
75;;; Internal variables. 81;;; Internal variables.
76 82
77;;; 83;;;
@@ -407,7 +413,8 @@
407 (mm-insert-part handle) 413 (mm-insert-part handle)
408 (goto-char (point-max))) 414 (goto-char (point-max)))
409 (insert (mm-decode-string (mm-get-part handle) charset))) 415 (insert (mm-decode-string (mm-get-part handle) charset)))
410 (when (and (equal type "plain") 416 (when (and mm-fill-flowed
417 (equal type "plain")
411 (equal (cdr (assoc 'format (mm-handle-type handle))) 418 (equal (cdr (assoc 'format (mm-handle-type handle)))
412 "flowed")) 419 "flowed"))
413 (save-restriction 420 (save-restriction
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 26c0f8901ee..3c05b3713ea 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -1492,6 +1492,7 @@ function is generally only called when Gnus is shutting down."
1492 (setq result (eval accept-form)) 1492 (setq result (eval accept-form))
1493 (kill-buffer buf) 1493 (kill-buffer buf)
1494 result) 1494 result)
1495 (nnimap-possibly-change-group group server)
1495 (imap-message-flags-add 1496 (imap-message-flags-add
1496 (imap-range-to-message-set (list article)) 1497 (imap-range-to-message-set (list article))
1497 "\\Deleted" 'silent nnimap-server-buffer)) 1498 "\\Deleted" 'silent nnimap-server-buffer))
diff --git a/lisp/gnus/qp.el b/lisp/gnus/qp.el
index cb89a3550ba..15914922d1c 100644
--- a/lisp/gnus/qp.el
+++ b/lisp/gnus/qp.el
@@ -118,7 +118,7 @@ encode lines starting with \"From\"."
118 (not (eobp))) 118 (not (eobp)))
119 (insert 119 (insert
120 (prog1 120 (prog1
121 ;; To unibyte in case of Emacs 22 eight-bit. 121 ;; To unibyte in case of Emacs 23 (unicode) eight-bit.
122 (format "=%02X" (mm-multibyte-char-to-unibyte (char-after))) 122 (format "=%02X" (mm-multibyte-char-to-unibyte (char-after)))
123 (delete-char 1)))) 123 (delete-char 1))))
124 ;; Encode white space at the end of lines. 124 ;; Encode white space at the end of lines.
diff --git a/lisp/gnus/utf7.el b/lisp/gnus/utf7.el
index bb47077612e..a1b7fdc6702 100644
--- a/lisp/gnus/utf7.el
+++ b/lisp/gnus/utf7.el
@@ -80,7 +80,7 @@
80(defconst utf7-utf-16-coding-system 80(defconst utf7-utf-16-coding-system
81 (cond ((mm-coding-system-p 'utf-16-be-no-signature) ; Mule-UCS 81 (cond ((mm-coding-system-p 'utf-16-be-no-signature) ; Mule-UCS
82 'utf-16-be-no-signature) 82 'utf-16-be-no-signature)
83 ((and (mm-coding-system-p 'utf-16-be) ; Emacs 22.1 83 ((and (mm-coding-system-p 'utf-16-be) ; Emacs 21.3, Emacs 22
84 ;; Avoid versions with BOM. 84 ;; Avoid versions with BOM.
85 (= 2 (length (encode-coding-string "a" 'utf-16-be)))) 85 (= 2 (length (encode-coding-string "a" 'utf-16-be))))
86 'utf-16-be) 86 'utf-16-be)
diff --git a/lisp/help.el b/lisp/help.el
index f74293b8dd6..bed25366aab 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -835,8 +835,9 @@ follows the description of the major mode.)\n\n"))
835 ;; Document the major mode. 835 ;; Document the major mode.
836 (let ((mode mode-name)) 836 (let ((mode mode-name))
837 (with-current-buffer standard-output 837 (with-current-buffer standard-output
838 (insert mode) 838 (let ((start (point)))
839 (add-text-properties (- (point) (length mode)) (point) '(face bold)))) 839 (insert (format-mode-line mode))
840 (add-text-properties start (point) '(face bold)))))
840 (princ " mode:\n") 841 (princ " mode:\n")
841 (princ (documentation major-mode))) 842 (princ (documentation major-mode)))
842 (print-help-return-message)))) 843 (print-help-return-message))))
@@ -932,7 +933,7 @@ is currently activated with completion."
932;;; Automatic resizing of temporary buffers. 933;;; Automatic resizing of temporary buffers.
933 934
934(defcustom temp-buffer-max-height (lambda (buffer) (/ (- (frame-height) 2) 2)) 935(defcustom temp-buffer-max-height (lambda (buffer) (/ (- (frame-height) 2) 2))
935 "*Maximum height of a window displaying a temporary buffer. 936 "Maximum height of a window displaying a temporary buffer.
936This is the maximum height (in text lines) which `resize-temp-buffer-window' 937This is the maximum height (in text lines) which `resize-temp-buffer-window'
937will give to a window displaying a temporary buffer. 938will give to a window displaying a temporary buffer.
938It can also be a function which will be called with the object corresponding 939It can also be a function which will be called with the object corresponding
@@ -971,8 +972,7 @@ out of view."
971 (funcall temp-buffer-max-height (current-buffer)) 972 (funcall temp-buffer-max-height (current-buffer))
972 temp-buffer-max-height)))) 973 temp-buffer-max-height))))
973 974
974;; Provide this for the sake of define-minor-mode which generates 975
975;; defcustoms which require 'help'.
976(provide 'help) 976(provide 'help)
977 977
978;; arch-tag: cf427352-27e9-49b7-9a6f-741ebab02423 978;; arch-tag: cf427352-27e9-49b7-9a6f-741ebab02423
diff --git a/lisp/info.el b/lisp/info.el
index e9d7f5ca2de..43ee5cabcbc 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -1642,7 +1642,9 @@ If DIRECTION is `backward', search in the reverse direction."
1642 (and (search-backward "\^_" nil t) 1642 (and (search-backward "\^_" nil t)
1643 (looking-at 1643 (looking-at
1644 "\^_\n\\(Tag Table\\|Local Variables\\)")))))) 1644 "\^_\n\\(Tag Table\\|Local Variables\\)"))))))
1645 (let ((search-spaces-regexp Info-search-whitespace-regexp)) 1645 (let ((search-spaces-regexp
1646 (if (or (not isearch-mode) isearch-regexp)
1647 Info-search-whitespace-regexp)))
1646 (if (if backward 1648 (if (if backward
1647 (re-search-backward regexp bound t) 1649 (re-search-backward regexp bound t)
1648 (re-search-forward regexp bound t)) 1650 (re-search-forward regexp bound t))
@@ -1660,7 +1662,9 @@ If DIRECTION is `backward', search in the reverse direction."
1660 ;; If no subfiles, give error now. 1662 ;; If no subfiles, give error now.
1661 (if give-up 1663 (if give-up
1662 (if (null Info-current-subfile) 1664 (if (null Info-current-subfile)
1663 (let ((search-spaces-regexp Info-search-whitespace-regexp)) 1665 (let ((search-spaces-regexp
1666 (if (or (not isearch-mode) isearch-regexp)
1667 Info-search-whitespace-regexp)))
1664 (if backward 1668 (if backward
1665 (re-search-backward regexp) 1669 (re-search-backward regexp)
1666 (re-search-forward regexp))) 1670 (re-search-forward regexp)))
@@ -1731,7 +1735,9 @@ If DIRECTION is `backward', search in the reverse direction."
1731 (and (search-backward "\^_" nil t) 1735 (and (search-backward "\^_" nil t)
1732 (looking-at 1736 (looking-at
1733 "\^_\n\\(Tag Table\\|Local Variables\\)")))))) 1737 "\^_\n\\(Tag Table\\|Local Variables\\)"))))))
1734 (let ((search-spaces-regexp Info-search-whitespace-regexp)) 1738 (let ((search-spaces-regexp
1739 (if (or (not isearch-mode) isearch-regexp)
1740 Info-search-whitespace-regexp)))
1735 (if (if backward 1741 (if (if backward
1736 (re-search-backward regexp nil t) 1742 (re-search-backward regexp nil t)
1737 (re-search-forward regexp nil t)) 1743 (re-search-forward regexp nil t))
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 7e0cda786c7..db79d43d321 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -259,20 +259,19 @@ detailed description of this mode.
259 (gdb command-line) 259 (gdb command-line)
260 (gdb-init-1)) 260 (gdb-init-1))
261 261
262(defcustom gdb-debug-log-length 128 262(defcustom gdb-debug-ring-max 128
263 "Length of `gdb-debug-log-ring'." 263 "Maximum size of `gdb-debug-ring'."
264 :group 'gud 264 :group 'gud
265 :type 'integer 265 :type 'integer
266 :version "22.1") 266 :version "22.1")
267 267
268(defvar gdb-debug-log-ring (make-ring gdb-debug-log-length) 268(defvar gdb-debug-ring nil
269 "Ring of commands sent to and replies received from GDB. 269 "List of commands, most recent first, sent to and replies received from GDB.
270This variable is used to debug GDB-UI. Just need most recent 270This variable is used to debug GDB-UI.")
271messages and a ring limits the size.")
272 271
273;;;###autoload 272;;;###autoload
274(defcustom gdb-enable-debug-log nil 273(defcustom gdb-enable-debug nil
275 "Non-nil means record the process input and output in `gdb-debug-log-ring'." 274 "Non-nil means record the process input and output in `gdb-debug-ring'."
276 :type 'boolean 275 :type 'boolean
277 :group 'gud 276 :group 'gud
278 :version "22.1") 277 :version "22.1")
@@ -445,11 +444,21 @@ With arg, use separate IO iff arg is positive."
445 'gdb-mouse-set-clear-breakpoint) 444 'gdb-mouse-set-clear-breakpoint)
446 (define-key gud-minor-mode-map [left-fringe mouse-2] 445 (define-key gud-minor-mode-map [left-fringe mouse-2]
447 'gdb-mouse-until) 446 'gdb-mouse-until)
447 (define-key gud-minor-mode-map [left-margin drag-mouse-1]
448 'gdb-mouse-until)
448 (define-key gud-minor-mode-map [left-fringe drag-mouse-1] 449 (define-key gud-minor-mode-map [left-fringe drag-mouse-1]
449 'gdb-mouse-until) 450 'gdb-mouse-until)
450 (define-key gud-minor-mode-map [left-margin mouse-2] 451 (define-key gud-minor-mode-map [left-margin mouse-2]
451 'gdb-mouse-until) 452 'gdb-mouse-until)
452 (define-key gud-minor-mode-map [left-margin mouse-3] 453 (define-key gud-minor-mode-map [left-margin C-drag-mouse-1]
454 'gdb-mouse-jump)
455 (define-key gud-minor-mode-map [left-fringe C-drag-mouse-1]
456 'gdb-mouse-jump)
457 (define-key gud-minor-mode-map [left-fringe C-mouse-2]
458 'gdb-mouse-jump)
459 (define-key gud-minor-mode-map [left-margin C-mouse-2]
460 'gdb-mouse-jump)
461 (define-key gud-minor-mode-map [left-margin mouse-3]
453 'gdb-mouse-toggle-breakpoint-margin) 462 'gdb-mouse-toggle-breakpoint-margin)
454 (define-key gud-minor-mode-map [left-fringe mouse-3] 463 (define-key gud-minor-mode-map [left-fringe mouse-3]
455 'gdb-mouse-toggle-breakpoint-fringe) 464 'gdb-mouse-toggle-breakpoint-fringe)
@@ -479,7 +488,7 @@ With arg, use separate IO iff arg is positive."
479 gdb-error nil 488 gdb-error nil
480 gdb-macro-info nil 489 gdb-macro-info nil
481 gdb-buffer-fringe-width (car (window-fringes)) 490 gdb-buffer-fringe-width (car (window-fringes))
482 gdb-debug-log-ring (make-ring gdb-debug-log-length) 491 gdb-debug-ring nil
483 gdb-signalled nil) 492 gdb-signalled nil)
484 493
485 (setq gdb-buffer-type 'gdba) 494 (setq gdb-buffer-type 'gdba)
@@ -526,7 +535,9 @@ With arg, use separate IO iff arg is positive."
526 (gdb-init-2)) 535 (gdb-init-2))
527 536
528(defun gdb-mouse-until (event) 537(defun gdb-mouse-until (event)
529 "Execute source lines by dragging the overlay arrow (fringe) with the mouse." 538 "Continue running until a source line past the current line.
539The destination source line can be selected either by clicking with mouse-2
540on the fringe/margin or dragging the arrow with mouse-1 (default bindings)."
530 (interactive "e") 541 (interactive "e")
531 (if gud-overlay-arrow-position 542 (if gud-overlay-arrow-position
532 (let ((start (event-start event)) 543 (let ((start (event-start event))
@@ -552,6 +563,40 @@ With arg, use separate IO iff arg is positive."
552 (forward-char 2) 563 (forward-char 2)
553 (gud-call (concat "until *%a"))))))))) 564 (gud-call (concat "until *%a")))))))))
554 565
566(defun gdb-mouse-jump (event)
567 "Set execution address/line.
568The destination source line can be selected either by clicking with mouse-2
569on the fringe/margin or dragging the arrow with mouse-1 (default bindings).
570Unlike gdb-mouse-until the destination address can be before the current
571line, and no execution takes place."
572 (interactive "e")
573 (if gud-overlay-arrow-position
574 (let ((start (event-start event))
575 (end (event-end event))
576 (buffer (marker-buffer gud-overlay-arrow-position)) (line))
577 (if (not (string-match "Machine" mode-name))
578 (if (equal buffer (window-buffer (posn-window end)))
579 (with-current-buffer buffer
580 (when (or (equal start end)
581 (equal (posn-point start)
582 (marker-position
583 gud-overlay-arrow-position)))
584 (setq line (line-number-at-pos (posn-point end)))
585 (progn (gud-call (concat "tbreak " (number-to-string line)))
586 (gud-call (concat "jump " (number-to-string line)))))))
587 (if (equal (marker-buffer gdb-overlay-arrow-position)
588 (window-buffer (posn-window end)))
589 (when (or (equal start end)
590 (equal (posn-point start)
591 (marker-position
592 gdb-overlay-arrow-position)))
593 (save-excursion
594 (goto-line (line-number-at-pos (posn-point end)))
595 (forward-char 2)
596 (progn
597 (gud-call (concat "tbreak *%a"))
598 (gud-call (concat "jump *%a"))))))))))
599
555(defcustom gdb-speedbar-auto-raise nil 600(defcustom gdb-speedbar-auto-raise nil
556 "If non-nil raise speedbar every time display of watch expressions is\ 601 "If non-nil raise speedbar every time display of watch expressions is\
557 updated." 602 updated."
@@ -974,7 +1019,7 @@ This filter may simply queue input for a later time."
974 (let ((item (concat string "\n"))) 1019 (let ((item (concat string "\n")))
975 (if gud-running 1020 (if gud-running
976 (progn 1021 (progn
977 (if gdb-enable-debug-log (push (cons 'send item) gdb-debug-log-ring)) 1022 (if gdb-enable-debug (push (cons 'send item) gdb-debug-ring))
978 (process-send-string proc item)) 1023 (process-send-string proc item))
979 (gdb-enqueue-input item)))) 1024 (gdb-enqueue-input item))))
980 1025
@@ -997,8 +1042,7 @@ This filter may simply queue input for a later time."
997 1042
998(defun gdb-send-item (item) 1043(defun gdb-send-item (item)
999 (setq gdb-flush-pending-output nil) 1044 (setq gdb-flush-pending-output nil)
1000 (if gdb-enable-debug-log 1045 (if gdb-enable-debug (push (cons 'send-item item) gdb-debug-ring))
1001 (ring-insert gdb-debug-log-ring (cons 'send-item item)))
1002 (setq gdb-current-item item) 1046 (setq gdb-current-item item)
1003 (let ((process (get-buffer-process gud-comint-buffer))) 1047 (let ((process (get-buffer-process gud-comint-buffer)))
1004 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) 1048 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
@@ -1248,8 +1292,10 @@ happens to be appropriate."
1248 "A gud marker filter for gdb. Handle a burst of output from GDB." 1292 "A gud marker filter for gdb. Handle a burst of output from GDB."
1249 (if gdb-flush-pending-output 1293 (if gdb-flush-pending-output
1250 nil 1294 nil
1251 (if gdb-enable-debug-log 1295 (when gdb-enable-debug
1252 (ring-insert gdb-debug-log-ring (cons 'recv string))) 1296 (push (cons 'recv string) gdb-debug-ring)
1297 (if (> (length gdb-debug-ring) gdb-debug-ring-max)
1298 (setcdr (nthcdr (1- gdb-debug-ring-max) gdb-debug-ring) nil)))
1253 ;; Recall the left over gud-marker-acc from last time. 1299 ;; Recall the left over gud-marker-acc from last time.
1254 (setq gud-marker-acc (concat gud-marker-acc string)) 1300 (setq gud-marker-acc (concat gud-marker-acc string))
1255 ;; Start accumulating output for the GUD buffer. 1301 ;; Start accumulating output for the GUD buffer.
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index a8d2d8b8fe1..dadc9cffc7a 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -67,7 +67,7 @@
67 67
68 68
69(defcustom glasses-separator "_" 69(defcustom glasses-separator "_"
70 "*String to be displayed as a visual separator in identifiers. 70 "String to be displayed as a visual separator in identifiers.
71It is used both for adding missing separators and for replacing separators 71It is used both for adding missing separators and for replacing separators
72defined by `glasses-original-separator'. If you don't want to add missing 72defined by `glasses-original-separator'. If you don't want to add missing
73separators, set `glasses-separator' to an empty string. If you don't want to 73separators, set `glasses-separator' to an empty string. If you don't want to
@@ -93,7 +93,7 @@ performed."
93 93
94 94
95(defcustom glasses-face nil 95(defcustom glasses-face nil
96 "*Face to be put on capitals of an identifier looked through glasses. 96 "Face to be put on capitals of an identifier looked through glasses.
97If it is nil, no face is placed at the capitalized letter. 97If it is nil, no face is placed at the capitalized letter.
98 98
99For example, you can set `glasses-separator' to an empty string and 99For example, you can set `glasses-separator' to an empty string and
@@ -106,13 +106,13 @@ but will have their capitals in bold."
106 106
107 107
108(defcustom glasses-separate-parentheses-p t 108(defcustom glasses-separate-parentheses-p t
109 "*If non-nil, ensure space between an identifier and an opening parenthesis." 109 "If non-nil, ensure space between an identifier and an opening parenthesis."
110 :group 'glasses 110 :group 'glasses
111 :type 'boolean) 111 :type 'boolean)
112 112
113 113
114(defcustom glasses-uncapitalize-p nil 114(defcustom glasses-uncapitalize-p nil
115 "*If non-nil, downcase embedded capital letters in identifiers. 115 "If non-nil, downcase embedded capital letters in identifiers.
116Only identifiers starting with lower case letters are affected, letters inside 116Only identifiers starting with lower case letters are affected, letters inside
117other identifiers are unchanged." 117other identifiers are unchanged."
118 :group 'glasses 118 :group 'glasses
@@ -122,7 +122,7 @@ other identifiers are unchanged."
122 122
123 123
124(defcustom glasses-uncapitalize-regexp "[a-z]" 124(defcustom glasses-uncapitalize-regexp "[a-z]"
125 "*Regexp matching beginnings of words to be uncapitalized. 125 "Regexp matching beginnings of words to be uncapitalized.
126Only words starting with this regexp are uncapitalized. 126Only words starting with this regexp are uncapitalized.
127The regexp is case sensitive. 127The regexp is case sensitive.
128It has any effect only when `glasses-uncapitalize-p' is non-nil." 128It has any effect only when `glasses-uncapitalize-p' is non-nil."
@@ -133,7 +133,7 @@ It has any effect only when `glasses-uncapitalize-p' is non-nil."
133 133
134 134
135(defcustom glasses-convert-on-write-p nil 135(defcustom glasses-convert-on-write-p nil
136 "*If non-nil, remove separators when writing glasses buffer to a file. 136 "If non-nil, remove separators when writing glasses buffer to a file.
137If you are confused by glasses so much, that you write the separators into code 137If you are confused by glasses so much, that you write the separators into code
138during coding, set this variable to t. The separators will be removed on each 138during coding, set this variable to t. The separators will be removed on each
139file write then. 139file write then.
@@ -313,5 +313,5 @@ at places they belong to."
313(provide 'glasses) 313(provide 'glasses)
314 314
315 315
316;;; arch-tag: a3515167-c89e-484f-90a1-d85143e52b12 316;; arch-tag: a3515167-c89e-484f-90a1-d85143e52b12
317;;; glasses.el ends here 317;;; glasses.el ends here
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index ea2586a31d6..5a09d5dd196 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -456,7 +456,8 @@ required by the caller."
456 (while var-list 456 (while var-list
457 (let* (char (depth 0) (start 0) (var (car var-list)) 457 (let* (char (depth 0) (start 0) (var (car var-list))
458 (expr (car var)) (varnum (nth 1 var)) 458 (expr (car var)) (varnum (nth 1 var))
459 (type (nth 3 var)) (status (nth 5 var))) 459 (type (nth 3 var)) (value (nth 4 var))
460 (status (nth 5 var)))
460 (put-text-property 461 (put-text-property
461 0 (length expr) 'face font-lock-variable-name-face expr) 462 0 (length expr) 'face font-lock-variable-name-face expr)
462 (put-text-property 463 (put-text-property
@@ -470,7 +471,7 @@ required by the caller."
470 (string-match "char \\*$" type))) 471 (string-match "char \\*$" type)))
471 (speedbar-make-tag-line 472 (speedbar-make-tag-line
472 'bracket ?? nil nil 473 'bracket ?? nil nil
473 (concat expr "\t" (nth 4 var)) 474 (concat expr "\t" value)
474 (if (or parent (eq status 'out-of-scope)) 475 (if (or parent (eq status 'out-of-scope))
475 nil 'gdb-edit-value) 476 nil 'gdb-edit-value)
476 nil 477 nil
@@ -491,14 +492,12 @@ required by the caller."
491 (speedbar-make-tag-line 492 (speedbar-make-tag-line
492 'bracket char 493 'bracket char
493 'gdb-speedbar-expand-node varnum 494 'gdb-speedbar-expand-node varnum
494 (concat expr "\t" 495 (concat expr "\t" type "\t" value)
495 type "\t" 496 (if (or parent status)
496 (nth 4 var))
497 (if (or parent status 'out-of-scope)
498 nil 'gdb-edit-value) 497 nil 'gdb-edit-value)
499 nil 498 nil
500 (if (and (or parent status) gdb-show-changed-values) 499 (if (and (or parent (eq status 'out-of-scope))
501 'shadow t) 500 gdb-show-changed-values) 'shadow t)
502 depth) 501 depth)
503 (speedbar-make-tag-line 502 (speedbar-make-tag-line
504 'bracket char 503 'bracket char
diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el
index 4b62eeb87a7..cecfe7f5164 100644
--- a/lisp/textmodes/org.el
+++ b/lisp/textmodes/org.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <dominik at science dot uva dot nl> 5;; Author: Carsten Dominik <dominik at science dot uva dot nl>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ 7;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
8;; Version: 4.05 8;; Version: 4.06
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
@@ -81,6 +81,10 @@
81;; 81;;
82;; Changes since version 4.00: 82;; Changes since version 4.00:
83;; --------------------------- 83;; ---------------------------
84;; Version 4.06
85;; - HTML exporter treats targeted internal links.
86;; - Bug fixes.
87;;
84;; Version 4.05 88;; Version 4.05
85;; - Changes to internal link system (thanks to David Wainberg for ideas). 89;; - Changes to internal link system (thanks to David Wainberg for ideas).
86;; - in-file links: [[Search String]] instead of <file:::Search String> 90;; - in-file links: [[Search String]] instead of <file:::Search String>
@@ -126,7 +130,7 @@
126 130
127;;; Customization variables 131;;; Customization variables
128 132
129(defvar org-version "4.05" 133(defvar org-version "4.06"
130 "The version number of the file org.el.") 134 "The version number of the file org.el.")
131(defun org-version () 135(defun org-version ()
132 (interactive) 136 (interactive)
@@ -136,7 +140,7 @@
136;; versions (Emacs versus XEmacs) and with different versions of outline.el. 140;; versions (Emacs versus XEmacs) and with different versions of outline.el.
137;; The compatibility code in org.el is based on these two constants. 141;; The compatibility code in org.el is based on these two constants.
138(defconst org-xemacs-p (featurep 'xemacs) 142(defconst org-xemacs-p (featurep 'xemacs)
139 "Are we running xemacs?") 143 "Are we running XEmacs?")
140(defconst org-noutline-p (featurep 'noutline) 144(defconst org-noutline-p (featurep 'noutline)
141 "Are we using the new outline mode?") 145 "Are we using the new outline mode?")
142 146
@@ -1647,7 +1651,7 @@ Otherwise the buffer will just be saved to a file and stay hidden."
1647 :type 'boolean) 1651 :type 'boolean)
1648 1652
1649(defcustom org-export-html-show-new-buffer nil 1653(defcustom org-export-html-show-new-buffer nil
1650 "Non-nil means, popup buffer containing the exported html text. 1654 "Non-nil means, popup buffer containing the exported HTML text.
1651Otherwise, the buffer will just be saved to a file and stay hidden." 1655Otherwise, the buffer will just be saved to a file and stay hidden."
1652 :group 'org-export 1656 :group 'org-export
1653 :type 'boolean) 1657 :type 'boolean)
@@ -1995,8 +1999,8 @@ When this is non-nil, the headline after the keyword is set to the
1995;; an update. 1999;; an update.
1996(defvar org-table-may-need-update t 2000(defvar org-table-may-need-update t
1997 "Indicates that a table might need an update. 2001 "Indicates that a table might need an update.
1998This variable is set by `org-before-change-function'. `org-table-align' 2002This variable is set by `org-before-change-function'.
1999sets it back to nil.") 2003`org-table-align'sets it back to nil.")
2000(defvar org-mode-hook nil) 2004(defvar org-mode-hook nil)
2001(defvar org-inhibit-startup nil) ; Dynamically-scoped param. 2005(defvar org-inhibit-startup nil) ; Dynamically-scoped param.
2002(defvar org-agenda-keep-modes nil) ; Dynamically-scoped param. 2006(defvar org-agenda-keep-modes nil) ; Dynamically-scoped param.
@@ -2656,7 +2660,7 @@ or nil."
2656 2660
2657(defun org-insert-item () 2661(defun org-insert-item ()
2658 "Insert a new item at the current level. 2662 "Insert a new item at the current level.
2659Return t when tings worked, nil when we are not in an item." 2663Return t when things worked, nil when we are not in an item."
2660 (when (save-excursion 2664 (when (save-excursion
2661 (condition-case nil 2665 (condition-case nil
2662 (progn 2666 (progn
@@ -3367,7 +3371,7 @@ At all other locations, this simply calls `ispell-complete-word'."
3367 (save-excursion 3371 (save-excursion
3368 (goto-char (point-min)) 3372 (goto-char (point-min))
3369 (while (re-search-forward org-todo-line-regexp nil t) 3373 (while (re-search-forward org-todo-line-regexp nil t)
3370 (push (list 3374 (push (list
3371 (if org-file-link-context-use-camel-case 3375 (if org-file-link-context-use-camel-case
3372 (org-make-org-heading-camel (match-string 3) t) 3376 (org-make-org-heading-camel (match-string 3) t)
3373 (org-make-org-heading-search-string 3377 (org-make-org-heading-search-string
@@ -6984,7 +6988,7 @@ to read."
6984 (interactive) 6988 (interactive)
6985 (setq pos (or pos (point))) 6989 (setq pos (or pos (point)))
6986 (setq org-mark-ring (nthcdr (1- org-mark-ring-length) org-mark-ring)) 6990 (setq org-mark-ring (nthcdr (1- org-mark-ring-length) org-mark-ring))
6987 (move-marker (car org-mark-ring) 6991 (move-marker (car org-mark-ring)
6988 (or pos (point)) 6992 (or pos (point))
6989 (or buffer (current-buffer))) 6993 (or buffer (current-buffer)))
6990 (message 6994 (message
@@ -7132,14 +7136,14 @@ onto the ring."
7132;; mh-e integration based on planner-mode 7136;; mh-e integration based on planner-mode
7133(defun org-mhe-get-message-real-folder () 7137(defun org-mhe-get-message-real-folder ()
7134 "Return the name of the current message real folder, so if you use 7138 "Return the name of the current message real folder, so if you use
7135 sequences, it will now work." 7139sequences, it will now work."
7136 (save-excursion 7140 (save-excursion
7137 (let* ((folder 7141 (let* ((folder
7138 (if (equal major-mode 'mh-folder-mode) 7142 (if (equal major-mode 'mh-folder-mode)
7139 mh-current-folder 7143 mh-current-folder
7140 ;; Refer to the show buffer 7144 ;; Refer to the show buffer
7141 mh-show-folder-buffer)) 7145 mh-show-folder-buffer))
7142 (end-index 7146 (end-index
7143 (if (boundp 'mh-index-folder) 7147 (if (boundp 'mh-index-folder)
7144 (min (length mh-index-folder) (length folder)))) 7148 (min (length mh-index-folder) (length folder))))
7145 ) 7149 )
@@ -7162,8 +7166,7 @@ onto the ring."
7162 ))) 7166 )))
7163 7167
7164(defun org-mhe-get-message-folder-from-index () 7168(defun org-mhe-get-message-folder-from-index ()
7165 "Returns the name of the message folder in a index folder 7169 "Returns the name of the message folder in a index folder buffer."
7166 buffer."
7167 (save-excursion 7170 (save-excursion
7168 (mh-index-previous-folder) 7171 (mh-index-previous-folder)
7169 (if (not (re-search-forward "^\\(+.*\\)$" nil t)) 7172 (if (not (re-search-forward "^\\(+.*\\)$" nil t))
@@ -7171,8 +7174,8 @@ onto the ring."
7171 (message (match-string 1))))) 7174 (message (match-string 1)))))
7172 7175
7173(defun org-mhe-get-message-folder () 7176(defun org-mhe-get-message-folder ()
7174 "Return the name of the current message folder. Be careful if you 7177 "Return the name of the current message folder. Be careful if you
7175 use sequences." 7178use sequences."
7176 (save-excursion 7179 (save-excursion
7177 (if (equal major-mode 'mh-folder-mode) 7180 (if (equal major-mode 'mh-folder-mode)
7178 mh-current-folder 7181 mh-current-folder
@@ -7180,8 +7183,8 @@ onto the ring."
7180 mh-show-folder-buffer))) 7183 mh-show-folder-buffer)))
7181 7184
7182(defun org-mhe-get-message-num () 7185(defun org-mhe-get-message-num ()
7183 "Return the number of the current message. Be careful if you 7186 "Return the number of the current message. Be careful if you
7184 use sequences." 7187use sequences."
7185 (save-excursion 7188 (save-excursion
7186 (if (equal major-mode 'mh-folder-mode) 7189 (if (equal major-mode 'mh-folder-mode)
7187 (mh-get-msg-num nil) 7190 (mh-get-msg-num nil)
@@ -7189,9 +7192,9 @@ onto the ring."
7189 (mh-show-buffer-message-number)))) 7192 (mh-show-buffer-message-number))))
7190 7193
7191(defun org-mhe-get-header (header) 7194(defun org-mhe-get-header (header)
7192 "Return a header of the message in folder mode. This will create a 7195 "Return a header of the message in folder mode. This will create a
7193 show buffer for the corresponding message. If you have a more clever 7196show buffer for the corresponding message. If you have a more clever
7194 idea..." 7197idea..."
7195 (let* ((folder (org-mhe-get-message-folder)) 7198 (let* ((folder (org-mhe-get-message-folder))
7196 (num (org-mhe-get-message-num)) 7199 (num (org-mhe-get-message-num))
7197 (buffer (get-buffer-create (concat "show-" folder))) 7200 (buffer (get-buffer-create (concat "show-" folder)))
@@ -7211,13 +7214,14 @@ onto the ring."
7211(defun org-follow-mhe-link (folder article) 7214(defun org-follow-mhe-link (folder article)
7212 "Follow an MHE link to FOLDER and ARTICLE." 7215 "Follow an MHE link to FOLDER and ARTICLE."
7213 (setq article (org-add-angle-brackets article)) 7216 (setq article (org-add-angle-brackets article))
7214;; (require 'mh-e) 7217 (require 'mh-e)
7215 (mh-rmail) ;; mh-e is standard with emacs 22 7218 (mh-find-path)
7216 (let* ((show-buf (concat "show-" folder))) 7219 (let* ((show-buf (concat "show-" folder)))
7220 (mh-visit-folder folder)
7217 (get-buffer-create show-buf) 7221 (get-buffer-create show-buf)
7218 (mh-display-msg 7222 (mh-show-msg
7219 (string-to-number 7223 (string-to-number
7220 (car (split-string 7224 (car (split-string
7221 (with-temp-buffer 7225 (with-temp-buffer
7222 (call-process 7226 (call-process
7223 (expand-file-name "pick" mh-progs) 7227 (expand-file-name "pick" mh-progs)
@@ -7226,8 +7230,7 @@ onto the ring."
7226 "--message-id" 7230 "--message-id"
7227 article) 7231 article)
7228 (buffer-string)) 7232 (buffer-string))
7229 "\n"))) 7233 "\n"))))
7230 folder)
7231 (pop-to-buffer show-buf))) 7234 (pop-to-buffer show-buf)))
7232 7235
7233(defun org-open-file (path &optional in-emacs line search) 7236(defun org-open-file (path &optional in-emacs line search)
@@ -7383,7 +7386,7 @@ For file links, arg negates `org-context-in-file-links'."
7383 (setq cpltxt (concat from-header " on: " subject)) 7386 (setq cpltxt (concat from-header " on: " subject))
7384 (setq link (concat cpltxt "\n " 7387 (setq link (concat cpltxt "\n "
7385 (org-make-link 7388 (org-make-link
7386 "mhe:" (org-mhe-get-message-real-folder) "#" 7389 "mhe:" (org-mhe-get-message-real-folder) "#"
7387 (org-remove-angle-brackets 7390 (org-remove-angle-brackets
7388 (org-mhe-get-header "Message-Id:"))))))) 7391 (org-mhe-get-header "Message-Id:")))))))
7389 7392
@@ -7491,7 +7494,7 @@ For file links, arg negates `org-context-in-file-links'."
7491 (error "Cannot link to a buffer which is not visiting a file")) 7494 (error "Cannot link to a buffer which is not visiting a file"))
7492 7495
7493 (t (setq link nil))) 7496 (t (setq link nil)))
7494 7497
7495 (if (and (interactive-p) link) 7498 (if (and (interactive-p) link)
7496 (progn 7499 (progn
7497 (setq org-stored-links 7500 (setq org-stored-links
@@ -7500,7 +7503,7 @@ For file links, arg negates `org-context-in-file-links'."
7500 link))) 7503 link)))
7501 7504
7502(defun org-make-org-heading-search-string (&optional string heading) 7505(defun org-make-org-heading-search-string (&optional string heading)
7503 "Make search string for S or current headline." 7506 "Make search string for STRING or current headline."
7504 (interactive) 7507 (interactive)
7505 (let ((s (or string (org-get-heading)))) 7508 (let ((s (or string (org-get-heading))))
7506 (unless (and string (not heading)) 7509 (unless (and string (not heading))
@@ -7521,7 +7524,7 @@ For file links, arg negates `org-context-in-file-links'."
7521 (mapconcat 'identity (org-split-string s "[ \t]+") " "))) 7524 (mapconcat 'identity (org-split-string s "[ \t]+") " ")))
7522 7525
7523(defun org-make-org-heading-camel (&optional string heading) 7526(defun org-make-org-heading-camel (&optional string heading)
7524 "Make a CamelCase string for S or the current headline." 7527 "Make a CamelCase string for STRING or the current headline."
7525 (interactive) 7528 (interactive)
7526 (let ((s (or string (org-get-heading)))) 7529 (let ((s (or string (org-get-heading))))
7527 (unless (and string (not heading)) 7530 (unless (and string (not heading))
@@ -8638,8 +8641,8 @@ Point and mark define the first and last line to include. Both point and
8638mark should be in the column that is used for sorting. For example, to 8641mark should be in the column that is used for sorting. For example, to
8639sort according to column 3, put the mark in the first line to sort, in 8642sort according to column 3, put the mark in the first line to sort, in
8640table column 3. Put point into the last line to be included in the sorting, 8643table column 3. Put point into the last line to be included in the sorting,
8641also in table column 3. The command will prompt for the sorting method (n for 8644also in table column 3. The command will prompt for the sorting method
8642numerical, a for alphanumeric)." 8645\(n for numerical, a for alphanumeric)."
8643 (interactive "r\nsSorting method: [n]=numeric [a]=alpha: ") 8646 (interactive "r\nsSorting method: [n]=numeric [a]=alpha: ")
8644 (setq numericp (string-match "[nN]" numericp)) 8647 (setq numericp (string-match "[nN]" numericp))
8645 (org-table-align) ;; Just to be safe 8648 (org-table-align) ;; Just to be safe
@@ -9478,8 +9481,8 @@ not overwrite the stored one."
9478 (if (= c ?p) (setq modes (org-set-calc-mode 'calc-internal-prec n)) 9481 (if (= c ?p) (setq modes (org-set-calc-mode 'calc-internal-prec n))
9479 (setq modes (org-set-calc-mode 9482 (setq modes (org-set-calc-mode
9480 'calc-float-format 9483 'calc-float-format
9481 (list (cdr (assoc c '((?n. float) (?f. fix) 9484 (list (cdr (assoc c '((?n . float) (?f . fix)
9482 (?s. sci) (?e. eng)))) 9485 (?s . sci) (?e . eng))))
9483 n)))) 9486 n))))
9484 (setq fmt (replace-match "" t t fmt))) 9487 (setq fmt (replace-match "" t t fmt)))
9485 (while (string-match "[DRFS]" fmt) 9488 (while (string-match "[DRFS]" fmt)
@@ -10440,6 +10443,45 @@ The list contains HTML entities for Latin-1, Greek and other symbols.
10440It is supplemented by a number of commonly used TeX macros with appropriate 10443It is supplemented by a number of commonly used TeX macros with appropriate
10441translations. There is currently no way for users to extend this.") 10444translations. There is currently no way for users to extend this.")
10442 10445
10446(defun org-cleaned-string-for-export (string)
10447 "Cleanup a buffer substring so that links can be created safely."
10448 (interactive)
10449 (let* ((cb (current-buffer))
10450 (re-radio (concat "\\([^<]\\)\\(" org-target-link-regexp "\\)"))
10451 rtn)
10452 (save-excursion
10453 (set-buffer (get-buffer-create " org-mode-tmp"))
10454 (erase-buffer)
10455 (insert string)
10456 (org-mode)
10457 ;; Find targets in comments and move them out of comments
10458 (goto-char (point-min))
10459 (while (re-search-forward "^#.*?\\(<<<?[^>\r\n]+>>>?\\).*" nil t)
10460 (replace-match "\\1"))
10461 ;; Find matches for radio targets and turn them into links
10462 (goto-char (point-min))
10463 (while (re-search-forward re-radio nil t)
10464 (replace-match "\\1[[\\2]]"))
10465 ;; Find all links that contain a newline and put them into a single line
10466 (goto-char (point-min))
10467 (while (re-search-forward "\\(\\[\\[[^]]*?\\)[ \t]*\n[ \t]*\\([^]]*\\]\\]\\)" nil t)
10468 (replace-match "\\1 \\2")
10469 (goto-char (match-beginning 0)))
10470 ;; Remove comments
10471 (goto-char (point-min))
10472 (while (re-search-forward "^#.*\n?" nil t)
10473 (replace-match ""))
10474 (setq rtn (buffer-string)))
10475 (kill-buffer " org-mode-tmp")
10476 rtn))
10477
10478(defun org-solidify-link-text (s)
10479 "Take link text and make a safe target out of it."
10480 (save-match-data
10481 (mapconcat
10482 'identity
10483 (org-split-string s "[ \t\r\n]+") "--")))
10484
10443(defvar org-last-level nil) ; dynamically scoped variable 10485(defvar org-last-level nil) ; dynamically scoped variable
10444 10486
10445(defun org-export-as-ascii (arg) 10487(defun org-export-as-ascii (arg)
@@ -10454,7 +10496,10 @@ underlined headlines. The default is 3."
10454 (if (org-region-active-p) (region-beginning) (point-min)) 10496 (if (org-region-active-p) (region-beginning) (point-min))
10455 (if (org-region-active-p) (region-end) (point-max)))) 10497 (if (org-region-active-p) (region-end) (point-max))))
10456 (lines (org-export-find-first-heading-line 10498 (lines (org-export-find-first-heading-line
10457 (org-skip-comments (org-split-string region "[\r\n]")))) 10499 (org-skip-comments
10500 (org-split-string
10501 (org-cleaned-string-for-export region)
10502 "[\r\n]"))))
10458 (org-startup-with-deadline-check nil) 10503 (org-startup-with-deadline-check nil)
10459 (level 0) line txt 10504 (level 0) line txt
10460 (umax nil) 10505 (umax nil)
@@ -10543,6 +10588,14 @@ underlined headlines. The default is 3."
10543 (while (setq line (pop lines)) 10588 (while (setq line (pop lines))
10544 ;; Remove the quoted HTML tags. 10589 ;; Remove the quoted HTML tags.
10545 (setq line (org-html-expand-for-ascii line)) 10590 (setq line (org-html-expand-for-ascii line))
10591 ;; Remove targets
10592 (while (string-match "<<<?[^<>]*>>>?[ \t]*\n?" line)
10593 (setq line (replace-match "" t t line)))
10594 ;; Replace internal links
10595 (while (string-match org-bracket-link-regexp line)
10596 (setq line (replace-match
10597 (if (match-end 3) "[\\3]" "[\\1]")
10598 t nil line)))
10546 (cond 10599 (cond
10547 ((string-match "^\\(\\*+\\)[ \t]*\\(.*\\)" line) 10600 ((string-match "^\\(\\*+\\)[ \t]*\\(.*\\)" line)
10548 ;; a Headline 10601 ;; a Headline
@@ -10781,7 +10834,9 @@ headlines. The default is 3. Lower levels will become bulleted lists."
10781 (if region-p (region-beginning) (point-min)) 10834 (if region-p (region-beginning) (point-min))
10782 (if region-p (region-end) (point-max)))) 10835 (if region-p (region-end) (point-max))))
10783 (all_lines 10836 (all_lines
10784 (org-skip-comments (org-split-string region "[\r\n]"))) 10837 (org-skip-comments (org-split-string
10838 (org-cleaned-string-for-export region)
10839 "[\r\n]")))
10785 (lines (org-export-find-first-heading-line all_lines)) 10840 (lines (org-export-find-first-heading-line all_lines))
10786 (level 0) (line "") (origline "") txt todo 10841 (level 0) (line "") (origline "") txt todo
10787 (umax nil) 10842 (umax nil)
@@ -10944,7 +10999,26 @@ headlines. The default is 3. Lower levels will become bulleted lists."
10944 (insert "</pre>\n")) 10999 (insert "</pre>\n"))
10945 (throw 'nextline nil)) 11000 (throw 'nextline nil))
10946 11001
10947 ;; Protect the links 11002
11003 ;; make targets to anchors
11004 (while (string-match "<<<?\\([^<>]*\\)>>>?[ \t]*\n?" line)
11005 (setq line (replace-match
11006 (concat "@<a name=\""
11007 (org-solidify-link-text (match-string 1 line))
11008 "\">\\nbsp@</a>")
11009 t t line)))
11010 ;; Replace internal links
11011 (while (string-match org-bracket-link-regexp line)
11012 (setq line (replace-match
11013 (concat
11014 "@<a href=\"#"
11015 (org-solidify-link-text (match-string 1 line))
11016 "\">"
11017 (match-string (if (match-end 3) 3 1) line)
11018 "@</a>")
11019 t t line)))
11020
11021 ;; Protect the external links
10948 (setq start 0) 11022 (setq start 0)
10949 (while (string-match org-link-maybe-angles-regexp line start) 11023 (while (string-match org-link-maybe-angles-regexp line start)
10950 (setq start (match-end 0)) 11024 (setq start (match-end 0))
@@ -11122,7 +11196,7 @@ headlines. The default is 3. Lower levels will become bulleted lists."
11122 (org-format-table-table-html-using-table-generate-source olines))))) 11196 (org-format-table-table-html-using-table-generate-source olines)))))
11123 11197
11124(defun org-format-org-table-html (lines) 11198(defun org-format-org-table-html (lines)
11125 "Format a table into html." 11199 "Format a table into HTML."
11126 (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) 11200 (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines)))
11127 (setq lines (nreverse lines)) 11201 (setq lines (nreverse lines))
11128 (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines))) 11202 (if (string-match "^[ \t]*|-" (car lines)) (setq lines (cdr lines)))
@@ -11149,7 +11223,7 @@ headlines. The default is 3. Lower levels will become bulleted lists."
11149 (string-match "^[ \t]*|[^|]*|" x)) 11223 (string-match "^[ \t]*|[^|]*|" x))
11150 (replace-match "|" t t x)))) 11224 (replace-match "|" t t x))))
11151 lines)))))) 11225 lines))))))
11152 11226
11153 (let ((head (and org-export-highlight-first-table-line 11227 (let ((head (and org-export-highlight-first-table-line
11154 (delq nil (mapcar 11228 (delq nil (mapcar
11155 (lambda (x) (string-match "^[ \t]*|-" x)) 11229 (lambda (x) (string-match "^[ \t]*|-" x))
@@ -11188,7 +11262,7 @@ headlines. The default is 3. Lower levels will become bulleted lists."
11188 newstr)) 11262 newstr))
11189 11263
11190(defun org-format-table-table-html (lines) 11264(defun org-format-table-table-html (lines)
11191 "Format a table generated by table.el into html. 11265 "Format a table generated by table.el into HTML.
11192This conversion does *not* use `table-generate-source' from table.el. 11266This conversion does *not* use `table-generate-source' from table.el.
11193This has the advantage that Org-mode's HTML conversions can be used. 11267This has the advantage that Org-mode's HTML conversions can be used.
11194But it has the disadvantage, that no cell- or row-spanning is allowed." 11268But it has the disadvantage, that no cell- or row-spanning is allowed."
@@ -12363,8 +12437,9 @@ work correctly."
12363 12437
12364(defun org-add-hook (hook function &optional append local) 12438(defun org-add-hook (hook function &optional append local)
12365 "Add-hook, compatible with both Emacsen." 12439 "Add-hook, compatible with both Emacsen."
12366 (if (and local org-xemacs-p) (make-local-hook hook)) ;; Needed for XEmacs 12440 (if (and local org-xemacs-p)
12367 (add-hook hook function append local)) 12441 (add-local-hook hook function append)
12442 (add-hook hook function append local)))
12368 12443
12369(defun org-region-active-p () 12444(defun org-region-active-p ()
12370 "Is `transient-mark-mode' on and the region active? 12445 "Is `transient-mark-mode' on and the region active?
diff --git a/man/ChangeLog b/man/ChangeLog
index 3e7a62c09bf..e2d948aef35 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,30 @@
12006-02-23 Juri Linkov <juri@jurta.org>
2
3 * faq.texi (Common requests): Move `Turning on auto-fill by
4 default' after `Wrapping words automatically'. Move `Working with
5 unprintable characters' before `Searching for/replacing newlines'.
6 Move `Replacing highlighted text' after `Highlighting a region'.
7 Merge `Repeating commands' and `Repeating a command as many times
8 as possible' into the former.
9 (Packages that do not come with Emacs): Add refs to Gmane and
10 etc/MORE.STUFF.
11
122006-02-23 Juri Linkov <juri@jurta.org>
13
14 * faq.texi (Newsgroup archives): Update URLs of GNU mail archives.
15 (Reporting bugs): Suggest using `M-x report-emacs-bug'.
16 Add xref to `(emacs)Reporting Bugs'.
17 (Getting a printed manual): Add URL to other formats of the manual.
18 (Common requests): Fix menu.
19 (Highlighting a region): Remove ref to `Turning on syntax highlighting'.
20 (Horizontal scrolling): Mention `truncate-partial-width-windows'.
21 (Inserting text at the beginning of each line): Add pxref to
22 `Changing the included text prefix'.
23 (Forcing the cursor to remain in the same column): Mention `track-eol'
24 and `set-goal-column'. Add pxref to `(emacs)Moving Point'.
25 (Replacing text across multiple files): Add keybinding `Q' for
26 `dired-do-query-replace'.
27
12006-02-22 Carsten Dominik <dominik@science.uva.nl> 282006-02-22 Carsten Dominik <dominik@science.uva.nl>
2 29
3 * reftex.texi: Version number and date change only. 30 * reftex.texi: Version number and date change only.
diff --git a/man/faq.texi b/man/faq.texi
index 01becae0c87..0c4838d9019 100644
--- a/man/faq.texi
+++ b/man/faq.texi
@@ -423,14 +423,17 @@ years, although there may be some unintentional gaps in coverage. The
423archive is not particularly well organized or easy to retrieve 423archive is not particularly well organized or easy to retrieve
424individual postings from, but pretty much everything is there. 424individual postings from, but pretty much everything is there.
425 425
426The archive is at @uref{ftp://ftp-mailing-list-archives.gnu.org}. 426The archive is at @uref{ftp://lists.gnu.org/}.
427 427
428The archive can be browsed over the web at 428The archive can be browsed over the web at
429@uref{http://mail.gnu.org/archive/html/, the GNU mail archive}. 429@uref{http://lists.gnu.org/archive/html/, the GNU mail archive}.
430 430
431Web-based Usenet search services, such as 431Web-based Usenet search services, such as
432@uref{http://groups.google.com, Google}, also archive the 432@uref{http://groups.google.com/groups/dir?sel=33592484, Google}, also
433@code{gnu.*} groups. 433archive the @code{gnu.*} groups.
434
435You can read the archives of the @code{gnu.*} groups and post new
436messages at @uref{http://gmane.org/, Gmane}.
434 437
435@node Reporting bugs, Unsubscribing from Emacs lists, Newsgroup archives, General questions 438@node Reporting bugs, Unsubscribing from Emacs lists, Newsgroup archives, General questions
436@section Where should I report bugs and other problems with Emacs? 439@section Where should I report bugs and other problems with Emacs?
@@ -439,16 +442,19 @@ Web-based Usenet search services, such as
439@cindex How to submit a bug report 442@cindex How to submit a bug report
440@cindex Reporting bugs 443@cindex Reporting bugs
441 444
442The correct way to report Emacs bugs is by e-mail to 445The correct way to report Emacs bugs is to use the command
443@email{bug-gnu-emacs@@gnu.org}. Anything sent here also appears in the 446@kbd{M-x report-emacs-bug}. It sets up a mail buffer with the
447essential information and the correct e-mail address which is
448@email{bug-gnu-emacs@@gnu.org} for the released versions of Emacs.
449Anything sent to @email{bug-gnu-emacs@@gnu.org} also appears in the
444newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of 450newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of
445news to submit the bug report. This ensures a reliable return address 451news to submit the bug report. This ensures a reliable return address
446so you can be contacted for further details. 452so you can be contacted for further details.
447 453
448Be sure to read the ``Bugs'' section of the Emacs manual before reporting 454Be sure to read the ``Bugs'' section of the Emacs manual before reporting
449a bug to bug-gnu-emacs! The manual describes in detail how to submit a 455a bug! The manual describes in detail how to submit a useful bug
450useful bug report. (@xref{On-line manual}, if you don't know how to read the 456report (@pxref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}).
451manual.) 457(@xref{On-line manual}, if you don't know how to read the manual.)
452 458
453RMS says: 459RMS says:
454 460
@@ -674,6 +680,10 @@ An HTML version of the manual is at
674 680
675@uref{http://www.gnu.org/software/emacs/manual/emacs.html} 681@uref{http://www.gnu.org/software/emacs/manual/emacs.html}
676 682
683The manual is available in other formats at
684
685@uref{http://www.gnu.org/software/emacs/manual/}
686
677@xref{Learning how to do something}, for how to view the manual on-line. 687@xref{Learning how to do something}, for how to view the manual on-line.
678 688
679@node Emacs Lisp documentation, Installing Texinfo documentation, Getting a printed manual, Getting help 689@node Emacs Lisp documentation, Installing Texinfo documentation, Getting a printed manual, Getting help
@@ -763,12 +773,19 @@ privileges, you have several options:
763 773
764@itemize @bullet 774@itemize @bullet
765@item 775@item
766Info files don't actually need to be installed before being used. You 776Info files don't actually need to be installed before being used.
767can feed a file name to the @code{Info-goto-node} command (invoked by 777You can use a prefix argument for the @code{info} command and specify
768pressing @key{g} in Info mode) by typing the name of the file in 778the name of the Info file in the minibuffer. This goes to the node
769parentheses. This goes to the node named ``Top'' in that file. For 779named @samp{Top} in that file. For example, to view a Info file named
770example, to view a Info file named @file{@var{info-file}} in your home 780@file{@var{info-file}} in your home directory, you can type this:
771directory, you can type this: 781
782@example
783@kbd{C-u C-h i ~/@var{info-file} @key{RET}}
784@end example
785
786Alternatively, you can feed a file name to the @code{Info-goto-node}
787command (invoked by pressing @key{g} in Info mode) by typing the name
788of the file in parentheses, like this:
772 789
773@example 790@example
774@kbd{C-h i g (~/@var{info-file}) @key{RET}} 791@kbd{C-h i g (~/@var{info-file}) @key{RET}}
@@ -1074,7 +1091,7 @@ conventions}).
1074 1091
1075Emacs @value{VER} is the current version as of this writing. 1092Emacs @value{VER} is the current version as of this writing.
1076 1093
1077@node New in Emacs 20, New in Emacs 21, Latest version of Emacs, Status of Emacs 1094@node New in Emacs 20, New in Emacs 21, Latest version of Emacs, Status of Emacs
1078@section What is different about Emacs 20? 1095@section What is different about Emacs 20?
1079@cindex Differences between Emacs 19 and Emacs 20 1096@cindex Differences between Emacs 19 and Emacs 20
1080@cindex Emacs 20, new features in 1097@cindex Emacs 20, new features in
@@ -1122,7 +1139,7 @@ In addition, Emacs 21 supports faces on text-only terminals. This means
1122that you can now have colors when you run Emacs on a GNU/Linux console 1139that you can now have colors when you run Emacs on a GNU/Linux console
1123and on @code{xterm} with @kbd{emacs -nw}. 1140and on @code{xterm} with @kbd{emacs -nw}.
1124 1141
1125@node New in Emacs 22, , New in Emacs 21, Status of Emacs 1142@node New in Emacs 22, , New in Emacs 21, Status of Emacs
1126@section What is different about Emacs 22? 1143@section What is different about Emacs 22?
1127@cindex Differences between Emacs 21 and Emacs 22 1144@cindex Differences between Emacs 21 and Emacs 22
1128@cindex Emacs 22, new features in 1145@cindex Emacs 22, new features in
@@ -1163,19 +1180,20 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
1163@menu 1180@menu
1164* Setting up a customization file:: 1181* Setting up a customization file::
1165* Using Customize:: 1182* Using Customize::
1166* Debugging a customization file::
1167* Colors on a TTY:: 1183* Colors on a TTY::
1184* Debugging a customization file::
1168* Displaying the current line or column:: 1185* Displaying the current line or column::
1169* Displaying the current file name in the titlebar:: 1186* Displaying the current file name in the titlebar::
1170* Turning on abbrevs by default:: 1187* Turning on abbrevs by default::
1171* Turning on auto-fill by default::
1172* Associating modes with files:: 1188* Associating modes with files::
1173* Working with unprintable characters::
1174* Highlighting a region:: 1189* Highlighting a region::
1190* Replacing highlighted text::
1175* Controlling case sensitivity:: 1191* Controlling case sensitivity::
1176* Wrapping words automatically:: 1192* Working with unprintable characters::
1177* Searching for/replacing newlines:: 1193* Searching for/replacing newlines::
1178* Yanking text in isearch:: 1194* Yanking text in isearch::
1195* Wrapping words automatically::
1196* Turning on auto-fill by default::
1179* Spell-checkers:: 1197* Spell-checkers::
1180* Checking TeX and *roff documents:: 1198* Checking TeX and *roff documents::
1181* Changing load-path:: 1199* Changing load-path::
@@ -1196,7 +1214,6 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
1196* Changing the length of a Tab:: 1214* Changing the length of a Tab::
1197* Inserting text at the beginning of each line:: 1215* Inserting text at the beginning of each line::
1198* Underlining paragraphs:: 1216* Underlining paragraphs::
1199* Repeating a command as many times as possible::
1200* Forcing the cursor to remain in the same column:: 1217* Forcing the cursor to remain in the same column::
1201* Forcing Emacs to iconify itself:: 1218* Forcing Emacs to iconify itself::
1202* Using regular expressions:: 1219* Using regular expressions::
@@ -1209,7 +1226,6 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
1209* Deleting menus and menu options:: 1226* Deleting menus and menu options::
1210* Turning on syntax highlighting:: 1227* Turning on syntax highlighting::
1211* Scrolling only one line:: 1228* Scrolling only one line::
1212* Replacing highlighted text::
1213* Editing MS-DOS files:: 1229* Editing MS-DOS files::
1214* Filling paragraphs with a single space:: 1230* Filling paragraphs with a single space::
1215* Escape sequences in shell output:: 1231* Escape sequences in shell output::
@@ -1387,7 +1403,7 @@ in your @file{.emacs}:
1387(setq frame-title-format "%b") 1403(setq frame-title-format "%b")
1388@end lisp 1404@end lisp
1389 1405
1390@node Turning on abbrevs by default, Turning on auto-fill by default, Displaying the current file name in the titlebar, Common requests 1406@node Turning on abbrevs by default, Associating modes with files, Displaying the current file name in the titlebar, Common requests
1391@section How do I turn on abbrevs by default just in mode @var{mymode}? 1407@section How do I turn on abbrevs by default just in mode @var{mymode}?
1392@cindex Abbrevs, turning on by default 1408@cindex Abbrevs, turning on by default
1393 1409
@@ -1406,30 +1422,7 @@ Put this in your @file{.emacs} file:
1406Starting with Emacs 22, the standard abbrevs file is read automatically 1422Starting with Emacs 22, the standard abbrevs file is read automatically
1407at startup, so the first of these two forms becomes unnecessary. 1423at startup, so the first of these two forms becomes unnecessary.
1408 1424
1409@node Turning on auto-fill by default, Associating modes with files, Turning on abbrevs by default, Common requests 1425@node Associating modes with files, Highlighting a region, Turning on abbrevs by default, Common requests
1410@section How do I turn on @code{auto-fill-mode} by default?
1411@cindex @code{auto-fill-mode}, activating automatically
1412@cindex Filling automatically
1413@cindex Automatic entry to @code{auto-fill-mode}
1414
1415To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x
1416auto-fill-mode}.
1417
1418To turn it on for every buffer in a certain mode, you must use the hook
1419for that mode. For example, to turn on @code{auto-fill} mode for all
1420text buffers, including the following in your @file{.emacs} file:
1421
1422@lisp
1423(add-hook 'text-mode-hook 'turn-on-auto-fill)
1424@end lisp
1425
1426If you want @code{auto-fill} mode on in all major modes, do this:
1427
1428@lisp
1429(setq-default auto-fill-function 'do-auto-fill)
1430@end lisp
1431
1432@node Associating modes with files, Working with unprintable characters, Turning on auto-fill by default, Common requests
1433@section How do I make Emacs use a certain major mode for certain files? 1426@section How do I make Emacs use a certain major mode for certain files?
1434@cindex Associating modes with files 1427@cindex Associating modes with files
1435@cindex File extensions and modes 1428@cindex File extensions and modes
@@ -1459,7 +1452,81 @@ the script.) This feature only applies when the file name doesn't
1459indicate which mode to use. Use @kbd{C-h v} (or @kbd{M-x 1452indicate which mode to use. Use @kbd{C-h v} (or @kbd{M-x
1460describe-variable}) on @code{interpreter-mode-alist} to learn more. 1453describe-variable}) on @code{interpreter-mode-alist} to learn more.
1461 1454
1462@node Working with unprintable characters, Highlighting a region, Associating modes with files, Common requests 1455@node Highlighting a region, Replacing highlighted text, Associating modes with files, Common requests
1456@section How can I highlight a region of text in Emacs?
1457@cindex Highlighting text
1458@cindex Text, highlighting
1459@cindex @code{transient-mark-mode}
1460@cindex Region, highlighting a
1461
1462You can cause the region to be highlighted when the mark is active by
1463including
1464
1465@lisp
1466(transient-mark-mode t)
1467@end lisp
1468
1469@noindent
1470in your @file{.emacs} file.
1471
1472@node Replacing highlighted text, Controlling case sensitivity, Highlighting a region, Common requests
1473@section How can I replace highlighted text with what I type?
1474@cindex @code{delete-selection-mode}
1475@cindex Replacing highlighted text
1476@cindex Highlighting and replacing text
1477
1478Use @code{delete-selection-mode}, which you can start automatically by
1479placing the following Lisp form in your @file{.emacs} file:
1480
1481@lisp
1482(delete-selection-mode 1)
1483@end lisp
1484
1485According to the documentation string for @code{delete-selection-mode}
1486(which you can read using @kbd{M-x describe-function @key{RET}
1487delete-selection-mode @key{RET}}):
1488
1489@quotation
1490When ON, typed text replaces the selection if the selection is active.
1491When OFF, typed text is just inserted at point.
1492@end quotation
1493
1494This mode also allows you to delete (not kill) the highlighted region by
1495pressing @key{DEL}.
1496
1497@node Controlling case sensitivity, Working with unprintable characters, Replacing highlighted text, Common requests
1498@section How do I control Emacs's case-sensitivity when searching/replacing?
1499@cindex @code{case-fold-search}
1500@cindex Case sensitivity of searches
1501@cindex Searching without case sensitivity
1502@cindex Ignoring case in searches
1503
1504For searching, the value of the variable @code{case-fold-search}
1505determines whether they are case sensitive:
1506
1507@lisp
1508(setq case-fold-search nil) ; make searches case sensitive
1509(setq case-fold-search t) ; make searches case insensitive
1510@end lisp
1511
1512@cindex Case sensitivity in replacements
1513@cindex Replacing, and case sensitivity
1514@cindex @code{case-replace}
1515Similarly, for replacing, the variable @code{case-replace} determines
1516whether replacements preserve case.
1517
1518You can also toggle case sensitivity at will in isearch with @kbd{M-c}.
1519
1520To change the case sensitivity just for one major mode, use the major
1521mode's hook. For example:
1522
1523@lisp
1524(add-hook '@var{foo}-mode-hook
1525 (lambda ()
1526 (setq case-fold-search nil)))
1527@end lisp
1528
1529@node Working with unprintable characters, Searching for/replacing newlines, Controlling case sensitivity, Common requests
1463@section How do I search for, delete, or replace unprintable (eight-bit or control) characters? 1530@section How do I search for, delete, or replace unprintable (eight-bit or control) characters?
1464@cindex Unprintable characters, working with 1531@cindex Unprintable characters, working with
1465@cindex Working with unprintable characters 1532@cindex Working with unprintable characters
@@ -1507,65 +1574,7 @@ characters with a colon, use:
1507 1574
1508M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET} : @key{RET} 1575M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET} : @key{RET}
1509 1576
1510@itemize @bullet 1577@node Searching for/replacing newlines, Yanking text in isearch, Working with unprintable characters, Common requests
1511
1512@item
1513You don't need to quote @key{TAB} with either isearch or typing
1514something in the minibuffer.
1515
1516@end itemize
1517
1518@node Highlighting a region, Controlling case sensitivity, Working with unprintable characters, Common requests
1519@section How can I highlight a region of text in Emacs?
1520@cindex Highlighting text
1521@cindex Text, highlighting
1522@cindex @code{transient-mark-mode}
1523@cindex Region, highlighting a
1524
1525You can cause the region to be highlighted when the mark is active by
1526including
1527
1528@lisp
1529(transient-mark-mode t)
1530@end lisp
1531
1532@noindent
1533in your @file{.emacs} file. (Also see @ref{Turning on syntax
1534highlighting}.)
1535
1536@node Controlling case sensitivity, Searching for/replacing newlines, Highlighting a region, Common requests
1537@section How do I control Emacs's case-sensitivity when searching/replacing?
1538@cindex @code{case-fold-search}
1539@cindex Case sensitivity of searches
1540@cindex Searching without case sensitivity
1541@cindex Ignoring case in searches
1542
1543For searching, the value of the variable @code{case-fold-search}
1544determines whether they are case sensitive:
1545
1546@lisp
1547(setq case-fold-search nil) ; make searches case sensitive
1548(setq case-fold-search t) ; make searches case insensitive
1549@end lisp
1550
1551@cindex Case sensitivity in replacements
1552@cindex Replacing, and case sensitivity
1553@cindex @code{case-replace}
1554Similarly, for replacing, the variable @code{case-replace} determines
1555whether replacements preserve case.
1556
1557You can also toggle case sensitivity at will in isearch with @kbd{M-c}.
1558
1559To change the case sensitivity just for one major mode, use the major
1560mode's hook. For example:
1561
1562@lisp
1563(add-hook '@var{foo}-mode-hook
1564 (lambda ()
1565 (setq case-fold-search nil)))
1566@end lisp
1567
1568@node Searching for/replacing newlines, Yanking text in isearch, Controlling case sensitivity, Common requests
1569@section How do I input a newline character in isearch or query-replace? 1578@section How do I input a newline character in isearch or query-replace?
1570@cindex Searching for newlines 1579@cindex Searching for newlines
1571@cindex Replacing newlines 1580@cindex Replacing newlines
@@ -1581,7 +1590,7 @@ Special Input for Incremental Search, emacs}.
1581 1590
1582Use @kbd{M-y}. @inforef{Isearch Yank, Isearch Yanking, emacs}. 1591Use @kbd{M-y}. @inforef{Isearch Yank, Isearch Yanking, emacs}.
1583 1592
1584@node Wrapping words automatically, Spell-checkers, Yanking text in isearch, Common requests 1593@node Wrapping words automatically, Turning on auto-fill by default, Yanking text in isearch, Common requests
1585@section How do I make Emacs wrap words for me? 1594@section How do I make Emacs wrap words for me?
1586@cindex Wrapping word automatically 1595@cindex Wrapping word automatically
1587@cindex Wrapping lines 1596@cindex Wrapping lines
@@ -1595,7 +1604,30 @@ The default maximum line width is 70, determined by the variable
1595@code{fill-column}. To learn how to turn this on automatically, see 1604@code{fill-column}. To learn how to turn this on automatically, see
1596@ref{Turning on auto-fill by default}. 1605@ref{Turning on auto-fill by default}.
1597 1606
1598@node Spell-checkers, Checking TeX and *roff documents, Wrapping words automatically, Common requests 1607@node Turning on auto-fill by default, Spell-checkers, Wrapping words automatically, Common requests
1608@section How do I turn on @code{auto-fill-mode} by default?
1609@cindex @code{auto-fill-mode}, activating automatically
1610@cindex Filling automatically
1611@cindex Automatic entry to @code{auto-fill-mode}
1612
1613To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x
1614auto-fill-mode}.
1615
1616To turn it on for every buffer in a certain mode, you must use the hook
1617for that mode. For example, to turn on @code{auto-fill} mode for all
1618text buffers, including the following in your @file{.emacs} file:
1619
1620@lisp
1621(add-hook 'text-mode-hook 'turn-on-auto-fill)
1622@end lisp
1623
1624If you want @code{auto-fill} mode on in all major modes, do this:
1625
1626@lisp
1627(setq-default auto-fill-function 'do-auto-fill)
1628@end lisp
1629
1630@node Spell-checkers, Checking TeX and *roff documents, Turning on auto-fill by default, Common requests
1599@section Where can I get a better spelling checker for Emacs? 1631@section Where can I get a better spelling checker for Emacs?
1600@cindex Checking spelling 1632@cindex Checking spelling
1601@cindex Spelling, checking text documents 1633@cindex Spelling, checking text documents
@@ -1845,6 +1877,10 @@ In Emacs 21 and later, this is on by default: if the variable
1845automatically scrolls the display horizontally when point moves off the 1877automatically scrolls the display horizontally when point moves off the
1846left or right edge of the window. 1878left or right edge of the window.
1847 1879
1880Note that this is overridden by the variable
1881@code{truncate-partial-width-windows} if that variable is non-nil
1882and the current buffer is not full-frame width.
1883
1848In Emacs 20, use the @code{hscroll-mode}. Here is some information from 1884In Emacs 20, use the @code{hscroll-mode}. Here is some information from
1849the documentation, available by typing @kbd{C-h f hscroll-mode @key{RET}}: 1885the documentation, available by typing @kbd{C-h f hscroll-mode @key{RET}}:
1850 1886
@@ -2035,14 +2071,11 @@ parenthesis, it simply inserts a % like normal.
2035to investigate @file{cpp.el}, which is distributed with Emacs. 2071to investigate @file{cpp.el}, which is distributed with Emacs.
2036 2072
2037@node Repeating commands, Valid X resources, Hiding #ifdef lines, Common requests 2073@node Repeating commands, Valid X resources, Hiding #ifdef lines, Common requests
2038@section Is there an equivalent to the @code{.} (dot) command of vi? 2074@section How do I repeat a command as many times as possible?
2039@cindex Repeating commands as with @code{vi} 2075@cindex Repeating commands many times
2040@cindex Command, repeat last 2076@cindex Commands, repeating many times
2041@cindex @code{.}, equivalent to @code{vi} command 2077@cindex @code{.}, equivalent to @code{vi} command
2042 2078
2043(@code{.} is the redo command in @code{vi}. It redoes the last
2044insertion/deletion.)
2045
2046As of Emacs 20.3, there is indeed a @code{repeat} command (@kbd{C-x z}) 2079As of Emacs 20.3, there is indeed a @code{repeat} command (@kbd{C-x z})
2047that repeats the last command. If you preface it with a prefix 2080that repeats the last command. If you preface it with a prefix
2048argument, the prefix arg is applied to the command. 2081argument, the prefix arg is applied to the command.
@@ -2054,12 +2087,14 @@ type @kbd{M-p} and @kbd{M-n} (and also up-arrow and down-arrow, if your
2054keyboard has these keys) to scan through all the different complex 2087keyboard has these keys) to scan through all the different complex
2055commands you've typed. 2088commands you've typed.
2056 2089
2057To repeat a set of commands, use keyboard macros. (@inforef{Keyboard 2090To repeat a set of commands, use keyboard macros. Use @kbd{C-x (} and
2058Macros, Keyboard Macros, emacs}.) 2091@kbd{C-x )} to make a keyboard macro that invokes the command and then
2092type @kbd{C-x e}. (@inforef{Keyboard Macros, Keyboard Macros, emacs}.)
2059 2093
2060If you're really desperate for the @code{.} command, use VIPER, a 2094If you're really desperate for the @code{.} command in @code{vi} that
2061@code{vi} emulation mode which comes with Emacs, and which appears to 2095redoes the last insertion/deletion, use VIPER, a @code{vi} emulation
2062support it. (@xref{VIPER}.) 2096mode which comes with Emacs, and which appears to support it.
2097(@xref{VIPER}.)
2063 2098
2064@node Valid X resources, Evaluating Emacs Lisp code, Repeating commands, Common requests 2099@node Valid X resources, Evaluating Emacs Lisp code, Repeating commands, Common requests
2065@section What are the valid X resource settings (i.e., stuff in .Xdefaults)? 2100@section What are the valid X resource settings (i.e., stuff in .Xdefaults)?
@@ -2158,35 +2193,26 @@ If you are trying to prefix a yanked mail message with @samp{>}, you
2158might want to set the variable @code{mail-yank-prefix}. In Message 2193might want to set the variable @code{mail-yank-prefix}. In Message
2159buffers, you can even use @kbd{M-;} to cite yanked messages (@kbd{M-;} 2194buffers, you can even use @kbd{M-;} to cite yanked messages (@kbd{M-;}
2160runs the function @code{comment-region}, it is a general-purpose 2195runs the function @code{comment-region}, it is a general-purpose
2161mechanism to comment regions). 2196mechanism to comment regions) (@pxref{Changing the included text prefix}).
2162 2197
2163@node Underlining paragraphs, Repeating a command as many times as possible, Inserting text at the beginning of each line, Common requests 2198@node Underlining paragraphs, Forcing the cursor to remain in the same column, Inserting text at the beginning of each line, Common requests
2164@section How do I insert @samp{_^H} before each character in a region to get an underlined paragraph? 2199@section How do I insert @samp{_^H} before each character in a region to get an underlined paragraph?
2165@cindex Underlining a region of text 2200@cindex Underlining a region of text
2166@cindex @code{underline-region} 2201@cindex @code{underline-region}
2167 2202
2168Mark the region and then type @kbd{M-x underline-region @key{RET}}. 2203Mark the region and then type @kbd{M-x underline-region @key{RET}}.
2169 2204
2170@node Repeating a command as many times as possible, Forcing the cursor to remain in the same column, Underlining paragraphs, Common requests 2205@node Forcing the cursor to remain in the same column, Forcing Emacs to iconify itself, Underlining paragraphs, Common requests
2171@section How do I repeat a command as many times as possible?
2172@cindex Repeating commands many times
2173@cindex Commands, repeating many times
2174
2175Use @kbd{C-x (} and @kbd{C-x )} to make a keyboard macro that invokes
2176the command and then type @kbd{M-0 C-x e}.
2177
2178Any messages your command prints in the echo area will be suppressed.
2179
2180If you need to repeat a command a small number of times, you can use
2181@kbd{C-x z} (@pxref{Repeating commands}) or @kbd{C-x e}.
2182
2183@node Forcing the cursor to remain in the same column, Forcing Emacs to iconify itself, Repeating a command as many times as possible, Common requests
2184@section How do I make Emacs behave like this: when I go up or down, the cursor should stay in the same column even if the line is too short? 2206@section How do I make Emacs behave like this: when I go up or down, the cursor should stay in the same column even if the line is too short?
2185@cindex @code{picture-mode} 2207@cindex @code{picture-mode}
2186@cindex Remaining in the same column, regardless of contents 2208@cindex Remaining in the same column, regardless of contents
2187@cindex Vertical movement in empty documents 2209@cindex Vertical movement in empty documents
2188 2210
2189@kbd{M-x picture-mode}. 2211Use @kbd{M-x picture-mode}.
2212
2213See also the variable @code{track-eol} and the command
2214@code{set-goal-column} bound to @kbd{C-x C-n}
2215(@pxref{Moving Point, , , emacs, The GNU Emacs Manual}).
2190 2216
2191@node Forcing Emacs to iconify itself, Using regular expressions, Forcing the cursor to remain in the same column, Common requests 2217@node Forcing Emacs to iconify itself, Using regular expressions, Forcing the cursor to remain in the same column, Common requests
2192@section How do I tell Emacs to iconify itself? 2218@section How do I tell Emacs to iconify itself?
@@ -2240,8 +2266,8 @@ The ``tags'' feature of Emacs includes the command
2240files mentioned in the @file{TAGS} file. @inforef{Tags Search, Tags Search, 2266files mentioned in the @file{TAGS} file. @inforef{Tags Search, Tags Search,
2241emacs}. 2267emacs}.
2242 2268
2243As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x 2269As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d})
2244d}) supports the command @code{dired-do-query-replace}, which allows 2270supports the command @code{dired-do-query-replace} (@kbd{Q}), which allows
2245users to replace regular expressions in multiple files. 2271users to replace regular expressions in multiple files.
2246 2272
2247@node Documentation for etags, Disabling backups, Replacing text across multiple files, Common requests 2273@node Documentation for etags, Disabling backups, Replacing text across multiple files, Common requests
@@ -2537,7 +2563,7 @@ PostScript printer, or a PostScript interpreter such as Ghostscript;
2537consult the documentation of the variables @code{ps-printer-name}, 2563consult the documentation of the variables @code{ps-printer-name},
2538@code{ps-lpr-command}, and @code{ps-lpr-switches} for more details. 2564@code{ps-lpr-command}, and @code{ps-lpr-switches} for more details.
2539 2565
2540@node Scrolling only one line, Replacing highlighted text, Turning on syntax highlighting, Common requests 2566@node Scrolling only one line, Editing MS-DOS files, Turning on syntax highlighting, Common requests
2541@section How can I force Emacs to scroll only one line when I move past the bottom of the screen? 2567@section How can I force Emacs to scroll only one line when I move past the bottom of the screen?
2542@cindex Scrolling only one line 2568@cindex Scrolling only one line
2543@cindex Reducing the increment when scrolling 2569@cindex Reducing the increment when scrolling
@@ -2553,32 +2579,7 @@ Alternatively, use the following Lisp form in your @file{.emacs}:
2553(setq scroll-conservatively most-positive-fixnum) 2579(setq scroll-conservatively most-positive-fixnum)
2554@end lisp 2580@end lisp
2555 2581
2556@node Replacing highlighted text, Editing MS-DOS files, Scrolling only one line, Common requests 2582@node Editing MS-DOS files, Filling paragraphs with a single space, Scrolling only one line, Common requests
2557@section How can I replace highlighted text with what I type?
2558@cindex @code{delete-selection-mode}
2559@cindex Replacing highlighted text
2560@cindex Highlighting and replacing text
2561
2562Use @code{delete-selection-mode}, which you can start automatically by
2563placing the following Lisp form in your @file{.emacs} file:
2564
2565@lisp
2566(delete-selection-mode 1)
2567@end lisp
2568
2569According to the documentation string for @code{delete-selection-mode}
2570(which you can read using @kbd{M-x describe-function @key{RET}
2571delete-selection-mode @key{RET}}):
2572
2573@quotation
2574When ON, typed text replaces the selection if the selection is active.
2575When OFF, typed text is just inserted at point.
2576@end quotation
2577
2578This mode also allows you to delete (not kill) the highlighted region by
2579pressing @key{DEL}.
2580
2581@node Editing MS-DOS files, Filling paragraphs with a single space, Replacing highlighted text, Common requests
2582@section How can I edit MS-DOS files using Emacs? 2583@section How can I edit MS-DOS files using Emacs?
2583@cindex Editing MS-DOS files 2584@cindex Editing MS-DOS files
2584@cindex MS-DOS files, editing 2585@cindex MS-DOS files, editing
@@ -2601,7 +2602,7 @@ If you are running a version of Emacs before 20.1, get @code{crypt++}
2601and saved, allowing you to ignore the different conventions that Unix 2602and saved, allowing you to ignore the different conventions that Unix
2602and MS-DOS have for delineating the end of a line. 2603and MS-DOS have for delineating the end of a line.
2603 2604
2604@node Filling paragraphs with a single space, Escape sequences in shell output, Editing MS-DOS files, Common requests 2605@node Filling paragraphs with a single space, Escape sequences in shell output, Editing MS-DOS files, Common requests
2605@section How can I tell Emacs to fill paragraphs with a single space after each period? 2606@section How can I tell Emacs to fill paragraphs with a single space after each period?
2606@cindex One space following periods 2607@cindex One space following periods
2607@cindex Single space following periods 2608@cindex Single space following periods
@@ -2613,7 +2614,7 @@ Add the following line to your @file{.emacs} file:
2613(setq sentence-end-double-space nil) 2614(setq sentence-end-double-space nil)
2614@end lisp 2615@end lisp
2615 2616
2616@node Escape sequences in shell output, , Filling paragraphs with a single space, Common requests 2617@node Escape sequences in shell output, , Filling paragraphs with a single space, Common requests
2617@section Why these strange escape sequences from @code{ls} from the Shell mode? 2618@section Why these strange escape sequences from @code{ls} from the Shell mode?
2618@cindex Escape sequences in @code{ls} output 2619@cindex Escape sequences in @code{ls} output
2619@cindex @code{ls} in Shell mode 2620@cindex @code{ls} in Shell mode
@@ -3478,7 +3479,8 @@ the @file{ell} package}.
3478 3479
3479Many authors post their packages to the @uref{news:gnu.emacs.sources, 3480Many authors post their packages to the @uref{news:gnu.emacs.sources,
3480Emacs sources newsgroup}. You can search the archives of this 3481Emacs sources newsgroup}. You can search the archives of this
3481group with @uref{http://groups.google.com, Google}, for example. 3482group with @uref{http://groups.google.com/group/gnu.emacs.sources, Google},
3483or @uref{http://dir.gmane.org/gmane.emacs.sources, Gmane}, for example.
3482 3484
3483Several packages are stored in 3485Several packages are stored in
3484@uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}. 3486@uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}.
@@ -3489,6 +3491,9 @@ although you can still access the old files at
3489 3491
3490@uref{ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/WWW/index.html} 3492@uref{ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/WWW/index.html}
3491 3493
3494Read the file @file{etc/MORE.STUFF} for more information about
3495external packages.
3496
3492@node Current GNU distributions, Difference between Emacs and XEmacs, Packages that do not come with Emacs, Finding Emacs and related packages 3497@node Current GNU distributions, Difference between Emacs and XEmacs, Packages that do not come with Emacs, Finding Emacs and related packages
3493@section Where can I get other up-to-date GNU stuff? 3498@section Where can I get other up-to-date GNU stuff?
3494@cindex Current GNU distributions 3499@cindex Current GNU distributions
@@ -3715,7 +3720,7 @@ Beginning with version 22.1, Emacs supports Mac OS X natively.
3715Up-to-date information about GNU software (including Emacs) for VMS is 3720Up-to-date information about GNU software (including Emacs) for VMS is
3716available at @uref{http://vms.gnu.org/}. 3721available at @uref{http://vms.gnu.org/}.
3717 3722
3718@node Modes for various languages, , Emacs for VMS and DECwindows, Finding Emacs and related packages 3723@node Modes for various languages, , Emacs for VMS and DECwindows, Finding Emacs and related packages
3719@section Where can I get modes for Lex, Yacc/Bison, Bourne shell, csh, C@t{++}, Objective-C, Pascal, Java, and Awk? 3724@section Where can I get modes for Lex, Yacc/Bison, Bourne shell, csh, C@t{++}, Objective-C, Pascal, Java, and Awk?
3720@cindex Awk, mode for 3725@cindex Awk, mode for
3721@cindex @code{awk-mode} 3726@cindex @code{awk-mode}
@@ -4782,7 +4787,7 @@ xmodmap -e 'remove mod1 = Mode_switch'
4782This will disable the use of the extra keysyms systemwide, which may be 4787This will disable the use of the extra keysyms systemwide, which may be
4783undesirable if you actually intend to use them. 4788undesirable if you actually intend to use them.
4784 4789
4785@node SPC no longer completes file names, , ExtendChar key does not work as Meta, Key bindings 4790@node SPC no longer completes file names, , ExtendChar key does not work as Meta, Key bindings
4786@section Why doesn't SPC complete file names anymore? 4791@section Why doesn't SPC complete file names anymore?
4787@cindex @kbd{SPC} file name completion 4792@cindex @kbd{SPC} file name completion
4788 4793
diff --git a/man/org.texi b/man/org.texi
index a93de06235e..ecb3480efa1 100644
--- a/man/org.texi
+++ b/man/org.texi
@@ -4,7 +4,7 @@
4@setfilename ../info/org 4@setfilename ../info/org
5@settitle Org Mode Manual 5@settitle Org Mode Manual
6 6
7@set VERSION 4.05 7@set VERSION 4.06
8@set DATE February 2006 8@set DATE February 2006
9 9
10@dircategory Emacs 10@dircategory Emacs
diff --git a/src/ChangeLog b/src/ChangeLog
index 2630efe73b7..d8e0b6fb4e1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,20 @@
12006-02-24 Kenichi Handa <handa@m17n.org>
2
3 * fileio.c (Finsert_file_contents): When a text is replaced
4 partially, be sure to set point before the inserted characters.
5
62006-02-23 Zhang Wei <id.brep@gmail.com> (tiny change)
7
8 * xfns.c (Fx_file_dialog): Return a decoded file name.
9
102006-02-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11
12 * dispnew.c (update_text_area): Avoid needless redraw of rightmost
13 glyph whose face is extended to the text area end.
14
15 * macterm.c (x_set_toolkit_scroll_bar_thumb): Don't set control
16 values if control is not visible or values are not changed.
17
12006-02-22 Stefan Monnier <monnier@iro.umontreal.ca> 182006-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
2 19
3 * window.c (Fwindow_list): Check `window' before doing XWINDOW. 20 * window.c (Fwindow_list): Check `window' before doing XWINDOW.
diff --git a/src/dispnew.c b/src/dispnew.c
index 53ea761178f..5f3c8eacc3d 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -4361,10 +4361,14 @@ update_text_area (w, vpos)
4361 int overlapping_glyphs_p = current_row->contains_overlapping_glyphs_p; 4361 int overlapping_glyphs_p = current_row->contains_overlapping_glyphs_p;
4362 int desired_stop_pos = desired_row->used[TEXT_AREA]; 4362 int desired_stop_pos = desired_row->used[TEXT_AREA];
4363 4363
4364 /* If the desired row extends its face to the text area end, 4364 /* If the desired row extends its face to the text area end, and
4365 unless the current row also does so at the same position,
4365 make sure we write at least one glyph, so that the face 4366 make sure we write at least one glyph, so that the face
4366 extension actually takes place. */ 4367 extension actually takes place. */
4367 if (MATRIX_ROW_EXTENDS_FACE_P (desired_row)) 4368 if (MATRIX_ROW_EXTENDS_FACE_P (desired_row)
4369 && (desired_stop_pos < current_row->used[TEXT_AREA]
4370 || (desired_stop_pos == current_row->used[TEXT_AREA]
4371 && !MATRIX_ROW_EXTENDS_FACE_P (current_row))))
4368 --desired_stop_pos; 4372 --desired_stop_pos;
4369 4373
4370 stop = min (current_row->used[TEXT_AREA], desired_stop_pos); 4374 stop = min (current_row->used[TEXT_AREA], desired_stop_pos);
@@ -4483,7 +4487,10 @@ update_text_area (w, vpos)
4483 has to be cleared, if and only if we did a write_glyphs 4487 has to be cleared, if and only if we did a write_glyphs
4484 above. This is made sure by setting desired_stop_pos 4488 above. This is made sure by setting desired_stop_pos
4485 appropriately above. */ 4489 appropriately above. */
4486 xassert (i < desired_row->used[TEXT_AREA]); 4490 xassert (i < desired_row->used[TEXT_AREA]
4491 || ((desired_row->used[TEXT_AREA]
4492 == current_row->used[TEXT_AREA])
4493 && MATRIX_ROW_EXTENDS_FACE_P (current_row)));
4487 } 4494 }
4488 else if (MATRIX_ROW_EXTENDS_FACE_P (current_row)) 4495 else if (MATRIX_ROW_EXTENDS_FACE_P (current_row))
4489 { 4496 {
diff --git a/src/fileio.c b/src/fileio.c
index 1ec443e44e0..e27f87bcbcf 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4416,6 +4416,8 @@ actually used. */)
4416 4416
4417 /* Set `inserted' to the number of inserted characters. */ 4417 /* Set `inserted' to the number of inserted characters. */
4418 inserted = PT - temp; 4418 inserted = PT - temp;
4419 /* Set point before the inserted characters. */
4420 SET_PT_BOTH (temp, same_at_start);
4419 4421
4420 xfree (conversion_buffer); 4422 xfree (conversion_buffer);
4421 emacs_close (fd); 4423 emacs_close (fd);
diff --git a/src/macterm.c b/src/macterm.c
index 697bfd58556..af9079e919b 100644
--- a/src/macterm.c
+++ b/src/macterm.c
@@ -4529,7 +4529,7 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
4529 int portion, position, whole; 4529 int portion, position, whole;
4530{ 4530{
4531 ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar); 4531 ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar);
4532 int value, viewsize, maximum, visible_p; 4532 int value, viewsize, maximum;
4533 4533
4534 if (whole == 0 || XINT (bar->track_height) == 0) 4534 if (whole == 0 || XINT (bar->track_height) == 0)
4535 value = 0, viewsize = 1, maximum = 0; 4535 value = 0, viewsize = 1, maximum = 0;
@@ -4542,16 +4542,20 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
4542 4542
4543 BLOCK_INPUT; 4543 BLOCK_INPUT;
4544 4544
4545 /* Temporarily hide the scroll bar to avoid multiple redraws. */ 4545 if (IsControlVisible (ch)
4546 visible_p = IsControlVisible (ch); 4546 && (GetControlViewSize (ch) != viewsize
4547 SetControlVisibility (ch, false, false); 4547 || GetControl32BitValue (ch) != value
4548 || GetControl32BitMaximum (ch) != maximum))
4549 {
4550 /* Temporarily hide the scroll bar to avoid multiple redraws. */
4551 SetControlVisibility (ch, false, false);
4548 4552
4549 SetControl32BitMinimum (ch, 0); 4553 SetControl32BitMaximum (ch, maximum);
4550 SetControl32BitMaximum (ch, maximum); 4554 SetControl32BitValue (ch, value);
4551 SetControl32BitValue (ch, value); 4555 SetControlViewSize (ch, viewsize);
4552 SetControlViewSize (ch, viewsize);
4553 4556
4554 SetControlVisibility (ch, visible_p, true); 4557 SetControlVisibility (ch, true, true);
4558 }
4555 4559
4556 UNBLOCK_INPUT; 4560 UNBLOCK_INPUT;
4557} 4561}