mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-04 11:00:45 -08:00
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-23
Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 113-118) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 38-39) - Update from CVS
This commit is contained in:
commit
5432dcf9e0
43 changed files with 1580 additions and 624 deletions
|
|
@ -1,3 +1,12 @@
|
||||||
|
2006-02-23 Herbert Euler <herberteuler@hotmail.com> (tiny change)
|
||||||
|
|
||||||
|
* TUTORIAL.cn: Fix omission bug: Add dot (ASCII 0x2E) on first line.
|
||||||
|
|
||||||
|
2006-02-22 Carsten Dominik <dominik@science.uva.nl>
|
||||||
|
|
||||||
|
* orgcard.tex: (section{Links}): Rewritten to cover the modified
|
||||||
|
link system.
|
||||||
|
|
||||||
2006-02-18 Bill Wohler <wohler@newt.com>
|
2006-02-18 Bill Wohler <wohler@newt.com>
|
||||||
|
|
||||||
Release MH-E version 7.92.
|
Release MH-E version 7.92.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Emacs 快速指南(查看版权声明请至本文末尾)
|
Emacs 快速指南.(查看版权声明请至本文末尾)
|
||||||
|
|
||||||
【注意:位于【】之间的内容是译注,比如本行,下同。】
|
【注意:位于【】之间的内容是译注,比如本行,下同。】
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
% Reference Card for Org Mode 4.04
|
% Reference Card for Org Mode 4.06
|
||||||
%
|
%
|
||||||
%**start of header
|
%**start of header
|
||||||
\newcount\columnsperpage
|
\newcount\columnsperpage
|
||||||
|
|
||||||
% This file can be printed with 1, 2, or 3 columns per page (see below).
|
% This file can be printed with 1, 2, or 3 columns per page (see below).
|
||||||
% At the moment this card works quite nicely in 3 column format and
|
% At the moment this card works quite nicely in 3 column format and
|
||||||
% currently takes 2 full pages. It is thus suited to producing one
|
% currently takes 2 full pages. It is thus suited to producing one
|
||||||
% double-side page when printed.
|
% double-side page when printed.
|
||||||
|
|
||||||
% There are a couple of tweaks in the format of this card which make it work
|
% There are a couple of tweaks in the format of this card which make it work
|
||||||
|
|
@ -18,8 +18,7 @@
|
||||||
|
|
||||||
\columnsperpage=3
|
\columnsperpage=3
|
||||||
|
|
||||||
% Copyright (C) 2005, 2006 Free Software Foundation, Inc.
|
% Copyright (c) 2004 Philip Rooke, 2005, 2006 Free Software Foundation
|
||||||
% Copyright (c) 2004 Philip Rooke
|
|
||||||
|
|
||||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||||
% it under the terms of the GNU General Public License as published by
|
% it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -59,7 +58,7 @@
|
||||||
% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
||||||
% for their many good ideas.
|
% for their many good ideas.
|
||||||
|
|
||||||
\def\orgversionnumber{4.04}
|
\def\orgversionnumber{4.06}
|
||||||
\def\year{2006}
|
\def\year{2006}
|
||||||
|
|
||||||
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
||||||
|
|
@ -89,7 +88,7 @@ are preserved on all copies.
|
||||||
|
|
||||||
\def\ncolumns{\the\columnsperpage}
|
\def\ncolumns{\the\columnsperpage}
|
||||||
|
|
||||||
\message{[\ncolumns\space
|
\message{[\ncolumns\space
|
||||||
column\if 1\ncolumns\else s\fi\space per page]}
|
column\if 1\ncolumns\else s\fi\space per page]}
|
||||||
|
|
||||||
\def\scaledmag#1{ scaled \magstep #1}
|
\def\scaledmag#1{ scaled \magstep #1}
|
||||||
|
|
@ -174,7 +173,7 @@ are preserved on all copies.
|
||||||
\def\bye{\par\vfill\supereject
|
\def\bye{\par\vfill\supereject
|
||||||
\if a\abc \else\null\vfill\eject\fi
|
\if a\abc \else\null\vfill\eject\fi
|
||||||
\if a\abc \else\null\vfill\eject\fi
|
\if a\abc \else\null\vfill\eject\fi
|
||||||
\end}
|
\end}
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
% we won't be using math mode much, so redefine some of the characters
|
% we won't be using math mode much, so redefine some of the characters
|
||||||
|
|
@ -356,18 +355,8 @@ To set archive location for current file, add a line like$^3$:
|
||||||
\key{raise priority of current item}{S-UP$^4$}
|
\key{raise priority of current item}{S-UP$^4$}
|
||||||
\key{lower priority of current item}{S-DOWN$^4$}
|
\key{lower priority of current item}{S-DOWN$^4$}
|
||||||
|
|
||||||
\vskip 1mm
|
\key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow}
|
||||||
per-file TODO workflow states: add line(s) like$^3$:
|
\key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types}
|
||||||
\vskip -1mm
|
|
||||||
\beginexample%
|
|
||||||
\#+SEQ_TODO: TODO PROCRASTINATE BLUFF DONE
|
|
||||||
\endexample
|
|
||||||
\vskip -1mm
|
|
||||||
per-file TODO keywords: add line(s) like$^3$:
|
|
||||||
\vskip -1mm
|
|
||||||
\beginexample%
|
|
||||||
\#+TYP_TODO: Phil home work DONE
|
|
||||||
\endexample
|
|
||||||
|
|
||||||
\section{Timestamps}
|
\section{Timestamps}
|
||||||
|
|
||||||
|
|
@ -398,21 +387,26 @@ per-file TODO keywords: add line(s) like$^3$:
|
||||||
\key{insert a link (TAB completes stored links)}{C-c C-l}
|
\key{insert a link (TAB completes stored links)}{C-c C-l}
|
||||||
\key{insert file link with file name completion}{C-u C-c C-l}
|
\key{insert file link with file name completion}{C-u C-c C-l}
|
||||||
|
|
||||||
\key{open link at point}{C-c C-o}
|
\key{open file links in emacs (\kbd{C-u} : in emacs)}{C-c C-o}
|
||||||
\key{open file links in emacs}{C-u C-c C-o}
|
\key{open link at point (3: in emacs)}{mouse-2/3}
|
||||||
\key{open link at point}{mouse-2}
|
%\key{open file links in emacs}{mouse-3}
|
||||||
\key{open file links in emacs}{mouse-3}
|
\key{record a position in mark ring}{C-c \%}
|
||||||
|
\key{jump back to last followed link(s)}{C-c \&}
|
||||||
|
|
||||||
{\bf Link types}
|
{\bf Internal Links}
|
||||||
|
|
||||||
|
\key{\kbd{<<My Target>>}}{\rm target}
|
||||||
|
\key{\kbd{<<<My Target>>>}}{\rm radio target$^3$}
|
||||||
|
\key{\kbd{[[*this text]]}}{\rm find headline}
|
||||||
|
\metax{\kbd{[[this text]]}}{\rm find target or text in buffer}
|
||||||
|
|
||||||
|
{\bf External Links}
|
||||||
|
|
||||||
\key{\kbd{*CamelCaseWord}}{\rm search headline}
|
|
||||||
\key{\kbd{CamelCaseWord}}{\rm search in buffer}
|
|
||||||
\key{\kbd{<file:/home/dominik/img/mars.jpg>}}{\rm file, absolute}
|
\key{\kbd{<file:/home/dominik/img/mars.jpg>}}{\rm file, absolute}
|
||||||
\key{\kbd{<file:papers/last.pdf>}}{\rm file, relative}
|
\key{\kbd{<file:papers/last.pdf>}}{\rm file, relative}
|
||||||
\key{\kbd{<file:~/code/main.c:255>}}{\rm file with line nr.}
|
\key{\kbd{<file:projects.org::*that text>}}{\rm find headline}
|
||||||
\key{\kbd{<file:projects.org::*CamelCaseWord>}}{\rm search headline}
|
\key{\kbd{<file:projects.org::find me>}}{\rm find tgt/string}
|
||||||
\key{\kbd{<file:projects.org::find me>}}{\rm search string}
|
\key{\kbd{<file:projects.org::/regexp/>}}{\rm regexp search}
|
||||||
\key{\kbd{<file:projects.org::/regexp/>}}{\rm search regexp}
|
|
||||||
\key{\kbd{<http://www.astro.uva.nl/~dominik>}}{\rm on the web}
|
\key{\kbd{<http://www.astro.uva.nl/~dominik>}}{\rm on the web}
|
||||||
\key{\kbd{<mailto:adent@galaxy.net>}}{\rm EMail address}
|
\key{\kbd{<mailto:adent@galaxy.net>}}{\rm EMail address}
|
||||||
\key{\kbd{<news:comp.emacs>}}{\rm Usenet group}
|
\key{\kbd{<news:comp.emacs>}}{\rm Usenet group}
|
||||||
|
|
@ -420,15 +414,9 @@ per-file TODO keywords: add line(s) like$^3$:
|
||||||
\key{\kbd{<shell:ls *.org>}}{\rm shell command}
|
\key{\kbd{<shell:ls *.org>}}{\rm shell command}
|
||||||
\key{\kbd{<gnus:group>}}{\rm GNUS group}
|
\key{\kbd{<gnus:group>}}{\rm GNUS group}
|
||||||
\key{\kbd{<gnus:group\#id>}}{\rm GNUS message}
|
\key{\kbd{<gnus:group\#id>}}{\rm GNUS message}
|
||||||
\key{\kbd{<vm:folder>}}{\rm VM folder}
|
\key{\kbd{<vm|wl|mhe|rmail:folder>}}{\rm Mail folder}
|
||||||
\key{\kbd{<vm:folder\#id>}}{\rm VM message}
|
\key{\kbd{<vm|wl|mhe|rmail:folder\#id>}}{\rm Mail message}
|
||||||
% FIXME: would like to get this back in.
|
|
||||||
%\key{\kbd{<vm://myself@some.where.org/folder\#id>}}{\rm VM remote}
|
%\key{\kbd{<vm://myself@some.where.org/folder\#id>}}{\rm VM remote}
|
||||||
Wanderlust \kbd{<wl:...>} and RMAIL \kbd{<rmail:...>} like VM
|
|
||||||
%\key{\kbd{<wl:folder>}}{\rm Wanderlust f.}
|
|
||||||
%\key{\kbd{<wl:folder\#id>}}{\rm Wanderlust m.}
|
|
||||||
%\key{\kbd{<rmail:folder>}}{\rm RMAIL folder}
|
|
||||||
%\key{\kbd{<rmail:folder\#id>}}{\rm RMAIL msg}
|
|
||||||
|
|
||||||
\section{Tables}
|
\section{Tables}
|
||||||
|
|
||||||
|
|
@ -711,7 +699,7 @@ an org file. In the file, find a location with:
|
||||||
\key{next heading}{DOWN}
|
\key{next heading}{DOWN}
|
||||||
\key{previous heading}{UP}
|
\key{previous heading}{UP}
|
||||||
|
|
||||||
Insert the note with one of the following:
|
Insert the note with one of the following:
|
||||||
|
|
||||||
\key{as sublevel of heading at cursor}{RET}
|
\key{as sublevel of heading at cursor}{RET}
|
||||||
\key{right here (cursor not on heading)}{RET}
|
\key{right here (cursor not on heading)}{RET}
|
||||||
|
|
@ -741,8 +729,8 @@ Emacs, or an XEmacs package.
|
||||||
$^2$ This is only a suggestion for a binding of this command. Choose
|
$^2$ This is only a suggestion for a binding of this command. Choose
|
||||||
you own key as shown under INSTALLATION.
|
you own key as shown under INSTALLATION.
|
||||||
|
|
||||||
$^3$ After changing a \kbd{\#+KEYWORD} line, press \kbd{C-c C-c} with
|
$^3$ After changing a \kbd{\#+KEYWORD} or \kbd{<<<target>>>} line,
|
||||||
the cursor still in a line to make Org-mode notice the change.
|
press \kbd{C-c C-c} with the cursor still in the line to update.
|
||||||
|
|
||||||
$^4$ Keybinding affected by {\tt org-CUA-compatibility}.
|
$^4$ Keybinding affected by {\tt org-CUA-compatibility}.
|
||||||
|
|
||||||
|
|
@ -753,7 +741,7 @@ $^4$ Keybinding affected by {\tt org-CUA-compatibility}.
|
||||||
|
|
||||||
% arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290
|
% arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290
|
||||||
|
|
||||||
%%% Local Variables:
|
%%% Local Variables:
|
||||||
%%% mode: latex
|
%%% mode: latex
|
||||||
%%% TeX-master: t
|
%%% TeX-master: t
|
||||||
%%% End:
|
%%% End:
|
||||||
|
|
|
||||||
138
lisp/ChangeLog
138
lisp/ChangeLog
|
|
@ -1,3 +1,135 @@
|
||||||
|
2006-02-24 Juanma Barranquero <lekktu@gmail.com>
|
||||||
|
|
||||||
|
* help.el (help): Revert last part of 2006-02-23 change (deletion
|
||||||
|
of the `provide' call).
|
||||||
|
|
||||||
|
2006-02-23 Juri Linkov <juri@jurta.org>
|
||||||
|
|
||||||
|
* compare-w.el (compare-windows-highlight): Add new value
|
||||||
|
`persistent' and change :type from `boolean' to `choice'.
|
||||||
|
(compare-windows-overlays1, compare-windows-overlays2):
|
||||||
|
New internal variables.
|
||||||
|
(compare-windows-highlight): If compare-windows-highlight is
|
||||||
|
`persistent', add current overlays to compare-windows-overlays[12]
|
||||||
|
instead of adding compare-windows-dehighlight to pre-command-hook.
|
||||||
|
(compare-windows-dehighlight): Delete all overlays from
|
||||||
|
compare-windows-overlays[12].
|
||||||
|
|
||||||
|
* info.el (Info-search): Don't bind search-spaces-regexp to
|
||||||
|
Info-search-whitespace-regexp in non-regexp isearch mode.
|
||||||
|
|
||||||
|
2006-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* help.el (describe-mode): Pass `mode-name' to format-mode-line.
|
||||||
|
|
||||||
|
2006-02-23 Juanma Barranquero <lekktu@gmail.com>
|
||||||
|
|
||||||
|
* textmodes/org.el (org-xemacs-p)
|
||||||
|
(org-export-html-show-new-buffer, org-table-may-need-update)
|
||||||
|
(org-insert-item, org-mhe-get-message-real-folder)
|
||||||
|
(org-mhe-get-message-folder-from-index)
|
||||||
|
(org-mhe-get-message-folder, org-mhe-get-message-num)
|
||||||
|
(org-mhe-get-header, org-make-org-heading-search-string)
|
||||||
|
(org-make-org-heading-camel, org-table-sort-lines)
|
||||||
|
(org-format-org-table-html, org-format-table-table-html):
|
||||||
|
Fix typos in docstrings.
|
||||||
|
|
||||||
|
12006-02-23 Carsten Dominik <dominik@science.uva.nl>
|
||||||
|
|
||||||
|
* textmodes/org.el (org-cleaned-string-for-export)
|
||||||
|
(org-solidify-link-text): New function.
|
||||||
|
(org-add-hook): Use `add-local-hook' instead of `make-local-hook' for
|
||||||
|
XEmacs, just to silence the compiler.
|
||||||
|
(org-export-as-ascii, org-export-as-html-and-open):
|
||||||
|
Use `org-cleaned-string-for-export' and create internal links.
|
||||||
|
(org-follow-mhe-link): Require mh-e, use folder.
|
||||||
|
|
||||||
|
2006-02-23 Nick Roberts <nickrob@snap.net.nz>
|
||||||
|
|
||||||
|
* progmodes/gud.el (gud-speedbar-buttons): Use shadow face properly.
|
||||||
|
|
||||||
|
* progmodes/gdb-ui.el (gdb-debug-ring-max): Rename from
|
||||||
|
gdb-debug-log-length.
|
||||||
|
(gdb-debug-ring): Rename from gdb-debug-log-ring. Don't make
|
||||||
|
it a real ring but...
|
||||||
|
(gud-gdba-marker-filter): ...make it work like mark-ring.
|
||||||
|
(gdb-enable-debug): Rename from gdb-enable-debug-log.
|
||||||
|
(gdb-mouse-jump): New function. Add bindings.
|
||||||
|
|
||||||
|
2006-02-23 Nick Roberts <nickrob@snap.net.nz>
|
||||||
|
|
||||||
|
* progmodes/gdb-ui.el (gdb-signalled): New variable and function.
|
||||||
|
(gdb-debug-log-ring): Rename from gdb-debug-log and make a ring.
|
||||||
|
(gdb-send, gdb-send-item, gud-gdba-marker-filter): Use it.
|
||||||
|
(gdb-debug-log-length): Customize it's length.
|
||||||
|
(gud-watch, gdb-var-create-handler): Display function::var format
|
||||||
|
but don't use to create variable object.
|
||||||
|
(gdb-var-create-handler): Use message-box in place of message.
|
||||||
|
(gdb-stopped): Call gdb-exited if signalled.
|
||||||
|
|
||||||
|
2006-02-22 Carsten Dominik <dominik@science.uva.nl>
|
||||||
|
|
||||||
|
* textmodes/reftex.el (reftex-locate-file): Remove duplicate function.
|
||||||
|
|
||||||
|
* textmodes/reftex-vars.el (reftex-try-all-extensions): New option.
|
||||||
|
|
||||||
|
* textmodes/reftex.el (reftex-locate-file): Search all extensions
|
||||||
|
if `reftex-try-all-extensions' is set.
|
||||||
|
|
||||||
|
* textmodes/org.el (org-mark-ring-push, org-mark-ring-goto):
|
||||||
|
New commands.
|
||||||
|
(org-mark-ring): New variable.
|
||||||
|
(org-mark-ring-length): New option.
|
||||||
|
(org-open-at-point, org-goto, org-open-file): Push old position
|
||||||
|
onto the mark ring.
|
||||||
|
(org-add-hook): New function.
|
||||||
|
(org-export-table-remove-special-lines): New option.
|
||||||
|
(org-skip-comments, org-format-org-table-html): Respect new
|
||||||
|
option `org-export-table-remove-special-lines'.
|
||||||
|
(org-open-file): Allow special command configuration for
|
||||||
|
directory link.
|
||||||
|
(org-file-apps): Fix bugs in customize type, added setting
|
||||||
|
for directories.
|
||||||
|
(org-activate-tags, org-format-agenda-item, org-complete)
|
||||||
|
(org-get-tags-at, org-scan-tags, org-make-tags-matcher)
|
||||||
|
(org-get-tags, org-get-buffer-tags, org-open-at-point)
|
||||||
|
(org-link-search, org-make-org-heading-search-string)
|
||||||
|
(org-make-org-heading-camel): Allow @ and 0-9 as tags characters.
|
||||||
|
(org-radio-targets, org-file-link-context-use-camel-case)
|
||||||
|
(org-activate-camels): New options.
|
||||||
|
(org-update-radio-target-regexp, org-all-targets)
|
||||||
|
(org-make-target-link-regexp, org-activate-target-links):
|
||||||
|
New functions.
|
||||||
|
(org-make-org-heading-search-string): New function.
|
||||||
|
(org-store-link, org-insert-link): Use new option
|
||||||
|
`org-file-link-context-use-camel-case'.
|
||||||
|
(org-activate-camels): Use new option `org-activate-camels'.
|
||||||
|
(org-link-regexp): Add mhe prefix.
|
||||||
|
(org-open-at-point, org-store-link): Support for mhe links.
|
||||||
|
(org-mhe-get-message-real-folder, org-mhe-get-message-folder)
|
||||||
|
(org-mhe-get-message-folder-from-index, org-mhe-get-message-num)
|
||||||
|
(org-mhe-get-header, org-follow-mhe-link): New functions.
|
||||||
|
(org-remove-angle-brackets, org-add-angle-brackets):
|
||||||
|
New functions.
|
||||||
|
(org-bracket-link-regexp): New constant.
|
||||||
|
(org-read-date): Fix bug that was rejecting all typed dates.
|
||||||
|
(org-link-search): Make hierarchy above visible after a match.
|
||||||
|
(org-follow-bbdb-link): Inhibit electric mode for BBDB.
|
||||||
|
(org-store-link): Fix bug with link creation when cursor is in
|
||||||
|
an empty line.
|
||||||
|
(org-open-at-point): Fix bug with matching a link.
|
||||||
|
Fixed buggy argument sequence in call to `org-view-tags'.
|
||||||
|
(org-compile-prefix-format): Set `org-prefix-has-tag'.
|
||||||
|
(org-prefix-has-tag): New variable.
|
||||||
|
(org-format-agenda-item): Remove tags from headline
|
||||||
|
if appropriate.
|
||||||
|
(org-agenda-remove-tags-when-in-prefix): New option.
|
||||||
|
|
||||||
|
2006-02-21 Michael Kifer <kifer@cs.stonybrook.edu>
|
||||||
|
|
||||||
|
* ediff-diff.el (ediff-setup-diff-regions, ediff-setup-diff-regions3):
|
||||||
|
Fix the regular expressions.
|
||||||
|
|
||||||
2006-02-21 Richard M. Stallman <rms@gnu.org>
|
2006-02-21 Richard M. Stallman <rms@gnu.org>
|
||||||
|
|
||||||
* progmodes/sh-script.el (sh-mode): Set shell type based on file name
|
* progmodes/sh-script.el (sh-mode): Set shell type based on file name
|
||||||
|
|
@ -49,8 +181,8 @@
|
||||||
|
|
||||||
2006-02-20 Chong Yidong <cyd@stupidchicken.com>
|
2006-02-20 Chong Yidong <cyd@stupidchicken.com>
|
||||||
|
|
||||||
* custom.el (customize-mark-to-save, customize-mark-as-set): Load
|
* custom.el (customize-mark-to-save, customize-mark-as-set):
|
||||||
the symbol first.
|
Load the symbol first.
|
||||||
|
|
||||||
2006-02-20 Juanma Barranquero <lekktu@gmail.com>
|
2006-02-20 Juanma Barranquero <lekktu@gmail.com>
|
||||||
|
|
||||||
|
|
@ -163,7 +295,7 @@
|
||||||
* progmodes/gdb-ui.el (gdb-var-evaluate-expression-handler)
|
* progmodes/gdb-ui.el (gdb-var-evaluate-expression-handler)
|
||||||
(gdb-var-update-handler): Detect out of scope variables with pre
|
(gdb-var-update-handler): Detect out of scope variables with pre
|
||||||
GDB 6.4 too.
|
GDB 6.4 too.
|
||||||
(gdb-post-prompt): Revert changet 2006-02-17 (force update).
|
(gdb-post-prompt): Revert change from 2006-02-17 (force update).
|
||||||
Reset status of variable objects to nil in update handlers.
|
Reset status of variable objects to nil in update handlers.
|
||||||
(gdb-var-update-handler-1): Detect when a variable object comes
|
(gdb-var-update-handler-1): Detect when a variable object comes
|
||||||
in scope. setcar on var changes gdb-var-list directly.
|
in scope. setcar on var changes gdb-var-list directly.
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
;;; allout.el --- extensive outline mode for use alone and with other modes
|
;;; allout.el --- extensive outline mode for use alone and with other modes
|
||||||
|
|
||||||
;; Copyright (C) 1992, 1993, 1994, 2001, 2002, 2003, 2004,
|
;; Copyright (C) 1992, 1993, 1994, 2001, 2002, 2003, 2004,
|
||||||
;; 2005 Free Software Foundation, Inc.
|
;; 2005, 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Ken Manheimer <ken dot manheimer at gmail dot com>
|
;; Author: Ken Manheimer <ken dot manheimer at gmail dot com>
|
||||||
;; Maintainer: Ken Manheimer <ken dot manheimer at gmail dot com>
|
;; Maintainer: Ken Manheimer <ken dot manheimer at gmail dot com>
|
||||||
|
|
@ -5811,14 +5811,14 @@ the point does not move. To ignore field boundaries bind
|
||||||
(provide 'allout)
|
(provide 'allout)
|
||||||
|
|
||||||
;;;_* Local emacs vars.
|
;;;_* Local emacs vars.
|
||||||
;;; The following `allout-layout' local variable setting:
|
;; The following `allout-layout' local variable setting:
|
||||||
;;; - closes all topics from the first topic to just before the third-to-last,
|
;; - closes all topics from the first topic to just before the third-to-last,
|
||||||
;;; - shows the children of the third to last (config vars)
|
;; - shows the children of the third to last (config vars)
|
||||||
;;; - and the second to last (code section),
|
;; - and the second to last (code section),
|
||||||
;;; - and closes the last topic (this local-variables section).
|
;; - and closes the last topic (this local-variables section).
|
||||||
;;;Local variables:
|
;;Local variables:
|
||||||
;;;allout-layout: (0 : -1 -1 0)
|
;;allout-layout: (0 : -1 -1 0)
|
||||||
;;;End:
|
;;End:
|
||||||
|
|
||||||
;;; arch-tag: cf38fbc3-c044-450f-8bff-afed8ba5681c
|
;; arch-tag: cf38fbc3-c044-450f-8bff-afed8ba5681c
|
||||||
;;; allout.el ends here
|
;;; allout.el ends here
|
||||||
|
|
|
||||||
|
|
@ -117,8 +117,14 @@ and the value `((4) (4))' for horizontally split windows."
|
||||||
:version "22.1")
|
:version "22.1")
|
||||||
|
|
||||||
(defcustom compare-windows-highlight t
|
(defcustom compare-windows-highlight t
|
||||||
"*Non-nil means compare-windows highlights the differences."
|
"*Non-nil means compare-windows highlights the differences.
|
||||||
:type 'boolean
|
The value t removes highlighting immediately after invoking a command
|
||||||
|
other than `compare-windows'.
|
||||||
|
The value `persistent' leaves all highlighted differences. You can clear
|
||||||
|
out all highlighting later with the command `compare-windows-dehighlight'."
|
||||||
|
:type '(choice (const :tag "No highlighting" nil)
|
||||||
|
(const :tag "Persistent highlighting" persistent)
|
||||||
|
(other :tag "Highlight until next command" t))
|
||||||
:group 'compare-w
|
:group 'compare-w
|
||||||
:version "22.1")
|
:version "22.1")
|
||||||
|
|
||||||
|
|
@ -130,6 +136,8 @@ and the value `((4) (4))' for horizontally split windows."
|
||||||
|
|
||||||
(defvar compare-windows-overlay1 nil)
|
(defvar compare-windows-overlay1 nil)
|
||||||
(defvar compare-windows-overlay2 nil)
|
(defvar compare-windows-overlay2 nil)
|
||||||
|
(defvar compare-windows-overlays1 nil)
|
||||||
|
(defvar compare-windows-overlays2 nil)
|
||||||
(defvar compare-windows-sync-point nil)
|
(defvar compare-windows-sync-point nil)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
@ -351,13 +359,22 @@ on third call it again advances points to the next difference and so on."
|
||||||
(overlay-put compare-windows-overlay2 'face 'compare-windows)
|
(overlay-put compare-windows-overlay2 'face 'compare-windows)
|
||||||
(overlay-put compare-windows-overlay2 'priority 1000))
|
(overlay-put compare-windows-overlay2 'priority 1000))
|
||||||
(overlay-put compare-windows-overlay2 'window w2)
|
(overlay-put compare-windows-overlay2 'window w2)
|
||||||
;; Remove highlighting before next command is executed
|
(if (not (eq compare-windows-highlight 'persistent))
|
||||||
(add-hook 'pre-command-hook 'compare-windows-dehighlight)))
|
;; Remove highlighting before next command is executed
|
||||||
|
(add-hook 'pre-command-hook 'compare-windows-dehighlight)
|
||||||
|
(when compare-windows-overlay1
|
||||||
|
(push (copy-overlay compare-windows-overlay1) compare-windows-overlays1)
|
||||||
|
(delete-overlay compare-windows-overlay1))
|
||||||
|
(when compare-windows-overlay2
|
||||||
|
(push (copy-overlay compare-windows-overlay2) compare-windows-overlays2)
|
||||||
|
(delete-overlay compare-windows-overlay2)))))
|
||||||
|
|
||||||
(defun compare-windows-dehighlight ()
|
(defun compare-windows-dehighlight ()
|
||||||
"Remove highlighting created by `compare-windows-highlight'."
|
"Remove highlighting created by `compare-windows-highlight'."
|
||||||
(interactive)
|
(interactive)
|
||||||
(remove-hook 'pre-command-hook 'compare-windows-dehighlight)
|
(remove-hook 'pre-command-hook 'compare-windows-dehighlight)
|
||||||
|
(mapc 'delete-overlay compare-windows-overlays1)
|
||||||
|
(mapc 'delete-overlay compare-windows-overlays2)
|
||||||
(and compare-windows-overlay1 (delete-overlay compare-windows-overlay1))
|
(and compare-windows-overlay1 (delete-overlay compare-windows-overlay1))
|
||||||
(and compare-windows-overlay2 (delete-overlay compare-windows-overlay2)))
|
(and compare-windows-overlay2 (delete-overlay compare-windows-overlay2)))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -251,7 +251,8 @@ one optional arguments, diff-number to refine.")
|
||||||
;; ediff-setup-diff-regions3, which takes 4 arguments.
|
;; ediff-setup-diff-regions3, which takes 4 arguments.
|
||||||
(defun ediff-setup-diff-regions (file-A file-B file-C)
|
(defun ediff-setup-diff-regions (file-A file-B file-C)
|
||||||
;; looking for '-c', '-i', or a 'c', 'i' among clustered non-long options
|
;; looking for '-c', '-i', or a 'c', 'i' among clustered non-long options
|
||||||
(if (string-match "^-[ci]\\| -[ci]\\|-[^- ]+[ci]" ediff-diff-options)
|
(if (string-match "^-[ci]\\| -[ci]\\|\\(^\\| \\)-[^- ]+[ci]"
|
||||||
|
ediff-diff-options)
|
||||||
(error "Options `-c' and `-i' are not allowed in `ediff-diff-options'"))
|
(error "Options `-c' and `-i' are not allowed in `ediff-diff-options'"))
|
||||||
|
|
||||||
;; create, if it doesn't exist
|
;; create, if it doesn't exist
|
||||||
|
|
@ -1215,7 +1216,7 @@ delimiter regions"))
|
||||||
;; or it is the ancestor file.
|
;; or it is the ancestor file.
|
||||||
(defun ediff-setup-diff-regions3 (file-A file-B file-C)
|
(defun ediff-setup-diff-regions3 (file-A file-B file-C)
|
||||||
;; looking for '-i' or a 'i' among clustered non-long options
|
;; looking for '-i' or a 'i' among clustered non-long options
|
||||||
(if (string-match "^-i\\| -i\\|-[^- ]+i" ediff-diff-options)
|
(if (string-match "^-i\\| -i\\|\\(^\\| \\)-[^- ]+i" ediff-diff-options)
|
||||||
(error "Option `-i' is not allowed in `ediff-diff3-options'"))
|
(error "Option `-i' is not allowed in `ediff-diff3-options'"))
|
||||||
|
|
||||||
(or (ediff-buffer-live-p ediff-diff-buffer)
|
(or (ediff-buffer-live-p ediff-diff-buffer)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,38 @@
|
||||||
|
2006-02-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||||
|
|
||||||
|
* flow-fill.el (fill-flowed): Bind adaptive-fill-mode to nil.
|
||||||
|
Remove space stuffing, and only do quotes that actually start with
|
||||||
|
">" at the beginning of the lines.
|
||||||
|
Merge of 2005-11-17 and 2004-07-25 from the trunk.
|
||||||
|
|
||||||
|
2006-02-23 Reiner Steib <Reiner.Steib@gmx.de>
|
||||||
|
|
||||||
|
* utf7.el (utf7-utf-16-coding-system): Fix comment. utf-16-be is
|
||||||
|
also available in Emacs 21.3.
|
||||||
|
|
||||||
|
* message.el (message-fix-before-sending): Change "Emacs 22" to
|
||||||
|
"Emacs 23 (unicode)" in comment.
|
||||||
|
|
||||||
|
* qp.el (quoted-printable-encode-region): Change "Emacs 22" to
|
||||||
|
"Emacs 23 (unicode)" in comment.
|
||||||
|
|
||||||
|
* mm-util.el: Change "Emacs 22" to "Emacs 23 (unicode)" in
|
||||||
|
comment.
|
||||||
|
(mm-coding-system-p): Add comment about no-MULE XEmacs.
|
||||||
|
|
||||||
|
* mm-view.el (mm-fill-flowed): Add :version.
|
||||||
|
|
||||||
|
2006-02-23 Ralf Angeli <angeli@iwi.uni-sb.de>
|
||||||
|
|
||||||
|
* mm-view.el (mm-fill-flowed): New variable.
|
||||||
|
(mm-inline-text): Use it.
|
||||||
|
|
||||||
|
2006-02-21 Wolfram Fenske <wolfram.fenske@student.uni-magdeburg.de>
|
||||||
|
(tiny change)
|
||||||
|
|
||||||
|
* nnimap.el (nnimap-request-move-article): Change folder back to
|
||||||
|
source group before deleting.
|
||||||
|
|
||||||
2006-02-20 Katsumi Yamaoka <yamaoka@jpl.org>
|
2006-02-20 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||||
|
|
||||||
* rfc2047.el (rfc2047-charset-to-coding-system): Don't check the
|
* rfc2047.el (rfc2047-charset-to-coding-system): Don't check the
|
||||||
|
|
@ -1266,7 +1301,7 @@
|
||||||
|
|
||||||
* gnus-topic.el (gnus-topic-mode): Ditto.
|
* gnus-topic.el (gnus-topic-mode): Ditto.
|
||||||
|
|
||||||
2005-07-08 Ralf Angeli <angeli@iwi.uni-sb.de> (tiny change)
|
2005-07-08 Ralf Angeli <angeli@iwi.uni-sb.de>
|
||||||
|
|
||||||
* gnus-art.el (gnus-article-next-page, gnus-article-next-page-1)
|
* gnus-art.el (gnus-article-next-page, gnus-article-next-page-1)
|
||||||
(gnus-article-prev-page): Take scroll-margin into consideration.
|
(gnus-article-prev-page): Take scroll-margin into consideration.
|
||||||
|
|
|
||||||
|
|
@ -113,10 +113,15 @@ RFC 2646 suggests 66 characters for readability."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(set-buffer (or (current-buffer) buffer))
|
(set-buffer (or (current-buffer) buffer))
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
|
;; Remove space stuffing.
|
||||||
|
(while (re-search-forward "^ " nil t)
|
||||||
|
(delete-char -1)
|
||||||
|
(forward-line 1))
|
||||||
|
(goto-char (point-min))
|
||||||
(while (re-search-forward " $" nil t)
|
(while (re-search-forward " $" nil t)
|
||||||
(when (save-excursion
|
(when (save-excursion
|
||||||
(beginning-of-line)
|
(beginning-of-line)
|
||||||
(looking-at "^\\(>*\\)\\( ?\\)"))
|
(looking-at "^\\(>+\\)\\( ?\\)"))
|
||||||
(let ((quote (match-string 1))
|
(let ((quote (match-string 1))
|
||||||
sig)
|
sig)
|
||||||
(if (string= quote "")
|
(if (string= quote "")
|
||||||
|
|
@ -146,7 +151,8 @@ RFC 2646 suggests 66 characters for readability."
|
||||||
(condition-case nil
|
(condition-case nil
|
||||||
(let ((fill-prefix (when quote (concat quote " ")))
|
(let ((fill-prefix (when quote (concat quote " ")))
|
||||||
(fill-column (eval fill-flowed-display-column))
|
(fill-column (eval fill-flowed-display-column))
|
||||||
filladapt-mode)
|
filladapt-mode
|
||||||
|
adaptive-fill-mode)
|
||||||
(fill-region (fill-flowed-point-at-bol)
|
(fill-region (fill-flowed-point-at-bol)
|
||||||
(min (1+ (fill-flowed-point-at-eol))
|
(min (1+ (fill-flowed-point-at-eol))
|
||||||
(point-max))
|
(point-max))
|
||||||
|
|
|
||||||
|
|
@ -3615,8 +3615,8 @@ It should typically alter the sending method in some way or other."
|
||||||
(when (let ((char (char-after)))
|
(when (let ((char (char-after)))
|
||||||
(or (< (mm-char-int char) 128)
|
(or (< (mm-char-int char) 128)
|
||||||
(and (mm-multibyte-p)
|
(and (mm-multibyte-p)
|
||||||
;; Fixme: Wrong for Emacs 23 and for things
|
;; FIXME: Wrong for Emacs 23 (unicode) and for
|
||||||
;; like undectable utf-8. Should at least
|
;; things like undecable utf-8. Should at least
|
||||||
;; use find-coding-systems-region.
|
;; use find-coding-systems-region.
|
||||||
(memq (char-charset char)
|
(memq (char-charset char)
|
||||||
'(eight-bit-control eight-bit-graphic
|
'(eight-bit-control eight-bit-graphic
|
||||||
|
|
|
||||||
|
|
@ -174,7 +174,7 @@ system object in XEmacs."
|
||||||
(if (fboundp 'coding-system-p)
|
(if (fboundp 'coding-system-p)
|
||||||
(when (coding-system-p cs)
|
(when (coding-system-p cs)
|
||||||
cs)
|
cs)
|
||||||
;; Is this branch ever actually useful?
|
;; no-MULE XEmacs:
|
||||||
(car (memq cs (mm-get-coding-system-list))))))
|
(car (memq cs (mm-get-coding-system-list))))))
|
||||||
|
|
||||||
(defvar mm-charset-synonym-alist
|
(defvar mm-charset-synonym-alist
|
||||||
|
|
@ -331,7 +331,7 @@ with Mule charsets. It is completely useless for Emacs."
|
||||||
cs mime mule alist)
|
cs mime mule alist)
|
||||||
(while css
|
(while css
|
||||||
(setq cs (pop css)
|
(setq cs (pop css)
|
||||||
mime (or (coding-system-get cs :mime-charset) ; Emacs 23
|
mime (or (coding-system-get cs :mime-charset); Emacs 23 (unicode)
|
||||||
(coding-system-get cs 'mime-charset)))
|
(coding-system-get cs 'mime-charset)))
|
||||||
(when (and mime
|
(when (and mime
|
||||||
(not (eq t (setq mule
|
(not (eq t (setq mule
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,12 @@
|
||||||
(html2text html2text))
|
(html2text html2text))
|
||||||
"The attributes of washer types for text/html.")
|
"The attributes of washer types for text/html.")
|
||||||
|
|
||||||
|
(defcustom mm-fill-flowed t
|
||||||
|
"If non-nil an format=flowed article will be displayed flowed."
|
||||||
|
:type 'boolean
|
||||||
|
:version "22.1"
|
||||||
|
:group 'mime-display)
|
||||||
|
|
||||||
;;; Internal variables.
|
;;; Internal variables.
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
@ -407,7 +413,8 @@
|
||||||
(mm-insert-part handle)
|
(mm-insert-part handle)
|
||||||
(goto-char (point-max)))
|
(goto-char (point-max)))
|
||||||
(insert (mm-decode-string (mm-get-part handle) charset)))
|
(insert (mm-decode-string (mm-get-part handle) charset)))
|
||||||
(when (and (equal type "plain")
|
(when (and mm-fill-flowed
|
||||||
|
(equal type "plain")
|
||||||
(equal (cdr (assoc 'format (mm-handle-type handle)))
|
(equal (cdr (assoc 'format (mm-handle-type handle)))
|
||||||
"flowed"))
|
"flowed"))
|
||||||
(save-restriction
|
(save-restriction
|
||||||
|
|
|
||||||
|
|
@ -1492,6 +1492,7 @@ function is generally only called when Gnus is shutting down."
|
||||||
(setq result (eval accept-form))
|
(setq result (eval accept-form))
|
||||||
(kill-buffer buf)
|
(kill-buffer buf)
|
||||||
result)
|
result)
|
||||||
|
(nnimap-possibly-change-group group server)
|
||||||
(imap-message-flags-add
|
(imap-message-flags-add
|
||||||
(imap-range-to-message-set (list article))
|
(imap-range-to-message-set (list article))
|
||||||
"\\Deleted" 'silent nnimap-server-buffer))
|
"\\Deleted" 'silent nnimap-server-buffer))
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ encode lines starting with \"From\"."
|
||||||
(not (eobp)))
|
(not (eobp)))
|
||||||
(insert
|
(insert
|
||||||
(prog1
|
(prog1
|
||||||
;; To unibyte in case of Emacs 23 eight-bit.
|
;; To unibyte in case of Emacs 23 (unicode) eight-bit.
|
||||||
(format "=%02X" (mm-multibyte-char-to-unibyte (char-after)))
|
(format "=%02X" (mm-multibyte-char-to-unibyte (char-after)))
|
||||||
(delete-char 1))))
|
(delete-char 1))))
|
||||||
;; Encode white space at the end of lines.
|
;; Encode white space at the end of lines.
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@
|
||||||
(defconst utf7-utf-16-coding-system
|
(defconst utf7-utf-16-coding-system
|
||||||
(cond ((mm-coding-system-p 'utf-16-be-no-signature) ; Mule-UCS
|
(cond ((mm-coding-system-p 'utf-16-be-no-signature) ; Mule-UCS
|
||||||
'utf-16-be-no-signature)
|
'utf-16-be-no-signature)
|
||||||
((and (mm-coding-system-p 'utf-16-be) ; Emacs 23.1
|
((and (mm-coding-system-p 'utf-16-be) ; Emacs 21.3, Emacs 22
|
||||||
;; Avoid versions with BOM.
|
;; Avoid versions with BOM.
|
||||||
(= 2 (length (encode-coding-string "a" 'utf-16-be))))
|
(= 2 (length (encode-coding-string "a" 'utf-16-be))))
|
||||||
'utf-16-be)
|
'utf-16-be)
|
||||||
|
|
|
||||||
10
lisp/help.el
10
lisp/help.el
|
|
@ -835,8 +835,9 @@ follows the description of the major mode.)\n\n"))
|
||||||
;; Document the major mode.
|
;; Document the major mode.
|
||||||
(let ((mode mode-name))
|
(let ((mode mode-name))
|
||||||
(with-current-buffer standard-output
|
(with-current-buffer standard-output
|
||||||
(insert mode)
|
(let ((start (point)))
|
||||||
(add-text-properties (- (point) (length mode)) (point) '(face bold))))
|
(insert (format-mode-line mode))
|
||||||
|
(add-text-properties start (point) '(face bold)))))
|
||||||
(princ " mode:\n")
|
(princ " mode:\n")
|
||||||
(princ (documentation major-mode)))
|
(princ (documentation major-mode)))
|
||||||
(print-help-return-message))))
|
(print-help-return-message))))
|
||||||
|
|
@ -932,7 +933,7 @@ is currently activated with completion."
|
||||||
;;; Automatic resizing of temporary buffers.
|
;;; Automatic resizing of temporary buffers.
|
||||||
|
|
||||||
(defcustom temp-buffer-max-height (lambda (buffer) (/ (- (frame-height) 2) 2))
|
(defcustom temp-buffer-max-height (lambda (buffer) (/ (- (frame-height) 2) 2))
|
||||||
"*Maximum height of a window displaying a temporary buffer.
|
"Maximum height of a window displaying a temporary buffer.
|
||||||
This is the maximum height (in text lines) which `resize-temp-buffer-window'
|
This is the maximum height (in text lines) which `resize-temp-buffer-window'
|
||||||
will give to a window displaying a temporary buffer.
|
will give to a window displaying a temporary buffer.
|
||||||
It can also be a function which will be called with the object corresponding
|
It can also be a function which will be called with the object corresponding
|
||||||
|
|
@ -971,8 +972,7 @@ out of view."
|
||||||
(funcall temp-buffer-max-height (current-buffer))
|
(funcall temp-buffer-max-height (current-buffer))
|
||||||
temp-buffer-max-height))))
|
temp-buffer-max-height))))
|
||||||
|
|
||||||
;; Provide this for the sake of define-minor-mode which generates
|
|
||||||
;; defcustoms which require 'help'.
|
|
||||||
(provide 'help)
|
(provide 'help)
|
||||||
|
|
||||||
;; arch-tag: cf427352-27e9-49b7-9a6f-741ebab02423
|
;; arch-tag: cf427352-27e9-49b7-9a6f-741ebab02423
|
||||||
|
|
|
||||||
12
lisp/info.el
12
lisp/info.el
|
|
@ -1642,7 +1642,9 @@ If DIRECTION is `backward', search in the reverse direction."
|
||||||
(and (search-backward "\^_" nil t)
|
(and (search-backward "\^_" nil t)
|
||||||
(looking-at
|
(looking-at
|
||||||
"\^_\n\\(Tag Table\\|Local Variables\\)"))))))
|
"\^_\n\\(Tag Table\\|Local Variables\\)"))))))
|
||||||
(let ((search-spaces-regexp Info-search-whitespace-regexp))
|
(let ((search-spaces-regexp
|
||||||
|
(if (or (not isearch-mode) isearch-regexp)
|
||||||
|
Info-search-whitespace-regexp)))
|
||||||
(if (if backward
|
(if (if backward
|
||||||
(re-search-backward regexp bound t)
|
(re-search-backward regexp bound t)
|
||||||
(re-search-forward regexp bound t))
|
(re-search-forward regexp bound t))
|
||||||
|
|
@ -1660,7 +1662,9 @@ If DIRECTION is `backward', search in the reverse direction."
|
||||||
;; If no subfiles, give error now.
|
;; If no subfiles, give error now.
|
||||||
(if give-up
|
(if give-up
|
||||||
(if (null Info-current-subfile)
|
(if (null Info-current-subfile)
|
||||||
(let ((search-spaces-regexp Info-search-whitespace-regexp))
|
(let ((search-spaces-regexp
|
||||||
|
(if (or (not isearch-mode) isearch-regexp)
|
||||||
|
Info-search-whitespace-regexp)))
|
||||||
(if backward
|
(if backward
|
||||||
(re-search-backward regexp)
|
(re-search-backward regexp)
|
||||||
(re-search-forward regexp)))
|
(re-search-forward regexp)))
|
||||||
|
|
@ -1731,7 +1735,9 @@ If DIRECTION is `backward', search in the reverse direction."
|
||||||
(and (search-backward "\^_" nil t)
|
(and (search-backward "\^_" nil t)
|
||||||
(looking-at
|
(looking-at
|
||||||
"\^_\n\\(Tag Table\\|Local Variables\\)"))))))
|
"\^_\n\\(Tag Table\\|Local Variables\\)"))))))
|
||||||
(let ((search-spaces-regexp Info-search-whitespace-regexp))
|
(let ((search-spaces-regexp
|
||||||
|
(if (or (not isearch-mode) isearch-regexp)
|
||||||
|
Info-search-whitespace-regexp)))
|
||||||
(if (if backward
|
(if (if backward
|
||||||
(re-search-backward regexp nil t)
|
(re-search-backward regexp nil t)
|
||||||
(re-search-forward regexp nil t))
|
(re-search-forward regexp nil t))
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,7 @@ and #define directives otherwise.")
|
||||||
(defvar gdb-macro-info nil
|
(defvar gdb-macro-info nil
|
||||||
"Non-nil if GDB knows that the inferior includes preprocessor macro info.")
|
"Non-nil if GDB knows that the inferior includes preprocessor macro info.")
|
||||||
(defvar gdb-buffer-fringe-width nil)
|
(defvar gdb-buffer-fringe-width nil)
|
||||||
|
(defvar gdb-signalled nil)
|
||||||
|
|
||||||
(defvar gdb-buffer-type nil
|
(defvar gdb-buffer-type nil
|
||||||
"One of the symbols bound in `gdb-buffer-rules'.")
|
"One of the symbols bound in `gdb-buffer-rules'.")
|
||||||
|
|
@ -258,11 +259,19 @@ detailed description of this mode.
|
||||||
(gdb command-line)
|
(gdb command-line)
|
||||||
(gdb-init-1))
|
(gdb-init-1))
|
||||||
|
|
||||||
(defvar gdb-debug-log nil)
|
(defcustom gdb-debug-ring-max 128
|
||||||
|
"Maximum size of `gdb-debug-ring'."
|
||||||
|
:group 'gud
|
||||||
|
:type 'integer
|
||||||
|
:version "22.1")
|
||||||
|
|
||||||
|
(defvar gdb-debug-ring nil
|
||||||
|
"List of commands, most recent first, sent to and replies received from GDB.
|
||||||
|
This variable is used to debug GDB-UI.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom gdb-enable-debug-log nil
|
(defcustom gdb-enable-debug nil
|
||||||
"Non-nil means record the process input and output in `gdb-debug-log'."
|
"Non-nil means record the process input and output in `gdb-debug-ring'."
|
||||||
:type 'boolean
|
:type 'boolean
|
||||||
:group 'gud
|
:group 'gud
|
||||||
:version "22.1")
|
:version "22.1")
|
||||||
|
|
@ -390,7 +399,6 @@ With arg, use separate IO iff arg is positive."
|
||||||
expr))
|
expr))
|
||||||
|
|
||||||
(defun gdb-init-1 ()
|
(defun gdb-init-1 ()
|
||||||
(setq gdb-debug-log nil)
|
|
||||||
(set (make-local-variable 'gud-minor-mode) 'gdba)
|
(set (make-local-variable 'gud-minor-mode) 'gdba)
|
||||||
(set (make-local-variable 'gud-marker-filter) 'gud-gdba-marker-filter)
|
(set (make-local-variable 'gud-marker-filter) 'gud-gdba-marker-filter)
|
||||||
;;
|
;;
|
||||||
|
|
@ -436,11 +444,21 @@ With arg, use separate IO iff arg is positive."
|
||||||
'gdb-mouse-set-clear-breakpoint)
|
'gdb-mouse-set-clear-breakpoint)
|
||||||
(define-key gud-minor-mode-map [left-fringe mouse-2]
|
(define-key gud-minor-mode-map [left-fringe mouse-2]
|
||||||
'gdb-mouse-until)
|
'gdb-mouse-until)
|
||||||
|
(define-key gud-minor-mode-map [left-margin drag-mouse-1]
|
||||||
|
'gdb-mouse-until)
|
||||||
(define-key gud-minor-mode-map [left-fringe drag-mouse-1]
|
(define-key gud-minor-mode-map [left-fringe drag-mouse-1]
|
||||||
'gdb-mouse-until)
|
'gdb-mouse-until)
|
||||||
(define-key gud-minor-mode-map [left-margin mouse-2]
|
(define-key gud-minor-mode-map [left-margin mouse-2]
|
||||||
'gdb-mouse-until)
|
'gdb-mouse-until)
|
||||||
(define-key gud-minor-mode-map [left-margin mouse-3]
|
(define-key gud-minor-mode-map [left-margin C-drag-mouse-1]
|
||||||
|
'gdb-mouse-jump)
|
||||||
|
(define-key gud-minor-mode-map [left-fringe C-drag-mouse-1]
|
||||||
|
'gdb-mouse-jump)
|
||||||
|
(define-key gud-minor-mode-map [left-fringe C-mouse-2]
|
||||||
|
'gdb-mouse-jump)
|
||||||
|
(define-key gud-minor-mode-map [left-margin C-mouse-2]
|
||||||
|
'gdb-mouse-jump)
|
||||||
|
(define-key gud-minor-mode-map [left-margin mouse-3]
|
||||||
'gdb-mouse-toggle-breakpoint-margin)
|
'gdb-mouse-toggle-breakpoint-margin)
|
||||||
(define-key gud-minor-mode-map [left-fringe mouse-3]
|
(define-key gud-minor-mode-map [left-fringe mouse-3]
|
||||||
'gdb-mouse-toggle-breakpoint-fringe)
|
'gdb-mouse-toggle-breakpoint-fringe)
|
||||||
|
|
@ -469,14 +487,15 @@ With arg, use separate IO iff arg is positive."
|
||||||
gdb-source-file-list nil
|
gdb-source-file-list nil
|
||||||
gdb-error nil
|
gdb-error nil
|
||||||
gdb-macro-info nil
|
gdb-macro-info nil
|
||||||
gdb-buffer-fringe-width (car (window-fringes)))
|
gdb-buffer-fringe-width (car (window-fringes))
|
||||||
|
gdb-debug-ring nil
|
||||||
|
gdb-signalled nil)
|
||||||
|
|
||||||
(setq gdb-buffer-type 'gdba)
|
(setq gdb-buffer-type 'gdba)
|
||||||
|
|
||||||
(if gdb-use-separate-io-buffer (gdb-clear-inferior-io))
|
(if gdb-use-separate-io-buffer (gdb-clear-inferior-io))
|
||||||
|
|
||||||
;; Hack to see test for GDB 6.4+ (-stack-info-frame was implemented in 6.4)
|
;; Hack to see test for GDB 6.4+ (-stack-info-frame was implemented in 6.4)
|
||||||
(setq gdb-version nil)
|
|
||||||
(gdb-enqueue-input (list "server interpreter mi -stack-info-frame\n"
|
(gdb-enqueue-input (list "server interpreter mi -stack-info-frame\n"
|
||||||
'gdb-get-version)))
|
'gdb-get-version)))
|
||||||
|
|
||||||
|
|
@ -516,7 +535,9 @@ With arg, use separate IO iff arg is positive."
|
||||||
(gdb-init-2))
|
(gdb-init-2))
|
||||||
|
|
||||||
(defun gdb-mouse-until (event)
|
(defun gdb-mouse-until (event)
|
||||||
"Execute source lines by dragging the overlay arrow (fringe) with the mouse."
|
"Continue running until a source line past the current line.
|
||||||
|
The destination source line can be selected either by clicking with mouse-2
|
||||||
|
on the fringe/margin or dragging the arrow with mouse-1 (default bindings)."
|
||||||
(interactive "e")
|
(interactive "e")
|
||||||
(if gud-overlay-arrow-position
|
(if gud-overlay-arrow-position
|
||||||
(let ((start (event-start event))
|
(let ((start (event-start event))
|
||||||
|
|
@ -542,6 +563,40 @@ With arg, use separate IO iff arg is positive."
|
||||||
(forward-char 2)
|
(forward-char 2)
|
||||||
(gud-call (concat "until *%a")))))))))
|
(gud-call (concat "until *%a")))))))))
|
||||||
|
|
||||||
|
(defun gdb-mouse-jump (event)
|
||||||
|
"Set execution address/line.
|
||||||
|
The destination source line can be selected either by clicking with mouse-2
|
||||||
|
on the fringe/margin or dragging the arrow with mouse-1 (default bindings).
|
||||||
|
Unlike gdb-mouse-until the destination address can be before the current
|
||||||
|
line, and no execution takes place."
|
||||||
|
(interactive "e")
|
||||||
|
(if gud-overlay-arrow-position
|
||||||
|
(let ((start (event-start event))
|
||||||
|
(end (event-end event))
|
||||||
|
(buffer (marker-buffer gud-overlay-arrow-position)) (line))
|
||||||
|
(if (not (string-match "Machine" mode-name))
|
||||||
|
(if (equal buffer (window-buffer (posn-window end)))
|
||||||
|
(with-current-buffer buffer
|
||||||
|
(when (or (equal start end)
|
||||||
|
(equal (posn-point start)
|
||||||
|
(marker-position
|
||||||
|
gud-overlay-arrow-position)))
|
||||||
|
(setq line (line-number-at-pos (posn-point end)))
|
||||||
|
(progn (gud-call (concat "tbreak " (number-to-string line)))
|
||||||
|
(gud-call (concat "jump " (number-to-string line)))))))
|
||||||
|
(if (equal (marker-buffer gdb-overlay-arrow-position)
|
||||||
|
(window-buffer (posn-window end)))
|
||||||
|
(when (or (equal start end)
|
||||||
|
(equal (posn-point start)
|
||||||
|
(marker-position
|
||||||
|
gdb-overlay-arrow-position)))
|
||||||
|
(save-excursion
|
||||||
|
(goto-line (line-number-at-pos (posn-point end)))
|
||||||
|
(forward-char 2)
|
||||||
|
(progn
|
||||||
|
(gud-call (concat "tbreak *%a"))
|
||||||
|
(gud-call (concat "jump *%a"))))))))))
|
||||||
|
|
||||||
(defcustom gdb-speedbar-auto-raise nil
|
(defcustom gdb-speedbar-auto-raise nil
|
||||||
"If non-nil raise speedbar every time display of watch expressions is\
|
"If non-nil raise speedbar every time display of watch expressions is\
|
||||||
updated."
|
updated."
|
||||||
|
|
@ -573,9 +628,6 @@ With arg, automatically raise speedbar iff arg is positive."
|
||||||
(require 'tooltip)
|
(require 'tooltip)
|
||||||
(save-selected-window
|
(save-selected-window
|
||||||
(let ((expr (tooltip-identifier-from-point (point))))
|
(let ((expr (tooltip-identifier-from-point (point))))
|
||||||
(if (and (string-equal gdb-current-language "c")
|
|
||||||
gdb-use-colon-colon-notation gdb-selected-frame)
|
|
||||||
(setq expr (concat gdb-selected-frame "::" expr)))
|
|
||||||
(catch 'already-watched
|
(catch 'already-watched
|
||||||
(dolist (var gdb-var-list)
|
(dolist (var gdb-var-list)
|
||||||
(if (string-equal expr (car var)) (throw 'already-watched nil)))
|
(if (string-equal expr (car var)) (throw 'already-watched nil)))
|
||||||
|
|
@ -593,11 +645,15 @@ With arg, automatically raise speedbar iff arg is positive."
|
||||||
(defun gdb-var-create-handler (expr)
|
(defun gdb-var-create-handler (expr)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(if (re-search-forward gdb-var-create-regexp nil t)
|
(if (re-search-forward gdb-var-create-regexp nil t)
|
||||||
(let ((var (list expr
|
(let ((var (list
|
||||||
(match-string 1)
|
(if (and (string-equal gdb-current-language "c")
|
||||||
(match-string 2)
|
gdb-use-colon-colon-notation gdb-selected-frame)
|
||||||
(match-string 3)
|
(setq expr (concat gdb-selected-frame "::" expr))
|
||||||
nil nil)))
|
expr)
|
||||||
|
(match-string 1)
|
||||||
|
(match-string 2)
|
||||||
|
(match-string 3)
|
||||||
|
nil nil)))
|
||||||
(push var gdb-var-list)
|
(push var gdb-var-list)
|
||||||
(speedbar 1)
|
(speedbar 1)
|
||||||
(unless (string-equal
|
(unless (string-equal
|
||||||
|
|
@ -613,7 +669,7 @@ With arg, automatically raise speedbar iff arg is positive."
|
||||||
,(nth 1 var) nil)))))
|
,(nth 1 var) nil)))))
|
||||||
(if (search-forward "Undefined command" nil t)
|
(if (search-forward "Undefined command" nil t)
|
||||||
(message-box "Watching expressions requires gdb 6.0 onwards")
|
(message-box "Watching expressions requires gdb 6.0 onwards")
|
||||||
(message "No symbol \"%s\" in current context." expr))))
|
(message-box "No symbol \"%s\" in current context." expr))))
|
||||||
|
|
||||||
(defun gdb-var-evaluate-expression-handler (varnum changed)
|
(defun gdb-var-evaluate-expression-handler (varnum changed)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
|
|
@ -864,7 +920,7 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'."
|
||||||
"*"))
|
"*"))
|
||||||
|
|
||||||
(defun gdb-display-separate-io-buffer ()
|
(defun gdb-display-separate-io-buffer ()
|
||||||
"Display IO of inferior in a separate window."
|
"Display IO of debugged program in a separate window."
|
||||||
(interactive)
|
(interactive)
|
||||||
(if gdb-use-separate-io-buffer
|
(if gdb-use-separate-io-buffer
|
||||||
(gdb-display-buffer
|
(gdb-display-buffer
|
||||||
|
|
@ -963,7 +1019,7 @@ This filter may simply queue input for a later time."
|
||||||
(let ((item (concat string "\n")))
|
(let ((item (concat string "\n")))
|
||||||
(if gud-running
|
(if gud-running
|
||||||
(progn
|
(progn
|
||||||
(if gdb-enable-debug-log (push (cons 'send item) gdb-debug-log))
|
(if gdb-enable-debug (push (cons 'send item) gdb-debug-ring))
|
||||||
(process-send-string proc item))
|
(process-send-string proc item))
|
||||||
(gdb-enqueue-input item))))
|
(gdb-enqueue-input item))))
|
||||||
|
|
||||||
|
|
@ -986,7 +1042,7 @@ This filter may simply queue input for a later time."
|
||||||
|
|
||||||
(defun gdb-send-item (item)
|
(defun gdb-send-item (item)
|
||||||
(setq gdb-flush-pending-output nil)
|
(setq gdb-flush-pending-output nil)
|
||||||
(if gdb-enable-debug-log (push (cons 'send-item item) gdb-debug-log))
|
(if gdb-enable-debug (push (cons 'send-item item) gdb-debug-ring))
|
||||||
(setq gdb-current-item item)
|
(setq gdb-current-item item)
|
||||||
(let ((process (get-buffer-process gud-comint-buffer)))
|
(let ((process (get-buffer-process gud-comint-buffer)))
|
||||||
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
|
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
|
||||||
|
|
@ -1039,7 +1095,7 @@ This filter may simply queue input for a later time."
|
||||||
("source" gdb-source)
|
("source" gdb-source)
|
||||||
("starting" gdb-starting)
|
("starting" gdb-starting)
|
||||||
("exited" gdb-exited)
|
("exited" gdb-exited)
|
||||||
("signalled" gdb-exited)
|
("signalled" gdb-signalled)
|
||||||
("signal" gdb-stopping)
|
("signal" gdb-stopping)
|
||||||
("breakpoint" gdb-stopping)
|
("breakpoint" gdb-stopping)
|
||||||
("watchpoint" gdb-stopping)
|
("watchpoint" gdb-stopping)
|
||||||
|
|
@ -1156,6 +1212,9 @@ directives."
|
||||||
(setq gdb-overlay-arrow-position nil)
|
(setq gdb-overlay-arrow-position nil)
|
||||||
(gdb-stopping ignored))
|
(gdb-stopping ignored))
|
||||||
|
|
||||||
|
(defun gdb-signalled (ignored)
|
||||||
|
(setq gdb-signalled t))
|
||||||
|
|
||||||
(defun gdb-frame-begin (ignored)
|
(defun gdb-frame-begin (ignored)
|
||||||
(let ((sink gdb-output-sink))
|
(let ((sink gdb-output-sink))
|
||||||
(cond
|
(cond
|
||||||
|
|
@ -1172,7 +1231,6 @@ directives."
|
||||||
It is just like `gdb-stopping', except that if we already set the output
|
It is just like `gdb-stopping', except that if we already set the output
|
||||||
sink to `user' in `gdb-stopping', that is fine."
|
sink to `user' in `gdb-stopping', that is fine."
|
||||||
(setq gud-running nil)
|
(setq gud-running nil)
|
||||||
(setq gdb-active-process t)
|
|
||||||
(let ((sink gdb-output-sink))
|
(let ((sink gdb-output-sink))
|
||||||
(cond
|
(cond
|
||||||
((eq sink 'inferior)
|
((eq sink 'inferior)
|
||||||
|
|
@ -1180,7 +1238,8 @@ sink to `user' in `gdb-stopping', that is fine."
|
||||||
((eq sink 'user) t)
|
((eq sink 'user) t)
|
||||||
(t
|
(t
|
||||||
(gdb-resync)
|
(gdb-resync)
|
||||||
(error "Unexpected stopped annotation")))))
|
(error "Unexpected stopped annotation"))))
|
||||||
|
(if gdb-signalled (gdb-exited ignored)))
|
||||||
|
|
||||||
(defun gdb-error (ignored)
|
(defun gdb-error (ignored)
|
||||||
(setq gdb-error (not gdb-error)))
|
(setq gdb-error (not gdb-error)))
|
||||||
|
|
@ -1233,7 +1292,10 @@ happens to be appropriate."
|
||||||
"A gud marker filter for gdb. Handle a burst of output from GDB."
|
"A gud marker filter for gdb. Handle a burst of output from GDB."
|
||||||
(if gdb-flush-pending-output
|
(if gdb-flush-pending-output
|
||||||
nil
|
nil
|
||||||
(if gdb-enable-debug-log (push (cons 'recv string) gdb-debug-log))
|
(when gdb-enable-debug
|
||||||
|
(push (cons 'recv string) gdb-debug-ring)
|
||||||
|
(if (> (length gdb-debug-ring) gdb-debug-ring-max)
|
||||||
|
(setcdr (nthcdr (1- gdb-debug-ring-max) gdb-debug-ring) nil)))
|
||||||
;; Recall the left over gud-marker-acc from last time.
|
;; Recall the left over gud-marker-acc from last time.
|
||||||
(setq gud-marker-acc (concat gud-marker-acc string))
|
(setq gud-marker-acc (concat gud-marker-acc string))
|
||||||
;; Start accumulating output for the GUD buffer.
|
;; Start accumulating output for the GUD buffer.
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
|
|
||||||
|
|
||||||
(defcustom glasses-separator "_"
|
(defcustom glasses-separator "_"
|
||||||
"*String to be displayed as a visual separator in identifiers.
|
"String to be displayed as a visual separator in identifiers.
|
||||||
It is used both for adding missing separators and for replacing separators
|
It is used both for adding missing separators and for replacing separators
|
||||||
defined by `glasses-original-separator'. If you don't want to add missing
|
defined by `glasses-original-separator'. If you don't want to add missing
|
||||||
separators, set `glasses-separator' to an empty string. If you don't want to
|
separators, set `glasses-separator' to an empty string. If you don't want to
|
||||||
|
|
@ -93,7 +93,7 @@ performed."
|
||||||
|
|
||||||
|
|
||||||
(defcustom glasses-face nil
|
(defcustom glasses-face nil
|
||||||
"*Face to be put on capitals of an identifier looked through glasses.
|
"Face to be put on capitals of an identifier looked through glasses.
|
||||||
If it is nil, no face is placed at the capitalized letter.
|
If it is nil, no face is placed at the capitalized letter.
|
||||||
|
|
||||||
For example, you can set `glasses-separator' to an empty string and
|
For example, you can set `glasses-separator' to an empty string and
|
||||||
|
|
@ -106,13 +106,13 @@ but will have their capitals in bold."
|
||||||
|
|
||||||
|
|
||||||
(defcustom glasses-separate-parentheses-p t
|
(defcustom glasses-separate-parentheses-p t
|
||||||
"*If non-nil, ensure space between an identifier and an opening parenthesis."
|
"If non-nil, ensure space between an identifier and an opening parenthesis."
|
||||||
:group 'glasses
|
:group 'glasses
|
||||||
:type 'boolean)
|
:type 'boolean)
|
||||||
|
|
||||||
|
|
||||||
(defcustom glasses-uncapitalize-p nil
|
(defcustom glasses-uncapitalize-p nil
|
||||||
"*If non-nil, downcase embedded capital letters in identifiers.
|
"If non-nil, downcase embedded capital letters in identifiers.
|
||||||
Only identifiers starting with lower case letters are affected, letters inside
|
Only identifiers starting with lower case letters are affected, letters inside
|
||||||
other identifiers are unchanged."
|
other identifiers are unchanged."
|
||||||
:group 'glasses
|
:group 'glasses
|
||||||
|
|
@ -122,7 +122,7 @@ other identifiers are unchanged."
|
||||||
|
|
||||||
|
|
||||||
(defcustom glasses-uncapitalize-regexp "[a-z]"
|
(defcustom glasses-uncapitalize-regexp "[a-z]"
|
||||||
"*Regexp matching beginnings of words to be uncapitalized.
|
"Regexp matching beginnings of words to be uncapitalized.
|
||||||
Only words starting with this regexp are uncapitalized.
|
Only words starting with this regexp are uncapitalized.
|
||||||
The regexp is case sensitive.
|
The regexp is case sensitive.
|
||||||
It has any effect only when `glasses-uncapitalize-p' is non-nil."
|
It 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."
|
||||||
|
|
||||||
|
|
||||||
(defcustom glasses-convert-on-write-p nil
|
(defcustom glasses-convert-on-write-p nil
|
||||||
"*If non-nil, remove separators when writing glasses buffer to a file.
|
"If non-nil, remove separators when writing glasses buffer to a file.
|
||||||
If you are confused by glasses so much, that you write the separators into code
|
If you are confused by glasses so much, that you write the separators into code
|
||||||
during coding, set this variable to t. The separators will be removed on each
|
during coding, set this variable to t. The separators will be removed on each
|
||||||
file write then.
|
file write then.
|
||||||
|
|
@ -313,5 +313,5 @@ at places they belong to."
|
||||||
(provide 'glasses)
|
(provide 'glasses)
|
||||||
|
|
||||||
|
|
||||||
;;; arch-tag: a3515167-c89e-484f-90a1-d85143e52b12
|
;; arch-tag: a3515167-c89e-484f-90a1-d85143e52b12
|
||||||
;;; glasses.el ends here
|
;;; glasses.el ends here
|
||||||
|
|
|
||||||
|
|
@ -456,7 +456,8 @@ required by the caller."
|
||||||
(while var-list
|
(while var-list
|
||||||
(let* (char (depth 0) (start 0) (var (car var-list))
|
(let* (char (depth 0) (start 0) (var (car var-list))
|
||||||
(expr (car var)) (varnum (nth 1 var))
|
(expr (car var)) (varnum (nth 1 var))
|
||||||
(type (nth 3 var)) (status (nth 5 var)))
|
(type (nth 3 var)) (value (nth 4 var))
|
||||||
|
(status (nth 5 var)))
|
||||||
(put-text-property
|
(put-text-property
|
||||||
0 (length expr) 'face font-lock-variable-name-face expr)
|
0 (length expr) 'face font-lock-variable-name-face expr)
|
||||||
(put-text-property
|
(put-text-property
|
||||||
|
|
@ -470,7 +471,7 @@ required by the caller."
|
||||||
(string-match "char \\*$" type)))
|
(string-match "char \\*$" type)))
|
||||||
(speedbar-make-tag-line
|
(speedbar-make-tag-line
|
||||||
'bracket ?? nil nil
|
'bracket ?? nil nil
|
||||||
(concat expr "\t" (nth 4 var))
|
(concat expr "\t" value)
|
||||||
(if (or parent (eq status 'out-of-scope))
|
(if (or parent (eq status 'out-of-scope))
|
||||||
nil 'gdb-edit-value)
|
nil 'gdb-edit-value)
|
||||||
nil
|
nil
|
||||||
|
|
@ -491,14 +492,12 @@ required by the caller."
|
||||||
(speedbar-make-tag-line
|
(speedbar-make-tag-line
|
||||||
'bracket char
|
'bracket char
|
||||||
'gdb-speedbar-expand-node varnum
|
'gdb-speedbar-expand-node varnum
|
||||||
(concat expr "\t"
|
(concat expr "\t" type "\t" value)
|
||||||
type "\t"
|
(if (or parent status)
|
||||||
(nth 4 var))
|
|
||||||
(if (or parent status 'out-of-scope)
|
|
||||||
nil 'gdb-edit-value)
|
nil 'gdb-edit-value)
|
||||||
nil
|
nil
|
||||||
(if (and (or parent status) gdb-show-changed-values)
|
(if (and (or parent (eq status 'out-of-scope))
|
||||||
'shadow t)
|
gdb-show-changed-values) 'shadow t)
|
||||||
depth)
|
depth)
|
||||||
(speedbar-make-tag-line
|
(speedbar-make-tag-line
|
||||||
'bracket char
|
'bracket char
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
(require 'reftex)
|
(require 'reftex)
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(defun reftex-view-crossref (&optional arg auto-how)
|
(defun reftex-view-crossref (&optional arg auto-how fail-quietly)
|
||||||
"View cross reference of macro at point. Point must be on the KEY
|
"View cross reference of macro at point. Point must be on the KEY
|
||||||
argument. When at at `\\ref' macro, show corresponding `\\label'
|
argument. When at at `\\ref' macro, show corresponding `\\label'
|
||||||
definition, also in external documents (`xr'). When on a label, show
|
definition, also in external documents (`xr'). When on a label, show
|
||||||
|
|
@ -56,52 +56,53 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
|
||||||
dw)
|
dw)
|
||||||
|
|
||||||
(if (or (null macro) (reftex-in-comment))
|
(if (or (null macro) (reftex-in-comment))
|
||||||
(error "Not on a crossref macro argument"))
|
(or fail-quietly
|
||||||
|
(error "Not on a crossref macro argument"))
|
||||||
|
|
||||||
(setq reftex-call-back-to-this-buffer (current-buffer))
|
(setq reftex-call-back-to-this-buffer (current-buffer))
|
||||||
|
|
||||||
(cond
|
(cond
|
||||||
((string-match "\\`\\\\cite\\|cite\\*?\\'\\|bibentry" macro)
|
((string-match "\\`\\\\cite\\|cite\\*?\\'\\|bibentry" macro)
|
||||||
;; A citation macro: search for bibitems or BibTeX entries
|
;; A citation macro: search for bibitems or BibTeX entries
|
||||||
(setq dw (reftex-view-cr-cite arg key auto-how)))
|
(setq dw (reftex-view-cr-cite arg key auto-how)))
|
||||||
((string-match "\\`\\\\ref\\|ref\\(range\\)?\\*?\\'" macro)
|
((string-match "\\`\\\\ref\\|ref\\(range\\)?\\*?\\'" macro)
|
||||||
;; A reference macro: search for labels
|
;; A reference macro: search for labels
|
||||||
(setq dw (reftex-view-cr-ref arg key auto-how)))
|
(setq dw (reftex-view-cr-ref arg key auto-how)))
|
||||||
(auto-how nil) ;; No further action for automatic display (speed)
|
(auto-how nil) ;; No further action for automatic display (speed)
|
||||||
((or (equal macro "\\label")
|
((or (equal macro "\\label")
|
||||||
(member macro reftex-macros-with-labels))
|
(member macro reftex-macros-with-labels))
|
||||||
;; A label macro: search for reference macros
|
;; A label macro: search for reference macros
|
||||||
(reftex-access-scan-info arg)
|
(reftex-access-scan-info arg)
|
||||||
(setq dw (reftex-view-regexp-match
|
(setq dw (reftex-view-regexp-match
|
||||||
(format reftex-find-reference-format (regexp-quote key))
|
(format reftex-find-reference-format (regexp-quote key))
|
||||||
4 nil nil)))
|
4 nil nil)))
|
||||||
((equal macro "\\bibitem")
|
((equal macro "\\bibitem")
|
||||||
;; A bibitem macro: search for citations
|
;; A bibitem macro: search for citations
|
||||||
(reftex-access-scan-info arg)
|
(reftex-access-scan-info arg)
|
||||||
(setq dw (reftex-view-regexp-match
|
(setq dw (reftex-view-regexp-match
|
||||||
(format reftex-find-citation-regexp-format (regexp-quote key))
|
(format reftex-find-citation-regexp-format (regexp-quote key))
|
||||||
4 nil nil)))
|
4 nil nil)))
|
||||||
((member macro reftex-macros-with-index)
|
((member macro reftex-macros-with-index)
|
||||||
(reftex-access-scan-info arg)
|
(reftex-access-scan-info arg)
|
||||||
(setq dw (reftex-view-regexp-match
|
(setq dw (reftex-view-regexp-match
|
||||||
(format reftex-find-index-entry-regexp-format
|
(format reftex-find-index-entry-regexp-format
|
||||||
(regexp-quote key))
|
(regexp-quote key))
|
||||||
3 nil nil)))
|
3 nil nil)))
|
||||||
(t
|
(t
|
||||||
(reftex-access-scan-info arg)
|
(reftex-access-scan-info arg)
|
||||||
(catch 'exit
|
(catch 'exit
|
||||||
(let ((list reftex-view-crossref-extra)
|
(let ((list reftex-view-crossref-extra)
|
||||||
entry mre action group)
|
entry mre action group)
|
||||||
(while (setq entry (pop list))
|
(while (setq entry (pop list))
|
||||||
(setq mre (car entry)
|
(setq mre (car entry)
|
||||||
action (nth 1 entry)
|
action (nth 1 entry)
|
||||||
group (nth 2 entry))
|
group (nth 2 entry))
|
||||||
(when (string-match mre macro)
|
(when (string-match mre macro)
|
||||||
(setq dw (reftex-view-regexp-match
|
(setq dw (reftex-view-regexp-match
|
||||||
(format action key) group nil nil))
|
(format action key) group nil nil))
|
||||||
(throw 'exit t))))
|
(throw 'exit t))))
|
||||||
(error "Not on a crossref macro argument"))))
|
(error "Not on a crossref macro argument"))))
|
||||||
(if (and (eq arg 2) (windowp dw)) (select-window dw))))
|
(if (and (eq arg 2) (windowp dw)) (select-window dw)))))
|
||||||
|
|
||||||
(defun reftex-view-cr-cite (arg key how)
|
(defun reftex-view-cr-cite (arg key how)
|
||||||
;; View crossreference of a ref cite. HOW can have the values
|
;; View crossreference of a ref cite. HOW can have the values
|
||||||
|
|
@ -243,7 +244,7 @@ With argument, actually select the window showing the cross reference."
|
||||||
(not (memq last-command '(reftex-view-crossref
|
(not (memq last-command '(reftex-view-crossref
|
||||||
reftex-mouse-view-crossref)))
|
reftex-mouse-view-crossref)))
|
||||||
;; Quick precheck if this might be a relevant spot
|
;; Quick precheck if this might be a relevant spot
|
||||||
;; FIXME: Can fail with backslash in comment
|
;; `reftex-view-crossref' will do a more thorough check.
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(search-backward "\\" nil t)
|
(search-backward "\\" nil t)
|
||||||
(looking-at "\\\\[a-zA-Z]*\\(cite\\|ref\\|bibentry\\)"))
|
(looking-at "\\\\[a-zA-Z]*\\(cite\\|ref\\|bibentry\\)"))
|
||||||
|
|
@ -252,9 +253,9 @@ With argument, actually select the window showing the cross reference."
|
||||||
(let ((current-prefix-arg nil))
|
(let ((current-prefix-arg nil))
|
||||||
(cond
|
(cond
|
||||||
((eq reftex-auto-view-crossref t)
|
((eq reftex-auto-view-crossref t)
|
||||||
(reftex-view-crossref -1 'echo))
|
(reftex-view-crossref -1 'echo 'quiet))
|
||||||
((eq reftex-auto-view-crossref 'window)
|
((eq reftex-auto-view-crossref 'window)
|
||||||
(reftex-view-crossref -1 'tmp-window))
|
(reftex-view-crossref -1 'tmp-window 'quiet))
|
||||||
(t nil)))
|
(t nil)))
|
||||||
(error nil))))
|
(error nil))))
|
||||||
|
|
||||||
|
|
@ -267,7 +268,8 @@ With argument, actually select the window showing the cross reference."
|
||||||
;; Display crossref info in echo area.
|
;; Display crossref info in echo area.
|
||||||
(cond
|
(cond
|
||||||
((null docstruct)
|
((null docstruct)
|
||||||
(message "%s" (substitute-command-keys (format reftex-no-info-message "ref"))))
|
(message "%s"
|
||||||
|
(substitute-command-keys (format reftex-no-info-message "ref"))))
|
||||||
((null entry)
|
((null entry)
|
||||||
(message "ref: unknown label: %s" label))
|
(message "ref: unknown label: %s" label))
|
||||||
(t
|
(t
|
||||||
|
|
@ -301,7 +303,7 @@ With argument, actually select the window showing the cross reference."
|
||||||
(if (and files (= (length all-files) (length files)))
|
(if (and files (= (length all-files) (length files)))
|
||||||
(message "cite: no such database entry: %s" key)
|
(message "cite: no such database entry: %s" key)
|
||||||
(message "%s" (substitute-command-keys
|
(message "%s" (substitute-command-keys
|
||||||
(format reftex-no-info-message "cite"))))
|
(format reftex-no-info-message "cite"))))
|
||||||
nil)))
|
nil)))
|
||||||
(when entry
|
(when entry
|
||||||
(if item
|
(if item
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
@ -1555,6 +1555,18 @@ TeX-file-extensions."
|
||||||
:type '(repeat (cons (string :tag "File type")
|
:type '(repeat (cons (string :tag "File type")
|
||||||
(repeat (string :tag "Extension")))))
|
(repeat (string :tag "Extension")))))
|
||||||
|
|
||||||
|
(defcustom reftex-try-all-extensions nil
|
||||||
|
"Non-nil means, try all extensions listed in `reftex-file-extensions'.
|
||||||
|
When searching for a file, LaTeX uses only the default extension. However,
|
||||||
|
if you are working with a noweb system that produces the .tex files from
|
||||||
|
some other file, and you want RefTeX to scan the web file instead of the
|
||||||
|
tex file, you need to set this option. You also need to make the noweb
|
||||||
|
extension the default extension, i.e. the first in the list in
|
||||||
|
`reftex-file-extensions'.
|
||||||
|
Note that if you are using external file finders, this option has no effect."
|
||||||
|
:group 'reftex-finding-files
|
||||||
|
:type 'boolean)
|
||||||
|
|
||||||
(defcustom reftex-search-unrecursed-path-first t
|
(defcustom reftex-search-unrecursed-path-first t
|
||||||
"*Non-nil means, search all specified directories before trying recursion.
|
"*Non-nil means, search all specified directories before trying recursion.
|
||||||
Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then
|
Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; 2006 Free Software Foundation, Inc.
|
;; 2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
;; Author: Carsten Dominik <dominik@science.uva.nl>
|
||||||
;; Version: VERSIONTAG
|
;; Version: 4.31
|
||||||
;; Keywords: tex
|
;; Keywords: tex
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
@ -301,7 +301,7 @@
|
||||||
;;; Define the formal stuff for a minor mode named RefTeX.
|
;;; Define the formal stuff for a minor mode named RefTeX.
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(defconst reftex-version "RefTeX version VERSIONTAG"
|
(defconst reftex-version "RefTeX version 4.31"
|
||||||
"Version string for RefTeX.")
|
"Version string for RefTeX.")
|
||||||
|
|
||||||
(defvar reftex-mode nil
|
(defvar reftex-mode nil
|
||||||
|
|
@ -1437,14 +1437,17 @@ When DIE is non-nil, throw an error if file not found."
|
||||||
"\\)\\'"))
|
"\\)\\'"))
|
||||||
(files (if (string-match ext-re file)
|
(files (if (string-match ext-re file)
|
||||||
(cons file nil)
|
(cons file nil)
|
||||||
(cons (concat file def-ext) file)))
|
(if reftex-try-all-extensions
|
||||||
path old-path file1)
|
(append (mapcar (lambda (x) (concat file x))
|
||||||
|
extensions)
|
||||||
|
(list file))
|
||||||
|
(list (concat file def-ext) file))))
|
||||||
|
path old-path file1 f fs)
|
||||||
(cond
|
(cond
|
||||||
((file-name-absolute-p file)
|
((file-name-absolute-p file)
|
||||||
(setq file1
|
(while (setq f (pop files))
|
||||||
(or
|
(if (file-regular-p f)
|
||||||
(and (car files) (file-regular-p (car files)) (car files))
|
(setq file1 f files nil))))
|
||||||
(and (cdr files) (file-regular-p (cdr files)) (cdr files)))))
|
|
||||||
((and reftex-use-external-file-finders
|
((and reftex-use-external-file-finders
|
||||||
(assoc type reftex-external-file-finders))
|
(assoc type reftex-external-file-finders))
|
||||||
(setq file1 (reftex-find-file-externally file type master-dir)))
|
(setq file1 (reftex-find-file-externally file type master-dir)))
|
||||||
|
|
@ -1452,16 +1455,13 @@ When DIE is non-nil, throw an error if file not found."
|
||||||
(while (and (null file1) rec-values)
|
(while (and (null file1) rec-values)
|
||||||
(setq path (reftex-access-search-path
|
(setq path (reftex-access-search-path
|
||||||
type (pop rec-values) master-dir file))
|
type (pop rec-values) master-dir file))
|
||||||
(if (or (null old-path)
|
(setq fs files)
|
||||||
(not (eq old-path path)))
|
(while (and (null file1) (setq f (pop fs)))
|
||||||
(setq old-path path
|
(when (or (null old-path)
|
||||||
path (cons master-dir path)
|
(not (eq old-path path)))
|
||||||
file1 (or (and (car files)
|
(setq old-path path
|
||||||
(reftex-find-file-on-path
|
path (cons master-dir path))
|
||||||
(car files) path master-dir))
|
(setq file1 (reftex-find-file-on-path f path master-dir)))))))
|
||||||
(and (cdr files)
|
|
||||||
(reftex-find-file-on-path
|
|
||||||
(cdr files) path master-dir))))))))
|
|
||||||
(cond (file1 file1)
|
(cond (file1 file1)
|
||||||
(die (error "No such file: %s" file) nil)
|
(die (error "No such file: %s" file) nil)
|
||||||
(t (message "No such file: %s (ignored)" file) nil))))
|
(t (message "No such file: %s (ignored)" file) nil))))
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,37 @@
|
||||||
|
2006-02-23 Juri Linkov <juri@jurta.org>
|
||||||
|
|
||||||
|
* faq.texi (Common requests): Move `Turning on auto-fill by
|
||||||
|
default' after `Wrapping words automatically'. Move `Working with
|
||||||
|
unprintable characters' before `Searching for/replacing newlines'.
|
||||||
|
Move `Replacing highlighted text' after `Highlighting a region'.
|
||||||
|
Merge `Repeating commands' and `Repeating a command as many times
|
||||||
|
as possible' into the former.
|
||||||
|
(Packages that do not come with Emacs): Add refs to Gmane and
|
||||||
|
etc/MORE.STUFF.
|
||||||
|
|
||||||
|
2006-02-23 Juri Linkov <juri@jurta.org>
|
||||||
|
|
||||||
|
* faq.texi (Newsgroup archives): Update URLs of GNU mail archives.
|
||||||
|
(Reporting bugs): Suggest using `M-x report-emacs-bug'.
|
||||||
|
Add xref to `(emacs)Reporting Bugs'.
|
||||||
|
(Getting a printed manual): Add URL to other formats of the manual.
|
||||||
|
(Common requests): Fix menu.
|
||||||
|
(Highlighting a region): Remove ref to `Turning on syntax highlighting'.
|
||||||
|
(Horizontal scrolling): Mention `truncate-partial-width-windows'.
|
||||||
|
(Inserting text at the beginning of each line): Add pxref to
|
||||||
|
`Changing the included text prefix'.
|
||||||
|
(Forcing the cursor to remain in the same column): Mention `track-eol'
|
||||||
|
and `set-goal-column'. Add pxref to `(emacs)Moving Point'.
|
||||||
|
(Replacing text across multiple files): Add keybinding `Q' for
|
||||||
|
`dired-do-query-replace'.
|
||||||
|
|
||||||
|
2006-02-22 Carsten Dominik <dominik@science.uva.nl>
|
||||||
|
|
||||||
|
* reftex.texi: Version number and date change only.
|
||||||
|
|
||||||
|
* org.texi: (Internal Links): Rewritten to cover the modified
|
||||||
|
linking system.
|
||||||
|
|
||||||
2006-02-21 Nick Roberts <nickrob@snap.net.nz>
|
2006-02-21 Nick Roberts <nickrob@snap.net.nz>
|
||||||
|
|
||||||
* building.texi (Watch Expressions): Update and describe
|
* building.texi (Watch Expressions): Update and describe
|
||||||
|
|
|
||||||
349
man/faq.texi
349
man/faq.texi
|
|
@ -423,14 +423,17 @@ years, although there may be some unintentional gaps in coverage. The
|
||||||
archive is not particularly well organized or easy to retrieve
|
archive is not particularly well organized or easy to retrieve
|
||||||
individual postings from, but pretty much everything is there.
|
individual postings from, but pretty much everything is there.
|
||||||
|
|
||||||
The archive is at @uref{ftp://ftp-mailing-list-archives.gnu.org}.
|
The archive is at @uref{ftp://lists.gnu.org/}.
|
||||||
|
|
||||||
The archive can be browsed over the web at
|
The archive can be browsed over the web at
|
||||||
@uref{http://mail.gnu.org/archive/html/, the GNU mail archive}.
|
@uref{http://lists.gnu.org/archive/html/, the GNU mail archive}.
|
||||||
|
|
||||||
Web-based Usenet search services, such as
|
Web-based Usenet search services, such as
|
||||||
@uref{http://groups.google.com, Google}, also archive the
|
@uref{http://groups.google.com/groups/dir?sel=33592484, Google}, also
|
||||||
@code{gnu.*} groups.
|
archive the @code{gnu.*} groups.
|
||||||
|
|
||||||
|
You can read the archives of the @code{gnu.*} groups and post new
|
||||||
|
messages at @uref{http://gmane.org/, Gmane}.
|
||||||
|
|
||||||
@node Reporting bugs, Unsubscribing from Emacs lists, Newsgroup archives, General questions
|
@node Reporting bugs, Unsubscribing from Emacs lists, Newsgroup archives, General questions
|
||||||
@section Where should I report bugs and other problems with Emacs?
|
@section Where should I report bugs and other problems with Emacs?
|
||||||
|
|
@ -439,16 +442,19 @@ Web-based Usenet search services, such as
|
||||||
@cindex How to submit a bug report
|
@cindex How to submit a bug report
|
||||||
@cindex Reporting bugs
|
@cindex Reporting bugs
|
||||||
|
|
||||||
The correct way to report Emacs bugs is by e-mail to
|
The correct way to report Emacs bugs is to use the command
|
||||||
@email{bug-gnu-emacs@@gnu.org}. Anything sent here also appears in the
|
@kbd{M-x report-emacs-bug}. It sets up a mail buffer with the
|
||||||
|
essential information and the correct e-mail address which is
|
||||||
|
@email{bug-gnu-emacs@@gnu.org} for the released versions of Emacs.
|
||||||
|
Anything sent to @email{bug-gnu-emacs@@gnu.org} also appears in the
|
||||||
newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of
|
newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of
|
||||||
news to submit the bug report. This ensures a reliable return address
|
news to submit the bug report. This ensures a reliable return address
|
||||||
so you can be contacted for further details.
|
so you can be contacted for further details.
|
||||||
|
|
||||||
Be sure to read the ``Bugs'' section of the Emacs manual before reporting
|
Be sure to read the ``Bugs'' section of the Emacs manual before reporting
|
||||||
a bug to bug-gnu-emacs! The manual describes in detail how to submit a
|
a bug! The manual describes in detail how to submit a useful bug
|
||||||
useful bug report. (@xref{On-line manual}, if you don't know how to read the
|
report (@pxref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}).
|
||||||
manual.)
|
(@xref{On-line manual}, if you don't know how to read the manual.)
|
||||||
|
|
||||||
RMS says:
|
RMS says:
|
||||||
|
|
||||||
|
|
@ -674,6 +680,10 @@ An HTML version of the manual is at
|
||||||
|
|
||||||
@uref{http://www.gnu.org/software/emacs/manual/emacs.html}
|
@uref{http://www.gnu.org/software/emacs/manual/emacs.html}
|
||||||
|
|
||||||
|
The manual is available in other formats at
|
||||||
|
|
||||||
|
@uref{http://www.gnu.org/software/emacs/manual/}
|
||||||
|
|
||||||
@xref{Learning how to do something}, for how to view the manual on-line.
|
@xref{Learning how to do something}, for how to view the manual on-line.
|
||||||
|
|
||||||
@node Emacs Lisp documentation, Installing Texinfo documentation, Getting a printed manual, Getting help
|
@node Emacs Lisp documentation, Installing Texinfo documentation, Getting a printed manual, Getting help
|
||||||
|
|
@ -763,12 +773,19 @@ privileges, you have several options:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
Info files don't actually need to be installed before being used. You
|
Info files don't actually need to be installed before being used.
|
||||||
can feed a file name to the @code{Info-goto-node} command (invoked by
|
You can use a prefix argument for the @code{info} command and specify
|
||||||
pressing @key{g} in Info mode) by typing the name of the file in
|
the name of the Info file in the minibuffer. This goes to the node
|
||||||
parentheses. This goes to the node named ``Top'' in that file. For
|
named @samp{Top} in that file. For example, to view a Info file named
|
||||||
example, to view a Info file named @file{@var{info-file}} in your home
|
@file{@var{info-file}} in your home directory, you can type this:
|
||||||
directory, you can type this:
|
|
||||||
|
@example
|
||||||
|
@kbd{C-u C-h i ~/@var{info-file} @key{RET}}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Alternatively, you can feed a file name to the @code{Info-goto-node}
|
||||||
|
command (invoked by pressing @key{g} in Info mode) by typing the name
|
||||||
|
of the file in parentheses, like this:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@kbd{C-h i g (~/@var{info-file}) @key{RET}}
|
@kbd{C-h i g (~/@var{info-file}) @key{RET}}
|
||||||
|
|
@ -1074,7 +1091,7 @@ conventions}).
|
||||||
|
|
||||||
Emacs @value{VER} is the current version as of this writing.
|
Emacs @value{VER} is the current version as of this writing.
|
||||||
|
|
||||||
@node New in Emacs 20, New in Emacs 21, Latest version of Emacs, Status of Emacs
|
@node New in Emacs 20, New in Emacs 21, Latest version of Emacs, Status of Emacs
|
||||||
@section What is different about Emacs 20?
|
@section What is different about Emacs 20?
|
||||||
@cindex Differences between Emacs 19 and Emacs 20
|
@cindex Differences between Emacs 19 and Emacs 20
|
||||||
@cindex Emacs 20, new features in
|
@cindex Emacs 20, new features in
|
||||||
|
|
@ -1122,7 +1139,7 @@ In addition, Emacs 21 supports faces on text-only terminals. This means
|
||||||
that you can now have colors when you run Emacs on a GNU/Linux console
|
that you can now have colors when you run Emacs on a GNU/Linux console
|
||||||
and on @code{xterm} with @kbd{emacs -nw}.
|
and on @code{xterm} with @kbd{emacs -nw}.
|
||||||
|
|
||||||
@node New in Emacs 22, , New in Emacs 21, Status of Emacs
|
@node New in Emacs 22, , New in Emacs 21, Status of Emacs
|
||||||
@section What is different about Emacs 22?
|
@section What is different about Emacs 22?
|
||||||
@cindex Differences between Emacs 21 and Emacs 22
|
@cindex Differences between Emacs 21 and Emacs 22
|
||||||
@cindex Emacs 22, new features in
|
@cindex Emacs 22, new features in
|
||||||
|
|
@ -1163,19 +1180,20 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
|
||||||
@menu
|
@menu
|
||||||
* Setting up a customization file::
|
* Setting up a customization file::
|
||||||
* Using Customize::
|
* Using Customize::
|
||||||
* Debugging a customization file::
|
|
||||||
* Colors on a TTY::
|
* Colors on a TTY::
|
||||||
|
* Debugging a customization file::
|
||||||
* Displaying the current line or column::
|
* Displaying the current line or column::
|
||||||
* Displaying the current file name in the titlebar::
|
* Displaying the current file name in the titlebar::
|
||||||
* Turning on abbrevs by default::
|
* Turning on abbrevs by default::
|
||||||
* Turning on auto-fill by default::
|
|
||||||
* Associating modes with files::
|
* Associating modes with files::
|
||||||
* Working with unprintable characters::
|
|
||||||
* Highlighting a region::
|
* Highlighting a region::
|
||||||
|
* Replacing highlighted text::
|
||||||
* Controlling case sensitivity::
|
* Controlling case sensitivity::
|
||||||
* Wrapping words automatically::
|
* Working with unprintable characters::
|
||||||
* Searching for/replacing newlines::
|
* Searching for/replacing newlines::
|
||||||
* Yanking text in isearch::
|
* Yanking text in isearch::
|
||||||
|
* Wrapping words automatically::
|
||||||
|
* Turning on auto-fill by default::
|
||||||
* Spell-checkers::
|
* Spell-checkers::
|
||||||
* Checking TeX and *roff documents::
|
* Checking TeX and *roff documents::
|
||||||
* Changing load-path::
|
* Changing load-path::
|
||||||
|
|
@ -1196,7 +1214,6 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
|
||||||
* Changing the length of a Tab::
|
* Changing the length of a Tab::
|
||||||
* Inserting text at the beginning of each line::
|
* Inserting text at the beginning of each line::
|
||||||
* Underlining paragraphs::
|
* Underlining paragraphs::
|
||||||
* Repeating a command as many times as possible::
|
|
||||||
* Forcing the cursor to remain in the same column::
|
* Forcing the cursor to remain in the same column::
|
||||||
* Forcing Emacs to iconify itself::
|
* Forcing Emacs to iconify itself::
|
||||||
* Using regular expressions::
|
* Using regular expressions::
|
||||||
|
|
@ -1209,7 +1226,6 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
|
||||||
* Deleting menus and menu options::
|
* Deleting menus and menu options::
|
||||||
* Turning on syntax highlighting::
|
* Turning on syntax highlighting::
|
||||||
* Scrolling only one line::
|
* Scrolling only one line::
|
||||||
* Replacing highlighted text::
|
|
||||||
* Editing MS-DOS files::
|
* Editing MS-DOS files::
|
||||||
* Filling paragraphs with a single space::
|
* Filling paragraphs with a single space::
|
||||||
* Escape sequences in shell output::
|
* Escape sequences in shell output::
|
||||||
|
|
@ -1387,7 +1403,7 @@ in your @file{.emacs}:
|
||||||
(setq frame-title-format "%b")
|
(setq frame-title-format "%b")
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@node Turning on abbrevs by default, Turning on auto-fill by default, Displaying the current file name in the titlebar, Common requests
|
@node Turning on abbrevs by default, Associating modes with files, Displaying the current file name in the titlebar, Common requests
|
||||||
@section How do I turn on abbrevs by default just in mode @var{mymode}?
|
@section How do I turn on abbrevs by default just in mode @var{mymode}?
|
||||||
@cindex Abbrevs, turning on by default
|
@cindex Abbrevs, turning on by default
|
||||||
|
|
||||||
|
|
@ -1406,30 +1422,7 @@ Put this in your @file{.emacs} file:
|
||||||
Starting with Emacs 22, the standard abbrevs file is read automatically
|
Starting with Emacs 22, the standard abbrevs file is read automatically
|
||||||
at startup, so the first of these two forms becomes unnecessary.
|
at startup, so the first of these two forms becomes unnecessary.
|
||||||
|
|
||||||
@node Turning on auto-fill by default, Associating modes with files, Turning on abbrevs by default, Common requests
|
@node Associating modes with files, Highlighting a region, Turning on abbrevs by default, Common requests
|
||||||
@section How do I turn on @code{auto-fill-mode} by default?
|
|
||||||
@cindex @code{auto-fill-mode}, activating automatically
|
|
||||||
@cindex Filling automatically
|
|
||||||
@cindex Automatic entry to @code{auto-fill-mode}
|
|
||||||
|
|
||||||
To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x
|
|
||||||
auto-fill-mode}.
|
|
||||||
|
|
||||||
To turn it on for every buffer in a certain mode, you must use the hook
|
|
||||||
for that mode. For example, to turn on @code{auto-fill} mode for all
|
|
||||||
text buffers, including the following in your @file{.emacs} file:
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(add-hook 'text-mode-hook 'turn-on-auto-fill)
|
|
||||||
@end lisp
|
|
||||||
|
|
||||||
If you want @code{auto-fill} mode on in all major modes, do this:
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(setq-default auto-fill-function 'do-auto-fill)
|
|
||||||
@end lisp
|
|
||||||
|
|
||||||
@node Associating modes with files, Working with unprintable characters, Turning on auto-fill by default, Common requests
|
|
||||||
@section How do I make Emacs use a certain major mode for certain files?
|
@section How do I make Emacs use a certain major mode for certain files?
|
||||||
@cindex Associating modes with files
|
@cindex Associating modes with files
|
||||||
@cindex File extensions and modes
|
@cindex File extensions and modes
|
||||||
|
|
@ -1459,7 +1452,81 @@ the script.) This feature only applies when the file name doesn't
|
||||||
indicate which mode to use. Use @kbd{C-h v} (or @kbd{M-x
|
indicate which mode to use. Use @kbd{C-h v} (or @kbd{M-x
|
||||||
describe-variable}) on @code{interpreter-mode-alist} to learn more.
|
describe-variable}) on @code{interpreter-mode-alist} to learn more.
|
||||||
|
|
||||||
@node Working with unprintable characters, Highlighting a region, Associating modes with files, Common requests
|
@node Highlighting a region, Replacing highlighted text, Associating modes with files, Common requests
|
||||||
|
@section How can I highlight a region of text in Emacs?
|
||||||
|
@cindex Highlighting text
|
||||||
|
@cindex Text, highlighting
|
||||||
|
@cindex @code{transient-mark-mode}
|
||||||
|
@cindex Region, highlighting a
|
||||||
|
|
||||||
|
You can cause the region to be highlighted when the mark is active by
|
||||||
|
including
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(transient-mark-mode t)
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
in your @file{.emacs} file.
|
||||||
|
|
||||||
|
@node Replacing highlighted text, Controlling case sensitivity, Highlighting a region, Common requests
|
||||||
|
@section How can I replace highlighted text with what I type?
|
||||||
|
@cindex @code{delete-selection-mode}
|
||||||
|
@cindex Replacing highlighted text
|
||||||
|
@cindex Highlighting and replacing text
|
||||||
|
|
||||||
|
Use @code{delete-selection-mode}, which you can start automatically by
|
||||||
|
placing the following Lisp form in your @file{.emacs} file:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(delete-selection-mode 1)
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
According to the documentation string for @code{delete-selection-mode}
|
||||||
|
(which you can read using @kbd{M-x describe-function @key{RET}
|
||||||
|
delete-selection-mode @key{RET}}):
|
||||||
|
|
||||||
|
@quotation
|
||||||
|
When ON, typed text replaces the selection if the selection is active.
|
||||||
|
When OFF, typed text is just inserted at point.
|
||||||
|
@end quotation
|
||||||
|
|
||||||
|
This mode also allows you to delete (not kill) the highlighted region by
|
||||||
|
pressing @key{DEL}.
|
||||||
|
|
||||||
|
@node Controlling case sensitivity, Working with unprintable characters, Replacing highlighted text, Common requests
|
||||||
|
@section How do I control Emacs's case-sensitivity when searching/replacing?
|
||||||
|
@cindex @code{case-fold-search}
|
||||||
|
@cindex Case sensitivity of searches
|
||||||
|
@cindex Searching without case sensitivity
|
||||||
|
@cindex Ignoring case in searches
|
||||||
|
|
||||||
|
For searching, the value of the variable @code{case-fold-search}
|
||||||
|
determines whether they are case sensitive:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(setq case-fold-search nil) ; make searches case sensitive
|
||||||
|
(setq case-fold-search t) ; make searches case insensitive
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@cindex Case sensitivity in replacements
|
||||||
|
@cindex Replacing, and case sensitivity
|
||||||
|
@cindex @code{case-replace}
|
||||||
|
Similarly, for replacing, the variable @code{case-replace} determines
|
||||||
|
whether replacements preserve case.
|
||||||
|
|
||||||
|
You can also toggle case sensitivity at will in isearch with @kbd{M-c}.
|
||||||
|
|
||||||
|
To change the case sensitivity just for one major mode, use the major
|
||||||
|
mode's hook. For example:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(add-hook '@var{foo}-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(setq case-fold-search nil)))
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@node Working with unprintable characters, Searching for/replacing newlines, Controlling case sensitivity, Common requests
|
||||||
@section How do I search for, delete, or replace unprintable (eight-bit or control) characters?
|
@section How do I search for, delete, or replace unprintable (eight-bit or control) characters?
|
||||||
@cindex Unprintable characters, working with
|
@cindex Unprintable characters, working with
|
||||||
@cindex Working with unprintable characters
|
@cindex Working with unprintable characters
|
||||||
|
|
@ -1507,65 +1574,7 @@ characters with a colon, use:
|
||||||
|
|
||||||
M-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}
|
M-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}
|
||||||
|
|
||||||
@itemize @bullet
|
@node Searching for/replacing newlines, Yanking text in isearch, Working with unprintable characters, Common requests
|
||||||
|
|
||||||
@item
|
|
||||||
You don't need to quote @key{TAB} with either isearch or typing
|
|
||||||
something in the minibuffer.
|
|
||||||
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@node Highlighting a region, Controlling case sensitivity, Working with unprintable characters, Common requests
|
|
||||||
@section How can I highlight a region of text in Emacs?
|
|
||||||
@cindex Highlighting text
|
|
||||||
@cindex Text, highlighting
|
|
||||||
@cindex @code{transient-mark-mode}
|
|
||||||
@cindex Region, highlighting a
|
|
||||||
|
|
||||||
You can cause the region to be highlighted when the mark is active by
|
|
||||||
including
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(transient-mark-mode t)
|
|
||||||
@end lisp
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
in your @file{.emacs} file. (Also see @ref{Turning on syntax
|
|
||||||
highlighting}.)
|
|
||||||
|
|
||||||
@node Controlling case sensitivity, Searching for/replacing newlines, Highlighting a region, Common requests
|
|
||||||
@section How do I control Emacs's case-sensitivity when searching/replacing?
|
|
||||||
@cindex @code{case-fold-search}
|
|
||||||
@cindex Case sensitivity of searches
|
|
||||||
@cindex Searching without case sensitivity
|
|
||||||
@cindex Ignoring case in searches
|
|
||||||
|
|
||||||
For searching, the value of the variable @code{case-fold-search}
|
|
||||||
determines whether they are case sensitive:
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(setq case-fold-search nil) ; make searches case sensitive
|
|
||||||
(setq case-fold-search t) ; make searches case insensitive
|
|
||||||
@end lisp
|
|
||||||
|
|
||||||
@cindex Case sensitivity in replacements
|
|
||||||
@cindex Replacing, and case sensitivity
|
|
||||||
@cindex @code{case-replace}
|
|
||||||
Similarly, for replacing, the variable @code{case-replace} determines
|
|
||||||
whether replacements preserve case.
|
|
||||||
|
|
||||||
You can also toggle case sensitivity at will in isearch with @kbd{M-c}.
|
|
||||||
|
|
||||||
To change the case sensitivity just for one major mode, use the major
|
|
||||||
mode's hook. For example:
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(add-hook '@var{foo}-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(setq case-fold-search nil)))
|
|
||||||
@end lisp
|
|
||||||
|
|
||||||
@node Searching for/replacing newlines, Yanking text in isearch, Controlling case sensitivity, Common requests
|
|
||||||
@section How do I input a newline character in isearch or query-replace?
|
@section How do I input a newline character in isearch or query-replace?
|
||||||
@cindex Searching for newlines
|
@cindex Searching for newlines
|
||||||
@cindex Replacing newlines
|
@cindex Replacing newlines
|
||||||
|
|
@ -1581,7 +1590,7 @@ Special Input for Incremental Search, emacs}.
|
||||||
|
|
||||||
Use @kbd{M-y}. @inforef{Isearch Yank, Isearch Yanking, emacs}.
|
Use @kbd{M-y}. @inforef{Isearch Yank, Isearch Yanking, emacs}.
|
||||||
|
|
||||||
@node Wrapping words automatically, Spell-checkers, Yanking text in isearch, Common requests
|
@node Wrapping words automatically, Turning on auto-fill by default, Yanking text in isearch, Common requests
|
||||||
@section How do I make Emacs wrap words for me?
|
@section How do I make Emacs wrap words for me?
|
||||||
@cindex Wrapping word automatically
|
@cindex Wrapping word automatically
|
||||||
@cindex Wrapping lines
|
@cindex Wrapping lines
|
||||||
|
|
@ -1595,7 +1604,30 @@ The default maximum line width is 70, determined by the variable
|
||||||
@code{fill-column}. To learn how to turn this on automatically, see
|
@code{fill-column}. To learn how to turn this on automatically, see
|
||||||
@ref{Turning on auto-fill by default}.
|
@ref{Turning on auto-fill by default}.
|
||||||
|
|
||||||
@node Spell-checkers, Checking TeX and *roff documents, Wrapping words automatically, Common requests
|
@node Turning on auto-fill by default, Spell-checkers, Wrapping words automatically, Common requests
|
||||||
|
@section How do I turn on @code{auto-fill-mode} by default?
|
||||||
|
@cindex @code{auto-fill-mode}, activating automatically
|
||||||
|
@cindex Filling automatically
|
||||||
|
@cindex Automatic entry to @code{auto-fill-mode}
|
||||||
|
|
||||||
|
To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x
|
||||||
|
auto-fill-mode}.
|
||||||
|
|
||||||
|
To turn it on for every buffer in a certain mode, you must use the hook
|
||||||
|
for that mode. For example, to turn on @code{auto-fill} mode for all
|
||||||
|
text buffers, including the following in your @file{.emacs} file:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(add-hook 'text-mode-hook 'turn-on-auto-fill)
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
If you want @code{auto-fill} mode on in all major modes, do this:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(setq-default auto-fill-function 'do-auto-fill)
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@node Spell-checkers, Checking TeX and *roff documents, Turning on auto-fill by default, Common requests
|
||||||
@section Where can I get a better spelling checker for Emacs?
|
@section Where can I get a better spelling checker for Emacs?
|
||||||
@cindex Checking spelling
|
@cindex Checking spelling
|
||||||
@cindex Spelling, checking text documents
|
@cindex Spelling, checking text documents
|
||||||
|
|
@ -1845,6 +1877,10 @@ In Emacs 21 and later, this is on by default: if the variable
|
||||||
automatically scrolls the display horizontally when point moves off the
|
automatically scrolls the display horizontally when point moves off the
|
||||||
left or right edge of the window.
|
left or right edge of the window.
|
||||||
|
|
||||||
|
Note that this is overridden by the variable
|
||||||
|
@code{truncate-partial-width-windows} if that variable is non-nil
|
||||||
|
and the current buffer is not full-frame width.
|
||||||
|
|
||||||
In Emacs 20, use the @code{hscroll-mode}. Here is some information from
|
In Emacs 20, use the @code{hscroll-mode}. Here is some information from
|
||||||
the documentation, available by typing @kbd{C-h f hscroll-mode @key{RET}}:
|
the documentation, available by typing @kbd{C-h f hscroll-mode @key{RET}}:
|
||||||
|
|
||||||
|
|
@ -2035,14 +2071,11 @@ parenthesis, it simply inserts a % like normal.
|
||||||
to investigate @file{cpp.el}, which is distributed with Emacs.
|
to investigate @file{cpp.el}, which is distributed with Emacs.
|
||||||
|
|
||||||
@node Repeating commands, Valid X resources, Hiding #ifdef lines, Common requests
|
@node Repeating commands, Valid X resources, Hiding #ifdef lines, Common requests
|
||||||
@section Is there an equivalent to the @code{.} (dot) command of vi?
|
@section How do I repeat a command as many times as possible?
|
||||||
@cindex Repeating commands as with @code{vi}
|
@cindex Repeating commands many times
|
||||||
@cindex Command, repeat last
|
@cindex Commands, repeating many times
|
||||||
@cindex @code{.}, equivalent to @code{vi} command
|
@cindex @code{.}, equivalent to @code{vi} command
|
||||||
|
|
||||||
(@code{.} is the redo command in @code{vi}. It redoes the last
|
|
||||||
insertion/deletion.)
|
|
||||||
|
|
||||||
As of Emacs 20.3, there is indeed a @code{repeat} command (@kbd{C-x z})
|
As of Emacs 20.3, there is indeed a @code{repeat} command (@kbd{C-x z})
|
||||||
that repeats the last command. If you preface it with a prefix
|
that repeats the last command. If you preface it with a prefix
|
||||||
argument, the prefix arg is applied to the command.
|
argument, 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
|
||||||
keyboard has these keys) to scan through all the different complex
|
keyboard has these keys) to scan through all the different complex
|
||||||
commands you've typed.
|
commands you've typed.
|
||||||
|
|
||||||
To repeat a set of commands, use keyboard macros. (@inforef{Keyboard
|
To repeat a set of commands, use keyboard macros. Use @kbd{C-x (} and
|
||||||
Macros, Keyboard Macros, emacs}.)
|
@kbd{C-x )} to make a keyboard macro that invokes the command and then
|
||||||
|
type @kbd{C-x e}. (@inforef{Keyboard Macros, Keyboard Macros, emacs}.)
|
||||||
|
|
||||||
If you're really desperate for the @code{.} command, use VIPER, a
|
If you're really desperate for the @code{.} command in @code{vi} that
|
||||||
@code{vi} emulation mode which comes with Emacs, and which appears to
|
redoes the last insertion/deletion, use VIPER, a @code{vi} emulation
|
||||||
support it. (@xref{VIPER}.)
|
mode which comes with Emacs, and which appears to support it.
|
||||||
|
(@xref{VIPER}.)
|
||||||
|
|
||||||
@node Valid X resources, Evaluating Emacs Lisp code, Repeating commands, Common requests
|
@node Valid X resources, Evaluating Emacs Lisp code, Repeating commands, Common requests
|
||||||
@section What are the valid X resource settings (i.e., stuff in .Xdefaults)?
|
@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
|
||||||
might want to set the variable @code{mail-yank-prefix}. In Message
|
might want to set the variable @code{mail-yank-prefix}. In Message
|
||||||
buffers, you can even use @kbd{M-;} to cite yanked messages (@kbd{M-;}
|
buffers, you can even use @kbd{M-;} to cite yanked messages (@kbd{M-;}
|
||||||
runs the function @code{comment-region}, it is a general-purpose
|
runs the function @code{comment-region}, it is a general-purpose
|
||||||
mechanism to comment regions).
|
mechanism to comment regions) (@pxref{Changing the included text prefix}).
|
||||||
|
|
||||||
@node Underlining paragraphs, Repeating a command as many times as possible, Inserting text at the beginning of each line, Common requests
|
@node Underlining paragraphs, Forcing the cursor to remain in the same column, Inserting text at the beginning of each line, Common requests
|
||||||
@section How do I insert @samp{_^H} before each character in a region to get an underlined paragraph?
|
@section How do I insert @samp{_^H} before each character in a region to get an underlined paragraph?
|
||||||
@cindex Underlining a region of text
|
@cindex Underlining a region of text
|
||||||
@cindex @code{underline-region}
|
@cindex @code{underline-region}
|
||||||
|
|
||||||
Mark the region and then type @kbd{M-x underline-region @key{RET}}.
|
Mark the region and then type @kbd{M-x underline-region @key{RET}}.
|
||||||
|
|
||||||
@node Repeating a command as many times as possible, Forcing the cursor to remain in the same column, Underlining paragraphs, Common requests
|
@node Forcing the cursor to remain in the same column, Forcing Emacs to iconify itself, Underlining paragraphs, Common requests
|
||||||
@section How do I repeat a command as many times as possible?
|
|
||||||
@cindex Repeating commands many times
|
|
||||||
@cindex Commands, repeating many times
|
|
||||||
|
|
||||||
Use @kbd{C-x (} and @kbd{C-x )} to make a keyboard macro that invokes
|
|
||||||
the command and then type @kbd{M-0 C-x e}.
|
|
||||||
|
|
||||||
Any messages your command prints in the echo area will be suppressed.
|
|
||||||
|
|
||||||
If you need to repeat a command a small number of times, you can use
|
|
||||||
@kbd{C-x z} (@pxref{Repeating commands}) or @kbd{C-x e}.
|
|
||||||
|
|
||||||
@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
|
|
||||||
@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?
|
@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?
|
||||||
@cindex @code{picture-mode}
|
@cindex @code{picture-mode}
|
||||||
@cindex Remaining in the same column, regardless of contents
|
@cindex Remaining in the same column, regardless of contents
|
||||||
@cindex Vertical movement in empty documents
|
@cindex Vertical movement in empty documents
|
||||||
|
|
||||||
@kbd{M-x picture-mode}.
|
Use @kbd{M-x picture-mode}.
|
||||||
|
|
||||||
|
See also the variable @code{track-eol} and the command
|
||||||
|
@code{set-goal-column} bound to @kbd{C-x C-n}
|
||||||
|
(@pxref{Moving Point, , , emacs, The GNU Emacs Manual}).
|
||||||
|
|
||||||
@node Forcing Emacs to iconify itself, Using regular expressions, Forcing the cursor to remain in the same column, Common requests
|
@node Forcing Emacs to iconify itself, Using regular expressions, Forcing the cursor to remain in the same column, Common requests
|
||||||
@section How do I tell Emacs to iconify itself?
|
@section How do I tell Emacs to iconify itself?
|
||||||
|
|
@ -2240,8 +2266,8 @@ The ``tags'' feature of Emacs includes the command
|
||||||
files mentioned in the @file{TAGS} file. @inforef{Tags Search, Tags Search,
|
files mentioned in the @file{TAGS} file. @inforef{Tags Search, Tags Search,
|
||||||
emacs}.
|
emacs}.
|
||||||
|
|
||||||
As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x
|
As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d})
|
||||||
d}) supports the command @code{dired-do-query-replace}, which allows
|
supports the command @code{dired-do-query-replace} (@kbd{Q}), which allows
|
||||||
users to replace regular expressions in multiple files.
|
users to replace regular expressions in multiple files.
|
||||||
|
|
||||||
@node Documentation for etags, Disabling backups, Replacing text across multiple files, Common requests
|
@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;
|
||||||
consult the documentation of the variables @code{ps-printer-name},
|
consult the documentation of the variables @code{ps-printer-name},
|
||||||
@code{ps-lpr-command}, and @code{ps-lpr-switches} for more details.
|
@code{ps-lpr-command}, and @code{ps-lpr-switches} for more details.
|
||||||
|
|
||||||
@node Scrolling only one line, Replacing highlighted text, Turning on syntax highlighting, Common requests
|
@node Scrolling only one line, Editing MS-DOS files, Turning on syntax highlighting, Common requests
|
||||||
@section How can I force Emacs to scroll only one line when I move past the bottom of the screen?
|
@section How can I force Emacs to scroll only one line when I move past the bottom of the screen?
|
||||||
@cindex Scrolling only one line
|
@cindex Scrolling only one line
|
||||||
@cindex Reducing the increment when scrolling
|
@cindex Reducing the increment when scrolling
|
||||||
|
|
@ -2553,32 +2579,7 @@ Alternatively, use the following Lisp form in your @file{.emacs}:
|
||||||
(setq scroll-conservatively most-positive-fixnum)
|
(setq scroll-conservatively most-positive-fixnum)
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@node Replacing highlighted text, Editing MS-DOS files, Scrolling only one line, Common requests
|
@node Editing MS-DOS files, Filling paragraphs with a single space, Scrolling only one line, Common requests
|
||||||
@section How can I replace highlighted text with what I type?
|
|
||||||
@cindex @code{delete-selection-mode}
|
|
||||||
@cindex Replacing highlighted text
|
|
||||||
@cindex Highlighting and replacing text
|
|
||||||
|
|
||||||
Use @code{delete-selection-mode}, which you can start automatically by
|
|
||||||
placing the following Lisp form in your @file{.emacs} file:
|
|
||||||
|
|
||||||
@lisp
|
|
||||||
(delete-selection-mode 1)
|
|
||||||
@end lisp
|
|
||||||
|
|
||||||
According to the documentation string for @code{delete-selection-mode}
|
|
||||||
(which you can read using @kbd{M-x describe-function @key{RET}
|
|
||||||
delete-selection-mode @key{RET}}):
|
|
||||||
|
|
||||||
@quotation
|
|
||||||
When ON, typed text replaces the selection if the selection is active.
|
|
||||||
When OFF, typed text is just inserted at point.
|
|
||||||
@end quotation
|
|
||||||
|
|
||||||
This mode also allows you to delete (not kill) the highlighted region by
|
|
||||||
pressing @key{DEL}.
|
|
||||||
|
|
||||||
@node Editing MS-DOS files, Filling paragraphs with a single space, Replacing highlighted text, Common requests
|
|
||||||
@section How can I edit MS-DOS files using Emacs?
|
@section How can I edit MS-DOS files using Emacs?
|
||||||
@cindex Editing MS-DOS files
|
@cindex Editing MS-DOS files
|
||||||
@cindex MS-DOS files, editing
|
@cindex MS-DOS files, editing
|
||||||
|
|
@ -2601,7 +2602,7 @@ If you are running a version of Emacs before 20.1, get @code{crypt++}
|
||||||
and saved, allowing you to ignore the different conventions that Unix
|
and saved, allowing you to ignore the different conventions that Unix
|
||||||
and MS-DOS have for delineating the end of a line.
|
and MS-DOS have for delineating the end of a line.
|
||||||
|
|
||||||
@node Filling paragraphs with a single space, Escape sequences in shell output, Editing MS-DOS files, Common requests
|
@node Filling paragraphs with a single space, Escape sequences in shell output, Editing MS-DOS files, Common requests
|
||||||
@section How can I tell Emacs to fill paragraphs with a single space after each period?
|
@section How can I tell Emacs to fill paragraphs with a single space after each period?
|
||||||
@cindex One space following periods
|
@cindex One space following periods
|
||||||
@cindex Single space following periods
|
@cindex Single space following periods
|
||||||
|
|
@ -2613,7 +2614,7 @@ Add the following line to your @file{.emacs} file:
|
||||||
(setq sentence-end-double-space nil)
|
(setq sentence-end-double-space nil)
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@node Escape sequences in shell output, , Filling paragraphs with a single space, Common requests
|
@node Escape sequences in shell output, , Filling paragraphs with a single space, Common requests
|
||||||
@section Why these strange escape sequences from @code{ls} from the Shell mode?
|
@section Why these strange escape sequences from @code{ls} from the Shell mode?
|
||||||
@cindex Escape sequences in @code{ls} output
|
@cindex Escape sequences in @code{ls} output
|
||||||
@cindex @code{ls} in Shell mode
|
@cindex @code{ls} in Shell mode
|
||||||
|
|
@ -3478,7 +3479,8 @@ the @file{ell} package}.
|
||||||
|
|
||||||
Many authors post their packages to the @uref{news:gnu.emacs.sources,
|
Many authors post their packages to the @uref{news:gnu.emacs.sources,
|
||||||
Emacs sources newsgroup}. You can search the archives of this
|
Emacs sources newsgroup}. You can search the archives of this
|
||||||
group with @uref{http://groups.google.com, Google}, for example.
|
group with @uref{http://groups.google.com/group/gnu.emacs.sources, Google},
|
||||||
|
or @uref{http://dir.gmane.org/gmane.emacs.sources, Gmane}, for example.
|
||||||
|
|
||||||
Several packages are stored in
|
Several packages are stored in
|
||||||
@uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}.
|
@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
|
||||||
|
|
||||||
@uref{ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/WWW/index.html}
|
@uref{ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/WWW/index.html}
|
||||||
|
|
||||||
|
Read the file @file{etc/MORE.STUFF} for more information about
|
||||||
|
external packages.
|
||||||
|
|
||||||
@node Current GNU distributions, Difference between Emacs and XEmacs, Packages that do not come with Emacs, Finding Emacs and related packages
|
@node Current GNU distributions, Difference between Emacs and XEmacs, Packages that do not come with Emacs, Finding Emacs and related packages
|
||||||
@section Where can I get other up-to-date GNU stuff?
|
@section Where can I get other up-to-date GNU stuff?
|
||||||
@cindex Current GNU distributions
|
@cindex Current GNU distributions
|
||||||
|
|
@ -3715,7 +3720,7 @@ Beginning with version 22.1, Emacs supports Mac OS X natively.
|
||||||
Up-to-date information about GNU software (including Emacs) for VMS is
|
Up-to-date information about GNU software (including Emacs) for VMS is
|
||||||
available at @uref{http://vms.gnu.org/}.
|
available at @uref{http://vms.gnu.org/}.
|
||||||
|
|
||||||
@node Modes for various languages, , Emacs for VMS and DECwindows, Finding Emacs and related packages
|
@node Modes for various languages, , Emacs for VMS and DECwindows, Finding Emacs and related packages
|
||||||
@section Where can I get modes for Lex, Yacc/Bison, Bourne shell, csh, C@t{++}, Objective-C, Pascal, Java, and Awk?
|
@section Where can I get modes for Lex, Yacc/Bison, Bourne shell, csh, C@t{++}, Objective-C, Pascal, Java, and Awk?
|
||||||
@cindex Awk, mode for
|
@cindex Awk, mode for
|
||||||
@cindex @code{awk-mode}
|
@cindex @code{awk-mode}
|
||||||
|
|
@ -4782,7 +4787,7 @@ xmodmap -e 'remove mod1 = Mode_switch'
|
||||||
This will disable the use of the extra keysyms systemwide, which may be
|
This will disable the use of the extra keysyms systemwide, which may be
|
||||||
undesirable if you actually intend to use them.
|
undesirable if you actually intend to use them.
|
||||||
|
|
||||||
@node SPC no longer completes file names, , ExtendChar key does not work as Meta, Key bindings
|
@node SPC no longer completes file names, , ExtendChar key does not work as Meta, Key bindings
|
||||||
@section Why doesn't SPC complete file names anymore?
|
@section Why doesn't SPC complete file names anymore?
|
||||||
@cindex @kbd{SPC} file name completion
|
@cindex @kbd{SPC} file name completion
|
||||||
|
|
||||||
|
|
|
||||||
158
man/org.texi
158
man/org.texi
|
|
@ -4,8 +4,8 @@
|
||||||
@setfilename ../info/org
|
@setfilename ../info/org
|
||||||
@settitle Org Mode Manual
|
@settitle Org Mode Manual
|
||||||
|
|
||||||
@set VERSION 4.04
|
@set VERSION 4.06
|
||||||
@set DATE January 2006
|
@set DATE February 2006
|
||||||
|
|
||||||
@dircategory Emacs
|
@dircategory Emacs
|
||||||
@direntry
|
@direntry
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
@copying
|
@copying
|
||||||
This manual is for Org-mode (version @value{VERSION}).
|
This manual is for Org-mode (version @value{VERSION}).
|
||||||
|
|
||||||
Copyright @copyright{} 2004, 2005, 2006 Free Software Foundation, Inc.
|
Copyright @copyright{} 2004, 2005, 2006 Free Software Foundation
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
Permission is granted to copy, distribute and/or modify this document
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
|
@ -126,12 +126,17 @@ Calculations in tables
|
||||||
|
|
||||||
Hyperlinks
|
Hyperlinks
|
||||||
|
|
||||||
* Internal Links:: CamelCaseWords as internal links
|
* Internal Links:: Links to other places in the current file
|
||||||
* External Links:: URL-like links to the world
|
* External Links:: URL-like links to the world
|
||||||
* Managing links:: Creating, inserting and following
|
* Managing links:: Creating, inserting and following
|
||||||
* Search Options:: Linking to a specific location
|
* Search Options:: Linking to a specific location
|
||||||
* Remember:: Org-trees store quick notes
|
* Remember:: Org-trees store quick notes
|
||||||
|
|
||||||
|
Internal Links
|
||||||
|
|
||||||
|
* Radio targets:: Make targets trigger links in plain text.
|
||||||
|
* CamelCase links:: Activating CamelCase words as links
|
||||||
|
|
||||||
TODO items
|
TODO items
|
||||||
|
|
||||||
* TODO basics:: Marking and displaying TODO entries
|
* TODO basics:: Marking and displaying TODO entries
|
||||||
|
|
@ -155,12 +160,12 @@ Agenda Views
|
||||||
* Agenda files:: Files being searched for agenda information
|
* Agenda files:: Files being searched for agenda information
|
||||||
* Agenda dispatcher:: Keyboard access to agenda views
|
* Agenda dispatcher:: Keyboard access to agenda views
|
||||||
* Weekly/Daily Agenda:: The calendar page with current tasks
|
* Weekly/Daily Agenda:: The calendar page with current tasks
|
||||||
* Global TODO list:: All infinished action items
|
* Global TODO list:: All unfinished action items
|
||||||
* Matching headline tags:: Structured information with fine-tuned search
|
* Matching headline tags:: Structured information with fine-tuned search
|
||||||
* Timeline:: Time-sorted view for single file
|
* Timeline:: Time-sorted view for single file
|
||||||
* Agenda commands:: Remote editing of org trees
|
* Agenda commands:: Remote editing of org trees
|
||||||
|
|
||||||
Weekly/Daily Agenda
|
The weekly/daily agenda
|
||||||
|
|
||||||
* Categories:: Not all tasks are equal
|
* Categories:: Not all tasks are equal
|
||||||
* Time-of-day specifications:: How the agenda knows the time
|
* Time-of-day specifications:: How the agenda knows the time
|
||||||
|
|
@ -1314,7 +1319,8 @@ example in mail mode, use
|
||||||
|
|
||||||
Complex ASCII tables with automatic line wrapping, column- and
|
Complex ASCII tables with automatic line wrapping, column- and
|
||||||
row-spanning, and alignment can be created using the Emacs table
|
row-spanning, and alignment can be created using the Emacs table
|
||||||
package by Takaaki Ota (@uref{http://sourceforge.net/projects/table}).
|
package by Takaaki Ota (@uref{http://sourceforge.net/projects/table},
|
||||||
|
and also part of Emacs 22).
|
||||||
When @key{TAB} or @kbd{C-c C-c} is pressed in such a table, Org-mode
|
When @key{TAB} or @kbd{C-c C-c} is pressed in such a table, Org-mode
|
||||||
will call @command{table-recognize-table} and move the cursor into the
|
will call @command{table-recognize-table} and move the cursor into the
|
||||||
table. Inside a table, the keymap of Org-mode is inactive. In order
|
table. Inside a table, the keymap of Org-mode is inactive. In order
|
||||||
|
|
@ -1343,7 +1349,7 @@ Just like HMTL, Org-mode provides links inside a file, and external
|
||||||
links to other files, Usenet articles, emails and much more.
|
links to other files, Usenet articles, emails and much more.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Internal Links:: CamelCaseWords as internal links
|
* Internal Links:: Links to other places in the current file
|
||||||
* External Links:: URL-like links to the world
|
* External Links:: URL-like links to the world
|
||||||
* Managing links:: Creating, inserting and following
|
* Managing links:: Creating, inserting and following
|
||||||
* Search Options:: Linking to a specific location
|
* Search Options:: Linking to a specific location
|
||||||
|
|
@ -1356,44 +1362,73 @@ links to other files, Usenet articles, emails and much more.
|
||||||
@cindex links, internal
|
@cindex links, internal
|
||||||
@cindex CamelCase links
|
@cindex CamelCase links
|
||||||
|
|
||||||
Similar to Wiki implementations, Org-mode interprets words spelled in
|
Strings inside double brackets like @samp{[[My Target]]} are links
|
||||||
CamelCase (i.e. mixed case with at least one capital letter following
|
that lead to a text search in the current file. The link can be
|
||||||
on a small letter inside the word) as links. While in Wiki these
|
followed with @kbd{C-c C-o} or with a mouse click (@pxref{Managing
|
||||||
links usually point to another file, in Org-mode they point to a
|
links}). The preferred match for such a link is a dedicated target:
|
||||||
target in the current file. Targets are CamelCased words in double
|
The same string in double angular brackets. Targets may be located
|
||||||
angular brackets, and may be located anywhere, also in a comment line.
|
anywhere, often it is convenient to put them into a comment line, for
|
||||||
For example
|
example
|
||||||
@example
|
@example
|
||||||
# <<MyTarget>>
|
# <<My Target>>
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Each occurrence of @samp{MyTarget} in the file is an active link that
|
If no dedicated target exists, Org-mode will search for the words in
|
||||||
can be followed with @kbd{C-c C-o} or with a mouse click
|
the link, in the above example for @samp{my target}. Links starting
|
||||||
(@pxref{Managing links}). If no dedicated target exists, org-mode will
|
with a star like @samp{*My Target} restrict the search to headlines.
|
||||||
search for the words in the link separated by white space, in the
|
When searching, Org-mode will first try an exact match, but then move
|
||||||
above example for @samp{my target}. If the link starts with a star
|
on to more and more lenient searches. For example, the link
|
||||||
like @samp{*MyTarget}, the search is restricted to headlines.
|
@samp{[[*My Targets]]} will find any of the following
|
||||||
Org-mode will first try an exact match of a full headline, but then
|
|
||||||
move on to more and more lenient searches. The link @samp{*MyTargets}
|
|
||||||
will find any of the following
|
|
||||||
@example
|
@example
|
||||||
** My targets
|
** My targets
|
||||||
** TODO my targets are bright
|
** TODO my targets are bright
|
||||||
** my 20 targets are
|
** my 20 targets are
|
||||||
@end example
|
@end example
|
||||||
|
It is therefore often not necessary to set a dedicated target. To
|
||||||
|
insert a link targeting a headline, in-buffer completion can be used.
|
||||||
|
Just type a star followed by a few optional letters into the buffer
|
||||||
|
and press @kbd{M-@key{TAB}}. All headlines in the current buffer will
|
||||||
|
be offered as completions. @xref{Managing links}, for more commands
|
||||||
|
creating links.
|
||||||
|
|
||||||
|
Following a link pushes a mark onto Org-mode's own mark ring. You can
|
||||||
|
return to the previous position with @kbd{C-c &}. Using this command
|
||||||
|
several times in direct succession goes back to positions recorded
|
||||||
|
earlier.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Radio targets:: Make targets trigger links in plain text.
|
||||||
|
* CamelCase links:: Activating CamelCase words as links
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Radio targets, CamelCase links, Internal Links, Internal Links
|
||||||
|
@subsection Radio targets
|
||||||
|
|
||||||
|
You can configure Org-mode to link any occurrences of certain target
|
||||||
|
names in normal text. So without explicitly creating a link, the text
|
||||||
|
connects to the target radioing its position. Radio targets are
|
||||||
|
enclosed by triple angular brackets. For example, a target
|
||||||
|
@samp{<<<My Target>>>} causes each occurrence of @samp{my target} in
|
||||||
|
normal text to become activated as a link. The Org-mode file is
|
||||||
|
scanned automatically for radio targets only when the file is first
|
||||||
|
loaded into Emacs. To update the target list during editing, press
|
||||||
|
@kbd{C-c C-c} with the cursor on or at a target.
|
||||||
|
|
||||||
|
@node CamelCase links, , Radio targets, Internal Links
|
||||||
|
@subsection CamelCase words as links
|
||||||
@cindex completion, of CamelCase links
|
@cindex completion, of CamelCase links
|
||||||
@cindex CamelCase links, completion of
|
@cindex CamelCase links, completion of
|
||||||
It is therefore often not even necessary to set a dedicated target.
|
|
||||||
The link will automatically find a target. If you want to see what
|
As an alternative to @samp{[[...]]} links, Org-mode also supports
|
||||||
lines in the current buffer are matched by a given CamelCase link,
|
CamelCase words as links. This feature is not turned on by default
|
||||||
open the link with @kbd{C-u C-c C-o}. Even if there are several
|
because of the occasional inconsistencies this system suffers from.
|
||||||
matches, org-mode will usually find the right one since it tries
|
To activate CamelCase words as links, and to make headline completion
|
||||||
targets and exact matches first. To insert links targeting a
|
offer CamelCase version of headlines, the following customization is
|
||||||
headline, in-buffer completion can be used. Just type a star followed
|
needed:
|
||||||
by a few optional letters into the buffer and press @kbd{M-@key{TAB}}.
|
@lisp
|
||||||
CamelCased versions of all headlines in the current buffer will be
|
(setq org-activate-camels t
|
||||||
offered as completions. @xref{Managing links}, for more commands
|
org-file-link-context-use-camel-case t)
|
||||||
creating links.
|
@end lisp
|
||||||
|
|
||||||
@node External Links, Managing links, Internal Links, Hyperlinks
|
@node External Links, Managing links, Internal Links, Hyperlinks
|
||||||
@section External Links
|
@section External Links
|
||||||
|
|
@ -1407,6 +1442,7 @@ creating links.
|
||||||
@cindex VM links
|
@cindex VM links
|
||||||
@cindex RMAIL links
|
@cindex RMAIL links
|
||||||
@cindex WANDERLUST links
|
@cindex WANDERLUST links
|
||||||
|
@cindex MH-E links
|
||||||
@cindex USENET links
|
@cindex USENET links
|
||||||
@cindex SHELL links
|
@cindex SHELL links
|
||||||
|
|
||||||
|
|
@ -1426,6 +1462,8 @@ shows examples for each link type.
|
||||||
<vm://myself@@some.where.org/folder#id> @r{VM on remote machine}
|
<vm://myself@@some.where.org/folder#id> @r{VM on remote machine}
|
||||||
<wl:folder> @r{WANDERLUST folder link}
|
<wl:folder> @r{WANDERLUST folder link}
|
||||||
<wl:folder#id> @r{WANDERLUST message link}
|
<wl:folder#id> @r{WANDERLUST message link}
|
||||||
|
<mhe:folder> @r{MH-E folder link}
|
||||||
|
<mhe:folder#id> @r{MH-E message link}
|
||||||
<rmail:folder> @r{RMAIL folder link}
|
<rmail:folder> @r{RMAIL folder link}
|
||||||
<rmail:folder#id> @r{RMAIL message link}
|
<rmail:folder#id> @r{RMAIL message link}
|
||||||
<gnus:group> @r{GNUS group link}
|
<gnus:group> @r{GNUS group link}
|
||||||
|
|
@ -1458,7 +1496,7 @@ VM, RMAIL, WANDERLUST, GNUS and BBDB buffers, the link will point to
|
||||||
the current article/entry. For W3 and W3M buffer, the link goes to
|
the current article/entry. For W3 and W3M buffer, the link goes to
|
||||||
the current URL. For Org-mode files, the current headline is
|
the current URL. For Org-mode files, the current headline is
|
||||||
targeted. For any other files, the link will point to the file, with
|
targeted. For any other files, the link will point to the file, with
|
||||||
a CamelCase (@pxref{Search Options}) search string pointing to the
|
a search string (@pxref{Search Options}) pointing to the
|
||||||
contents of the current line. If there is an active region, the
|
contents of the current line. If there is an active region, the
|
||||||
selected words will form the basis of the search string. The key
|
selected words will form the basis of the search string. The key
|
||||||
binding @kbd{C-c l} is only a suggestion - see @ref{Installation and
|
binding @kbd{C-c l} is only a suggestion - see @ref{Installation and
|
||||||
|
|
@ -1510,6 +1548,20 @@ On links, @kbd{mouse-2} will open the link just like @kbd{C-c C-o} would.
|
||||||
@kindex mouse-3
|
@kindex mouse-3
|
||||||
@item mouse-3
|
@item mouse-3
|
||||||
Like @kbd{mouse-2}, but force file links to be opened with Emacs.
|
Like @kbd{mouse-2}, but force file links to be opened with Emacs.
|
||||||
|
|
||||||
|
@cindex mark ring
|
||||||
|
@kindex C-c %
|
||||||
|
@item C-c %
|
||||||
|
Push the current position onto the mark ring, to be able to return
|
||||||
|
easily. Commands following an internal link do this automatically.
|
||||||
|
|
||||||
|
@cindex links, returning to
|
||||||
|
@kindex C-c &
|
||||||
|
@item C-c &
|
||||||
|
Jump back to a recorded position. A position is recorded by the
|
||||||
|
commands following internal links, and by @kbd{C-c %}. Using this
|
||||||
|
command several times in direct succession moves through a ring of
|
||||||
|
previously recorded positions.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1525,8 +1577,8 @@ compatibility, line numbers can also follow a single colon.} colon.
|
||||||
For example:
|
For example:
|
||||||
@example
|
@example
|
||||||
<file:~/code/main.c::255>
|
<file:~/code/main.c::255>
|
||||||
<file:~/xx.org::MyTarget>
|
<file:~/xx.org::My Target>
|
||||||
<file:~/xx.org::find me>
|
<file:~/xx.org::*My Target>
|
||||||
<file:~/xx.org::/regexp/>
|
<file:~/xx.org::/regexp/>
|
||||||
@end example
|
@end example
|
||||||
@noindent Here is what these options do.
|
@noindent Here is what these options do.
|
||||||
|
|
@ -1534,12 +1586,12 @@ For example:
|
||||||
@table @code
|
@table @code
|
||||||
@item 255
|
@item 255
|
||||||
Jump to line 255.
|
Jump to line 255.
|
||||||
@item MyGoal
|
@item My Target
|
||||||
Search for a link target with name MyGoal, or do a text search for
|
Search for a link target @samp{<<My Target>>}, or do a text search for
|
||||||
@samp{my target}, similar to the CamelCase search in internal links,
|
@samp{my target}, similar to the search in internal links, see
|
||||||
see @ref{Internal Links}.
|
@ref{Internal Links}.
|
||||||
@item find me
|
@item *My Target
|
||||||
Do a normal text search for the text @samp{find me}.
|
In an Org-mode file, restrict search to headlines.
|
||||||
@item /regexp/
|
@item /regexp/
|
||||||
Do a regular expression search for @code{regexp}. This uses the Emacs
|
Do a regular expression search for @code{regexp}. This uses the Emacs
|
||||||
command @code{occur} to list all matches in a separate window. If the
|
command @code{occur} to list all matches in a separate window. If the
|
||||||
|
|
@ -1549,10 +1601,10 @@ sparse tree with the matches.
|
||||||
@c @code{grep} will be used to search all files in the directory.
|
@c @code{grep} will be used to search all files in the directory.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
To use the search options also for a search in the current file, a
|
As a degenerate case, a file link with an empty file name can be used
|
||||||
file link with an empty file name can be used. For example,
|
to search the current file. For example, @code{<file:::find me>} does
|
||||||
@code{<file:::find me>} does a search for @samp{find me} in the
|
a search for @samp{find me} in the current file, just like
|
||||||
current file.
|
@samp{[[find me]]} would.
|
||||||
|
|
||||||
@node Remember, , Search Options, Hyperlinks
|
@node Remember, , Search Options, Hyperlinks
|
||||||
@section Remember
|
@section Remember
|
||||||
|
|
@ -3248,6 +3300,8 @@ Org-mode would not be what it is without your input.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
|
Thomas Baumann contributed the code for links to the MH-E email system.
|
||||||
|
@item
|
||||||
Pavel Chalmoviansky reported bugs and suggested improvements
|
Pavel Chalmoviansky reported bugs and suggested improvements
|
||||||
related to the agenda treatment of items with specified time.
|
related to the agenda treatment of items with specified time.
|
||||||
@item
|
@item
|
||||||
|
|
@ -3267,7 +3321,7 @@ Emacs-Lisp compiler happy.
|
||||||
Tim O'Callaghan suggested in-file links, search options for
|
Tim O'Callaghan suggested in-file links, search options for
|
||||||
general file links, and TAGS.
|
general file links, and TAGS.
|
||||||
@item
|
@item
|
||||||
Oliver Oppitz made useful suggestions.
|
Oliver Oppitz suggested multi-state TODO items.
|
||||||
@item
|
@item
|
||||||
Pete Phillips helped the development of the TAGS feature with beta
|
Pete Phillips helped the development of the TAGS feature with beta
|
||||||
testing and suggestions.
|
testing and suggestions.
|
||||||
|
|
@ -3289,8 +3343,8 @@ Linking to VM/BBDB/GNUS was inspired by Tom Shannon's
|
||||||
Juergen Vollmer contributed code generating the table of contents
|
Juergen Vollmer contributed code generating the table of contents
|
||||||
in HTML output, and other export improvements.
|
in HTML output, and other export improvements.
|
||||||
@item
|
@item
|
||||||
David Wainberg suggested to implement an archiving mechanism and helped
|
David Wainberg suggested the archiving mechanism and shaped the
|
||||||
testing.
|
internal link system with many suggestions and ideas.
|
||||||
@item
|
@item
|
||||||
Scheduling TODO items was inspired by John Wiegley's @file{planner.el}.
|
Scheduling TODO items was inspired by John Wiegley's @file{planner.el}.
|
||||||
@item
|
@item
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@
|
||||||
@syncodeindex fn cp
|
@syncodeindex fn cp
|
||||||
|
|
||||||
@c Version and Contact Info
|
@c Version and Contact Info
|
||||||
@set VERSION 4.30
|
@set VERSION 4.31
|
||||||
@set EDITION 4.30
|
@set EDITION 4.31
|
||||||
@set DATE September 2005
|
@set DATE February 2006
|
||||||
@set AUCTEXSITE @uref{http://www.nongnu.org/auctex/,AUCTeX distribution site}
|
@set AUCTEXSITE @uref{http://www.nongnu.org/auctex/,AUCTeX distribution site}
|
||||||
@set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/,maintainers webpage}
|
@set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/,maintainers webpage}
|
||||||
@set MAINTAINER Carsten Dominik
|
@set MAINTAINER Carsten Dominik
|
||||||
|
|
@ -25,8 +25,7 @@ citations and indices for LaTeX documents with Emacs.
|
||||||
This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for
|
This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for
|
||||||
@b{Ref@TeX{}} @value{VERSION}
|
@b{Ref@TeX{}} @value{VERSION}
|
||||||
|
|
||||||
Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005,
|
Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
|
||||||
2006 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
Permission is granted to copy, distribute and/or modify this document
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,43 @@
|
||||||
|
2006-02-23 Zhang Wei <id.brep@gmail.com> (tiny change)
|
||||||
|
|
||||||
|
* xfns.c (Fx_file_dialog): Return a decoded file name.
|
||||||
|
|
||||||
|
2006-02-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||||
|
|
||||||
|
* dispnew.c (update_text_area): Avoid needless redraw of rightmost
|
||||||
|
glyph whose face is extended to the text area end.
|
||||||
|
|
||||||
|
* macterm.c (x_set_toolkit_scroll_bar_thumb): Don't set control
|
||||||
|
values if control is not visible or values are not changed.
|
||||||
|
|
||||||
|
2006-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* window.c (Fwindow_list): Check `window' before doing XWINDOW.
|
||||||
|
The default `window' should not be "on a different frame".
|
||||||
|
|
||||||
|
2006-02-22 Kim F. Storm <storm@cua.dk>
|
||||||
|
|
||||||
|
* indent.c (Fvertical_motion): Only try to move back if we can.
|
||||||
|
|
||||||
|
2006-02-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||||
|
|
||||||
|
* macgui.h (struct _XGC) [!MAC_OSX || !USE_ATSUI]: New member
|
||||||
|
n_clip_rects.
|
||||||
|
|
||||||
|
* macmenu.c (digest_single_submenu): Apply 2006-02-19 change for
|
||||||
|
xmenu.c.
|
||||||
|
|
||||||
|
* macterm.c (GC_CLIP_REGION): Remove macro.
|
||||||
|
(mac_begin_clip, mac_end_clip): Take arg GC instead of REGION.
|
||||||
|
All uses changed. Don't do clipping if n_clip_rects is zero.
|
||||||
|
(mac_set_clip_rectangles): Use xassert instead of abort.
|
||||||
|
Set n_clip_rects. Don't make clip_region empty when number of
|
||||||
|
clipping rectangles is zero.
|
||||||
|
(mac_reset_clip_rectangles): Set n_clip_rects directly instead of
|
||||||
|
calling mac_set_clip_rectangles.
|
||||||
|
(x_set_toolkit_scroll_bar_thumb): Temporarily hide scroll bar to
|
||||||
|
avoid multiple redraws.
|
||||||
|
|
||||||
2006-02-22 Kim F. Storm <storm@cua.dk>
|
2006-02-22 Kim F. Storm <storm@cua.dk>
|
||||||
|
|
||||||
* fringe.c (draw_fringe_bitmap): Fix overlay-arrow display.
|
* fringe.c (draw_fringe_bitmap): Fix overlay-arrow display.
|
||||||
|
|
@ -22,8 +62,8 @@
|
||||||
BG_WIDTH. All uses changed. Draw background if BG_WIDTH is not zero.
|
BG_WIDTH. All uses changed. Draw background if BG_WIDTH is not zero.
|
||||||
(mac_draw_image_string, mac_draw_image_string_16): New arg BG_WIDTH.
|
(mac_draw_image_string, mac_draw_image_string_16): New arg BG_WIDTH.
|
||||||
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg): Rename from
|
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg): Rename from
|
||||||
mac_draw_string_cg. New arg BG_WIDTH. All uses changed. Draw
|
mac_draw_string_cg. New arg BG_WIDTH. All uses changed.
|
||||||
background if BG_WIDTH is not zero. Use float constants as
|
Draw background if BG_WIDTH is not zero. Use float constants as
|
||||||
divisors instead of double. Use alloca instead of xmalloc/xfree.
|
divisors instead of double. Use alloca instead of xmalloc/xfree.
|
||||||
(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
|
(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
|
||||||
[!MAC_OS8 || USE_ATSUI]: Background may be drawn using
|
[!MAC_OS8 || USE_ATSUI]: Background may be drawn using
|
||||||
|
|
@ -34,6 +74,11 @@
|
||||||
(mac_set_clip_rectangles): When resetting clip region, make it
|
(mac_set_clip_rectangles): When resetting clip region, make it
|
||||||
empty instead of disposing of it.
|
empty instead of disposing of it.
|
||||||
|
|
||||||
|
2006-02-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* keymap.c (store_in_keymap): Change `def' arg to not be `register'.
|
||||||
|
Seems to trigger a bug in gcc-amd64 4.0.2 20051125 (Red Hat 4.0.2-8).
|
||||||
|
|
||||||
2006-02-20 Kim F. Storm <storm@cua.dk>
|
2006-02-20 Kim F. Storm <storm@cua.dk>
|
||||||
|
|
||||||
* Makefile.in: Add fringe.elc to WINDOW_SUPPORT.
|
* Makefile.in: Add fringe.elc to WINDOW_SUPPORT.
|
||||||
|
|
@ -59,10 +104,10 @@
|
||||||
(left_curly_arrow_bits): Rename from continuation_bits.
|
(left_curly_arrow_bits): Rename from continuation_bits.
|
||||||
(right_curly_arrow_bits): Rename from continued_bits.
|
(right_curly_arrow_bits): Rename from continued_bits.
|
||||||
(left_triangle_bits): Rename from ov_bits.
|
(left_triangle_bits): Rename from ov_bits.
|
||||||
(right_triangle_bits): Added.
|
(right_triangle_bits): Add.
|
||||||
(filled_rectangle_bits): Rename from filled_box_cursor_bits.
|
(filled_rectangle_bits): Rename from filled_box_cursor_bits.
|
||||||
(hollow_rectangle_bits): Rename from hollow_box_cursor_bits.
|
(hollow_rectangle_bits): Rename from hollow_box_cursor_bits.
|
||||||
(filled_square_bits): Added.
|
(filled_square_bits): Add.
|
||||||
(vertical_bar_bits): Rename from bar_cursor_bits.
|
(vertical_bar_bits): Rename from bar_cursor_bits.
|
||||||
(horizontal_bar_bits): Rename from hbar_cursor_bits.
|
(horizontal_bar_bits): Rename from hbar_cursor_bits.
|
||||||
(empty_line_bits): Rename from zv_bits.
|
(empty_line_bits): Rename from zv_bits.
|
||||||
|
|
|
||||||
|
|
@ -4344,10 +4344,14 @@ update_text_area (w, vpos)
|
||||||
int overlapping_glyphs_p = current_row->contains_overlapping_glyphs_p;
|
int overlapping_glyphs_p = current_row->contains_overlapping_glyphs_p;
|
||||||
int desired_stop_pos = desired_row->used[TEXT_AREA];
|
int desired_stop_pos = desired_row->used[TEXT_AREA];
|
||||||
|
|
||||||
/* If the desired row extends its face to the text area end,
|
/* If the desired row extends its face to the text area end, and
|
||||||
|
unless the current row also does so at the same position,
|
||||||
make sure we write at least one glyph, so that the face
|
make sure we write at least one glyph, so that the face
|
||||||
extension actually takes place. */
|
extension actually takes place. */
|
||||||
if (MATRIX_ROW_EXTENDS_FACE_P (desired_row))
|
if (MATRIX_ROW_EXTENDS_FACE_P (desired_row)
|
||||||
|
&& (desired_stop_pos < current_row->used[TEXT_AREA]
|
||||||
|
|| (desired_stop_pos == current_row->used[TEXT_AREA]
|
||||||
|
&& !MATRIX_ROW_EXTENDS_FACE_P (current_row))))
|
||||||
--desired_stop_pos;
|
--desired_stop_pos;
|
||||||
|
|
||||||
stop = min (current_row->used[TEXT_AREA], desired_stop_pos);
|
stop = min (current_row->used[TEXT_AREA], desired_stop_pos);
|
||||||
|
|
@ -4466,7 +4470,10 @@ update_text_area (w, vpos)
|
||||||
has to be cleared, if and only if we did a write_glyphs
|
has to be cleared, if and only if we did a write_glyphs
|
||||||
above. This is made sure by setting desired_stop_pos
|
above. This is made sure by setting desired_stop_pos
|
||||||
appropriately above. */
|
appropriately above. */
|
||||||
xassert (i < desired_row->used[TEXT_AREA]);
|
xassert (i < desired_row->used[TEXT_AREA]
|
||||||
|
|| ((desired_row->used[TEXT_AREA]
|
||||||
|
== current_row->used[TEXT_AREA])
|
||||||
|
&& MATRIX_ROW_EXTENDS_FACE_P (current_row)));
|
||||||
}
|
}
|
||||||
else if (MATRIX_ROW_EXTENDS_FACE_P (current_row))
|
else if (MATRIX_ROW_EXTENDS_FACE_P (current_row))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2107,7 +2107,8 @@ whether or not it is currently displayed in some window. */)
|
||||||
it.vpos = 0;
|
it.vpos = 0;
|
||||||
/* Do this even if LINES is 0, so that we move back
|
/* Do this even if LINES is 0, so that we move back
|
||||||
to the beginning of the current line as we ought. */
|
to the beginning of the current line as we ought. */
|
||||||
move_it_by_lines (&it, XINT (lines), 0);
|
if (XINT (lines) >= 0 || IT_CHARPOS (it) > 0)
|
||||||
|
move_it_by_lines (&it, XINT (lines), 0);
|
||||||
|
|
||||||
SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
|
SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -217,13 +217,13 @@ typedef struct _XGC
|
||||||
RGBColor back_color;
|
RGBColor back_color;
|
||||||
|
|
||||||
#define MAX_CLIP_RECTS 2
|
#define MAX_CLIP_RECTS 2
|
||||||
/* QuickDraw clipping region. */
|
/* Number of clipping rectangles. */
|
||||||
|
int n_clip_rects;
|
||||||
|
|
||||||
|
/* QuickDraw clipping region. Ignored if n_clip_rects == 0. */
|
||||||
RgnHandle clip_region;
|
RgnHandle clip_region;
|
||||||
|
|
||||||
#if defined (MAC_OSX) && USE_ATSUI
|
#if defined (MAC_OSX) && USE_ATSUI
|
||||||
/* Number of clipping rectangles used in Quartz 2D drawing. */
|
|
||||||
int n_clip_rects;
|
|
||||||
|
|
||||||
/* Clipping rectangles used in Quartz 2D drawing. The y-coordinate
|
/* Clipping rectangles used in Quartz 2D drawing. The y-coordinate
|
||||||
is in QuickDraw's. */
|
is in QuickDraw's. */
|
||||||
CGRect clip_rects[MAX_CLIP_RECTS];
|
CGRect clip_rects[MAX_CLIP_RECTS];
|
||||||
|
|
|
||||||
|
|
@ -1257,8 +1257,11 @@ digest_single_submenu (start, end, top_level_items)
|
||||||
wv->enabled = 1;
|
wv->enabled = 1;
|
||||||
wv->button_type = BUTTON_TYPE_NONE;
|
wv->button_type = BUTTON_TYPE_NONE;
|
||||||
wv->help = Qnil;
|
wv->help = Qnil;
|
||||||
|
save_wv = wv;
|
||||||
}
|
}
|
||||||
save_wv = wv;
|
else
|
||||||
|
save_wv = first_wv;
|
||||||
|
|
||||||
prev_wv = 0;
|
prev_wv = 0;
|
||||||
i += MENU_ITEMS_PANE_LENGTH;
|
i += MENU_ITEMS_PANE_LENGTH;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -269,14 +269,13 @@ extern void menubar_selection_callback (FRAME_PTR, int);
|
||||||
#define GC_FORE_COLOR(gc) (&(gc)->fore_color)
|
#define GC_FORE_COLOR(gc) (&(gc)->fore_color)
|
||||||
#define GC_BACK_COLOR(gc) (&(gc)->back_color)
|
#define GC_BACK_COLOR(gc) (&(gc)->back_color)
|
||||||
#define GC_FONT(gc) ((gc)->xgcv.font)
|
#define GC_FONT(gc) ((gc)->xgcv.font)
|
||||||
#define GC_CLIP_REGION(gc) ((gc)->clip_region)
|
|
||||||
#define FRAME_NORMAL_GC(f) ((f)->output_data.mac->normal_gc)
|
#define FRAME_NORMAL_GC(f) ((f)->output_data.mac->normal_gc)
|
||||||
|
|
||||||
static RgnHandle saved_port_clip_region = NULL;
|
static RgnHandle saved_port_clip_region = NULL;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mac_begin_clip (region)
|
mac_begin_clip (gc)
|
||||||
RgnHandle region;
|
GC gc;
|
||||||
{
|
{
|
||||||
static RgnHandle new_region = NULL;
|
static RgnHandle new_region = NULL;
|
||||||
|
|
||||||
|
|
@ -285,19 +284,19 @@ mac_begin_clip (region)
|
||||||
if (new_region == NULL)
|
if (new_region == NULL)
|
||||||
new_region = NewRgn ();
|
new_region = NewRgn ();
|
||||||
|
|
||||||
if (region && !EmptyRgn (region))
|
if (gc->n_clip_rects)
|
||||||
{
|
{
|
||||||
GetClip (saved_port_clip_region);
|
GetClip (saved_port_clip_region);
|
||||||
SectRgn (saved_port_clip_region, region, new_region);
|
SectRgn (saved_port_clip_region, gc->clip_region, new_region);
|
||||||
SetClip (new_region);
|
SetClip (new_region);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mac_end_clip (region)
|
mac_end_clip (gc)
|
||||||
RgnHandle region;
|
GC gc;
|
||||||
{
|
{
|
||||||
if (region && !EmptyRgn (region))
|
if (gc->n_clip_rects)
|
||||||
SetClip (saved_port_clip_region);
|
SetClip (saved_port_clip_region);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -325,10 +324,10 @@ mac_draw_line (f, gc, x1, y1, x2, y2)
|
||||||
|
|
||||||
RGBForeColor (GC_FORE_COLOR (gc));
|
RGBForeColor (GC_FORE_COLOR (gc));
|
||||||
|
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
MoveTo (x1, y1);
|
MoveTo (x1, y1);
|
||||||
LineTo (x2, y2);
|
LineTo (x2, y2);
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -369,9 +368,9 @@ mac_erase_rectangle (f, gc, x, y, width, height)
|
||||||
RGBBackColor (GC_BACK_COLOR (gc));
|
RGBBackColor (GC_BACK_COLOR (gc));
|
||||||
SetRect (&r, x, y, x + width, y + height);
|
SetRect (&r, x, y, x + width, y + height);
|
||||||
|
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
EraseRect (&r);
|
EraseRect (&r);
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
|
|
||||||
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
||||||
}
|
}
|
||||||
|
|
@ -434,7 +433,7 @@ mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p)
|
||||||
RGBBackColor (GC_BACK_COLOR (gc));
|
RGBBackColor (GC_BACK_COLOR (gc));
|
||||||
SetRect (&r, x, y, x + width, y + height);
|
SetRect (&r, x, y, x + width, y + height);
|
||||||
|
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
#if TARGET_API_MAC_CARBON
|
#if TARGET_API_MAC_CARBON
|
||||||
{
|
{
|
||||||
CGrafPtr port;
|
CGrafPtr port;
|
||||||
|
|
@ -449,7 +448,7 @@ mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p)
|
||||||
CopyBits (&bitmap, &(FRAME_MAC_WINDOW (f)->portBits), &(bitmap.bounds), &r,
|
CopyBits (&bitmap, &(FRAME_MAC_WINDOW (f)->portBits), &(bitmap.bounds), &r,
|
||||||
overlay_p ? srcOr : srcCopy, 0);
|
overlay_p ? srcOr : srcCopy, 0);
|
||||||
#endif /* not TARGET_API_MAC_CARBON */
|
#endif /* not TARGET_API_MAC_CARBON */
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
|
|
||||||
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
||||||
}
|
}
|
||||||
|
|
@ -581,9 +580,9 @@ mac_fill_rectangle (f, gc, x, y, width, height)
|
||||||
RGBForeColor (GC_FORE_COLOR (gc));
|
RGBForeColor (GC_FORE_COLOR (gc));
|
||||||
SetRect (&r, x, y, x + width, y + height);
|
SetRect (&r, x, y, x + width, y + height);
|
||||||
|
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
PaintRect (&r); /* using foreground color of gc */
|
PaintRect (&r); /* using foreground color of gc */
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -603,9 +602,9 @@ mac_draw_rectangle (f, gc, x, y, width, height)
|
||||||
RGBForeColor (GC_FORE_COLOR (gc));
|
RGBForeColor (GC_FORE_COLOR (gc));
|
||||||
SetRect (&r, x, y, x + width + 1, y + height + 1);
|
SetRect (&r, x, y, x + width + 1, y + height + 1);
|
||||||
|
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
FrameRect (&r); /* using foreground color of gc */
|
FrameRect (&r); /* using foreground color of gc */
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -720,7 +719,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
|
||||||
if (!mac_use_core_graphics)
|
if (!mac_use_core_graphics)
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
RGBForeColor (GC_FORE_COLOR (gc));
|
RGBForeColor (GC_FORE_COLOR (gc));
|
||||||
if (bg_width)
|
if (bg_width)
|
||||||
{
|
{
|
||||||
|
|
@ -736,7 +735,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
|
||||||
ATSUDrawText (text_layout,
|
ATSUDrawText (text_layout,
|
||||||
kATSUFromTextBeginning, kATSUToTextEnd,
|
kATSUFromTextBeginning, kATSUToTextEnd,
|
||||||
kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc);
|
kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc);
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
#ifdef MAC_OSX
|
#ifdef MAC_OSX
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -809,7 +808,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
|
||||||
if (mac_use_core_graphics)
|
if (mac_use_core_graphics)
|
||||||
savedFlags = SwapQDTextFlags (kQDUseCGTextRendering);
|
savedFlags = SwapQDTextFlags (kQDUseCGTextRendering);
|
||||||
#endif
|
#endif
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
RGBForeColor (GC_FORE_COLOR (gc));
|
RGBForeColor (GC_FORE_COLOR (gc));
|
||||||
#ifdef MAC_OS8
|
#ifdef MAC_OS8
|
||||||
if (bg_width)
|
if (bg_width)
|
||||||
|
|
@ -845,7 +844,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
|
||||||
DrawText (buf, 0, nchars * bytes_per_char);
|
DrawText (buf, 0, nchars * bytes_per_char);
|
||||||
if (bg_width)
|
if (bg_width)
|
||||||
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
|
|
||||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
|
||||||
if (mac_use_core_graphics)
|
if (mac_use_core_graphics)
|
||||||
|
|
@ -1187,7 +1186,7 @@ mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y)
|
||||||
ForeColor (blackColor);
|
ForeColor (blackColor);
|
||||||
BackColor (whiteColor);
|
BackColor (whiteColor);
|
||||||
|
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
LockPixels (GetGWorldPixMap (src));
|
LockPixels (GetGWorldPixMap (src));
|
||||||
#if TARGET_API_MAC_CARBON
|
#if TARGET_API_MAC_CARBON
|
||||||
{
|
{
|
||||||
|
|
@ -1205,7 +1204,7 @@ mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y)
|
||||||
&src_r, &dest_r, srcCopy, 0);
|
&src_r, &dest_r, srcCopy, 0);
|
||||||
#endif /* not TARGET_API_MAC_CARBON */
|
#endif /* not TARGET_API_MAC_CARBON */
|
||||||
UnlockPixels (GetGWorldPixMap (src));
|
UnlockPixels (GetGWorldPixMap (src));
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
|
|
||||||
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
||||||
}
|
}
|
||||||
|
|
@ -1231,7 +1230,7 @@ mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y,
|
||||||
ForeColor (blackColor);
|
ForeColor (blackColor);
|
||||||
BackColor (whiteColor);
|
BackColor (whiteColor);
|
||||||
|
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
LockPixels (GetGWorldPixMap (src));
|
LockPixels (GetGWorldPixMap (src));
|
||||||
LockPixels (GetGWorldPixMap (mask));
|
LockPixels (GetGWorldPixMap (mask));
|
||||||
#if TARGET_API_MAC_CARBON
|
#if TARGET_API_MAC_CARBON
|
||||||
|
|
@ -1251,7 +1250,7 @@ mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y,
|
||||||
#endif /* not TARGET_API_MAC_CARBON */
|
#endif /* not TARGET_API_MAC_CARBON */
|
||||||
UnlockPixels (GetGWorldPixMap (mask));
|
UnlockPixels (GetGWorldPixMap (mask));
|
||||||
UnlockPixels (GetGWorldPixMap (src));
|
UnlockPixels (GetGWorldPixMap (src));
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
|
|
||||||
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
||||||
}
|
}
|
||||||
|
|
@ -1289,9 +1288,9 @@ mac_scroll_area (f, gc, src_x, src_y, width, height, dest_x, dest_y)
|
||||||
color mapping in CopyBits. Otherwise, it will be slow. */
|
color mapping in CopyBits. Otherwise, it will be slow. */
|
||||||
ForeColor (blackColor);
|
ForeColor (blackColor);
|
||||||
BackColor (whiteColor);
|
BackColor (whiteColor);
|
||||||
mac_begin_clip (GC_CLIP_REGION (gc));
|
mac_begin_clip (gc);
|
||||||
CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0);
|
CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0);
|
||||||
mac_end_clip (GC_CLIP_REGION (gc));
|
mac_end_clip (gc);
|
||||||
|
|
||||||
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
|
||||||
#endif /* not TARGET_API_MAC_CARBON */
|
#endif /* not TARGET_API_MAC_CARBON */
|
||||||
|
|
@ -1427,14 +1426,10 @@ mac_set_clip_rectangles (display, gc, rectangles, n)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (n < 0 || n > MAX_CLIP_RECTS)
|
xassert (n >= 0 && n <= MAX_CLIP_RECTS);
|
||||||
abort ();
|
|
||||||
if (n == 0)
|
gc->n_clip_rects = n;
|
||||||
{
|
if (n > 0)
|
||||||
if (gc->clip_region)
|
|
||||||
SetEmptyRgn (gc->clip_region);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if (gc->clip_region == NULL)
|
if (gc->clip_region == NULL)
|
||||||
gc->clip_region = NewRgn ();
|
gc->clip_region = NewRgn ();
|
||||||
|
|
@ -1452,8 +1447,6 @@ mac_set_clip_rectangles (display, gc, rectangles, n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#if defined (MAC_OSX) && USE_ATSUI
|
#if defined (MAC_OSX) && USE_ATSUI
|
||||||
gc->n_clip_rects = n;
|
|
||||||
|
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
Rect *rect = rectangles + i;
|
Rect *rect = rectangles + i;
|
||||||
|
|
@ -1473,7 +1466,7 @@ mac_reset_clip_rectangles (display, gc)
|
||||||
Display *display;
|
Display *display;
|
||||||
GC gc;
|
GC gc;
|
||||||
{
|
{
|
||||||
mac_set_clip_rectangles (display, gc, NULL, 0);
|
gc->n_clip_rects = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -4538,7 +4531,6 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
|
||||||
int portion, position, whole;
|
int portion, position, whole;
|
||||||
{
|
{
|
||||||
ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar);
|
ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar);
|
||||||
|
|
||||||
int value, viewsize, maximum;
|
int value, viewsize, maximum;
|
||||||
|
|
||||||
if (whole == 0 || XINT (bar->track_height) == 0)
|
if (whole == 0 || XINT (bar->track_height) == 0)
|
||||||
|
|
@ -4552,10 +4544,20 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
|
||||||
|
|
||||||
BLOCK_INPUT;
|
BLOCK_INPUT;
|
||||||
|
|
||||||
SetControl32BitMinimum (ch, 0);
|
if (IsControlVisible (ch)
|
||||||
SetControl32BitMaximum (ch, maximum);
|
&& (GetControlViewSize (ch) != viewsize
|
||||||
SetControl32BitValue (ch, value);
|
|| GetControl32BitValue (ch) != value
|
||||||
SetControlViewSize (ch, viewsize);
|
|| GetControl32BitMaximum (ch) != maximum))
|
||||||
|
{
|
||||||
|
/* Temporarily hide the scroll bar to avoid multiple redraws. */
|
||||||
|
SetControlVisibility (ch, false, false);
|
||||||
|
|
||||||
|
SetControl32BitMaximum (ch, maximum);
|
||||||
|
SetControl32BitValue (ch, value);
|
||||||
|
SetControlViewSize (ch, viewsize);
|
||||||
|
|
||||||
|
SetControlVisibility (ch, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
UNBLOCK_INPUT;
|
UNBLOCK_INPUT;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1861,7 +1861,8 @@ MINIBUF neither nil nor t means never include the minibuffer window. */)
|
||||||
Lisp_Object frame, minibuf, window;
|
Lisp_Object frame, minibuf, window;
|
||||||
{
|
{
|
||||||
if (NILP (window))
|
if (NILP (window))
|
||||||
window = selected_window;
|
window = FRAMEP (frame) ? XFRAME (frame)->selected_window : selected_window;
|
||||||
|
CHECK_WINDOW (window);
|
||||||
if (NILP (frame))
|
if (NILP (frame))
|
||||||
frame = selected_frame;
|
frame = selected_frame;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue