mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
Merged from miles@gnu.org--gnu-2005 (patch 169-173, 671-676)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-671 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-672 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-673 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-674 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-675 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-676 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-169 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-170 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-171 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-172 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-173 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-454
This commit is contained in:
commit
e93b29568a
@ -1,3 +1,7 @@
|
||||
2005-12-13 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* FOR-RELEASE: Ensure MH-E 8.0 has been released.
|
||||
|
||||
2005-12-09 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* FOR-RELEASE (DOCUMENTATION): Remove message-mail, gnus-*
|
||||
|
@ -28,6 +28,9 @@ face name prefixes should be in it for good results.
|
||||
** Send an email to the various distributions, including the GNOME
|
||||
and KDE projects, to use the new Emacs icons in etc/images/icons.
|
||||
|
||||
** Ensure MH-E 8.0 has been released.
|
||||
Assigned to Bill Wohler <wohler@newt.com>.
|
||||
|
||||
* NEW FEATURES
|
||||
|
||||
** Rework how fringe bitmaps are defined and used.
|
||||
@ -47,6 +50,8 @@ invalid pointer from string_free_list.
|
||||
|
||||
* BUGS
|
||||
|
||||
** circle-printing bug from Stephen Berman; see my 5 Dec message.
|
||||
|
||||
** Ronan Keryell's Sep 23 bug about "tramp sudo:: and version control on RCS"
|
||||
|
||||
** TCP server processes do not work on Windows.
|
||||
@ -58,6 +63,9 @@ Seems to be a problem in sys_select in w32proc.c.
|
||||
|
||||
* DOCUMENTATION
|
||||
|
||||
** Add a node to the Lisp manual describing key sequences from the
|
||||
Lisp point of view.
|
||||
|
||||
** Fix some of these doc strings by adding \\<keymap-name> where needed.
|
||||
|
||||
ada-mode
|
||||
|
@ -1,3 +1,8 @@
|
||||
2005-12-16 L$,1 q(Brentey K,Aa(Broly <lorentey@elte.hu>
|
||||
|
||||
* NEWS: Change `prev-buffer' to `previous-buffer'; add note on
|
||||
them using the frame-local buffer list.
|
||||
|
||||
2005-12-10 David Koppelman <koppel@ece.lsu.edu>
|
||||
|
||||
* NEWS: hi-lock-mode is now buffer local, use global-hi-lock-mode
|
||||
|
18
etc/NEWS
18
etc/NEWS
@ -307,9 +307,10 @@ a new Emacs.
|
||||
On 32bit machines, it is now 256M (i.e. 268435455).
|
||||
|
||||
+++
|
||||
** You can now switch buffers in a cyclic order with C-x C-left and
|
||||
(prev-buffer) and C-x C-right (next-buffer). C-x left and C-x right
|
||||
can be used as well.
|
||||
** You can now switch buffers in a cyclic order with C-x C-left
|
||||
(previous-buffer) and C-x C-right (next-buffer). C-x left and
|
||||
C-x right can be used as well. The functions keep a different buffer
|
||||
cycle for each frame, using the frame-local buffer list.
|
||||
|
||||
+++
|
||||
** `undo-only' does an undo which does not redo any previous undo.
|
||||
@ -322,7 +323,7 @@ converts whitespace around point to N spaces.
|
||||
** New commands to operate on pairs of open and close characters:
|
||||
`insert-pair', `delete-pair', `raise-sexp'.
|
||||
|
||||
---
|
||||
+++
|
||||
** New command `kill-whole-line' kills an entire line at once.
|
||||
By default, it is bound to C-S-<backspace>.
|
||||
|
||||
@ -2539,6 +2540,10 @@ in multiple BibTeX files.
|
||||
*** The new command `bibtex-copy-summary-as-kill' pushes summary
|
||||
of BibTeX entry to kill ring (bound to C-c C-t).
|
||||
|
||||
*** The new variables bibtex-expand-strings and
|
||||
bibtex-autokey-expand-strings control the expansion of strings when
|
||||
extracting the content of a BibTeX field.
|
||||
|
||||
+++
|
||||
** In Enriched mode, `set-left-margin' and `set-right-margin' are now
|
||||
by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
|
||||
@ -4180,6 +4185,11 @@ for directories, and completion inside it shows only directories.
|
||||
|
||||
** Completion changes:
|
||||
|
||||
+++
|
||||
*** The new function `minibuffer-completion-contents' returns the contents
|
||||
of the minibuffer just before point. That is what completion commands
|
||||
operate on.
|
||||
|
||||
+++
|
||||
*** The functions `all-completions' and `try-completion' now accept lists
|
||||
of strings as well as hash-tables additionally to alists, obarrays
|
||||
|
@ -1107,7 +1107,7 @@ present or commented out:
|
||||
|
||||
This is caused by a bug in the KDE applet `klipper' which periodically
|
||||
requests the X clipboard contents from applications. Early versions
|
||||
of klipper don't implement the ICCM protocol for large selections,
|
||||
of klipper don't implement the ICCCM protocol for large selections,
|
||||
which leads to Emacs being flooded with selection requests. After a
|
||||
while, Emacs may print a message:
|
||||
|
||||
|
57
etc/TODO
57
etc/TODO
@ -11,6 +11,8 @@ to the FSF.
|
||||
|
||||
** revert-buffer should eliminate overlays and the mark.
|
||||
|
||||
** erase-buffer should perhaps disregard read-only properties of text.
|
||||
|
||||
** Make occur correctly handle matches that span more than one line,
|
||||
as well as overlapping matches.
|
||||
|
||||
@ -36,17 +38,33 @@ to the FSF.
|
||||
|
||||
** Make occur handle multi-line matches cleanly with context.
|
||||
|
||||
** In Custom buffers, put the option that turns a mode on or off first,
|
||||
using a heuristic of some kind?
|
||||
|
||||
** Define recompute-arg and recompute-arg-if for fix_command to use.
|
||||
See rms message of 11 Dec 05.
|
||||
|
||||
** Height returned by frame-parameter ... and height given to
|
||||
make-frame does not mean the same thing. The former includes menu and
|
||||
tool bar lines, the latter don't. frame-parameter should return height
|
||||
without menu and tool bar lines.
|
||||
|
||||
** In Emacs Info, examples of using Customize should be clickable
|
||||
and they should create Custom buffers.
|
||||
|
||||
* Important features:
|
||||
|
||||
** Provide user-friendly ways to list all available font families,
|
||||
list fonts, display a font as a sample, etc. [fx is looking at
|
||||
multilingual font selection for Emacs 22.]
|
||||
list fonts, display a font as a sample, etc. [fx looked at
|
||||
multilingual font selection for Unicode-based Emacs 23.]
|
||||
|
||||
** Rewrite the face code to be simpler, clearer and faster.
|
||||
|
||||
** Program Enriched mode to read and save in RTF. [Is there actually a
|
||||
decent single definition of RTF? Maybe see info at
|
||||
http://latex2rtf.sourceforge.net/.]
|
||||
http://latex2rtf.sourceforge.net/.] This task seems to be addressed
|
||||
by http://savannah.nongnu.org/projects/emacs-rtf/, which is still in
|
||||
very early stages.
|
||||
|
||||
** Implement something better than the current Refill mode. This
|
||||
probably needs some primitive support.
|
||||
@ -72,6 +90,8 @@ to the FSF.
|
||||
*** Discretionary hyphens that are not visible when they are at end of line.
|
||||
|
||||
** Make movemail work with IMAP.
|
||||
movemail from GNU mailutils does that, so switching to it will solve
|
||||
the issue.
|
||||
|
||||
** Internationalize Emacs's messages.
|
||||
|
||||
@ -106,6 +126,7 @@ to the FSF.
|
||||
and put some other errors under it.
|
||||
|
||||
** A function to tell you the argument pattern of functions.
|
||||
See `function-arity' in http://www.loveshack.ukfsn.org/emacs/fx-misc.el.
|
||||
|
||||
** Make byte-compile warn when a doc string is too wide.
|
||||
|
||||
@ -123,6 +144,9 @@ to the FSF.
|
||||
|
||||
** ange-ftp
|
||||
*** understand sftp
|
||||
This is hard to make work because sftp doesn't print status
|
||||
messages.
|
||||
|
||||
*** Use MLS for ange-ftp-insert-directory if a list of files is specified.
|
||||
|
||||
** Ability to map a key, including all modified-combinations.
|
||||
@ -154,7 +178,9 @@ to the FSF.
|
||||
** Implement a clean way to use different major modes for
|
||||
different parts of a buffer. This could be useful in editing
|
||||
Bison input files, for instance, or other kinds of text
|
||||
where one language is embedded in another language.
|
||||
where one language is embedded in another language. See
|
||||
http://www.loveshack.ukfsn.org/emacs/multi-mode.el and also
|
||||
mmm-mode, as reference for approaches took by others.
|
||||
|
||||
** Arrange a way for an input method to return the first character
|
||||
immediately, then replace it later. So that C-s a with
|
||||
@ -178,7 +204,8 @@ to the FSF.
|
||||
** Implement a variant of uncompress.el or jka-compr.el that works with
|
||||
GNU Privacy Guard for encryption. [Code exists but isn't assigned.
|
||||
See the Gnus development sources for assigned code concerning GPG
|
||||
use with mail, which is probably a good start.]
|
||||
use with mail, which is probably a good start.] See also
|
||||
http://www.loveshack.ukfsn.org/emacs/auto-crypt.tgz.
|
||||
|
||||
** Save undo information in special temporary files, and reload it
|
||||
when needed for undoing. This could extend undo capacity.
|
||||
@ -225,8 +252,9 @@ to the FSF.
|
||||
this and can say where some of the problems are.]
|
||||
|
||||
** Eliminate the storm of warnings concerning char/unsigned char
|
||||
mismatches that we get with proprietary compilers on various systems.
|
||||
They make it difficult to spot the important warnings.
|
||||
mismatches that we get with GCC 4.x and proprietary compilers on
|
||||
various systems. They make it difficult to spot the important
|
||||
warnings.
|
||||
|
||||
** Fix anything necessary to use `long long' EMACS_INTs with GCC.
|
||||
|
||||
@ -242,9 +270,15 @@ to the FSF.
|
||||
ignoring X resources (Doze equivalents?) and most of the
|
||||
environment. What should not be ignored needs consideration.
|
||||
|
||||
** Investigate using the language environment (or locale?) to set up
|
||||
more things, such as the default Ispell dictionary, calendar
|
||||
holidays, quoting characters, space after periods and colons, ...
|
||||
** Enhance locale handling: handle language, territory and charset
|
||||
orthogonally and de-emphasize language environments. Use the locale
|
||||
to set up more things, such as fontsets, the default Ispell
|
||||
dictionary, diary format, calendar holidays and display, quoting
|
||||
characters and phrase boundaries, sentence endings, collation for
|
||||
sorting (at least for unicodes), HTTP Accept-language, patterns for
|
||||
directory listings and compilation messages, yes-or-no replies,
|
||||
common menu items when the toolkit supports it ... `locale-info'
|
||||
needs extending for LC_COLLATE &c. [fx started on this.]
|
||||
|
||||
** Improve the GC (generational, incremental). (We may be able to use
|
||||
the Boehm collector.) [See the Boehm-GC branch in CVS for work on
|
||||
@ -305,7 +339,8 @@ when the body only calls primitives.
|
||||
XRender/Freetype.
|
||||
|
||||
** Port the conservative stack marking code of Emacs' garbage collector
|
||||
to more systems, so that we can completely get rid of GCPROs.
|
||||
to more systems, so that we can completely get rid of GCPROs. Note
|
||||
that Boehm garbage collector provides this.
|
||||
|
||||
** Reorder defcustom's in each package so that the more important
|
||||
options come first in the Customize buffers. This could be done by
|
||||
|
1738
etc/orgcard.ps
1738
etc/orgcard.ps
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
% Reference Card for Org Mode 3.23
|
||||
% Reference Card for Org Mode 4.00
|
||||
%
|
||||
%**start of header
|
||||
\newcount\columnsperpage
|
||||
@ -58,7 +58,7 @@
|
||||
% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
||||
% for their many good ideas.
|
||||
|
||||
\def\orgversionnumber{3.23}
|
||||
\def\orgversionnumber{4.00}
|
||||
\def\year{2005}
|
||||
|
||||
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
||||
@ -283,7 +283,6 @@ \section{Getting Started}
|
||||
(add-to-list 'auto-mode-alist '("\\\\.org\$" . org-mode))
|
||||
(define-key global-map "\\C-cl" 'org-store-link)$^2$
|
||||
(define-key global-map "\\C-ca" 'org-agenda)$^2$
|
||||
(define-key global-map "\\C-ct" 'org-todo-list)$^2$
|
||||
\endexample
|
||||
%
|
||||
\metax{For the many customization options try}{M-x org-customize}
|
||||
@ -335,8 +334,15 @@ \section{Filtering and Sparse Trees}
|
||||
\key{global TODO list in agenda mode}{C-c t$^2$}
|
||||
\key{create sparse tree with all deadlines due}{C-c C-w}
|
||||
\key{time sorted view of current org file}{C-c C-r}
|
||||
\key{agenda for the week}{C-c a$^2$}
|
||||
\key{agenda for date at cursor}{C-c C-o}
|
||||
%\key{agenda for the week}{C-c a$^2$}
|
||||
%\key{agenda for date at cursor}{C-c C-o}
|
||||
|
||||
\section{Tags}
|
||||
|
||||
\key{set tags for current heading}{C-c C-c}
|
||||
\key{realign tags in all headings}{C-u C-c C-c}
|
||||
\key{create sparse tree with matching tags}{C-c \\}
|
||||
\key{globally (agenda) match tags at cursor}{C-c C-o}
|
||||
|
||||
\section{TODO Items}
|
||||
|
||||
@ -516,19 +522,21 @@ \section{Tables}
|
||||
|
||||
\centerline{(for version \orgversionnumber)}
|
||||
|
||||
\section{Timeline, Agenda, Global TODO List}
|
||||
|
||||
\key{show timeline of current org file}{C-c C-r}
|
||||
\key{... include past dates}{C-u C-c C-r}
|
||||
\section{Agenda Views}
|
||||
|
||||
\key{add/move current file to front of agenda}{C-c [}
|
||||
\key{remove current file from your agenda}{C-c ]}
|
||||
\key{cycle through agenda file list}{C-,}
|
||||
\key{compile agenda for the current week}{C-c a$^2$}
|
||||
|
||||
\key{compile agenda for the current week}{C-c a a$^2$}
|
||||
\key{compile global TODO list}{C-c a t$^2$}
|
||||
\key{compile TODO list for specific keyword}{C-c a T$^2$}
|
||||
\key{match tags in agenda files}{C-c a m$^2$}
|
||||
\key{agenda for date at cursor}{C-c C-o}
|
||||
\key{global TODO list}{C-c t$^2$}
|
||||
\key{show timeline of current org file}{C-c C-r}
|
||||
|
||||
\vskip 1mm
|
||||
To set category for current file, add line$^3$:
|
||||
To set categories, add lines like$^3$:
|
||||
\vskip -1mm
|
||||
\beginexample%
|
||||
\#+CATEGORY: MyCateg
|
||||
@ -536,11 +544,11 @@ \section{Timeline, Agenda, Global TODO List}
|
||||
|
||||
{\bf Commands available in an agenda buffer}
|
||||
|
||||
{\bf View org file}
|
||||
{\bf View Org file}
|
||||
|
||||
\key{show original location of item}{SPC}
|
||||
\key{... also available with}{mouse-3}
|
||||
\key{show and recenter window}{l}
|
||||
\key{show and recenter window}{L}
|
||||
\key{goto original location in other window}{TAB}
|
||||
\key{... also available with}{mouse-2}
|
||||
\key{goto original location, delete other windows}{RET}
|
||||
@ -553,6 +561,7 @@ \section{Timeline, Agenda, Global TODO List}
|
||||
\key{switch to daily view}{d}
|
||||
\key{toggle inclusion of diary entries}{D}
|
||||
\key{toggle time grid for daily schedule}{g}
|
||||
\key{toggle display of logbook entries}{l}
|
||||
\key{refresh agenda buffer with any changes}{r}
|
||||
\key{display the following \kbd{org-agenda-ndays}}{RIGHT}
|
||||
\key{display the previous \kbd{org-agenda-ndays}}{LEFT}
|
||||
@ -561,17 +570,14 @@ \section{Timeline, Agenda, Global TODO List}
|
||||
{\bf Remote editing}
|
||||
|
||||
\key{digit argument}{0-9}
|
||||
|
||||
\key{change state of current TODO item}{t}
|
||||
\key{set priority of current item}{p}
|
||||
\key{raise priority of current item}{S-UP$^4$}
|
||||
\key{lower priority of current item}{S-DOWN$^4$}
|
||||
\key{display weighted priority of current item}{P}
|
||||
|
||||
\key{change timestamp to one day earlier}{S-LEFT$^4$}
|
||||
\key{change timestamp to one day later}{S-RIGHT$^4$}
|
||||
\key{change timestamp to today}{>}
|
||||
|
||||
\key{insert new entry into diary}{i}
|
||||
|
||||
{\bf Calendar commands}
|
||||
@ -658,8 +664,8 @@ \section{Exporting}
|
||||
\section{Completion}
|
||||
|
||||
In-buffer completion completes TODO keywords at headline start, TeX
|
||||
macros after ``{\tt \\}'', option keywords after ``{\tt \#-}'', and
|
||||
dictionary words elsewhere.
|
||||
macros after ``{\tt \\}'', option keywords after ``{\tt \#-}'', TAGS
|
||||
after ``{\tt :}'', and dictionary words elsewhere.
|
||||
|
||||
\key{Complete word at point}{M-TAB}
|
||||
|
||||
@ -672,14 +678,14 @@ \section{Calendar and Diary Integration}
|
||||
(setq org-agenda-include-diary t)
|
||||
\endexample
|
||||
|
||||
To include your Org-mode agenda in your normal diary, make sure you're
|
||||
To include the Org-mode agenda in the normal diary, make sure you're
|
||||
using the fancy diary display
|
||||
%
|
||||
%\beginexample%
|
||||
%(add-hook 'diary-display-hook 'fancy-diary-display)
|
||||
%\endexample
|
||||
%
|
||||
and in your \kbd{~/diary} file add
|
||||
and in the \kbd{~/diary} file add
|
||||
|
||||
\beginexample%
|
||||
\&\%\%(org-diary)
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-12-17 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in ($(TIT), leim-list.el): Warn that parts of
|
||||
commands enclosed in $(ARGQUOTE)s should not be split between two
|
||||
lines, as that will break with GNU Make >3.80, when sh.exe is used
|
||||
and arg quoting is with '..'.
|
||||
|
||||
2005-11-03 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* Makefile.in (GZIP_PROG): Renamed from GZIP.
|
||||
|
@ -163,6 +163,9 @@ $(SUBDIRS):
|
||||
.NO_PARALLEL: $(TIT) $(MISC_DIC)
|
||||
|
||||
# Rule to generate quail/*.el from CXTERM-DIC/*.tit.
|
||||
#
|
||||
# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
|
||||
# this can break with GNU Make 3.81 and later if sh.exe is used.
|
||||
$(TIT):
|
||||
$(RUN_EMACS) -l $(buildlisppath)/international/titdic-cnv \
|
||||
--eval $(ARGQUOTE)(batch-titdic-convert t)$(ARGQUOTE) \
|
||||
@ -177,6 +180,9 @@ $(MISC_DIC):
|
||||
$(RUN_EMACS) -l $(buildlisppath)/international/quail \
|
||||
-f batch-byte-compile $(MISC_DIC:.elc=.el)
|
||||
|
||||
#
|
||||
# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
|
||||
# this can break with GNU Make 3.81 and later if sh.exe is used.
|
||||
leim-list.el: $(SUBDIRS) $(WORLD)
|
||||
$(RUN_EMACS) -l $(buildlisppath)/international/quail \
|
||||
--eval $(ARGQUOTE)(update-leim-list-file $(DQUOTE).$(DQUOTE))$(ARGQUOTE)
|
||||
|
458
lisp/ChangeLog
458
lisp/ChangeLog
@ -1,3 +1,349 @@
|
||||
2005-12-17 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (autoloads, custom-deps): Warn that parts of
|
||||
commands enclosed in $(ARGQUOTE)s should not be split between two
|
||||
lines, as that will break with GNU Make >3.80, when sh.exe is used
|
||||
and arg quoting is with '..'.
|
||||
(autoloads): Don't break the quoted --eval expression between
|
||||
several lines.
|
||||
|
||||
2005-12-17 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Capture
|
||||
error from printing circular structures.
|
||||
|
||||
2005-12-17 Martin Rudalics <rudalics@gmx.at> (tiny change)
|
||||
|
||||
* wid-edit.el (widget-checkbox-action): Clear undo info.
|
||||
|
||||
2005-12-16 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* menu-bar.el (kill-this-buffer): Set a good example by using menu
|
||||
bar, not menubar in comment.
|
||||
|
||||
2005-12-16 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* progmodes/cc-engine.el (c-after-change-check-<>-operators):
|
||||
After-change-functions should not clobber the match data.
|
||||
|
||||
2005-12-16 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* simple.el (choose-completion): Use `buffer-substring-no-properties'
|
||||
instead of `buffer-substring'.
|
||||
(completion-common-substring): Doc fix.
|
||||
(completion-setup-function): Use minibuffer-completion-contents
|
||||
instead of minibuffer-contents. Don't set common-string-length
|
||||
initially. Remove special handling of partial-completion-mode.
|
||||
Move computation of completion-base-size into one cond.
|
||||
Call completion-base-size-function in mainbuf. In computation of
|
||||
completion-base-size for file name completion don't move point to
|
||||
the end of the minibuffer. Move computation of common-string-length
|
||||
into one cond. Start putting faces only when common-string-length>=0.
|
||||
Add condition to put completions-common-part when
|
||||
common-string-length>0.
|
||||
|
||||
* complete.el (PC-do-completion): Remove `(equal (point) beg)' to
|
||||
place point at the first different character in the minibuffer
|
||||
even if this position is at the beginning of the minibuffer.
|
||||
|
||||
* info.el (Info-read-node-name-1): In completion-base-size-function's
|
||||
lambda return 1 if common-substring or minibuffer-completion-contents
|
||||
starts with (, and 0 otherwise.
|
||||
|
||||
* emacs-lisp/crm.el (crm-minibuffer-completion-help):
|
||||
Use `crm-current-element' for second arg of `display-completion-list'.
|
||||
|
||||
2005-12-16 Klaus Zeitler <kzeitler@lucent.com>
|
||||
|
||||
* files.el (set-auto-mode): Look for an interpreter specified on
|
||||
the first line also if search for mode specification succeeded,
|
||||
but the mode is not known.
|
||||
|
||||
2005-12-16 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/org.el: (org-tags-match-list-sublevels): New option.
|
||||
(org-open-at-point): Implement tag searches as links.
|
||||
(org-fit-agenda-window, org-get-buffer-tags, org-get-tags)
|
||||
(org-make-tags-matcher, org-scan-tags, org-activate-tags): New funs.
|
||||
(org-tags-sparse-tree, org-tags-view, org-set-tags)
|
||||
(org-agenda-dispatch): New commands.
|
||||
(org-use-tag-inheritance, org-tags-column): New options.
|
||||
(org-tab-follows-link, org-return-follows-link): New options.
|
||||
(org-tags): New customize group.
|
||||
(org-start-icalendar-file): Get local time zone.
|
||||
(org-tags-completion-function): New function.
|
||||
(org-set-font-lock-defaults): Make sure links will also be
|
||||
highlighted inside headlines.
|
||||
|
||||
2005-12-16 Mark Plaksin <happy@usg.edu> (tiny change)
|
||||
|
||||
* term.el (term-emulate-terminal):
|
||||
Let term-handle-ansi-terminal-messages override what Bash says about
|
||||
its current directory.
|
||||
|
||||
2005-12-16 L$,1 q(Brentey K,Aa(Broly <lorentey@elte.hu>
|
||||
|
||||
* bindings.el (last-buffer): Move to simple.el.
|
||||
* simple.el (last-buffer): Move here.
|
||||
(get-next-valid-buffer): New function.
|
||||
(next-buffer): Use frame-local buffer list, maintain buried buffer list.
|
||||
(prev-buffer): Ditto. Rename to `previous-buffer'.
|
||||
|
||||
* menu-bar.el (menu-bar-update-buffers): Update uses of `prev-buffer'.
|
||||
* bindings.el (global-map): Ditto.
|
||||
|
||||
2005-12-15 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* cus-edit.el: Introductory comment change.
|
||||
(custom-magic-alist): Change message string for the `rogue' state.
|
||||
|
||||
2005-12-15 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* tooltip.el: Delete defcustom variable :tag names.
|
||||
|
||||
* complete.el (partial-completion-mode): Doc fix.
|
||||
|
||||
* textmodes/flyspell.el (flyspell-external-point-words):
|
||||
Use save-excursion to ensure we don't move backward in the
|
||||
search loop, not even one character.
|
||||
(flyspell-delete-all-overlays): Use remove-overlays directly.
|
||||
|
||||
* textmodes/ispell.el (ispell-current-personal-dictionary): New var.
|
||||
(ispell-start-process): Set that variable.
|
||||
Clear ispell-buffer-local-name.
|
||||
(ispell-internal-change-dictionary):
|
||||
Set ispell-current-dictionary after killing process.
|
||||
(ispell-buffer-local-dict):
|
||||
Don't set spell-personal-dictionary after killing process.
|
||||
(ispell-buffer-local-words): Don't clear out ispell-buffer-local-name.
|
||||
(ispell-tex-skip-alists)
|
||||
(ispell-html-skip-alists, ispell-skip-region-alist): Mark as risky.
|
||||
|
||||
* net/newsticker.el (newsticker--retrieval-timer-list)
|
||||
(newsticker--display-timer, newsticker-running-p)
|
||||
(newsticker-ticker-running-p): Definitions moved up.
|
||||
|
||||
2005-12-16 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* progmodes/gdb-ui.el (gdb-many-windows): Echo new state in minibuffer.
|
||||
|
||||
2005-12-15 David Ponce <david@dponce.com>
|
||||
|
||||
* recentf.el (recentf-dialog-goto-first): Fix missing error condition.
|
||||
(recentf-edit-list, recentf-open-files): Signal an error when
|
||||
there is no recent file.
|
||||
|
||||
2005-12-14 Lennart Borgman <lennart.borgman.073@student.lu.se>
|
||||
|
||||
* textmodes/texinfmt.el (texinfo-format-region): Set buffer to
|
||||
read-only except for texinfo-format-region evaluation.
|
||||
|
||||
2005-12-14 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* vc.el (vc-default-previous-version, vc-default-next-version)
|
||||
(vc-do-command): Doc fixes.
|
||||
|
||||
2005-12-14 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
|
||||
|
||||
* textmodes/bibtex.el (bibtex-expand-strings)
|
||||
(bibtex-autokey-expand-string, bibtex-name-part)
|
||||
(bibtex-entry-type-whitespace, bibtex-entry-type-str)
|
||||
(bibtex-any-entry-maybe-empty-head, bibtex-string-type)
|
||||
(bibtex-preamble-prefix, bibtex-string-empty-key): New variables.
|
||||
(bibtex-entry-type, bibtex-entry-head): Match only valid entries.
|
||||
(bibtex-entry-postfix, bibtex-known-entry-type-re)
|
||||
(bibtex-valid-entry-re, bibtex-any-valid-entry-re)
|
||||
(bibtex-valid-entry-whitespace-re, bibtex-empty-field-re)
|
||||
(bibtex-field-name-for-parsing, bibtex-remove-delimiters-string)
|
||||
(bibtex-beginning-of-last-entry): Remove.
|
||||
(bibtex-parse-field-name): Use bibtex-field-name. Issue error
|
||||
message if comma is missing but buffer is read-only.
|
||||
(bibtex-parse-field-text): Handle whitespaces at the end of field
|
||||
text. Return 3-element list with beginning and end of field text
|
||||
and end of field.
|
||||
(bibtex-end-of-text-in-field, bibtex-end-of-field): Change accordingly.
|
||||
(bibtex-parse-field): Remove arg name. Use bibtex-field-name.
|
||||
(bibtex-search-forward-field, bibtex-search-backward-field):
|
||||
Search always delimited by limits of entry. Use more efficient
|
||||
search algorithms.
|
||||
(bibtex-name-in-field): Use bibtex-start-of-name-in-field and
|
||||
bibtex-end-of-name-in-field.
|
||||
(bibtex-text-in-field-bounds): Handle BibTeX strings when
|
||||
extracting the content of a field.
|
||||
(bibtex-text-in-field): Use search limits.
|
||||
(bibtex-parse-string-prefix): Handle empty string keys based on
|
||||
bibtex-string-empty-key.
|
||||
(bibtex-parse-string): Fix docstring.
|
||||
(bibtex-text-in-string): Use bibtex-text-in-field-bounds.
|
||||
(bibtex-preamble-prefix, bibtex-strings): New functions.
|
||||
(bibtex-skip-to-valid-entry): Include preceding whitespace in
|
||||
BibTeX entries (consistent with other BibTeX functions).
|
||||
(bibtex-map-entries): Use bibtex-skip-to-valid-entry.
|
||||
(bibtex-search-entry): Fix docstring. Simplify.
|
||||
(bibtex-flash-head, bibtex-complete-string-cleanup)
|
||||
(bibtex-count-entries, bibtex-sort-buffer): Simplify.
|
||||
(bibtex-beginning-of-first-entry): Use bibtex-skip-to-valid-entry.
|
||||
(bibtex-parse-entry): New optional arg content.
|
||||
(bibtex-format-entry, bibtex-autofill-entry, bibtex-url): Use it.
|
||||
Use bibtex-text-in-field-bounds.
|
||||
(bibtex-print-help-message): Handle BibTeX strings and preambles.
|
||||
(bibtex-end-of-entry): Use bibtex-preamble-prefix and
|
||||
bibtex-parse-string-postfix.
|
||||
(bibtex-find-text-internal): New function.
|
||||
(bibtex-remove-delimiters): Use it.
|
||||
(bibtex-find-text): Use it. New optional arg help.
|
||||
(bibtex-complete): Handle BibTeX string and preamble entries.
|
||||
(bibtex-Preamble): Fix order of closing delimiters.
|
||||
|
||||
2005-12-14 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* vc.el (vc-default-revert): New fun.
|
||||
|
||||
* vc-mcvs.el (vc-mcvs-revert): Fix call to vc-default-revert.
|
||||
|
||||
2005-12-14 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* font-lock.el (font-lock-keywords-alist): Rename `append' to `how'.
|
||||
(font-lock-add-keywords, font-lock-update-removed-keyword-alist):
|
||||
(font-lock-remove-keywords): Likewise.
|
||||
|
||||
2005-12-14 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* log-view.el (log-view-diff): Doc fix.
|
||||
|
||||
* isearch.el (isearch-query-replace): Use (mark) instead of
|
||||
isearch-opoint if mark is active in transient-mark-mode.
|
||||
|
||||
2005-12-14 Aaron S. Hawley <Aaron.Hawley@uvm.edu>
|
||||
|
||||
* isearch.el (isearch-query-replace): Check for isearch-other-end.
|
||||
|
||||
2005-12-14 Per Abrahamsen <abraham@dina.kvl.dk>
|
||||
|
||||
* progmodes/cpp.el (cpp-face): New widget.
|
||||
(cpp-known-face, cpp-unknown-face, cpp-edit-list): Use it.
|
||||
|
||||
2005-12-14 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* help-macro.el (make-help-screen): Bind `inhibit-read-only' to t
|
||||
around `erase-buffer' and `insert'.
|
||||
|
||||
* descr-text.el (describe-text-properties): Replace buffer name
|
||||
"*Help-2*" with "*Help*<2>".
|
||||
(describe-char): Add functions print-help-return-message,
|
||||
toggle-read-only. Use help-setup-xref with nil to not store
|
||||
describe-char in help-xref-stack. Use help-make-xrefs to
|
||||
make [back] button.
|
||||
|
||||
* desktop.el (desktop-minor-mode-table): Add vc-dired-mode with nil.
|
||||
|
||||
* wdired.el (wdired-old-point): New internal variable.
|
||||
(wdired-change-to-wdired-mode): Set it buffer-locally.
|
||||
(wdired-abort-changes): Restore point after aborting changes.
|
||||
|
||||
2005-12-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* vc.el (vc-do-command): Add a new value t for okstatus.
|
||||
|
||||
* vc-svn.el (vc-svn-registered): Use it to avoid popping up a spurious
|
||||
frame in case of errors.
|
||||
|
||||
2005-12-13 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* menu-bar.el (menu-bar-showhide-fringe-menu): Move "On the Right"
|
||||
so it comes after "On the Left" in the menu.
|
||||
|
||||
2005-12-12 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* cus-edit.el (customize-apropos, customize-apropos-options)
|
||||
(customize-apropos-faces, customize-apropos-groups): Doc fixes.
|
||||
|
||||
2005-12-12 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* vc-svn.el (vc-svn-registered): Fix problem of visiting
|
||||
non-writable Subversion-controlled files by saving window
|
||||
configuration before calling vc-do-command. vc-do-command calls
|
||||
pop-to-buffer on error which is unexpected during registration.
|
||||
|
||||
2005-12-12 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc/README: Update the summary of changes.
|
||||
|
||||
2005-12-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* descr-text.el (describe-char): Rework last fix to solve the problem
|
||||
is the same way it's solved for everything else in that function
|
||||
(i.e. by extracting the info before setting up the *Help* buffer).
|
||||
|
||||
2005-12-12 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* subr.el (version-regexp-alist): Allow space as separator before
|
||||
non-numeric part, e.g. "1.0 alpha".
|
||||
(version-to-list): Interpret .X.Y version as 0.X.Y version.
|
||||
|
||||
2005-12-12 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/org.el: (org-agenda, org-timeline, org-todo):
|
||||
Implement Logging and the keep-modes setting.
|
||||
(org-get-category): Make sure a string is returned.
|
||||
(org-log-done): New function.
|
||||
(org-log-done, org-closed-string): New options.
|
||||
|
||||
2005-12-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* tooltip.el (tooltip-y-offset): Change default to 20.
|
||||
|
||||
2005-12-12 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* mouse.el (mouse-drag-vertical-line): Use adjust-window-trailing-edge.
|
||||
|
||||
* frame.el (display-hourglass): Doc fix.
|
||||
|
||||
* help.el (help-for-help-internal): Simplify entry for `a'.
|
||||
|
||||
* info.el (Info-on-current-buffer): Doc fix.
|
||||
(info-insert-file-contents): Don't test (featurep 'jka-compr).
|
||||
|
||||
* startup.el (inhibit-splash-screen): Make this the real name.
|
||||
(inhibit-startup-message): Make this the alias.
|
||||
(command-line): Find only simple.el, and use its directory
|
||||
to fill in other preloaded files' names.
|
||||
(command-line): Deactivate the mark if deactivate-mark is set.
|
||||
|
||||
* international/mule.el (load-with-code-conversion):
|
||||
Bind deactivate-mark.
|
||||
|
||||
* progmodes/compile.el (compilation-error-regexp-alist): Doc fix.
|
||||
|
||||
2005-12-11 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* cus-edit.el (customize-apropos): Avoid listing an option more
|
||||
than once under different aliases. No longer list user options
|
||||
that are not defined with defcustom (unless a prefix arg is given).
|
||||
Doc fix.
|
||||
(customize-apropos-options): Doc fix.
|
||||
|
||||
2005-12-11 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* frame.el (set-background-color, set-foreground-color)
|
||||
(set-cursor-color, set-mouse-color, set-border-color):
|
||||
Add explicit prompts to read colors by `facemenu-read-color'.
|
||||
(show-trailing-whitespace, blink-cursor-delay)
|
||||
(blink-cursor-interval, display-hourglass, hourglass-delay):
|
||||
Remove tags.
|
||||
(display-hourglass, hourglass-delay): Doc fix.
|
||||
(cursor-in-non-selected-windows): Capitalize words in tag.
|
||||
|
||||
* faces.el (frame-background-mode): Replace `choice-item' keywords
|
||||
with `const' to not make [default] button. Change default value tag
|
||||
from `default' to `automatic'. Doc fix.
|
||||
(trailing-whitespace) <defface>: Change group `whitespace' to
|
||||
`whitespace-faces'.
|
||||
|
||||
2005-12-11 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* buff-menu.el (Buffer-menu-sort-column): Not a user variable.
|
||||
|
||||
2005-12-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* term/mac-win.el: Create keymap for mac-apple-event-map.
|
||||
@ -19,8 +365,8 @@
|
||||
|
||||
2005-12-10 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se>
|
||||
|
||||
* align.el (align-regexp, align-highlight-rule): Use
|
||||
region-beginning and region-end instead of point and mark, so that
|
||||
* align.el (align-regexp, align-highlight-rule):
|
||||
Use region-beginning and region-end instead of point and mark, so that
|
||||
repetition (with `repeat-complex-command') recomputes the region
|
||||
bounds.
|
||||
|
||||
@ -40,8 +386,8 @@
|
||||
(hi-lock-archaic-interface-deduce): New variables.
|
||||
(turn-on-hi-lock-if-enabled, hi-lock-line-face-buffer)
|
||||
(hi-lock-face-buffer, hi-lock-face-phrase-buffer)
|
||||
(hi-lock-find-patterns, hi-lock-font-lock-hook): Replace
|
||||
hi-lock-buffer-mode with hi-lock-mode.
|
||||
(hi-lock-find-patterns, hi-lock-font-lock-hook):
|
||||
Replace hi-lock-buffer-mode with hi-lock-mode.
|
||||
|
||||
2005-12-10 Kevin Rodgers <ihs_4664@ihs.com>
|
||||
|
||||
@ -65,14 +411,14 @@
|
||||
|
||||
2005-12-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* term/mac-win.el: Require url when compiling. Call
|
||||
mac-process-deferred-apple-events after loading init files.
|
||||
* term/mac-win.el: Require url when compiling.
|
||||
Call mac-process-deferred-apple-events after loading init files.
|
||||
(mac-apple-event-map): New defvar. Define event handlers in it.
|
||||
(core-event, internet-event): New Apple event class symbols.
|
||||
(open-application, reopen-application, open-documents)
|
||||
(print-documents, open-contents, quit-application)
|
||||
(application-died, show-preferences, autosave-now, get-url): New
|
||||
Apple event ID symbols.
|
||||
(application-died, show-preferences, autosave-now, get-url):
|
||||
New Apple event ID symbols.
|
||||
(about): New HICommand ID symbol.
|
||||
(mac-event-spec, mac-event-ae): New macros.
|
||||
(mac-ae-parameter, mac-ae-list, mac-bytes-to-integer)
|
||||
@ -84,9 +430,7 @@
|
||||
|
||||
2005-12-10 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* simple.el (zap-to-char): Translate CHAR by
|
||||
translation-table-for-input.
|
||||
|
||||
* simple.el (zap-to-char):
|
||||
* isearch.el (isearch-process-search-char): Translate CHAR by
|
||||
translation-table-for-input.
|
||||
|
||||
@ -3016,6 +3360,26 @@
|
||||
|
||||
* replace.el (occur-engine): Add marker at end of line, too.
|
||||
|
||||
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
|
||||
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
|
||||
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
|
||||
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
|
||||
argument to all these routines, so the passphrase can be managed
|
||||
externally and passed in to the system.
|
||||
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
|
||||
pgg-add-passphrase-to-cache function.
|
||||
|
||||
* pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
|
||||
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
|
||||
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
|
||||
(pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
|
||||
argument to all these routines, so the passphrase can be managed
|
||||
externally and passed in to the system.
|
||||
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
|
||||
function.
|
||||
|
||||
2005-11-04 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* font-lock.el: Don't deal with font-lock-face-attributes here,
|
||||
@ -3301,7 +3665,7 @@
|
||||
|
||||
* mouse.el: Fix special handling of DEL after dragging a region:
|
||||
(mouse-drag-region-1): Treat mouse-set-region like mouse-set-point.
|
||||
(mouse-region-delete-keys): Add [backspace].
|
||||
(mouse-region-delete-keys): Change to defcustom. Add [backspace].
|
||||
|
||||
* mail/feedmail.el: Use insert-buffer-substring, not insert-buffer.
|
||||
|
||||
@ -3595,6 +3959,76 @@
|
||||
(jit-lock-deferred-fontify, jit-lock-context-fontify)
|
||||
(jit-lock-after-change): Test memory-full.
|
||||
|
||||
2005-10-29 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
|
||||
part of the decoded armor to find the key-identifier.
|
||||
(pgg-gpg-lookup-key-owner): New function to return the
|
||||
human-readable identifier of a key owner.
|
||||
(pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
|
||||
key itself.
|
||||
(pgg-gpg-decrypt-region): Prompt with the key owner (rather than
|
||||
the key value) if we have a key and can match it against a secret
|
||||
key. Also, added a note pointing out fact that the prompt only
|
||||
indicates the first matching key.
|
||||
|
||||
* pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
|
||||
pgg-decrypt-region.
|
||||
(pgg-pending-timers): A new hash for tracking the passphrase cache
|
||||
timers, so that new ones supercede old ones.
|
||||
(pgg-add-passphrase-to-cache): Rename from
|
||||
`pgg-add-passphrase-cache' to reduce confusion (all callers
|
||||
changed). Modified to cancel old timers when new ones are added.
|
||||
(pgg-remove-passphrase-from-cache): Rename from
|
||||
`pgg-remove-passphrase-cache' to reduce confusion (all callers
|
||||
changed). Modified to cancel old timers when their keys are
|
||||
removed from the cache.
|
||||
(pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
|
||||
XEmacs, an indirection to delete-itimer.
|
||||
(pgg-read-passphrase-from-cache, pgg-read-passphrase):
|
||||
Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
|
||||
users can only check cache without risk of prompting. Correct bug in
|
||||
notruncate behavior.
|
||||
(pgg-read-passphrase-from-cache, pgg-read-passphrase)
|
||||
(pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
|
||||
Add informative docstrings.
|
||||
(pgg-decrypt): Convey provided passphrase in subordinate call to
|
||||
pgg-decrypt-region.
|
||||
|
||||
* pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
|
||||
(pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
|
||||
(pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
|
||||
'passphrase' argument, so the passphrase can be managed externally
|
||||
and then passed in to the system.
|
||||
|
||||
* pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
|
||||
(pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
|
||||
so the passphrase cache can be used reliably with identifiers
|
||||
besides a pgp packet's key id.
|
||||
|
||||
* pgg-gpg.el (pgg-pgp-encrypt-region)
|
||||
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
|
||||
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
|
||||
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
|
||||
argument to all these routines, so the passphrase can be managed
|
||||
externally and passed in to the system.
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
|
||||
'notruncate' argument, so the passphrase cache can be used
|
||||
reliably with identifiers besides a pgp packet's key id.
|
||||
|
||||
2005-10-29 Sascha Wilde <swilde@sha-bang.de>
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
|
||||
symmetric encryption.
|
||||
(pgg-gpg-symmetric-key-p): New function to check for an symmetric
|
||||
encrypted session key.
|
||||
(pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
|
||||
message ask for the passphrase in a proper way.
|
||||
|
||||
* pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
|
||||
New user commands for symmetric encryption.
|
||||
|
||||
2005-10-29 Roland Winkler <roland.winkler@physik.uni-erlangen.de>
|
||||
|
||||
* textmodes/conf-mode.el (conf-assignment-sign)
|
||||
|
@ -338,29 +338,6 @@ Keymap to display on minor modes.")
|
||||
(defvar mode-line-buffer-identification-keymap nil "\
|
||||
Keymap for what is displayed by `mode-line-buffer-identification'.")
|
||||
|
||||
(defun last-buffer () "\
|
||||
Return the last non-hidden buffer in the buffer list."
|
||||
;; This logic is more or less copied from bury-buffer,
|
||||
;; except that we reverse the buffer list.
|
||||
(let ((list (nreverse (buffer-list (selected-frame))))
|
||||
(pred (frame-parameter nil 'buffer-predicate))
|
||||
found notsogood)
|
||||
(while (and list (not found))
|
||||
(unless (or (eq (aref (buffer-name (car list)) 0) ? )
|
||||
;; If the selected frame has a buffer_predicate,
|
||||
;; disregard buffers that don't fit the predicate.
|
||||
(and pred (not (funcall pred (car list)))))
|
||||
(if (get-buffer-window (car list) 'visible)
|
||||
(or notsogood (eq (car list) (current-buffer)))
|
||||
(setq found (car list))))
|
||||
(pop list))
|
||||
(or found notsogood
|
||||
(get-buffer "*scratch*")
|
||||
(progn
|
||||
(set-buffer-major-mode
|
||||
(get-buffer-create "*scratch*"))
|
||||
(get-buffer "*scratch*")))))
|
||||
|
||||
(defun unbury-buffer () "\
|
||||
Switch to the last buffer in the buffer list."
|
||||
(interactive)
|
||||
@ -673,8 +650,8 @@ language you are using."
|
||||
|
||||
(define-key global-map [?\C-x right] 'next-buffer)
|
||||
(define-key global-map [?\C-x C-right] 'next-buffer)
|
||||
(define-key global-map [?\C-x left] 'prev-buffer)
|
||||
(define-key global-map [?\C-x C-left] 'prev-buffer)
|
||||
(define-key global-map [?\C-x left] 'previous-buffer)
|
||||
(define-key global-map [?\C-x C-left] 'previous-buffer)
|
||||
|
||||
(let ((map minibuffer-local-map))
|
||||
(define-key map "\en" 'next-history-element)
|
||||
|
@ -101,7 +101,7 @@ as it is by default."
|
||||
|
||||
;; This should get updated & resorted when you click on a column heading
|
||||
(defvar Buffer-menu-sort-column nil
|
||||
"*2 for sorting by buffer names. 5 for sorting by file names.
|
||||
"2 for sorting by buffer names. 5 for sorting by file names.
|
||||
nil for default sorting by visited order.")
|
||||
|
||||
(defconst Buffer-menu-buffer-column 4)
|
||||
|
@ -71,6 +71,11 @@ Summary of changes to "Calc"
|
||||
|
||||
Version 2.1:
|
||||
|
||||
* New matrix mode for square matrices. Improved handling of
|
||||
non-commutative products.
|
||||
|
||||
* New functions: powerexpand and ldiv.
|
||||
|
||||
* Added new functions: sec, csc, cot, sech, csch, coth.
|
||||
|
||||
* 0^0 now evaluates to 1.
|
||||
|
@ -206,11 +206,10 @@ specially in \\[find-file]. For example,
|
||||
See also the variable `PC-include-file-path'.
|
||||
|
||||
Partial Completion mode extends the meaning of `completion-auto-help' (which
|
||||
see) so that if it is neither nil nor t, Emacs will show the *Completions*
|
||||
buffer only on the second attempt to complete. I.e. if TAB finds nothing
|
||||
to complete, the first TAB will just say \"Next char not unique\" without
|
||||
bringing up the *Completions* buffer, and the second TAB will then bring up
|
||||
the *Completions* buffer."
|
||||
see), so that if it is neither nil nor t, Emacs shows the `*Completions*'
|
||||
buffer only on the second attempt to complete. That is, if TAB finds nothing
|
||||
to complete, the first TAB just says \"Next char not unique\" and the
|
||||
second TAB brings up the `*Completions*' buffer."
|
||||
:global t :group 'partial-completion
|
||||
;; Deal with key bindings...
|
||||
(PC-bindings partial-completion-mode)
|
||||
@ -613,8 +612,7 @@ of `minibuffer-completion-table' and the minibuffer contents.")
|
||||
(insert (substring prefix i (1+ i)))
|
||||
(setq end (1+ end)))
|
||||
(setq i (1+ i)))
|
||||
(or pt (equal (point) beg)
|
||||
(setq pt (point)))
|
||||
(or pt (setq pt (point)))
|
||||
(looking-at PC-delim-regex))
|
||||
(setq skip (concat skip
|
||||
(regexp-quote prefix)
|
||||
|
@ -121,10 +121,11 @@
|
||||
;; 6. rogue
|
||||
|
||||
;; There is no standard value. This means that the variable was
|
||||
;; not defined with defcustom, nor handled in cus-start.el. You
|
||||
;; can not create a Custom buffer for such variables using the
|
||||
;; normal interactive Custom commands. However, such Custom
|
||||
;; buffers can be created in other ways, for instance, by calling
|
||||
;; not defined with defcustom, nor handled in cus-start.el. Most
|
||||
;; standard interactive Custom commands do not let you create a
|
||||
;; Custom buffer containing such variables. However, such Custom
|
||||
;; buffers can be created, for instance, by calling
|
||||
;; `customize-apropos' with a prefix arg or by calling
|
||||
;; `customize-option' non-interactively.
|
||||
|
||||
;; 7. hidden
|
||||
@ -1252,12 +1253,12 @@ suggest to customize that face, if it's customizable."
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-apropos (regexp &optional all)
|
||||
"Customize all user options matching REGEXP.
|
||||
"Customize all loaded options, faces and groups matching REGEXP.
|
||||
If ALL is `options', include only options.
|
||||
If ALL is `faces', include only faces.
|
||||
If ALL is `groups', include only groups.
|
||||
If ALL is t (interactively, with prefix arg), include options which are not
|
||||
user-settable, as well as faces and groups."
|
||||
If ALL is t (interactively, with prefix arg), include variables
|
||||
that are not customizable options, as well as faces and groups."
|
||||
(interactive "sCustomize regexp: \nP")
|
||||
(let ((found nil))
|
||||
(mapatoms (lambda (symbol)
|
||||
@ -1270,11 +1271,11 @@ user-settable, as well as faces and groups."
|
||||
(push (list symbol 'custom-face) found))
|
||||
(when (and (not (memq all '(groups faces)))
|
||||
(boundp symbol)
|
||||
(eq (indirect-variable symbol) symbol)
|
||||
(or (get symbol 'saved-value)
|
||||
(custom-variable-p symbol)
|
||||
(if (memq all '(nil options))
|
||||
(user-variable-p symbol)
|
||||
(get symbol 'variable-documentation))))
|
||||
(and (not (memq all '(nil options)))
|
||||
(get symbol 'variable-documentation))))
|
||||
(push (list symbol 'custom-variable) found)))))
|
||||
(if (not found)
|
||||
(error "No matches")
|
||||
@ -1284,20 +1285,20 @@ user-settable, as well as faces and groups."
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-apropos-options (regexp &optional arg)
|
||||
"Customize all user options matching REGEXP.
|
||||
With prefix arg, include options which are not user-settable."
|
||||
"Customize all loaded customizable options matching REGEXP.
|
||||
With prefix arg, include variables that are not customizable options."
|
||||
(interactive "sCustomize regexp: \nP")
|
||||
(customize-apropos regexp (or arg 'options)))
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-apropos-faces (regexp)
|
||||
"Customize all user faces matching REGEXP."
|
||||
"Customize all loaded faces matching REGEXP."
|
||||
(interactive "sCustomize regexp: \n")
|
||||
(customize-apropos regexp 'faces))
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-apropos-groups (regexp)
|
||||
"Customize all user groups matching REGEXP."
|
||||
"Customize all loaded groups matching REGEXP."
|
||||
(interactive "sCustomize regexp: \n")
|
||||
(customize-apropos regexp 'groups))
|
||||
|
||||
@ -1757,7 +1758,7 @@ something in this group has been changed outside customize.")
|
||||
SAVED and set." "\
|
||||
something in this group has been set and saved.")
|
||||
(rogue "@" custom-rogue "\
|
||||
NO CUSTOMIZATION DATA; you should not see this." "\
|
||||
NO CUSTOMIZATION DATA; not intended to be customized." "\
|
||||
something in this group is not prepared for customization.")
|
||||
(standard " " nil "\
|
||||
STANDARD." "\
|
||||
|
@ -160,7 +160,7 @@ otherwise."
|
||||
(let ((buffer (current-buffer))
|
||||
(target-buffer "*Help*"))
|
||||
(when (eq buffer (get-buffer target-buffer))
|
||||
(setq target-buffer "*Help-2*"))
|
||||
(setq target-buffer "*Help*<2>"))
|
||||
(save-excursion
|
||||
(with-output-to-temp-buffer target-buffer
|
||||
(set-buffer standard-output)
|
||||
@ -464,9 +464,13 @@ as well as widgets, buttons, overlays, and text properties."
|
||||
(single-key-description char)
|
||||
(string-to-multibyte
|
||||
(char-to-string char)))))
|
||||
(orig-buf (current-buffer))
|
||||
(help-buf (if (eq orig-buf (get-buffer "*Help*"))
|
||||
"*Help-2*" "*Help*"))
|
||||
(text-props-desc
|
||||
(let ((tmp-buf (generate-new-buffer " *text-props*")))
|
||||
(unwind-protect
|
||||
(progn
|
||||
(describe-text-properties pos tmp-buf)
|
||||
(with-current-buffer tmp-buf (buffer-string)))
|
||||
(kill-buffer tmp-buf))))
|
||||
item-list max-width unicode)
|
||||
|
||||
(if (or (< char 256)
|
||||
@ -619,8 +623,10 @@ as well as widgets, buttons, overlays, and text properties."
|
||||
(setq max-width (apply #'max (mapcar #'(lambda (x)
|
||||
(if (cadr x) (length (car x)) 0))
|
||||
item-list)))
|
||||
(with-output-to-temp-buffer help-buf
|
||||
(with-output-to-temp-buffer "*Help*"
|
||||
(with-current-buffer standard-output
|
||||
(let ((help-xref-following t))
|
||||
(help-setup-xref nil nil))
|
||||
(set-buffer-multibyte multibyte-p)
|
||||
(let ((formatter (format "%%%ds:" max-width)))
|
||||
(dolist (elt item-list)
|
||||
@ -722,10 +728,11 @@ as well as widgets, buttons, overlays, and text properties."
|
||||
(insert "\nSee the variable `reference-point-alist' for "
|
||||
"the meaning of the rule.\n"))
|
||||
|
||||
(save-excursion
|
||||
(set-buffer orig-buf)
|
||||
(describe-text-properties pos help-buf))
|
||||
(describe-text-mode)))))
|
||||
(if text-props-desc (insert text-props-desc))
|
||||
(describe-text-mode)
|
||||
(toggle-read-only 1)
|
||||
(help-make-xrefs (current-buffer))
|
||||
(print-help-return-message)))))
|
||||
|
||||
(defalias 'describe-char-after 'describe-char)
|
||||
(make-obsolete 'describe-char-after 'describe-char "22.1")
|
||||
|
@ -411,7 +411,8 @@ Furthermore the major mode function must be autoloaded.")
|
||||
|
||||
(defcustom desktop-minor-mode-table
|
||||
'((auto-fill-function auto-fill-mode)
|
||||
(vc-mode nil))
|
||||
(vc-mode nil)
|
||||
(vc-dired-mode nil))
|
||||
"Table mapping minor mode variables to minor mode functions.
|
||||
Each entry has the form (NAME RESTORE-FUNCTION).
|
||||
NAME is the name of the buffer-local variable indicating that the minor
|
||||
|
@ -247,7 +247,9 @@ and return t."
|
||||
(if (null completions)
|
||||
(crm-temp-echo-area-glyphs " [No completions]")
|
||||
(with-output-to-temp-buffer "*Completions*"
|
||||
(display-completion-list (sort completions 'string-lessp))))))
|
||||
(display-completion-list
|
||||
(sort completions 'string-lessp)
|
||||
crm-current-element)))))
|
||||
nil)
|
||||
|
||||
(defun crm-do-completion ()
|
||||
|
@ -3711,7 +3711,9 @@ Return the result of the last expression."
|
||||
(print-level (or edebug-print-level print-level))
|
||||
(print-circle (or edebug-print-circle print-circle))
|
||||
(print-readably nil)) ;; lemacs uses this.
|
||||
(edebug-prin1-to-string value)))
|
||||
(condition-case nil
|
||||
(edebug-prin1-to-string value)
|
||||
(error "#Apparently circular structure#"))))
|
||||
|
||||
(defun edebug-compute-previous-result (edebug-previous-value)
|
||||
(if edebug-unwrap-results
|
||||
|
@ -1577,17 +1577,17 @@ If omitted or nil, that stands for the selected frame's display."
|
||||
(defcustom frame-background-mode nil
|
||||
"*The brightness of the background.
|
||||
Set this to the symbol `dark' if your background color is dark,
|
||||
`light' if your background is light, or nil (default) if you want Emacs
|
||||
to examine the brightness for you. Don't set this variable with `setq';
|
||||
this won't have the expected effect."
|
||||
`light' if your background is light, or nil (automatic by default)
|
||||
if you want Emacs to examine the brightness for you. Don't set this
|
||||
variable with `setq'; this won't have the expected effect."
|
||||
:group 'faces
|
||||
:set #'(lambda (var value)
|
||||
(set-default var value)
|
||||
(mapc 'frame-set-background-mode (frame-list)))
|
||||
:initialize 'custom-initialize-changed
|
||||
:type '(choice (choice-item dark)
|
||||
(choice-item light)
|
||||
(choice-item :tag "default" nil)))
|
||||
:type '(choice (const dark)
|
||||
(const light)
|
||||
(const :tag "automatic" nil)))
|
||||
|
||||
|
||||
(defun frame-set-background-mode (frame)
|
||||
@ -2027,7 +2027,7 @@ created."
|
||||
(t :inverse-video t))
|
||||
"Basic face for highlighting trailing whitespace."
|
||||
:version "21.1"
|
||||
:group 'whitespace ; like `show-trailing-whitespace'
|
||||
:group 'whitespace-faces ; like `show-trailing-whitespace'
|
||||
:group 'basic-faces)
|
||||
|
||||
(defface escape-glyph
|
||||
|
@ -2098,7 +2098,8 @@ only set the major mode, if that would change it."
|
||||
(setq done t)
|
||||
(or (set-auto-mode-0 mode keep-mode-if-same)
|
||||
;; continuing would call minor modes again, toggling them off
|
||||
(throw 'nop nil)))))
|
||||
(throw 'nop nil))))))
|
||||
(unless done
|
||||
;; If we didn't, look for an interpreter specified in the first line.
|
||||
;; As a special case, allow for things like "#!/bin/env perl", which
|
||||
;; finds the interpreter anywhere in $PATH.
|
||||
|
@ -3,6 +3,7 @@
|
||||
;; Copyright (C) 1994, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Kevin Broadey <KevinB@bartley.demon.co.uk>
|
||||
;; Maintainer: FSF
|
||||
;; Created: 27 Jan 1994
|
||||
;; Version: foldout.el 1.10 dated 94/05/19 at 17:09:12
|
||||
;; Keywords: folding, outlines
|
||||
|
@ -463,13 +463,13 @@ optimized.")
|
||||
(defvar font-lock-keywords-alist nil
|
||||
"Alist of additional `font-lock-keywords' elements for major modes.
|
||||
|
||||
Each element has the form (MODE KEYWORDS . APPEND).
|
||||
Each element has the form (MODE KEYWORDS . HOW).
|
||||
`font-lock-set-defaults' adds the elements in the list KEYWORDS to
|
||||
`font-lock-keywords' when Font Lock is turned on in major mode MODE.
|
||||
|
||||
If APPEND is nil, KEYWORDS are added at the beginning of
|
||||
If HOW is nil, KEYWORDS are added at the beginning of
|
||||
`font-lock-keywords'. If it is `set', they are used to replace the
|
||||
value of `font-lock-keywords'. If APPEND is any other non-nil value,
|
||||
value of `font-lock-keywords'. If HOW is any other non-nil value,
|
||||
they are added at the end.
|
||||
|
||||
This is normally set via `font-lock-add-keywords' and
|
||||
@ -650,15 +650,15 @@ Major/minor modes can set this variable if they know which option applies.")
|
||||
(font-lock-unfontify-buffer)
|
||||
(font-lock-turn-off-thing-lock)))
|
||||
|
||||
(defun font-lock-add-keywords (mode keywords &optional append)
|
||||
(defun font-lock-add-keywords (mode keywords &optional how)
|
||||
"Add highlighting KEYWORDS for MODE.
|
||||
|
||||
MODE should be a symbol, the major mode command name, such as `c-mode'
|
||||
or nil. If nil, highlighting keywords are added for the current buffer.
|
||||
KEYWORDS should be a list; see the variable `font-lock-keywords'.
|
||||
By default they are added at the beginning of the current highlighting list.
|
||||
If optional argument APPEND is `set', they are used to replace the current
|
||||
highlighting list. If APPEND is any other non-nil value, they are added at the
|
||||
If optional argument HOW is `set', they are used to replace the current
|
||||
highlighting list. If HOW is any other non-nil value, they are added at the
|
||||
end of the current highlighting list.
|
||||
|
||||
For example:
|
||||
@ -691,17 +691,17 @@ Note that some modes have specialized support for additional patterns, e.g.,
|
||||
see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
|
||||
`objc-font-lock-extra-types' and `java-font-lock-extra-types'."
|
||||
(cond (mode
|
||||
;; If MODE is non-nil, add the KEYWORDS and APPEND spec to
|
||||
;; If MODE is non-nil, add the KEYWORDS and HOW spec to
|
||||
;; `font-lock-keywords-alist' so `font-lock-set-defaults' uses them.
|
||||
(let ((spec (cons keywords append)) cell)
|
||||
(let ((spec (cons keywords how)) cell)
|
||||
(if (setq cell (assq mode font-lock-keywords-alist))
|
||||
(if (eq append 'set)
|
||||
(if (eq how 'set)
|
||||
(setcdr cell (list spec))
|
||||
(setcdr cell (append (cdr cell) (list spec))))
|
||||
(push (list mode spec) font-lock-keywords-alist)))
|
||||
;; Make sure that `font-lock-removed-keywords-alist' does not
|
||||
;; contain the new keywords.
|
||||
(font-lock-update-removed-keyword-alist mode keywords append))
|
||||
(font-lock-update-removed-keyword-alist mode keywords how))
|
||||
(t
|
||||
;; Otherwise set or add the keywords now.
|
||||
;; This is a no-op if it has been done already in this buffer
|
||||
@ -712,13 +712,13 @@ see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
|
||||
(if was-compiled
|
||||
(setq font-lock-keywords (cadr font-lock-keywords)))
|
||||
;; Now modify or replace them.
|
||||
(if (eq append 'set)
|
||||
(if (eq how 'set)
|
||||
(setq font-lock-keywords keywords)
|
||||
(font-lock-remove-keywords nil keywords) ;to avoid duplicates
|
||||
(let ((old (if (eq (car-safe font-lock-keywords) t)
|
||||
(cdr font-lock-keywords)
|
||||
font-lock-keywords)))
|
||||
(setq font-lock-keywords (if append
|
||||
(setq font-lock-keywords (if how
|
||||
(append old keywords)
|
||||
(append keywords old)))))
|
||||
;; If the keywords were compiled before, compile them again.
|
||||
@ -726,7 +726,7 @@ see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
|
||||
(set (make-local-variable 'font-lock-keywords)
|
||||
(font-lock-compile-keywords font-lock-keywords t)))))))
|
||||
|
||||
(defun font-lock-update-removed-keyword-alist (mode keywords append)
|
||||
(defun font-lock-update-removed-keyword-alist (mode keywords how)
|
||||
"Update `font-lock-removed-keywords-alist' when adding new KEYWORDS to MODE."
|
||||
;; When font-lock is enabled first all keywords in the list
|
||||
;; `font-lock-keywords-alist' are added, then all keywords in the
|
||||
@ -736,7 +736,7 @@ see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
|
||||
;; will not take effect.
|
||||
(let ((cell (assq mode font-lock-removed-keywords-alist)))
|
||||
(if cell
|
||||
(if (eq append 'set)
|
||||
(if (eq how 'set)
|
||||
;; A new set of keywords is defined. Forget all about
|
||||
;; our old keywords that should be removed.
|
||||
(setq font-lock-removed-keywords-alist
|
||||
@ -786,14 +786,14 @@ happens, so the major mode can be corrected."
|
||||
;; If MODE is non-nil, remove the KEYWORD from
|
||||
;; `font-lock-keywords-alist'.
|
||||
(when top-cell
|
||||
(dolist (keyword-list-append-pair (cdr top-cell))
|
||||
;; `keywords-list-append-pair' is a cons with a list of
|
||||
;; keywords in the car top-cell and the original append
|
||||
(dolist (keyword-list-how-pair (cdr top-cell))
|
||||
;; `keywords-list-how-pair' is a cons with a list of
|
||||
;; keywords in the car top-cell and the original how
|
||||
;; argument in the cdr top-cell.
|
||||
(setcar keyword-list-append-pair
|
||||
(delete keyword (car keyword-list-append-pair))))
|
||||
;; Remove keyword list/append pair when the keyword list
|
||||
;; is empty and append doesn't specify `set'. (If it
|
||||
(setcar keyword-list-how-pair
|
||||
(delete keyword (car keyword-list-how-pair))))
|
||||
;; Remove keyword list/how pair when the keyword list
|
||||
;; is empty and how doesn't specify `set'. (If it
|
||||
;; should be deleted then previously deleted keywords
|
||||
;; would appear again.)
|
||||
(let ((cell top-cell))
|
||||
|
@ -962,7 +962,7 @@ See `modify-frame-parameters.'"
|
||||
"Set the background color of the selected frame to COLOR-NAME.
|
||||
When called interactively, prompt for the name of the color to use.
|
||||
To get the frame's current background color, use `frame-parameters'."
|
||||
(interactive (list (facemenu-read-color)))
|
||||
(interactive (list (facemenu-read-color "Background color: ")))
|
||||
(modify-frame-parameters (selected-frame)
|
||||
(list (cons 'background-color color-name)))
|
||||
(or window-system
|
||||
@ -972,7 +972,7 @@ To get the frame's current background color, use `frame-parameters'."
|
||||
"Set the foreground color of the selected frame to COLOR-NAME.
|
||||
When called interactively, prompt for the name of the color to use.
|
||||
To get the frame's current foreground color, use `frame-parameters'."
|
||||
(interactive (list (facemenu-read-color)))
|
||||
(interactive (list (facemenu-read-color "Foreground color: ")))
|
||||
(modify-frame-parameters (selected-frame)
|
||||
(list (cons 'foreground-color color-name)))
|
||||
(or window-system
|
||||
@ -982,7 +982,7 @@ To get the frame's current foreground color, use `frame-parameters'."
|
||||
"Set the text cursor color of the selected frame to COLOR-NAME.
|
||||
When called interactively, prompt for the name of the color to use.
|
||||
To get the frame's current cursor color, use `frame-parameters'."
|
||||
(interactive (list (facemenu-read-color)))
|
||||
(interactive (list (facemenu-read-color "Cursor color: ")))
|
||||
(modify-frame-parameters (selected-frame)
|
||||
(list (cons 'cursor-color color-name))))
|
||||
|
||||
@ -990,7 +990,7 @@ To get the frame's current cursor color, use `frame-parameters'."
|
||||
"Set the color of the mouse pointer of the selected frame to COLOR-NAME.
|
||||
When called interactively, prompt for the name of the color to use.
|
||||
To get the frame's current mouse color, use `frame-parameters'."
|
||||
(interactive (list (facemenu-read-color)))
|
||||
(interactive (list (facemenu-read-color "Mouse color: ")))
|
||||
(modify-frame-parameters (selected-frame)
|
||||
(list (cons 'mouse-color
|
||||
(or color-name
|
||||
@ -1001,7 +1001,7 @@ To get the frame's current mouse color, use `frame-parameters'."
|
||||
"Set the color of the border of the selected frame to COLOR-NAME.
|
||||
When called interactively, prompt for the name of the color to use.
|
||||
To get the frame's current border color, use `frame-parameters'."
|
||||
(interactive (list (facemenu-read-color)))
|
||||
(interactive (list (facemenu-read-color "Border color: ")))
|
||||
(modify-frame-parameters (selected-frame)
|
||||
(list (cons 'border-color color-name))))
|
||||
|
||||
@ -1283,7 +1283,6 @@ left untouched. FRAME nil or omitted means use the selected frame."
|
||||
(defcustom show-trailing-whitespace nil
|
||||
"*Non-nil means highlight trailing whitespace.
|
||||
This is done in the face `trailing-whitespace'."
|
||||
:tag "Highlight trailing whitespace."
|
||||
:type 'boolean
|
||||
:group 'whitespace-faces)
|
||||
|
||||
@ -1315,13 +1314,11 @@ point visible."
|
||||
|
||||
(defcustom blink-cursor-delay 0.5
|
||||
"*Seconds of idle time after which cursor starts to blink."
|
||||
:tag "Delay in seconds."
|
||||
:type 'number
|
||||
:group 'cursor)
|
||||
|
||||
(defcustom blink-cursor-interval 0.5
|
||||
"*Length of cursor blink interval in seconds."
|
||||
:tag "Blink interval in seconds."
|
||||
:type 'number
|
||||
:group 'cursor)
|
||||
|
||||
@ -1397,14 +1394,14 @@ itself as a pre-command hook."
|
||||
;; Hourglass pointer
|
||||
|
||||
(defcustom display-hourglass t
|
||||
"*Non-nil means show an hourglass pointer when running under a window system."
|
||||
:tag "Hourglass pointer"
|
||||
"*Non-nil means show an hourglass pointer, when Emacs is busy.
|
||||
This feature only works when on a window system that can change
|
||||
cursor shapes."
|
||||
:type 'boolean
|
||||
:group 'cursor)
|
||||
|
||||
(defcustom hourglass-delay 1
|
||||
"*Seconds to wait before displaying an hourglass pointer."
|
||||
:tag "Hourglass delay"
|
||||
"*Seconds to wait before displaying an hourglass pointer when Emacs is busy."
|
||||
:type 'number
|
||||
:group 'cursor)
|
||||
|
||||
@ -1413,7 +1410,7 @@ itself as a pre-command hook."
|
||||
"*Non-nil means show a hollow box cursor in non-selected windows.
|
||||
If nil, don't show a cursor except in the selected window.
|
||||
Use Custom to set this variable to get the display updated."
|
||||
:tag "Cursor in non-selected windows"
|
||||
:tag "Cursor In Non-selected Windows"
|
||||
:type 'boolean
|
||||
:group 'cursor
|
||||
:set #'(lambda (symbol value)
|
||||
|
@ -1,3 +1,65 @@
|
||||
2005-12-16 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (gnus-signature-separator): Fix custom type.
|
||||
|
||||
* mm-decode.el (mm-inlined-types): Fix custom type.
|
||||
(mm-keep-viewer-alive-types): Ditto.
|
||||
(mm-automatic-display): Ditto.
|
||||
(mm-attachment-override-types): Ditto.
|
||||
(mm-inline-override-types): Ditto.
|
||||
(mm-automatic-external-display): Ditto.
|
||||
|
||||
2005-12-12 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (gnus-buttonized-mime-types): Mention addition of
|
||||
multipart/alternative and add xref to mm-discouraged-alternatives
|
||||
in doc string.
|
||||
|
||||
* mm-decode.el (mm-discouraged-alternatives): Add xref to
|
||||
gnus-buttonized-mime-types in doc string.
|
||||
|
||||
2005-12-12 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* rfc2047.el (rfc2047-charset-to-coding-system): Recognize
|
||||
us-ascii as a MIME charset.
|
||||
|
||||
* mm-bodies.el (mm-decode-content-transfer-encoding): Protect
|
||||
against the case where the 2nd arg TYPE is nil.
|
||||
|
||||
2005-12-09 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gnus-start.el (gnus-no-server-1): Mention
|
||||
`gnus-level-default-subscribed' in doc string.
|
||||
|
||||
2005-11-26 Dave Love <fx@gnu.org>
|
||||
|
||||
* tls.el (open-tls-stream): Rename arg SERVICE to PORT.
|
||||
(tls-program, tls-success): Provide openssl alternative.
|
||||
|
||||
* starttls.el: Doc fixes.
|
||||
(starttls-open-stream-gnutls, starttls-open-stream): Rename arg
|
||||
SERVICE to PORT.
|
||||
|
||||
2005-12-09 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gnus-start.el (gnus-start-draft-setup): Enforce
|
||||
`gnus-draft-mode' for nndraft:drafts at startup.
|
||||
|
||||
* gnus.el (gnus-splash): Change custom group.
|
||||
(gnus-group-get-parameter, gnus-group-parameter-value): Describe
|
||||
allow-list argument.
|
||||
|
||||
* gnus-agent.el (gnus-agent-article-alist-save-format): Format doc
|
||||
string.
|
||||
|
||||
2005-12-09 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
|
||||
|
||||
* mm-decode.el (mm-display-external): Add lacked cdr.
|
||||
|
||||
2005-12-12 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* mm-url.el (mm-url-load-url): Require url-parse and url-vars.
|
||||
|
||||
2005-12-08 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* mm-decode.el (mm-discouraged-alternatives): Fix custom type.
|
||||
@ -102,103 +164,6 @@
|
||||
as a buffer-local variable. This avoids creating truncated
|
||||
dribble files as a result of a hang up, eg.
|
||||
|
||||
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
|
||||
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
|
||||
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
|
||||
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
|
||||
argument to all these routines, so the passphrase can be managed
|
||||
externally and passed in to the system.
|
||||
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
|
||||
pgg-add-passphrase-to-cache function.
|
||||
|
||||
* pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
|
||||
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
|
||||
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
|
||||
(pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
|
||||
argument to all these routines, so the passphrase can be managed
|
||||
externally and passed in to the system.
|
||||
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
|
||||
function.
|
||||
|
||||
2005-10-30 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* imap.el (imap-open): Handle case where buffer is a buffer
|
||||
object.
|
||||
|
||||
2005-10-29 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
|
||||
part of the decoded armor to find the key-identifier.
|
||||
(pgg-gpg-lookup-key-owner): New function to return the
|
||||
human-readable identifier of a key owner.
|
||||
(pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
|
||||
key itself.
|
||||
(pgg-gpg-decrypt-region): Prompt with the key owner (rather than
|
||||
the key value) if we have a key and can match it against a secret
|
||||
key. Also, added a note pointing out fact that the prompt only
|
||||
indicates the first matching key.
|
||||
|
||||
* pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
|
||||
pgg-decrypt-region.
|
||||
(pgg-pending-timers): A new hash for tracking the passphrase cache
|
||||
timers, so that new ones supercede old ones.
|
||||
(pgg-add-passphrase-to-cache): Rename from
|
||||
`pgg-add-passphrase-cache' to reduce confusion (all callers
|
||||
changed). Modified to cancel old timers when new ones are added.
|
||||
(pgg-remove-passphrase-from-cache): Rename from
|
||||
`pgg-remove-passphrase-cache' to reduce confusion (all callers
|
||||
changed). Modified to cancel old timers when their keys are
|
||||
removed from the cache.
|
||||
(pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
|
||||
XEmacs, an indirection to delete-itimer.
|
||||
(pgg-read-passphrase-from-cache, pgg-read-passphrase):
|
||||
Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
|
||||
users can only check cache without risk of prompting. Correct bug in
|
||||
notruncate behavior.
|
||||
(pgg-read-passphrase-from-cache, pgg-read-passphrase)
|
||||
(pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
|
||||
Add informative docstrings.
|
||||
(pgg-decrypt): Convey provided passphrase in subordinate call to
|
||||
pgg-decrypt-region.
|
||||
|
||||
2005-10-20 Ken Manheimer <ken.manheimer+emacs@gmail.com>
|
||||
|
||||
* pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
|
||||
(pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
|
||||
(pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
|
||||
'passphrase' argument, so the passphrase can be managed externally
|
||||
and then passed in to the system.
|
||||
|
||||
* pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
|
||||
(pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
|
||||
so the passphrase cache can be used reliably with identifiers
|
||||
besides a pgp packet's key id.
|
||||
|
||||
* pgg-gpg.el (pgg-pgp-encrypt-region)
|
||||
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
|
||||
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
|
||||
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
|
||||
argument to all these routines, so the passphrase can be managed
|
||||
externally and passed in to the system.
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
|
||||
'notruncate' argument, so the passphrase cache can be used
|
||||
reliably with identifiers besides a pgp packet's key id.
|
||||
|
||||
2005-10-29 Sascha Wilde <swilde@sha-bang.de>
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
|
||||
symmetric encryption.
|
||||
(pgg-gpg-symmetric-key-p): New function to check for an symmetric
|
||||
encrypted session key.
|
||||
(pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
|
||||
message ask for the passphrase in a proper way.
|
||||
|
||||
* pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
|
||||
New user commands for symmetric encryption.
|
||||
|
||||
2005-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* gnus-delay.el (gnus-delay-group): Don't autoload.
|
||||
|
@ -214,11 +214,12 @@ unplugged."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom gnus-agent-article-alist-save-format 1
|
||||
"Indicates whether to use compression(2), verses no
|
||||
compression(1), when writing agentview files. The compressed
|
||||
files do save space but load times are 6-7 times higher. A
|
||||
group must be opened then closed for the agentview to be
|
||||
updated using the new format."
|
||||
"Indicates whether to use compression(2), versus no
|
||||
compression(1), when writing agentview files. The compressed
|
||||
files do save space but load times are 6-7 times higher. A group
|
||||
must be opened then closed for the agentview to be updated using
|
||||
the new format."
|
||||
;; Wouldn't symbols instead numbers be nicer? --rsteib
|
||||
:version "22.1"
|
||||
:group 'gnus-agent
|
||||
:type '(radio (const :format "Compressed" 2)
|
||||
|
@ -225,7 +225,9 @@ only of boring text. Boring text is controlled by
|
||||
This can also be a list of regexps. In that case, it will be checked
|
||||
from head to tail looking for a separator. Searches will be done from
|
||||
the end of the buffer."
|
||||
:type '(repeat string)
|
||||
:type '(choice :format "%{%t%}: %[Value Menu%]\n%v"
|
||||
(regexp)
|
||||
(repeat :tag "List of regexp" regexp))
|
||||
:group 'gnus-article-signature)
|
||||
|
||||
(defcustom gnus-signature-limit nil
|
||||
@ -822,7 +824,9 @@ This variable is only used when `gnus-inhibit-mime-unbuttonizing' is nil."
|
||||
"List of MIME types that should be given buttons when rendered inline.
|
||||
If set, this variable overrides `gnus-unbuttonized-mime-types'.
|
||||
To see e.g. security buttons you could set this to
|
||||
`(\"multipart/signed\")'.
|
||||
`(\"multipart/signed\")'. You could also add \"multipart/alternative\" to
|
||||
this list to display radio buttons that allow you to choose one of two
|
||||
media types those mails include. See also `mm-discouraged-alternatives'.
|
||||
This variable is only used when `gnus-inhibit-mime-unbuttonizing' is nil."
|
||||
:version "22.1"
|
||||
:group 'gnus-article-mime
|
||||
|
@ -717,11 +717,12 @@ the first newsgroup."
|
||||
|
||||
(defun gnus-no-server-1 (&optional arg slave)
|
||||
"Read network news.
|
||||
If ARG is a positive number, Gnus will use that as the
|
||||
startup level. If ARG is nil, Gnus will be started at level 2.
|
||||
If ARG is non-nil and not a positive number, Gnus will
|
||||
prompt the user for the name of an NNTP server to use.
|
||||
As opposed to `gnus', this command will not connect to the local server."
|
||||
If ARG is a positive number, Gnus will use that as the startup
|
||||
level. If ARG is nil, Gnus will be started at level 2
|
||||
\(`gnus-level-default-subscribed' minus one). If ARG is non-nil
|
||||
and not a positive number, Gnus will prompt the user for the name
|
||||
of an NNTP server to use. As opposed to \\[gnus], this command
|
||||
will not connect to the local server."
|
||||
(interactive "P")
|
||||
(let ((val (or arg (1- gnus-level-default-subscribed))))
|
||||
(gnus val t slave)
|
||||
@ -805,8 +806,12 @@ prompt the user for the name of an NNTP server to use."
|
||||
"Make sure the draft group exists."
|
||||
(gnus-request-create-group "drafts" '(nndraft ""))
|
||||
(unless (gnus-gethash "nndraft:drafts" gnus-newsrc-hashtb)
|
||||
(gnus-message 3 "Subscribing drafts group")
|
||||
(let ((gnus-level-default-subscribed 1))
|
||||
(gnus-subscribe-group "nndraft:drafts" nil '(nndraft "")))
|
||||
(gnus-subscribe-group "nndraft:drafts" nil '(nndraft ""))))
|
||||
(unless (equal (gnus-group-get-parameter "nndraft:drafts" 'gnus-dummy t)
|
||||
'((gnus-draft-mode)))
|
||||
(gnus-message 3 "Setting up drafts group")
|
||||
(gnus-group-set-parameter
|
||||
"nndraft:drafts" 'gnus-dummy '((gnus-draft-mode)))))
|
||||
|
||||
|
@ -934,7 +934,7 @@ be set in `.emacs' instead."
|
||||
(t
|
||||
()))
|
||||
"Face for the splash screen."
|
||||
:group 'gnus)
|
||||
:group 'gnus-start)
|
||||
;; backward-compatibility alias
|
||||
(put 'gnus-splash-face 'face-alias 'gnus-splash)
|
||||
|
||||
@ -3820,6 +3820,7 @@ If you call this function inside a loop, consider using the faster
|
||||
(defun gnus-group-get-parameter (group &optional symbol allow-list)
|
||||
"Return the group parameters for GROUP.
|
||||
If SYMBOL, return the value of that symbol in the group parameters.
|
||||
If ALLOW-LIST, also allow list as a result.
|
||||
Most functions should use `gnus-group-find-parameter', which
|
||||
also examines the topic parameters."
|
||||
(let ((params (gnus-info-params (gnus-get-info group))))
|
||||
@ -3829,7 +3830,8 @@ also examines the topic parameters."
|
||||
|
||||
(defun gnus-group-parameter-value (params symbol &optional
|
||||
allow-list present-p)
|
||||
"Return the value of SYMBOL in group PARAMS."
|
||||
"Return the value of SYMBOL in group PARAMS.
|
||||
If ALLOW-LIST, also allow list as a result."
|
||||
;; We only wish to return group parameters (dotted lists) and
|
||||
;; not local variables, which may have the same names.
|
||||
;; But first we handle single elements...
|
||||
|
@ -227,6 +227,7 @@ If TYPE is `text/plain' CRLF->LF translation may occur."
|
||||
(message "Error while decoding: %s" error)
|
||||
nil))
|
||||
(when (and
|
||||
type
|
||||
(memq encoding '(base64 x-uuencode x-uue x-binhex x-yenc))
|
||||
(string-match "\\`text/" type))
|
||||
(goto-char (point-min))
|
||||
|
@ -283,7 +283,7 @@ before the external MIME handler is invoked."
|
||||
"List of media types that are to be displayed inline.
|
||||
See also `mm-inline-media-tests', which says how to display a media
|
||||
type inline."
|
||||
:type '(repeat string)
|
||||
:type '(repeat regexp)
|
||||
:group 'mime-display)
|
||||
|
||||
(defcustom mm-keep-viewer-alive-types
|
||||
@ -292,7 +292,7 @@ type inline."
|
||||
"List of media types for which the external viewer will not be killed
|
||||
when selecting a different article."
|
||||
:version "22.1"
|
||||
:type '(repeat string)
|
||||
:type '(repeat regexp)
|
||||
:group 'mime-display)
|
||||
|
||||
(defcustom mm-automatic-display
|
||||
@ -304,7 +304,7 @@ when selecting a different article."
|
||||
"application/pkcs7-signature" "application/x-pkcs7-mime"
|
||||
"application/pkcs7-mime")
|
||||
"A list of MIME types to be displayed automatically."
|
||||
:type '(repeat string)
|
||||
:type '(repeat regexp)
|
||||
:group 'mime-display)
|
||||
|
||||
(defcustom mm-attachment-override-types '("text/x-vcard"
|
||||
@ -313,17 +313,17 @@ when selecting a different article."
|
||||
"application/pkcs7-signature"
|
||||
"application/x-pkcs7-signature")
|
||||
"Types to have \"attachment\" ignored if they can be displayed inline."
|
||||
:type '(repeat string)
|
||||
:type '(repeat regexp)
|
||||
:group 'mime-display)
|
||||
|
||||
(defcustom mm-inline-override-types nil
|
||||
"Types to be treated as attachments even if they can be displayed inline."
|
||||
:type '(repeat string)
|
||||
:type '(repeat regexp)
|
||||
:group 'mime-display)
|
||||
|
||||
(defcustom mm-automatic-external-display nil
|
||||
"List of MIME type regexps that will be displayed externally automatically."
|
||||
:type '(repeat string)
|
||||
:type '(repeat regexp)
|
||||
:group 'mime-display)
|
||||
|
||||
(defcustom mm-discouraged-alternatives nil
|
||||
@ -338,7 +338,9 @@ to:
|
||||
(\"text/html\" \"text/richtext\")
|
||||
|
||||
Adding \"image/.*\" might also be useful. Spammers use it as the
|
||||
prefered part of multipart/alternative messages."
|
||||
prefered part of multipart/alternative messages. See also
|
||||
`gnus-buttonized-mime-types', to which adding \"multipart/alternative\"
|
||||
enables you to choose manually one of two types those mails include."
|
||||
:type '(repeat regexp) ;; See `mm-preferred-alternative-precedence'.
|
||||
:group 'mime-display)
|
||||
|
||||
@ -769,7 +771,7 @@ external if displayed external."
|
||||
;; Use nametemplate (defined in RFC1524) if it is
|
||||
;; specified in mailcap.
|
||||
(if (assoc "nametemplate" mime-info)
|
||||
(format (assoc "nametemplate" mime-info) file)
|
||||
(format (cdr (assoc "nametemplate" mime-info)) file)
|
||||
;; Add a suffix according to `mailcap-mime-extensions'.
|
||||
(concat file (car (rassoc (mm-handle-media-type handle)
|
||||
mailcap-mime-extensions))))))
|
||||
|
@ -276,7 +276,10 @@ This is taken from RFC 2396.")
|
||||
(defun mm-url-load-url ()
|
||||
"Load `url-insert-file-contents'."
|
||||
(unless (condition-case ()
|
||||
(require 'url-handlers)
|
||||
(progn
|
||||
(require 'url-handlers)
|
||||
(require 'url-parse)
|
||||
(require 'url-vars))
|
||||
(error nil))
|
||||
;; w3-4.0pre0.46 or earlier version.
|
||||
(require 'w3-vars)
|
||||
|
@ -831,11 +831,11 @@ If your Emacs implementation can't decode CHARSET, return nil."
|
||||
(memq 'gnus-all mail-parse-ignored-charsets)
|
||||
(memq charset mail-parse-ignored-charsets))
|
||||
(setq charset mail-parse-charset))
|
||||
(let ((cs (mm-coding-system-p (mm-charset-to-coding-system charset))))
|
||||
(let ((cs (mm-charset-to-coding-system charset)))
|
||||
(cond ((eq cs 'ascii)
|
||||
(setq cs (or (mm-charset-to-coding-system mail-parse-charset)
|
||||
'raw-text)))
|
||||
(cs)
|
||||
((setq cs (mm-coding-system-p cs)))
|
||||
((and charset
|
||||
(listp mail-parse-ignored-charsets)
|
||||
(memq 'gnus-unknown mail-parse-ignored-charsets))
|
||||
|
@ -32,7 +32,7 @@
|
||||
;; [RFC 2595] "Using TLS with IMAP, POP3 and ACAP"
|
||||
;; by Chris Newman <chris.newman@innosoft.com> (1999/06)
|
||||
|
||||
;; This file now contain a combination of the two previous
|
||||
;; This file now contains a combination of the two previous
|
||||
;; implementations both called "starttls.el". The first one is Daiki
|
||||
;; Ueno's starttls.el which uses his own "starttls" command line tool,
|
||||
;; and the second one is Simon Josefsson's starttls.el which uses
|
||||
@ -44,7 +44,7 @@
|
||||
;; both tools installed. It is recommended to use GNUTLS, though, as
|
||||
;; it performs more verification of the certificates.
|
||||
|
||||
;; The GNUTLS support require GNUTLS 0.9.90 (released 2003-10-08) or
|
||||
;; The GNUTLS support requires GNUTLS 0.9.90 (released 2003-10-08) or
|
||||
;; later, from <http://www.gnu.org/software/gnutls/>, or "starttls"
|
||||
;; from <ftp://ftp.opaopa.org/pub/elisp/>.
|
||||
|
||||
@ -58,7 +58,7 @@
|
||||
;; (message "STARTTLS output:\n%s" (starttls-negotiate tmp))
|
||||
;; (process-send-string tmp "EHLO foo\n"))
|
||||
|
||||
;; An example run yield the following output:
|
||||
;; An example run yields the following output:
|
||||
;;
|
||||
;; 220 yxa.extundo.com ESMTP Sendmail 8.12.11/8.12.11/Debian-3; Wed, 26 May 2004 19:12:29 +0200; (No UCE/UBE) logging access from: c494102a.s-bi.bostream.se(OK)-c494102a.s-bi.bostream.se [217.215.27.65]
|
||||
;; 220 2.0.0 Ready to start TLS
|
||||
@ -146,15 +146,14 @@ i.e. when `starttls-use-gnutls' is nil."
|
||||
|
||||
(defcustom starttls-extra-args nil
|
||||
"Extra arguments to `starttls-program'.
|
||||
This program is used when the `starttls' command is used,
|
||||
i.e. when `starttls-use-gnutls' is nil."
|
||||
These apply when the `starttls' command is used, i.e. when
|
||||
`starttls-use-gnutls' is nil."
|
||||
:type '(repeat string)
|
||||
:group 'starttls)
|
||||
|
||||
(defcustom starttls-extra-arguments nil
|
||||
"Extra arguments to `starttls-program'.
|
||||
This program is used when GNUTLS is used, i.e. when
|
||||
`starttls-use-gnutls' is non-nil.
|
||||
These apply when GNUTLS is used, i.e. when `starttls-use-gnutls' is non-nil.
|
||||
|
||||
For example, non-TLS compliant servers may require
|
||||
'(\"--protocols\" \"ssl3\"). Invoke \"gnutls-cli --help\" to
|
||||
@ -172,7 +171,7 @@ find out which parameters are available."
|
||||
(defcustom starttls-connect "- Simple Client Mode:\n\n"
|
||||
"*Regular expression indicating successful connection.
|
||||
The default is what GNUTLS's \"gnutls-cli\" outputs."
|
||||
;; GNUTLS cli.c:main() print this string when it is starting to run
|
||||
;; GNUTLS cli.c:main() prints this string when it is starting to run
|
||||
;; in the application read/write phase. If the logic, or the string
|
||||
;; itself, is modified, this must be updated.
|
||||
:version "22.1"
|
||||
@ -182,7 +181,7 @@ The default is what GNUTLS's \"gnutls-cli\" outputs."
|
||||
(defcustom starttls-failure "\\*\\*\\* Handshake has failed"
|
||||
"*Regular expression indicating failed TLS handshake.
|
||||
The default is what GNUTLS's \"gnutls-cli\" outputs."
|
||||
;; GNUTLS cli.c:do_handshake() print this string on failure. If the
|
||||
;; GNUTLS cli.c:do_handshake() prints this string on failure. If the
|
||||
;; logic, or the string itself, is modified, this must be updated.
|
||||
:version "22.1"
|
||||
:type 'regexp
|
||||
@ -200,10 +199,10 @@ The default is what GNUTLS's \"gnutls-cli\" outputs."
|
||||
:group 'starttls)
|
||||
|
||||
(defun starttls-negotiate-gnutls (process)
|
||||
"Negotiate TLS on process opened by `open-starttls-stream'.
|
||||
This should typically only be done once. It typically return a
|
||||
"Negotiate TLS on PROCESS opened by `open-starttls-stream'.
|
||||
This should typically only be done once. It typically returns a
|
||||
multi-line informational message with information about the
|
||||
handshake, or NIL on failure."
|
||||
handshake, or nil on failure."
|
||||
(let (buffer info old-max done-ok done-bad)
|
||||
(if (null (setq buffer (process-buffer process)))
|
||||
;; XXX How to remove/extract the TLS negotiation junk?
|
||||
@ -243,16 +242,16 @@ handshake, or NIL on failure."
|
||||
(defalias 'starttls-set-process-query-on-exit-flag
|
||||
'process-kill-without-query)))
|
||||
|
||||
(defun starttls-open-stream-gnutls (name buffer host service)
|
||||
(defun starttls-open-stream-gnutls (name buffer host port)
|
||||
(message "Opening STARTTLS connection to `%s'..." host)
|
||||
(let* (done
|
||||
(old-max (with-current-buffer buffer (point-max)))
|
||||
(process-connection-type starttls-process-connection-type)
|
||||
(process (apply #'start-process name buffer
|
||||
starttls-gnutls-program "-s" host
|
||||
"-p" (if (integerp service)
|
||||
(int-to-string service)
|
||||
service)
|
||||
"-p" (if (integerp port)
|
||||
(int-to-string port)
|
||||
port)
|
||||
starttls-extra-arguments)))
|
||||
(starttls-set-process-query-on-exit-flag process nil)
|
||||
(while (and (processp process)
|
||||
@ -273,11 +272,11 @@ handshake, or NIL on failure."
|
||||
host (if done "done" "failed"))
|
||||
process))
|
||||
|
||||
(defun starttls-open-stream (name buffer host service)
|
||||
"Open a TLS connection for a service to a host.
|
||||
Returns a subprocess-object to represent the connection.
|
||||
(defun starttls-open-stream (name buffer host port)
|
||||
"Open a TLS connection for a port to a host.
|
||||
Returns a subprocess object to represent the connection.
|
||||
Input and output work as for subprocesses; `delete-process' closes it.
|
||||
Args are NAME BUFFER HOST SERVICE.
|
||||
Args are NAME BUFFER HOST PORT.
|
||||
NAME is name for process. It is modified if necessary to make it unique.
|
||||
BUFFER is the buffer (or `buffer-name') to associate with the process.
|
||||
Process output goes at end of that buffer, unless you specify
|
||||
@ -285,14 +284,15 @@ BUFFER is the buffer (or `buffer-name') to associate with the process.
|
||||
BUFFER may be also nil, meaning that this process is not associated
|
||||
with any buffer
|
||||
Third arg is name of the host to connect to, or its IP address.
|
||||
Fourth arg SERVICE is name of the service desired, or an integer
|
||||
specifying a port number to connect to."
|
||||
Fourth arg PORT is an integer specifying a port to connect to.
|
||||
If `starttls-use-gnutls' is nil, this may also be a service name, but
|
||||
GNUTLS requires a port number."
|
||||
(if starttls-use-gnutls
|
||||
(starttls-open-stream-gnutls name buffer host service)
|
||||
(starttls-open-stream-gnutls name buffer host port)
|
||||
(let* ((process-connection-type starttls-process-connection-type)
|
||||
(process (apply #'start-process
|
||||
name buffer starttls-program
|
||||
host (format "%s" service)
|
||||
host (format "%s" port)
|
||||
starttls-extra-args)))
|
||||
(starttls-set-process-query-on-exit-flag process nil)
|
||||
process)))
|
||||
|
@ -139,8 +139,9 @@ and then returns."
|
||||
(setq new-frame (window-frame (selected-window))
|
||||
config nil))
|
||||
(setq buffer-read-only nil)
|
||||
(erase-buffer)
|
||||
(insert help-screen)
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(insert help-screen))
|
||||
(help-mode)
|
||||
(goto-char (point-min))
|
||||
(while (or (memq char (append help-event-list
|
||||
|
@ -183,8 +183,7 @@ specifies what to do when the user exits the help buffer."
|
||||
\(Use SPC or DEL to scroll through this text. Type \\<help-map>\\[help-quit] to exit the Help command.)
|
||||
|
||||
a command-apropos. Give a list of words or a regexp, to get a list of
|
||||
commands whose names match (they contain two or more of the words,
|
||||
or a match for the regexp). See also the apropos command.
|
||||
commands whose names match. See also the apropos command.
|
||||
b describe-bindings. Display table of all key bindings.
|
||||
c describe-key-briefly. Type a command key sequence;
|
||||
it prints the function name that sequence runs.
|
||||
|
16
lisp/info.el
16
lisp/info.el
@ -448,8 +448,7 @@ Do the right thing if the file has been compressed or zipped."
|
||||
(or tail
|
||||
(error "Can't find %s or any compressed version of it" filename)))
|
||||
;; check for conflict with jka-compr
|
||||
(if (and (featurep 'jka-compr)
|
||||
(jka-compr-installed-p)
|
||||
(if (and (jka-compr-installed-p)
|
||||
(jka-compr-get-compression-info fullname))
|
||||
(setq decoder nil))
|
||||
(if decoder
|
||||
@ -698,9 +697,9 @@ it says do not attempt further (recursive) error recovery."
|
||||
|
||||
;;;###autoload
|
||||
(defun Info-on-current-buffer (&optional nodename)
|
||||
"Use the `Info-mode' to browse the current Info buffer.
|
||||
If a prefix arg is provided, it queries for the NODENAME which
|
||||
else defaults to \"Top\"."
|
||||
"Use Info mode to browse the current Info buffer.
|
||||
With a prefix arg, this queries for the node name to visit first;
|
||||
otherwise, that defaults to `Top'."
|
||||
(interactive
|
||||
(list (if current-prefix-arg
|
||||
(completing-read "Node name: " (Info-build-node-completions)
|
||||
@ -1518,7 +1517,12 @@ PATH-AND-SUFFIXES is a pair of lists, (DIRECTORIES . SUFFIXES)."
|
||||
|
||||
;; Arrange to highlight the proper letters in the completion list buffer.
|
||||
(put 'Info-read-node-name-1 'completion-base-size-function
|
||||
(lambda () 1))
|
||||
(lambda ()
|
||||
(if (string-match "\\`([^)]*\\'"
|
||||
(or completion-common-substring
|
||||
(minibuffer-completion-contents)))
|
||||
1
|
||||
0)))
|
||||
|
||||
(defun Info-read-node-name (prompt &optional default)
|
||||
(let* ((completion-ignore-case t)
|
||||
|
@ -73,7 +73,9 @@ Return t if file exists."
|
||||
(inhibit-file-name-operation nil))
|
||||
(save-excursion
|
||||
(set-buffer buffer)
|
||||
(insert-file-contents fullname)
|
||||
;; Don't let deactivate-mark remain set.
|
||||
(let (deactivate-mark)
|
||||
(insert-file-contents fullname))
|
||||
;; If the loaded file was inserted with no-conversion or
|
||||
;; raw-text coding system, make the buffer unibyte.
|
||||
;; Otherwise, eval-buffer might try to interpret random
|
||||
|
@ -1224,9 +1224,10 @@ Use `isearch-exit' to quit without signaling."
|
||||
(let ((case-fold-search isearch-case-fold-search))
|
||||
(isearch-done)
|
||||
(isearch-clean-overlays)
|
||||
(if (and (< isearch-other-end (point))
|
||||
(if (and isearch-other-end
|
||||
(< isearch-other-end (point))
|
||||
(not (and transient-mark-mode mark-active
|
||||
(< isearch-opoint (point)))))
|
||||
(< (mark) (point)))))
|
||||
(goto-char isearch-other-end))
|
||||
(set query-replace-from-history-variable
|
||||
(cons isearch-string
|
||||
|
@ -195,10 +195,11 @@
|
||||
;;
|
||||
|
||||
(defun log-view-diff (beg end)
|
||||
"Get the diff for several revisions.
|
||||
If the point is the same as the mark or the mark is not active,
|
||||
get the diff for this revision. Otherwise, get the diff between
|
||||
the revisions where the region starts and ends."
|
||||
"Get the diff between two revisions.
|
||||
If the mark is not active or the mark is on the revision at point,
|
||||
get the diff between the revision at point and its previous revision.
|
||||
Otherwise, get the diff between the revisions where the region starts
|
||||
and ends."
|
||||
(interactive
|
||||
(list (if mark-active (region-beginning) (point))
|
||||
(if mark-active (region-end) (point))))
|
||||
|
@ -97,6 +97,8 @@ doit:
|
||||
|
||||
$(lisp)/cus-load.el:
|
||||
touch $@
|
||||
# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
|
||||
# this can break with GNU Make 3.81 and later if sh.exe is used.
|
||||
custom-deps: $(lisp)/cus-load.el doit
|
||||
@echo Directories: $(WINS)
|
||||
-$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) -f custom-make-dependencies $(lisp) $(WINS)
|
||||
@ -150,13 +152,13 @@ loaddefs.el-CMD:
|
||||
# including a drive letter and any leading directories, so the generated
|
||||
# loaddefs.el will mention file names that on other machine reference
|
||||
# possibly non-existent directories.
|
||||
#
|
||||
# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
|
||||
# this can break with GNU Make 3.81 and later if sh.exe is used.
|
||||
autoloads: $(lisp)/loaddefs.el doit
|
||||
@echo Directories: . $(WINS)
|
||||
$(emacs) -l autoload \
|
||||
--eval $(ARGQUOTE)(setq find-file-hook nil \
|
||||
find-file-suppress-same-file-warnings t \
|
||||
generated-autoload-file \
|
||||
$(DQUOTE)$(lisp)/loaddefs.el$(DQUOTE))$(ARGQUOTE) \
|
||||
--eval $(ARGQUOTE)(setq find-file-hook nil find-file-suppress-same-file-warnings t generated-autoload-file $(DQUOTE)$(lisp)/loaddefs.el$(DQUOTE))$(ARGQUOTE) \
|
||||
-f batch-update-autoloads . $(WINS)
|
||||
|
||||
$(lisp)/subdirs.el:
|
||||
|
@ -831,18 +831,6 @@ mail status in mode line"))
|
||||
:visible (display-graphic-p)
|
||||
:button (:radio . (eq fringe-mode nil))))
|
||||
|
||||
(defun menu-bar-showhide-fringe-menu-customize-left ()
|
||||
"Display fringes only on the left of each window."
|
||||
(interactive)
|
||||
(require 'fringe)
|
||||
(customize-set-variable 'fringe-mode '(nil . 0)))
|
||||
|
||||
(define-key menu-bar-showhide-fringe-menu [left]
|
||||
'(menu-item "On the Left" menu-bar-showhide-fringe-menu-customize-left
|
||||
:help "Fringe only on the left side"
|
||||
:visible (display-graphic-p)
|
||||
:button (:radio . (equal fringe-mode '(nil . 0)))))
|
||||
|
||||
(defun menu-bar-showhide-fringe-menu-customize-right ()
|
||||
"Display fringes only on the right of each window."
|
||||
(interactive)
|
||||
@ -855,6 +843,18 @@ mail status in mode line"))
|
||||
:visible (display-graphic-p)
|
||||
:button (:radio . (equal fringe-mode '(0 . nil)))))
|
||||
|
||||
(defun menu-bar-showhide-fringe-menu-customize-left ()
|
||||
"Display fringes only on the left of each window."
|
||||
(interactive)
|
||||
(require 'fringe)
|
||||
(customize-set-variable 'fringe-mode '(nil . 0)))
|
||||
|
||||
(define-key menu-bar-showhide-fringe-menu [left]
|
||||
'(menu-item "On the Left" menu-bar-showhide-fringe-menu-customize-left
|
||||
:help "Fringe only on the left side"
|
||||
:visible (display-graphic-p)
|
||||
:button (:radio . (equal fringe-mode '(nil . 0)))))
|
||||
|
||||
(defun menu-bar-showhide-fringe-menu-customize-disable ()
|
||||
"Do not display window fringes."
|
||||
(interactive)
|
||||
@ -1432,7 +1432,7 @@ for the definition of the menu frame."
|
||||
(selected-frame))))
|
||||
(not (window-minibuffer-p (frame-selected-window menu-frame)))))
|
||||
|
||||
(defun kill-this-buffer () ; for the menubar
|
||||
(defun kill-this-buffer () ; for the menu bar
|
||||
"Kill the current buffer."
|
||||
(interactive)
|
||||
(kill-buffer (current-buffer)))
|
||||
@ -1662,10 +1662,10 @@ Buffers menu is regenerated."
|
||||
"Next Buffer"
|
||||
'next-buffer
|
||||
:help "Switch to the \"next\" buffer in a cyclic order")
|
||||
(list 'prev-buffer
|
||||
(list 'previous-buffer
|
||||
'menu-item
|
||||
"Previous Buffer"
|
||||
'prev-buffer
|
||||
'previous-buffer
|
||||
:help "Switch to the \"previous\" buffer in a cyclic order")
|
||||
(list 'select-named-buffer
|
||||
'menu-item
|
||||
|
@ -1,3 +1,23 @@
|
||||
2005-12-15 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* mh-e.el (mh-delete-msg): Sync docstrings with manual.
|
||||
|
||||
* mh-seq.el (mh-delete-subject, mh-thread-next-sibling)
|
||||
(mh-thread-previous-sibling, mh-thread-ancestor)
|
||||
(mh-thread-delete, mh-thread-refile): Ditto.
|
||||
|
||||
2005-12-14 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* mh-customize.el (mh-speed-flists-interval): Rename to
|
||||
mh-speed-update-interval.
|
||||
(mh-speed-run-flists-flag): Delete. Setting
|
||||
mh-speed-flists-interval to 0 accomplishes the same thing.
|
||||
|
||||
* mh-speed.el (mh-folder-speedbar-buttons, mh-speed-flists): Use
|
||||
mh-speed-update-interval instead of mh-speed-run-flists-flag.
|
||||
(mh-speed-toggle, mh-speed-view, mh-speed-refresh): Sync
|
||||
docstrings with manual.
|
||||
|
||||
2005-12-09 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* mh-customize.el (mh-path): Move here from mh-init.el.
|
||||
|
@ -1780,21 +1780,12 @@ and enter the number of lines you'd like to see."
|
||||
|
||||
;;; The Speedbar (:group 'mh-speed)
|
||||
|
||||
(defcustom mh-speed-flists-interval 60
|
||||
"Time between calls to flists in seconds.
|
||||
If 0, flists is not called repeatedly."
|
||||
(defcustom mh-speed-update-interval 60
|
||||
"Time between speedbar updates in seconds.
|
||||
Set to 0 to disable automatic update."
|
||||
:type 'integer
|
||||
:group 'mh-speed)
|
||||
|
||||
(defcustom mh-speed-run-flists-flag t
|
||||
"Non-nil means flists is used.
|
||||
If non-nil, flists is executed every `mh-speed-flists-interval' seconds to
|
||||
update the display of the number of unseen and total messages in each folder.
|
||||
If resources are limited, this can be set to nil and the speedbar display can
|
||||
be updated manually with the \\[mh-speed-flists] command."
|
||||
:type 'boolean
|
||||
:group 'mh-speed)
|
||||
|
||||
|
||||
|
||||
;;; Threading (:group 'mh-thread)
|
||||
|
@ -535,7 +535,7 @@ the Emacs interface to the MH mail system."
|
||||
;;; User executable MH-E commands:
|
||||
|
||||
(defun mh-delete-msg (range)
|
||||
"Delete message\\<mh-folder-mode-map>.
|
||||
"Delete RANGE\\<mh-folder-mode-map>.
|
||||
|
||||
To mark a message for deletion, use this command. A \"D\" is placed by the
|
||||
message in the scan window, and the next undeleted message is displayed. If
|
||||
|
@ -936,10 +936,12 @@ Use \\<mh-folder-mode-map>\\[mh-widen] to undo this command."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-delete-subject ()
|
||||
"Mark all following messages with same subject to be deleted.
|
||||
This puts the messages in a sequence named subject. You can undo the last
|
||||
deletion marks using `mh-undo' with a prefix argument and then specifying the
|
||||
subject sequence."
|
||||
"Delete messages with same subject\\<mh-folder-mode-map>.
|
||||
|
||||
To delete messages faster, you can use this command to delete all the messages
|
||||
with the same subject as the current message. This command puts these messages
|
||||
in a sequence named \"subject\". You can undo this action by using \\[mh-undo]
|
||||
with a prefix argument and then specifying the \"subject\" sequence."
|
||||
(interactive)
|
||||
(let ((count (mh-subject-to-sequence nil)))
|
||||
(cond
|
||||
@ -954,11 +956,15 @@ subject sequence."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-delete-subject-or-thread ()
|
||||
"Mark messages for deletion intelligently.
|
||||
If the folder is threaded then `mh-thread-delete' is used to mark the current
|
||||
message and all its descendants for deletion. Otherwise `mh-delete-subject' is
|
||||
used to mark the current message and all messages following it with the same
|
||||
subject for deletion."
|
||||
"Delete messages with same subject or thread\\<mh-folder-mode-map>.
|
||||
|
||||
To delete messages faster, you can use this command to delete all the messages
|
||||
with the same subject as the current message. This command puts these messages
|
||||
in a sequence named \"subject\". You can undo this action by using \\[mh-undo]
|
||||
with a prefix argument and then specifying the \"subject\" sequence.
|
||||
|
||||
However, if the buffer is displaying a threaded view of the folder then this
|
||||
command behaves like \\[mh-thread-delete]."
|
||||
(interactive)
|
||||
(if (memq 'unthread mh-view-ops)
|
||||
(mh-thread-delete)
|
||||
@ -1562,7 +1568,8 @@ MSG is the message being notated with NOTATION at OFFSET."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-thread-next-sibling (&optional previous-flag)
|
||||
"Jump to next sibling.
|
||||
"Display next sibling.
|
||||
|
||||
With non-nil optional argument PREVIOUS-FLAG jump to the previous sibling."
|
||||
(interactive)
|
||||
(cond ((not (memq 'unthread mh-view-ops))
|
||||
@ -1589,7 +1596,7 @@ With non-nil optional argument PREVIOUS-FLAG jump to the previous sibling."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-thread-previous-sibling ()
|
||||
"Jump to previous sibling."
|
||||
"Display previous sibling."
|
||||
(interactive)
|
||||
(mh-thread-next-sibling t))
|
||||
|
||||
@ -1610,9 +1617,11 @@ With non-nil optional argument PREVIOUS-FLAG jump to the previous sibling."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-thread-ancestor (&optional thread-root-flag)
|
||||
"Jump to the ancestor of current message.
|
||||
If optional argument THREAD-ROOT-FLAG is non-nil then jump to the root of the
|
||||
thread tree the message belongs to."
|
||||
"Display ancestor of current message.
|
||||
|
||||
If you do not care for the way a particular thread has turned, you can move up
|
||||
the chain of messages with this command. This command can also take a prefix
|
||||
argument THREAD-ROOT-FLAG to jump to the message that started everything."
|
||||
(interactive "P")
|
||||
(beginning-of-line)
|
||||
(cond ((not (memq 'unthread mh-view-ops))
|
||||
@ -1656,7 +1665,7 @@ start of the region and the second is the point at the end."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-thread-delete ()
|
||||
"Mark current message and all its children for subsequent deletion."
|
||||
"Delete thread."
|
||||
(interactive)
|
||||
(cond ((not (memq 'unthread mh-view-ops))
|
||||
(error "Folder isn't threaded"))
|
||||
@ -1669,7 +1678,7 @@ start of the region and the second is the point at the end."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-thread-refile (folder)
|
||||
"Mark current message and all its children for refiling to FOLDER."
|
||||
"Refile (output) thread into FOLDER."
|
||||
(interactive (list (intern (mh-prompt-for-refile-folder))))
|
||||
(cond ((not (memq 'unthread mh-view-ops))
|
||||
(error "Folder isn't threaded"))
|
||||
|
@ -76,7 +76,7 @@ BUFFER is the MH-E buffer for which the speedbar buffer is to be created."
|
||||
(line-beginning-position) (1+ (line-beginning-position))
|
||||
`(mh-folder nil mh-expanded nil mh-children-p t mh-level 0))
|
||||
(mh-speed-stealth-update t)
|
||||
(when mh-speed-run-flists-flag
|
||||
(when (> mh-speed-update-interval 0)
|
||||
(mh-speed-flists nil))))
|
||||
|
||||
;;;###mh-autoload
|
||||
@ -292,8 +292,8 @@ Do the right thing for the different kinds of buffers that MH-E uses."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-speed-toggle (&rest args)
|
||||
"Toggle the display of child folders.
|
||||
The otional ARGS are ignored and there for compatibilty with speedbar."
|
||||
"Toggle the display of child folders in the speedbar.
|
||||
The optional ARGS from speedbar are ignored."
|
||||
(interactive)
|
||||
(declare (ignore args))
|
||||
(beginning-of-line)
|
||||
@ -335,8 +335,8 @@ The otional ARGS are ignored and there for compatibilty with speedbar."
|
||||
|
||||
;;;###mh-autoload
|
||||
(defun mh-speed-view (&rest args)
|
||||
"View folder on current line.
|
||||
Optional ARGS are ignored."
|
||||
"Visits the selected folder just as if you had used \\<mh-folder-mode-map>\\[mh-visit-folder].
|
||||
The optional ARGS from speedbar are ignored."
|
||||
(interactive)
|
||||
(declare (ignore args))
|
||||
(let* ((folder (get-text-property (line-beginning-position) 'mh-folder))
|
||||
@ -381,7 +381,9 @@ only for that one folder."
|
||||
(unless mh-speed-flists-timer
|
||||
(setq mh-speed-flists-timer
|
||||
(run-at-time
|
||||
nil (and mh-speed-run-flists-flag mh-speed-flists-interval)
|
||||
nil (if (> mh-speed-update-interval 0)
|
||||
mh-speed-update-interval
|
||||
nil)
|
||||
(lambda ()
|
||||
(unless (and (processp mh-speed-flists-process)
|
||||
(not (eq (process-status mh-speed-flists-process)
|
||||
@ -502,9 +504,10 @@ next."
|
||||
(clrhash mh-sub-folders-cache)))))
|
||||
|
||||
(defun mh-speed-refresh ()
|
||||
"Refresh the speedbar.
|
||||
Use this function to refresh the speedbar if folders have been added or
|
||||
deleted or message ranges have been updated outside of MH-E."
|
||||
"Regenerates the list of folders in the speedbar.
|
||||
|
||||
Run this command if you've added or deleted a folder, or want to update the
|
||||
unseen message count before the next automatic update."
|
||||
(interactive)
|
||||
(mh-speed-flists t)
|
||||
(mh-speed-invalidate-map ""))
|
||||
|
@ -594,14 +594,15 @@ resized by dragging their header-line."
|
||||
((null (car (cdr mouse)))
|
||||
nil)
|
||||
(t
|
||||
(save-selected-window
|
||||
;; If the scroll bar is on the window's left,
|
||||
;; adjust the window on the left.
|
||||
(unless (eq which-side 'right)
|
||||
(select-window (previous-window)))
|
||||
(let ((window
|
||||
;; If the scroll bar is on the window's left,
|
||||
;; adjust the window on the left.
|
||||
(if (eq which-side 'right)
|
||||
(selected-window)
|
||||
(previous-window))))
|
||||
(setq x (- (car (cdr mouse))
|
||||
(if (eq which-side 'right) 0 2))
|
||||
edges (window-edges)
|
||||
edges (window-edges window)
|
||||
left (nth 0 edges)
|
||||
right (nth 2 edges))
|
||||
;; scale back a move that would make the
|
||||
@ -609,19 +610,10 @@ resized by dragging their header-line."
|
||||
(if (< (- x left -1) window-min-width)
|
||||
(setq x (+ left window-min-width -1)))
|
||||
;; compute size change needed
|
||||
(setq growth (- x right -1)
|
||||
wconfig (current-window-configuration))
|
||||
(enlarge-window growth t)
|
||||
;; if this window's growth caused another
|
||||
;; window to be deleted because it was too
|
||||
;; thin, rescind the change.
|
||||
;;
|
||||
;; if size change caused space to be stolen
|
||||
;; from a window to the left of this one,
|
||||
;; rescind the change.
|
||||
(if (or (/= start-nwindows (count-windows t))
|
||||
(/= left (nth 0 (window-edges))))
|
||||
(set-window-configuration wconfig))))))))))
|
||||
(setq growth (- x right -1))
|
||||
(condition-case nil
|
||||
(adjust-window-trailing-edge window growth t)
|
||||
(error nil))))))))))
|
||||
|
||||
(defun mouse-set-point (event)
|
||||
"Move point to the position clicked on with the mouse.
|
||||
|
@ -391,6 +391,32 @@
|
||||
(defvar w3-mode-map)
|
||||
(defvar w3m-minor-mode-map)
|
||||
|
||||
;; ======================================================================
|
||||
;;; Newsticker status
|
||||
;; ======================================================================
|
||||
|
||||
(defvar newsticker--retrieval-timer-list nil
|
||||
"List of timers for news retrieval.
|
||||
This is an alist, each element consisting of (feed-name . timer)")
|
||||
|
||||
(defvar newsticker--display-timer nil
|
||||
"Timer for newsticker display.")
|
||||
|
||||
;;;###autoload
|
||||
(defun newsticker-running-p ()
|
||||
"Check whether newsticker is running.
|
||||
Return t if newsticker is running, nil otherwise. Newsticker is
|
||||
considered to be running if the newsticker timer list is not empty."
|
||||
(> (length newsticker--retrieval-timer-list) 0))
|
||||
|
||||
;;;###autoload
|
||||
(defun newsticker-ticker-running-p ()
|
||||
"Check whether newsticker's actual ticker is running.
|
||||
Return t if ticker is running, nil otherwise. Newsticker is
|
||||
considered to be running if the newsticker timer list is not
|
||||
empty."
|
||||
(timerp newsticker--display-timer))
|
||||
|
||||
;; ======================================================================
|
||||
;;; Customizables
|
||||
;; ======================================================================
|
||||
@ -1188,11 +1214,6 @@ that can be added."
|
||||
;; ======================================================================
|
||||
;;; Internal variables
|
||||
;; ======================================================================
|
||||
(defvar newsticker--display-timer nil
|
||||
"Timer for newsticker display.")
|
||||
(defvar newsticker--retrieval-timer-list nil
|
||||
"List of timers for news retrieval.
|
||||
This is an alist, each element consisting of (feed-name . timer)")
|
||||
(defvar newsticker--item-list nil
|
||||
"List of newsticker items.")
|
||||
(defvar newsticker--item-position 0
|
||||
@ -3078,24 +3099,6 @@ If VALUE is nil, auto-narrowing is turned off, otherwise it is turned on."
|
||||
(let ((age (get-text-property (point) 'nt-age)))
|
||||
(and (memq age '(new old obsolete)) t)))))
|
||||
|
||||
;; ======================================================================
|
||||
;;; Newsticker status
|
||||
;; ======================================================================
|
||||
;;;###autoload
|
||||
(defun newsticker-running-p ()
|
||||
"Check whether newsticker is running.
|
||||
Return t if newsticker is running, nil otherwise. Newsticker is
|
||||
considered to be running if the newsticker timer list is not empty."
|
||||
(> (length newsticker--retrieval-timer-list) 0))
|
||||
|
||||
;;;###autoload
|
||||
(defun newsticker-ticker-running-p ()
|
||||
"Check whether newsticker's actual ticker is running.
|
||||
Return t if ticker is running, nil otherwise. Newsticker is
|
||||
considered to be running if the newsticker timer list is not
|
||||
empty."
|
||||
(timerp newsticker--display-timer))
|
||||
|
||||
;; ======================================================================
|
||||
;;; local stuff
|
||||
;; ======================================================================
|
||||
|
@ -56,7 +56,8 @@
|
||||
:group 'comm)
|
||||
|
||||
(defcustom tls-program '("gnutls-cli -p %p %h"
|
||||
"gnutls-cli -p %p %h --protocols ssl3")
|
||||
"gnutls-cli -p %p %h --protocols ssl3"
|
||||
"openssl s_client -connect %h:%p -no_ssl2")
|
||||
"List of strings containing commands to start TLS stream to a host.
|
||||
Each entry in the list is tried until a connection is successful.
|
||||
%s is replaced with server hostname, %p with port to connect to.
|
||||
@ -64,6 +65,7 @@ The program should read input on stdin and write output to
|
||||
stdout. Also see `tls-success' for what the program should output
|
||||
after successful negotiation."
|
||||
:type '(repeat string)
|
||||
:version "22.1"
|
||||
:group 'tls)
|
||||
|
||||
(defcustom tls-process-connection-type nil
|
||||
@ -72,9 +74,10 @@ after successful negotiation."
|
||||
:type 'boolean
|
||||
:group 'tls)
|
||||
|
||||
(defcustom tls-success "- Handshake was completed"
|
||||
(defcustom tls-success "- Handshake was completed\\|SSL handshake has read "
|
||||
"*Regular expression indicating completed TLS handshakes.
|
||||
The default is what GNUTLS's \"gnutls-cli\" outputs."
|
||||
The default is what GNUTLS's \"gnutls-cli\" or OpenSSL's
|
||||
\"openssl s_client\" outputs."
|
||||
:version "22.1"
|
||||
:type 'regexp
|
||||
:group 'tls)
|
||||
@ -109,11 +112,11 @@ Used by `tls-certificate-information'."
|
||||
(push (cons (match-string 1) (match-string 2)) vals))
|
||||
(nreverse vals))))))
|
||||
|
||||
(defun open-tls-stream (name buffer host service)
|
||||
"Open a TLS connection for a service to a host.
|
||||
(defun open-tls-stream (name buffer host port)
|
||||
"Open a TLS connection for a port to a host.
|
||||
Returns a subprocess-object to represent the connection.
|
||||
Input and output work as for subprocesses; `delete-process' closes it.
|
||||
Args are NAME BUFFER HOST SERVICE.
|
||||
Args are NAME BUFFER HOST PORT.
|
||||
NAME is name for process. It is modified if necessary to make it unique.
|
||||
BUFFER is the buffer (or buffer-name) to associate with the process.
|
||||
Process output goes at end of that buffer, unless you specify
|
||||
@ -121,8 +124,7 @@ BUFFER is the buffer (or buffer-name) to associate with the process.
|
||||
BUFFER may be also nil, meaning that this process is not associated
|
||||
with any buffer
|
||||
Third arg is name of the host to connect to, or its IP address.
|
||||
Fourth arg SERVICE is name of the service desired, or an integer
|
||||
specifying a port number to connect to."
|
||||
Fourth arg PORT is an integer specifying a port to connect to."
|
||||
(let ((cmds tls-program) cmd done)
|
||||
(message "Opening TLS connection to `%s'..." host)
|
||||
(while (and (not done) (setq cmd (pop cmds)))
|
||||
@ -134,9 +136,9 @@ specifying a port number to connect to."
|
||||
cmd
|
||||
(format-spec-make
|
||||
?h host
|
||||
?p (if (integerp service)
|
||||
(int-to-string service)
|
||||
service)))))
|
||||
?p (if (integerp port)
|
||||
(int-to-string port)
|
||||
port)))))
|
||||
response)
|
||||
(while (and process
|
||||
(memq (process-status process) '(open run))
|
||||
|
@ -3993,35 +3993,36 @@ comment at the start of cc-engine.el for more info."
|
||||
;;
|
||||
;; This function might do hidden buffer changes.
|
||||
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(when (or (looking-at "[<>]")
|
||||
(< (skip-chars-backward "<>") 0))
|
||||
|
||||
(save-match-data
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(c-beginning-of-current-token)
|
||||
(when (and (< (point) beg)
|
||||
(looking-at c-<>-multichar-token-regexp)
|
||||
(< beg (setq beg (match-end 0))))
|
||||
(while (progn (skip-chars-forward "^<>" beg)
|
||||
(< (point) beg))
|
||||
(c-clear-char-property (point) 'syntax-table)
|
||||
(forward-char))))
|
||||
|
||||
(when (< beg end)
|
||||
(goto-char end)
|
||||
(when (or (looking-at "[<>]")
|
||||
(< (skip-chars-backward "<>") 0))
|
||||
|
||||
(goto-char end)
|
||||
(goto-char beg)
|
||||
(c-beginning-of-current-token)
|
||||
(when (and (< (point) end)
|
||||
(when (and (< (point) beg)
|
||||
(looking-at c-<>-multichar-token-regexp)
|
||||
(< end (setq end (match-end 0))))
|
||||
(while (progn (skip-chars-forward "^<>" end)
|
||||
(< (point) end))
|
||||
(< beg (setq beg (match-end 0))))
|
||||
(while (progn (skip-chars-forward "^<>" beg)
|
||||
(< (point) beg))
|
||||
(c-clear-char-property (point) 'syntax-table)
|
||||
(forward-char)))))))
|
||||
(forward-char))))
|
||||
|
||||
(when (< beg end)
|
||||
(goto-char end)
|
||||
(when (or (looking-at "[<>]")
|
||||
(< (skip-chars-backward "<>") 0))
|
||||
|
||||
(goto-char end)
|
||||
(c-beginning-of-current-token)
|
||||
(when (and (< (point) end)
|
||||
(looking-at c-<>-multichar-token-regexp)
|
||||
(< end (setq end (match-end 0))))
|
||||
(while (progn (skip-chars-forward "^<>" end)
|
||||
(< (point) end))
|
||||
(c-clear-char-property (point) 'syntax-table)
|
||||
(forward-char))))))))
|
||||
|
||||
;; Dynamically bound variable that instructs `c-forward-type' to also
|
||||
;; treat possible types (i.e. those that it normally returns 'maybe or
|
||||
|
@ -331,7 +331,8 @@ beginning of line's indentation.
|
||||
FILE can also have the form (FILE FORMAT...), where the FORMATs
|
||||
\(e.g. \"%s.c\") will be applied in turn to the recognized file
|
||||
name, until a file of that name is found. Or FILE can also be a
|
||||
function to return the filename.
|
||||
function that returns (FILENAME) or (RELATIVE-FILENAME . DIRNAME).
|
||||
In the former case, FILENAME may be relative or absolute.
|
||||
|
||||
LINE can also be of the form (LINE . END-LINE) meaning a range
|
||||
of lines. COLUMN can also be of the form (COLUMN . END-COLUMN)
|
||||
|
@ -59,14 +59,18 @@
|
||||
:type 'file
|
||||
:group 'cpp)
|
||||
|
||||
(define-widget 'cpp-face 'lazy
|
||||
"Either a face or the special symbol 'invisible'."
|
||||
:type '(choice (const invisible) (face)))
|
||||
|
||||
(defcustom cpp-known-face 'invisible
|
||||
"*Face used for known cpp symbols."
|
||||
:type 'face
|
||||
:type 'cpp-face
|
||||
:group 'cpp)
|
||||
|
||||
(defcustom cpp-unknown-face 'highlight
|
||||
"*Face used for unknown cpp symbols."
|
||||
:type 'face
|
||||
:type 'cpp-face
|
||||
:group 'cpp)
|
||||
|
||||
(defcustom cpp-face-type 'light
|
||||
@ -95,10 +99,12 @@ Each entry is a list with the following elements:
|
||||
1. Face used for text that is `ifdef' the macro.
|
||||
2. Face used for text that is `ifndef' the macro.
|
||||
3. t, nil, or `both' depending on what text may be edited."
|
||||
:type '(repeat (list string face face
|
||||
(choice (const t)
|
||||
(const nil)
|
||||
(const both))))
|
||||
:type '(repeat (list (string :tag "Macro")
|
||||
(cpp-face :tag "True")
|
||||
(cpp-face :tag "False")
|
||||
(choice (const :tag "True branch writable" t)
|
||||
(const :tag "False branch writeable" nil)
|
||||
(const :tag "Both branches writeable" both))))
|
||||
:group 'cpp)
|
||||
|
||||
(defvar cpp-overlay-list nil)
|
||||
|
@ -51,7 +51,8 @@
|
||||
;; annotations to GDB/MI.
|
||||
|
||||
;; This mode SHOULD WORK WITH GDB 5.0 onwards but you will NEED GDB 6.0
|
||||
;; onwards to use watch expressions.
|
||||
;; onwards to use watch expressions. It works best with GDB 6.4 where
|
||||
;; watch expressions will update more quickly.
|
||||
|
||||
;;; Windows Platforms:
|
||||
|
||||
@ -2577,6 +2578,8 @@ With arg, display additional buffers iff arg is positive."
|
||||
(if (null arg)
|
||||
(not gdb-many-windows)
|
||||
(> (prefix-numeric-value arg) 0)))
|
||||
(message (format "Display of other windows %sabled"
|
||||
(if gdb-many-windows "en" "dis")))
|
||||
(if (and gud-comint-buffer
|
||||
(buffer-name gud-comint-buffer))
|
||||
(condition-case nil
|
||||
|
@ -1038,7 +1038,8 @@ Go to the beginning of buffer if not found."
|
||||
(if (eq widget-type (widget-type (widget-at (point))))
|
||||
(setq done t)
|
||||
(widget-move 1))))
|
||||
(goto-char (point-min))))
|
||||
(error
|
||||
(goto-char (point-min)))))
|
||||
|
||||
(defvar recentf-dialog-mode-map
|
||||
(let ((km (copy-keymap recentf--shortcuts-keymap)))
|
||||
@ -1100,6 +1101,8 @@ IGNORE arguments."
|
||||
(defun recentf-edit-list ()
|
||||
"Show a dialog to delete selected files from the recent list."
|
||||
(interactive)
|
||||
(unless recentf-list
|
||||
(error "The list of recent files is empty"))
|
||||
(recentf-dialog (format "*%s - Edit list*" recentf-menu-title)
|
||||
(set (make-local-variable 'recentf-edit-list) nil)
|
||||
(widget-insert
|
||||
@ -1194,6 +1197,8 @@ files to choose from. It defaults to the whole recent list.
|
||||
If optional argument BUFFER-NAME is non-nil, it is a buffer name to
|
||||
use for the dialog. It defaults to \"*`recentf-menu-title'*\"."
|
||||
(interactive)
|
||||
(unless (or files recentf-list)
|
||||
(error "There is no recent file to open"))
|
||||
(recentf-dialog (or buffer-name (format "*%s*" recentf-menu-title))
|
||||
(widget-insert "Click on a file"
|
||||
(if recentf-show-file-shortcuts-flag
|
||||
|
150
lisp/simple.el
150
lisp/simple.el
@ -52,25 +52,68 @@ wait this many seconds after Emacs becomes idle before doing an update."
|
||||
"Highlight (un)matching of parens and expressions."
|
||||
:group 'matching)
|
||||
|
||||
(defun get-next-valid-buffer (list &optional buffer visible-ok frame) "\
|
||||
Search LIST for a valid buffer to display in FRAME.
|
||||
Return nil when all buffers in LIST are undesirable for display,
|
||||
otherwise return the first suitable buffer in LIST.
|
||||
|
||||
Buffers not visible in windows are preferred to visible buffers,
|
||||
unless VISIBLE-OK is non-nil.
|
||||
If the optional argument FRAME is nil, it defaults to the selected frame.
|
||||
If BUFFER is non-nil, ignore occurances of that buffer in LIST."
|
||||
;; This logic is more or less copied from other-buffer.
|
||||
(setq frame (or frame (selected-frame)))
|
||||
(let ((pred (frame-parameter frame 'buffer-predicate))
|
||||
found buf)
|
||||
(while (and (not found) list)
|
||||
(setq buf (car list))
|
||||
(if (and (not (eq buffer buf))
|
||||
(buffer-live-p buf)
|
||||
(or (null pred) (funcall pred buf))
|
||||
(not (eq (aref (buffer-name buf) 0) ?\s))
|
||||
(or visible-ok (null (get-buffer-window buf 'visible))))
|
||||
(setq found buf)
|
||||
(setq list (cdr list))))
|
||||
(car list)))
|
||||
|
||||
(defun last-buffer (&optional buffer visible-ok frame) "\
|
||||
Return the last non-hidden displayable buffer in the buffer list.
|
||||
If BUFFER is non-nil, last-buffer will ignore that buffer.
|
||||
Buffers not visible in windows are preferred to visible buffers,
|
||||
unless optional argument VISIBLE-OK is non-nil.
|
||||
If the optional third argument FRAME is non-nil, use that frame's
|
||||
buffer list instead of the selected frame's buffer list.
|
||||
If no other buffer exists, the buffer `*scratch*' is returned."
|
||||
(setq frame (or frame (selected-frame)))
|
||||
(or (get-next-valid-buffer (frame-parameter frame 'buried-buffer-list)
|
||||
buffer visible-ok frame)
|
||||
(get-next-valid-buffer (nreverse (buffer-list frame))
|
||||
buffer visible-ok frame)
|
||||
(progn
|
||||
(set-buffer-major-mode (get-buffer-create "*scratch*"))
|
||||
(get-buffer "*scratch*"))))
|
||||
|
||||
(defun next-buffer ()
|
||||
"Switch to the next buffer in cyclic order."
|
||||
(interactive)
|
||||
(let ((buffer (current-buffer)))
|
||||
(switch-to-buffer (other-buffer buffer))
|
||||
(bury-buffer buffer)))
|
||||
(let ((buffer (current-buffer))
|
||||
(bbl (frame-parameter nil 'buried-buffer-list)))
|
||||
(switch-to-buffer (other-buffer buffer t))
|
||||
(bury-buffer buffer)
|
||||
(set-frame-parameter nil 'buried-buffer-list
|
||||
(cons buffer (delq buffer bbl)))))
|
||||
|
||||
(defun prev-buffer ()
|
||||
(defun previous-buffer ()
|
||||
"Switch to the previous buffer in cyclic order."
|
||||
(interactive)
|
||||
(let ((list (nreverse (buffer-list)))
|
||||
found)
|
||||
(while (and (not found) list)
|
||||
(let ((buffer (car list)))
|
||||
(if (and (not (get-buffer-window buffer))
|
||||
(not (string-match "\\` " (buffer-name buffer))))
|
||||
(setq found buffer)))
|
||||
(setq list (cdr list)))
|
||||
(switch-to-buffer found)))
|
||||
(let ((buffer (last-buffer (current-buffer) t))
|
||||
(bbl (frame-parameter nil 'buried-buffer-list)))
|
||||
(switch-to-buffer buffer)
|
||||
;; Clean up buried-buffer-list up to and including the chosen buffer.
|
||||
(while (and bbl (not (eq (car bbl) buffer)))
|
||||
(setq bbl (cdr bbl)))
|
||||
(set-frame-parameter nil 'buried-buffer-list bbl)))
|
||||
|
||||
|
||||
;;; next-error support framework
|
||||
|
||||
@ -4748,7 +4791,7 @@ With prefix argument N, move N items (negative N means move backward)."
|
||||
(error "No completion here"))
|
||||
(setq beg (previous-single-property-change beg 'mouse-face))
|
||||
(setq end (or (next-single-property-change end 'mouse-face) (point-max)))
|
||||
(setq completion (buffer-substring beg end))
|
||||
(setq completion (buffer-substring-no-properties beg end))
|
||||
(let ((owindow (selected-window)))
|
||||
(if (and (one-window-p t 'selected-frame)
|
||||
(window-dedicated-p (selected-window)))
|
||||
@ -4905,68 +4948,52 @@ of the differing parts is, by contrast, slightly highlighted."
|
||||
"Common prefix substring to use in `completion-setup-function' to put faces.
|
||||
The value is set by `display-completion-list' during running `completion-setup-hook'.
|
||||
|
||||
To put faces, `completions-first-difference' and `completions-common-part'
|
||||
into \"*Completions*\* buffer, the common prefix substring in completions is
|
||||
needed as a hint. (Minibuffer is a special case. The content of minibuffer itself
|
||||
is the substring.)")
|
||||
To put faces `completions-first-difference' and `completions-common-part'
|
||||
in the `*Completions*' buffer, the common prefix substring in completions
|
||||
is needed as a hint. (The minibuffer is a special case. The content
|
||||
of the minibuffer before point is always the common substring.)")
|
||||
|
||||
;; This function goes in completion-setup-hook, so that it is called
|
||||
;; after the text of the completion list buffer is written.
|
||||
(defun completion-setup-function ()
|
||||
(let* ((mainbuf (current-buffer))
|
||||
(mbuf-contents (minibuffer-contents))
|
||||
(common-string-length (length mbuf-contents)))
|
||||
(mbuf-contents (minibuffer-completion-contents))
|
||||
common-string-length)
|
||||
;; When reading a file name in the minibuffer,
|
||||
;; set default-directory in the minibuffer
|
||||
;; so it will get copied into the completion list buffer.
|
||||
(if minibuffer-completing-file-name
|
||||
(with-current-buffer mainbuf
|
||||
(setq default-directory (file-name-directory mbuf-contents))))
|
||||
;; If partial-completion-mode is on, point might not be after the
|
||||
;; last character in the minibuffer.
|
||||
;; FIXME: This hack should be moved to complete.el where we call
|
||||
;; display-completion-list.
|
||||
(when partial-completion-mode
|
||||
(setq common-string-length
|
||||
(if (eq (char-after (field-beginning)) ?-)
|
||||
;; If the text to be completed starts with a `-', there is no
|
||||
;; common prefix.
|
||||
;; FIXME: this probably still doesn't do the right thing
|
||||
;; when completing file names. It's not even clear what
|
||||
;; is TRT.
|
||||
0
|
||||
(- common-string-length (- (point-max) (point))))))
|
||||
(with-current-buffer standard-output
|
||||
(completion-list-mode)
|
||||
(set (make-local-variable 'completion-reference-buffer) mainbuf)
|
||||
(setq completion-base-size
|
||||
(if minibuffer-completing-file-name
|
||||
;; For file name completion, use the number of chars before
|
||||
;; the start of the last file name component.
|
||||
(with-current-buffer mainbuf
|
||||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(skip-chars-backward completion-root-regexp)
|
||||
(- (point) (minibuffer-prompt-end))))
|
||||
;; Otherwise, in minibuffer, the whole input is being completed.
|
||||
(if (minibufferp mainbuf) 0)))
|
||||
(if (and (symbolp minibuffer-completion-table)
|
||||
(get minibuffer-completion-table 'completion-base-size-function))
|
||||
(setq completion-base-size
|
||||
;; FIXME: without any extra arg, how is this function
|
||||
;; expected to return anything else than a constant unless
|
||||
;; it redoes part of the work of all-completions?
|
||||
;; In most cases this value would better be computed and
|
||||
;; returned at the same time as the list of all-completions
|
||||
;; is computed. --Stef
|
||||
(funcall (get minibuffer-completion-table
|
||||
'completion-base-size-function))))
|
||||
(cond
|
||||
((and (symbolp minibuffer-completion-table)
|
||||
(get minibuffer-completion-table 'completion-base-size-function))
|
||||
;; To compute base size, a function can use the global value of
|
||||
;; completion-common-substring or minibuffer-completion-contents.
|
||||
(with-current-buffer mainbuf
|
||||
(funcall (get minibuffer-completion-table
|
||||
'completion-base-size-function))))
|
||||
(minibuffer-completing-file-name
|
||||
;; For file name completion, use the number of chars before
|
||||
;; the start of the file name component at point.
|
||||
(with-current-buffer mainbuf
|
||||
(save-excursion
|
||||
(skip-chars-backward completion-root-regexp)
|
||||
(- (point) (minibuffer-prompt-end)))))
|
||||
;; Otherwise, in minibuffer, the base size is 0.
|
||||
((minibufferp mainbuf) 0)))
|
||||
(setq common-string-length
|
||||
(cond
|
||||
(completion-common-substring
|
||||
(length completion-common-substring))
|
||||
(completion-base-size
|
||||
(- (length mbuf-contents) completion-base-size))))
|
||||
;; Put faces on first uncommon characters and common parts.
|
||||
(when (or completion-common-substring completion-base-size)
|
||||
(setq common-string-length
|
||||
(if completion-common-substring
|
||||
(length completion-common-substring)
|
||||
(- common-string-length completion-base-size)))
|
||||
(when (and (integerp common-string-length) (>= common-string-length 0))
|
||||
(let ((element-start (point-min))
|
||||
(maxp (point-max))
|
||||
element-common-end)
|
||||
@ -4977,7 +5004,8 @@ is the substring.)")
|
||||
(+ element-start common-string-length))
|
||||
maxp))
|
||||
(when (get-char-property element-start 'mouse-face)
|
||||
(if (get-char-property (1- element-common-end) 'mouse-face)
|
||||
(if (and (> common-string-length 0)
|
||||
(get-char-property (1- element-common-end) 'mouse-face))
|
||||
(put-text-property element-start element-common-end
|
||||
'font-lock-face 'completions-common-part))
|
||||
(if (get-char-property element-common-end 'mouse-face)
|
||||
|
@ -47,14 +47,14 @@ The value is nil if the selected frame is on a text-only-terminal.")
|
||||
"Emacs start-up procedure."
|
||||
:group 'internal)
|
||||
|
||||
(defcustom inhibit-startup-message nil
|
||||
"*Non-nil inhibits the initial startup message.
|
||||
(defcustom inhibit-splash-screen nil
|
||||
"*Non-nil inhibits the startup screen.
|
||||
This is for use in your personal init file, once you are familiar
|
||||
with the contents of the startup message."
|
||||
with the contents of the startup screen."
|
||||
:type 'boolean
|
||||
:group 'initialization)
|
||||
|
||||
(defvaralias 'inhibit-splash-screen 'inhibit-startup-message)
|
||||
(defvaralias 'inhibit-startup-message 'inhibit-splash-screen)
|
||||
|
||||
(defcustom inhibit-startup-echo-area-message nil
|
||||
"*Non-nil inhibits the initial startup echo area message.
|
||||
@ -648,15 +648,22 @@ opening the first frame (e.g. open a connection to an X server).")
|
||||
(set-locale-environment nil)
|
||||
|
||||
;; Convert preloaded file names to absolute.
|
||||
(setq load-history
|
||||
(mapcar (lambda (elt)
|
||||
(if (and (stringp (car elt))
|
||||
(not (file-name-absolute-p (car elt))))
|
||||
(cons (locate-file (car elt) load-path
|
||||
(append load-suffixes '("")))
|
||||
(cdr elt))
|
||||
elt))
|
||||
load-history))
|
||||
(let ((lisp-dir
|
||||
(file-name-directory
|
||||
(locate-file "simple" load-path
|
||||
load-suffixes))))
|
||||
|
||||
(setq load-history
|
||||
(mapcar (lambda (elt)
|
||||
(if (and (stringp (car elt))
|
||||
(not (file-name-absolute-p (car elt))))
|
||||
(cons (concat lisp-dir
|
||||
(car elt)
|
||||
(if (string-match "[.]el$" (car elt))
|
||||
"" ".elc"))
|
||||
(cdr elt))
|
||||
elt))
|
||||
load-history)))
|
||||
|
||||
;; Convert the arguments to Emacs internal representation.
|
||||
(let ((args (cdr command-line-args)))
|
||||
@ -930,6 +937,10 @@ opening the first frame (e.g. open a connection to an X server).")
|
||||
(pop-to-buffer "*Messages*"))
|
||||
(setq init-file-had-error t)))))
|
||||
|
||||
(if (and deactivate-mark transient-mark-mode)
|
||||
(with-current-buffer (window-buffer)
|
||||
(deactivate-mark)))
|
||||
|
||||
;; If the user has a file of abbrevs, read it.
|
||||
(if (file-exists-p abbrev-file-name)
|
||||
(quietly-read-abbrev-file abbrev-file-name))
|
||||
|
19
lisp/subr.el
19
lisp/subr.el
@ -2907,11 +2907,11 @@ Usually the separator is \".\", but it can be any other string.")
|
||||
|
||||
|
||||
(defvar version-regexp-alist
|
||||
'(("^[-_+]?a\\(lpha\\)?$" . -3)
|
||||
'(("^[-_+ ]?a\\(lpha\\)?$" . -3)
|
||||
("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases
|
||||
("^[-_+]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release
|
||||
("^[-_+]?b\\(eta\\)?$" . -2)
|
||||
("^[-_+]?\\(pre\\|rc\\)$" . -1))
|
||||
("^[-_+ ]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release
|
||||
("^[-_+ ]?b\\(eta\\)?$" . -2)
|
||||
("^[-_+ ]?\\(pre\\|rc\\)$" . -1))
|
||||
"*Specify association between non-numeric version part and a priority.
|
||||
|
||||
This association is used to handle version string like \"1.0pre2\",
|
||||
@ -2922,10 +2922,10 @@ non-numeric part to an integer. For example:
|
||||
\"1.0pre2\" (1 0 -1 2)
|
||||
\"1.0PRE2\" (1 0 -1 2)
|
||||
\"22.8beta3\" (22 8 -2 3)
|
||||
\"22.8Beta3\" (22 8 -2 3)
|
||||
\"22.8 Beta3\" (22 8 -2 3)
|
||||
\"0.9alpha1\" (0 9 -3 1)
|
||||
\"0.9AlphA1\" (0 9 -3 1)
|
||||
\"0.9alpha\" (0 9 -3)
|
||||
\"0.9 alpha\" (0 9 -3)
|
||||
|
||||
Each element has the following form:
|
||||
|
||||
@ -2977,8 +2977,13 @@ As an example of version convertion:
|
||||
\"0.9alpha\" (0 9 -3)
|
||||
|
||||
See documentation for `version-separator' and `version-regexp-alist'."
|
||||
(or (and (stringp ver) (not (string= ver "")))
|
||||
(or (and (stringp ver) (> (length ver) 0))
|
||||
(error "Invalid version string: '%s'" ver))
|
||||
;; Change .x.y to 0.x.y
|
||||
(if (and (>= (length ver) (length version-separator))
|
||||
(string-equal (substring ver 0 (length version-separator))
|
||||
version-separator))
|
||||
(setq ver (concat "0" ver)))
|
||||
(save-match-data
|
||||
(let ((i 0)
|
||||
(case-fold-search t) ; ignore case in matching
|
||||
|
11
lisp/term.el
11
lisp/term.el
@ -2687,13 +2687,17 @@ See `term-prompt-regexp'."
|
||||
(buffer-undo-list t)
|
||||
(selected (selected-window))
|
||||
last-win
|
||||
handled-ansi-message
|
||||
(str-length (length str)))
|
||||
(save-selected-window
|
||||
|
||||
;; Let's handle the messages. -mm
|
||||
|
||||
(setq str (term-handle-ansi-terminal-messages str))
|
||||
(setq str-length (length str))
|
||||
(let* ((newstr (term-handle-ansi-terminal-messages str)))
|
||||
(if (not (eq str newstr))
|
||||
(setq handled-ansi-message t
|
||||
str newstr)))
|
||||
(setq str-length (length str))
|
||||
|
||||
(if (marker-buffer term-pending-delete-marker)
|
||||
(progn
|
||||
@ -2849,7 +2853,8 @@ See `term-prompt-regexp'."
|
||||
((eq char ?\017)) ; Shift In - ignored
|
||||
((eq char ?\^G) ;; (terminfo: bel)
|
||||
(beep t))
|
||||
((eq char ?\032)
|
||||
((and (eq char ?\032)
|
||||
(not handled-ansi-message))
|
||||
(let ((end (string-match "\r?$" str i)))
|
||||
(if end
|
||||
(funcall term-command-hook
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1332,10 +1332,9 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
|
||||
(while keep
|
||||
(if (search-forward word
|
||||
flyspell-large-region-end t)
|
||||
(progn
|
||||
(save-excursion
|
||||
(goto-char (- (point) 1))
|
||||
(let* ((match-point (point)) ; flyspell-get-word might move it
|
||||
(flyword-prev-l (flyspell-get-word nil))
|
||||
(let* ((flyword-prev-l (flyspell-get-word nil))
|
||||
(flyword-prev (car flyword-prev-l))
|
||||
(size-match (= (length flyword-prev) (length word))))
|
||||
(when (or
|
||||
@ -1362,7 +1361,7 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
|
||||
(setq keep nil)
|
||||
(flyspell-word)
|
||||
;; Next search will begin from end of last match
|
||||
(setq flyspell-large-region-beg match-point))))
|
||||
)))
|
||||
;; Record if misspelling is not found and try new one
|
||||
(add-to-list 'words-not-found
|
||||
(concat " -> " word " - "
|
||||
@ -1558,7 +1557,7 @@ FLYSPELL-BUFFER."
|
||||
|
||||
(defun flyspell-delete-all-overlays ()
|
||||
"Delete all the overlays used by flyspell."
|
||||
(flyspell-delete-region-overlays (point-min) (point-max)))
|
||||
(remove-overlays (point-min) (point-max) 'flyspell-overlay t))
|
||||
|
||||
;;*---------------------------------------------------------------------*/
|
||||
;;* flyspell-unhighlight-at ... */
|
||||
|
@ -1161,6 +1161,10 @@ The variable `ispell-library-directory' defines the library location."
|
||||
This is passed to the ispell process using the `-d' switch and is
|
||||
used as key in `ispell-local-dictionary-alist' and `ispell-dictionary-alist'.")
|
||||
|
||||
(defvar ispell-current-personal-dictionary nil
|
||||
"The name of the current personal dictionary, or nil for the default.
|
||||
This is passed to the ispell process using the `-p' switch.")
|
||||
|
||||
(defvar ispell-dictionary nil
|
||||
"Default dictionary to use if `ispell-local-dictionary' is nil.")
|
||||
|
||||
@ -1339,7 +1343,7 @@ Valid forms include:
|
||||
(KEY . REGEXP) - skip to the end of REGEXP. REGEXP may be string or symbol.
|
||||
(KEY REGEXP) - skip to end of REGEXP. REGEXP must be a string.
|
||||
(KEY FUNCTION ARGS) - FUNCTION called with ARGS returns end of region.")
|
||||
|
||||
(put 'ispell-skip-region-alist 'risky-local-variable t)
|
||||
|
||||
|
||||
;;;###autoload
|
||||
@ -1369,6 +1373,7 @@ Second list has key placed inside \\begin{}.
|
||||
|
||||
Delete or add any regions you want to be automatically selected
|
||||
for skipping in latex mode.")
|
||||
(put 'ispell-tex-skip-alist 'risky-local-variable t)
|
||||
|
||||
|
||||
;;;###autoload
|
||||
@ -1385,7 +1390,7 @@ for skipping in latex mode.")
|
||||
Same format as `ispell-skip-region-alist'
|
||||
Note - substrings of other matches must come last
|
||||
(e.g. \"<[tT][tT]/\" and \"<[^ \\t\\n>]\").")
|
||||
|
||||
(put 'ispell-html-skip-alists 'risky-local-variable t)
|
||||
|
||||
(defvar ispell-local-pdict ispell-personal-dictionary
|
||||
"A buffer local variable containing the current personal dictionary.
|
||||
@ -2456,18 +2461,23 @@ Keeps argument list for future ispell invocations for no async support."
|
||||
;; Local dictionary becomes the global dictionary in use.
|
||||
(setq ispell-current-dictionary
|
||||
(or ispell-local-dictionary ispell-dictionary))
|
||||
(setq ispell-current-personal-dictionary
|
||||
(or ispell-local-pdict ispell-personal-dictionary))
|
||||
(setq args (ispell-get-ispell-args))
|
||||
(if (and ispell-current-dictionary ; use specified dictionary
|
||||
(not (member "-d" args))) ; only define if not overridden
|
||||
(setq args
|
||||
(append (list "-d" ispell-current-dictionary) args)))
|
||||
(if ispell-personal-dictionary ; use specified pers dict
|
||||
(if ispell-current-personal-dictionary ; use specified pers dict
|
||||
(setq args
|
||||
(append args
|
||||
(list "-p"
|
||||
(expand-file-name ispell-personal-dictionary)))))
|
||||
(expand-file-name ispell-current-personal-dictionary)))))
|
||||
(setq args (append args ispell-extra-args))
|
||||
|
||||
;; Initially we don't know any buffer's local words.
|
||||
(setq ispell-buffer-local-name nil)
|
||||
|
||||
(if ispell-async-processp
|
||||
(let ((process-connection-type ispell-use-ptys-p))
|
||||
(apply 'start-process
|
||||
@ -2619,8 +2629,8 @@ This may kill the Ispell process; if so,
|
||||
a new one will be started when needed."
|
||||
(let ((dict (or ispell-local-dictionary ispell-dictionary)))
|
||||
(unless (equal ispell-current-dictionary dict)
|
||||
(setq ispell-current-dictionary dict)
|
||||
(ispell-kill-ispell t))))
|
||||
(ispell-kill-ispell t)
|
||||
(setq ispell-current-dictionary dict))))
|
||||
|
||||
|
||||
;;; Spelling of comments are checked when ispell-check-comments is non-nil.
|
||||
@ -3678,22 +3688,22 @@ Both should not be used to define a buffer-local dictionary."
|
||||
(setq ispell-local-pdict
|
||||
(match-string-no-properties 1)))))))
|
||||
;; Reload if new personal dictionary defined.
|
||||
(if (and ispell-local-pdict
|
||||
(not (equal ispell-local-pdict ispell-personal-dictionary)))
|
||||
(progn
|
||||
(ispell-kill-ispell t)
|
||||
(setq ispell-personal-dictionary ispell-local-pdict)))
|
||||
(if (not (equal ispell-current-personal-dictionary
|
||||
(or ispell-local-pdict ispell-personal-dictionary)))
|
||||
(ispell-kill-ispell t))
|
||||
;; Reload if new dictionary defined.
|
||||
(ispell-internal-change-dictionary))
|
||||
|
||||
|
||||
(defun ispell-buffer-local-words ()
|
||||
"Loads the buffer-local dictionary in the current buffer."
|
||||
;; If there's an existing ispell process that's wrong for this use,
|
||||
;; kill it.
|
||||
(if (and ispell-buffer-local-name
|
||||
(not (equal ispell-buffer-local-name (buffer-name))))
|
||||
(progn
|
||||
(ispell-kill-ispell t)
|
||||
(setq ispell-buffer-local-name nil)))
|
||||
(ispell-kill-ispell t))
|
||||
;; Actually start a new ispell process, because we need
|
||||
;; to send commands now to specify the local words to it.
|
||||
(ispell-init-process)
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -212,6 +212,8 @@ converted to Info is stored in a temporary buffer."
|
||||
|
||||
;;; Find a buffer to use.
|
||||
(switch-to-buffer (get-buffer-create texinfo-region-buffer-name))
|
||||
(setq buffer-read-only t)
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
;; Insert the header into the buffer.
|
||||
(insert header-text)
|
||||
@ -313,7 +315,7 @@ converted to Info is stored in a temporary buffer."
|
||||
(goto-char (point-min))
|
||||
(Info-tagify input-buffer)
|
||||
(goto-char (point-min))
|
||||
(message "Done.")))
|
||||
(message "Done."))))
|
||||
|
||||
;;;###autoload
|
||||
(defun texi2info (&optional nosplit)
|
||||
|
@ -71,26 +71,22 @@ With ARG, turn tooltip mode on if and only if ARG is positive."
|
||||
|
||||
(defcustom tooltip-delay 0.7
|
||||
"Seconds to wait before displaying a tooltip the first time."
|
||||
:tag "Delay"
|
||||
:type 'number
|
||||
:group 'tooltip)
|
||||
|
||||
(defcustom tooltip-short-delay 0.1
|
||||
"Seconds to wait between subsequent tooltips on different items."
|
||||
:tag "Short delay"
|
||||
:type 'number
|
||||
:group 'tooltip)
|
||||
|
||||
(defcustom tooltip-recent-seconds 1
|
||||
"Display tooltips if changing tip items within this many seconds.
|
||||
Do so after `tooltip-short-delay'."
|
||||
:tag "Recent seconds"
|
||||
:type 'number
|
||||
:group 'tooltip)
|
||||
|
||||
(defcustom tooltip-hide-delay 10
|
||||
"Hide tooltips automatically after this many seconds."
|
||||
:tag "Hide delay"
|
||||
:type 'number
|
||||
:group 'tooltip)
|
||||
|
||||
@ -102,11 +98,10 @@ when it pops up.
|
||||
|
||||
If `tooltip-frame-parameters' includes the `left' parameter,
|
||||
the value of `tooltip-x-offset' is ignored."
|
||||
:tag "X offset"
|
||||
:type 'integer
|
||||
:group 'tooltip)
|
||||
|
||||
(defcustom tooltip-y-offset +40
|
||||
(defcustom tooltip-y-offset +20
|
||||
"Y offset, in pixels, for the display of tooltips.
|
||||
The offset is relative to the position of the mouse. It must
|
||||
be chosen so that the tooltip window doesn't contain the mouse
|
||||
@ -114,7 +109,6 @@ when it pops up.
|
||||
|
||||
If `tooltip-frame-parameters' includes the `top' parameter,
|
||||
the value of `tooltip-y-offset' is ignored."
|
||||
:tag "Y offset"
|
||||
:type 'integer
|
||||
:group 'tooltip)
|
||||
|
||||
@ -127,7 +121,6 @@ the value of `tooltip-y-offset' is ignored."
|
||||
If `left' or `top' parameters are included, they specify the absolute
|
||||
position to pop up the tooltip."
|
||||
:type 'sexp
|
||||
:tag "Frame Parameters"
|
||||
:group 'tooltip)
|
||||
|
||||
(defface tooltip
|
||||
@ -144,7 +137,6 @@ position to pop up the tooltip."
|
||||
(defcustom tooltip-use-echo-area nil
|
||||
"Use the echo area instead of tooltip frames for help and GUD tooltips."
|
||||
:type 'boolean
|
||||
:tag "Use echo area"
|
||||
:group 'tooltip)
|
||||
|
||||
|
||||
|
@ -350,7 +350,7 @@ This is only possible if Meta-CVS is responsible for FILE's directory.")
|
||||
|
||||
(defun vc-mcvs-revert (file &optional contents-done)
|
||||
"Revert FILE to the version it was based on."
|
||||
(vc-default-revert file contents-done)
|
||||
(vc-default-revert 'MCVS file contents-done)
|
||||
(unless (eq (vc-checkout-model file) 'implicit)
|
||||
(if vc-mcvs-use-edit
|
||||
(vc-mcvs-command nil 0 file "unedit")
|
||||
|
@ -114,15 +114,19 @@ This is only meaningful if you don't use the implicit checkout model
|
||||
(file-name-directory file)))
|
||||
(with-temp-buffer
|
||||
(cd (file-name-directory file))
|
||||
(condition-case nil
|
||||
(vc-svn-command t 0 file "status" "-v")
|
||||
;; Some problem happened. E.g. We can't find an `svn' executable.
|
||||
;; We used to only catch `file-error' but when the process is run on
|
||||
;; a remote host via Tramp, the error is only reported via the
|
||||
;; exit status which is turned into an `error' by vc-do-command.
|
||||
(error nil))
|
||||
(vc-svn-parse-status t)
|
||||
(eq 'SVN (vc-file-getprop file 'vc-backend)))))
|
||||
(let ((status
|
||||
(condition-case nil
|
||||
;; Ignore all errors.
|
||||
(vc-svn-command t t file "status" "-v")
|
||||
;; Some problem happened. E.g. We can't find an `svn'
|
||||
;; executable. We used to only catch `file-error' but when
|
||||
;; the process is run on a remote host via Tramp, the error
|
||||
;; is only reported via the exit status which is turned into
|
||||
;; an `error' by vc-do-command.
|
||||
(error nil))))
|
||||
(when (eq 0 status)
|
||||
(vc-svn-parse-status t)
|
||||
(eq 'SVN (vc-file-getprop file 'vc-backend)))))))
|
||||
|
||||
(defun vc-svn-state (file &optional localp)
|
||||
"SVN-specific version of `vc-state'."
|
||||
|
40
lisp/vc.el
40
lisp/vc.el
@ -762,7 +762,7 @@ in their implementation of vc-BACKEND-diff.")
|
||||
(defun vc-default-previous-version (backend file rev)
|
||||
"Return the version number immediately preceding REV for FILE,
|
||||
or nil if there is no previous version. This default
|
||||
implementation works for <major>.<minor>-style version numbers as
|
||||
implementation works for MAJOR.MINOR-style version numbers as
|
||||
used by RCS and CVS."
|
||||
(let ((branch (vc-branch-part rev))
|
||||
(minor-num (string-to-number (vc-minor-part rev))))
|
||||
@ -781,7 +781,7 @@ used by RCS and CVS."
|
||||
(defun vc-default-next-version (backend file rev)
|
||||
"Return the version number immediately following REV for FILE,
|
||||
or nil if there is no next version. This default implementation
|
||||
works for <major>.<minor>-style version numbers as used by RCS
|
||||
works for MAJOR.MINOR-style version numbers as used by RCS
|
||||
and CVS."
|
||||
(when (not (string= rev (vc-workfile-version file)))
|
||||
(let ((branch (vc-branch-part rev))
|
||||
@ -930,8 +930,9 @@ Output from COMMAND goes to BUFFER, or *vc* if BUFFER is nil or the
|
||||
current buffer if BUFFER is t. If the destination buffer is not
|
||||
already current, set it up properly and erase it. The command is
|
||||
considered successful if its exit status does not exceed OKSTATUS (if
|
||||
OKSTATUS is nil, that means to ignore errors, if it is 'async, that
|
||||
means not to wait for termination of the subprocess). FILE is the
|
||||
OKSTATUS is nil, that means to ignore error status, if it is `async', that
|
||||
means not to wait for termination of the subprocess; if it is t it means to
|
||||
ignore all execution errors). FILE is the
|
||||
name of the working file (may also be nil, to execute commands that
|
||||
don't expect a file name). If an optional list of FLAGS is present,
|
||||
that is inserted into the command line before the filename."
|
||||
@ -976,7 +977,9 @@ that is inserted into the command line before the filename."
|
||||
`(unless (active-minibuffer-window)
|
||||
(message "Running %s in the background... done" ',command))))
|
||||
(setq status (apply 'process-file command nil t nil squeezed))
|
||||
(when (or (not (integerp status)) (and okstatus (< okstatus status)))
|
||||
(when (and (not (eq t okstatus))
|
||||
(or (not (integerp status))
|
||||
(and okstatus (< okstatus status))))
|
||||
(pop-to-buffer (current-buffer))
|
||||
(goto-char (point-min))
|
||||
(shrink-window-if-larger-than-buffer)
|
||||
@ -2526,6 +2529,33 @@ return its name; otherwise return nil."
|
||||
(if (file-exists-p backup-file)
|
||||
backup-file)))))
|
||||
|
||||
(defun vc-default-revert (backend file contents-done)
|
||||
(unless contents-done
|
||||
(let ((rev (vc-workfile-version file))
|
||||
(file-buffer (or (get-file-buffer file) (current-buffer))))
|
||||
(message "Checking out %s..." file)
|
||||
(let ((failed t)
|
||||
(backup-name (car (find-backup-file-name file))))
|
||||
(when backup-name
|
||||
(copy-file file backup-name 'ok-if-already-exists 'keep-date)
|
||||
(unless (file-writable-p file)
|
||||
(set-file-modes file (logior (file-modes file) 128))))
|
||||
(unwind-protect
|
||||
(let ((coding-system-for-read 'no-conversion)
|
||||
(coding-system-for-write 'no-conversion))
|
||||
(with-temp-file file
|
||||
(let ((outbuf (current-buffer)))
|
||||
;; Change buffer to get local value of vc-checkout-switches.
|
||||
(with-current-buffer file-buffer
|
||||
(let ((default-directory (file-name-directory file)))
|
||||
(vc-call find-version file rev outbuf)))))
|
||||
(setq failed nil))
|
||||
(when backup-name
|
||||
(if failed
|
||||
(rename-file backup-name file 'ok-if-already-exists)
|
||||
(and (not vc-make-backup-files) (delete-file backup-name))))))
|
||||
(message "Checking out %s...done" file))))
|
||||
|
||||
(defun vc-revert-file (file)
|
||||
"Revert FILE back to the version it was based on."
|
||||
(with-vc-properties
|
||||
|
@ -211,6 +211,7 @@ program `dired-chmod-program', which must exist."
|
||||
;; Local variables (put here to avoid compilation gripes)
|
||||
(defvar wdired-col-perm) ;; Column where the permission bits start
|
||||
(defvar wdired-old-content)
|
||||
(defvar wdired-old-point)
|
||||
|
||||
|
||||
(defun wdired-mode ()
|
||||
@ -242,6 +243,7 @@ See `wdired-mode'."
|
||||
(interactive)
|
||||
(set (make-local-variable 'wdired-old-content)
|
||||
(buffer-substring (point-min) (point-max)))
|
||||
(set (make-local-variable 'wdired-old-point) (point))
|
||||
(set (make-local-variable 'query-replace-skip-read-only) t)
|
||||
(use-local-map wdired-mode-map)
|
||||
(force-mode-line-update)
|
||||
@ -264,7 +266,8 @@ See `wdired-mode'."
|
||||
(set-buffer-modified-p nil)
|
||||
(setq buffer-undo-list nil)
|
||||
(run-mode-hooks 'wdired-mode-hook)
|
||||
(message "%s" (substitute-command-keys "Press \\[wdired-finish-edit] when finished \
|
||||
(message "%s" (substitute-command-keys
|
||||
"Press \\[wdired-finish-edit] when finished \
|
||||
or \\[wdired-abort-changes] to abort changes")))
|
||||
|
||||
|
||||
@ -348,7 +351,8 @@ non-nil means return old filename."
|
||||
(interactive)
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(insert wdired-old-content))
|
||||
(insert wdired-old-content)
|
||||
(goto-char wdired-old-point))
|
||||
(wdired-change-to-dired-mode)
|
||||
(set-buffer-modified-p nil)
|
||||
(setq buffer-undo-list nil)
|
||||
|
@ -2161,7 +2161,8 @@ when he invoked the menu."
|
||||
(when sibling
|
||||
(if (widget-value widget)
|
||||
(widget-apply sibling :activate)
|
||||
(widget-apply sibling :deactivate)))))
|
||||
(widget-apply sibling :deactivate))
|
||||
(widget-clear-undo))))
|
||||
|
||||
;;; The `checklist' Widget.
|
||||
|
||||
|
@ -1,3 +1,27 @@
|
||||
2005-12-16 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* minibuf.texi (Minibuffer Contents): Minor cleanup.
|
||||
|
||||
2005-12-16 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* minibuf.texi (Minibuffer Contents): Add minibuffer-completion-contents.
|
||||
|
||||
2005-12-14 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* modes.texi (Customizing Keywords): Rename `append' to `how'.
|
||||
Fix typo.
|
||||
|
||||
2005-12-11 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* minibuf.texi (Completion Commands): Add mention of read-file-name
|
||||
for filename completion keymaps.
|
||||
(Reading File Names): Add mention of filename completion keymaps
|
||||
for read-file-name and xref to `Completion Commands'.
|
||||
|
||||
2005-12-10 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* customize.texi (Common Keywords): State caveats for use of :tag.
|
||||
|
||||
2005-12-08 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* minibuf.texi (Intro to Minibuffers): Replace list of local maps
|
||||
|
@ -34,8 +34,16 @@ display one name.
|
||||
|
||||
@table @code
|
||||
@item :tag @var{label}
|
||||
Use @var{label}, a string, instead of the item's name, to label the item
|
||||
in customization menus and buffers.
|
||||
Use @var{label}, a string, instead of the item's name, to label the
|
||||
item in customization menus and buffers. @strong{Don't use a tag
|
||||
which is substantially different from the item's real name; that would
|
||||
cause confusion.} One legitimate case for use of @code{:tag} is to
|
||||
specify a dash where normally a hyphen would be converted to a space:
|
||||
|
||||
@example
|
||||
(defcustom cursor-in-non-selected-windows @dots{}
|
||||
:tag "Cursor In Non-selected Windows"
|
||||
@end example
|
||||
|
||||
@item :group @var{group}
|
||||
Put this customization item in group @var{group}. When you use
|
||||
|
@ -1023,12 +1023,14 @@ with other characters bound as in @code{minibuffer-local-map}.
|
||||
|
||||
@defvar minibuffer-local-filename-completion-map
|
||||
This is like @code{minibuffer-local-completion-map}
|
||||
except that it does not bind @key{SPC}.
|
||||
except that it does not bind @key{SPC}. This keymap is used by the
|
||||
function @code{read-file-name}.
|
||||
@end defvar
|
||||
|
||||
@defvar minibuffer-local-must-match-filename-map
|
||||
This is like @code{minibuffer-local-must-match-map}
|
||||
except that it does not bind @key{SPC}.
|
||||
except that it does not bind @key{SPC}. This keymap is used by the
|
||||
function @code{read-file-name}.
|
||||
@end defvar
|
||||
|
||||
@node High-Level Completion
|
||||
@ -1212,6 +1214,12 @@ value of @var{existing} is neither @code{nil} nor @code{t}, then
|
||||
@var{existing} is @code{nil}, then the name of a nonexistent file is
|
||||
acceptable.
|
||||
|
||||
The function @code{read-file-name} uses
|
||||
@code{minibuffer-local-filename-completion-map} as the keymap if
|
||||
@var{existing} is @code{nil}, and uses
|
||||
@code{minibuffer-local-must-match-filename-map} if @var{existing} is
|
||||
non-@code{nil}. @xref{Completion Commands}.
|
||||
|
||||
The argument @var{directory} specifies the directory to use for
|
||||
completion of relative file names. It should be an absolute directory
|
||||
name. If @code{insert-default-directory} is non-@code{nil},
|
||||
@ -1828,6 +1836,13 @@ This is like @code{minibuffer-contents}, except that it does not copy text
|
||||
properties, just the characters themselves. @xref{Text Properties}.
|
||||
@end defun
|
||||
|
||||
@defun minibuffer-completion-contents
|
||||
@tindex minibuffer-completion-contents
|
||||
This is like @code{minibuffer-contents}, except that it returns only
|
||||
the contents before point. That is the part that completion commands
|
||||
operate on. @xref{Minibuffer Completion}.
|
||||
@end defun
|
||||
|
||||
@defun delete-minibuffer-contents
|
||||
@tindex delete-minibuffer-contents
|
||||
This function erases the editable contents of the minibuffer (that is,
|
||||
|
@ -2638,7 +2638,7 @@ Non-@code{nil} means that regular expression matching for the sake of
|
||||
search-based fontification rules to a major mode, and
|
||||
@code{font-lock-remove-keywords} to removes rules.
|
||||
|
||||
@defun font-lock-add-keywords mode keywords &optional append
|
||||
@defun font-lock-add-keywords mode keywords &optional how
|
||||
This function adds highlighting @var{keywords}, for the current buffer
|
||||
or for major mode @var{mode}. The argument @var{keywords} should be a
|
||||
list with the same format as the variable @code{font-lock-keywords}.
|
||||
@ -2654,11 +2654,10 @@ If @var{mode} is @code{nil}, this function adds @var{keywords} to
|
||||
@code{font-lock-add-keywords} is usually used in mode hook functions.
|
||||
|
||||
By default, @var{keywords} are added at the beginning of
|
||||
@code{font-lock-keywords}. If the optional argument @var{append} is
|
||||
@code{font-lock-keywords}. If the optional argument @var{how} is
|
||||
@code{set}, they are used to replace the value of
|
||||
@code{font-lock-keywords}. If @var{append} is any other
|
||||
non-@code{nil} value, they are added at the end of
|
||||
@code{font-lock-keywords}.
|
||||
@code{font-lock-keywords}. If @var{how} is any other non-@code{nil}
|
||||
value, they are added at the end of @code{font-lock-keywords}.
|
||||
|
||||
Some modes provide specialized support you can use in additional
|
||||
highlighting patterns. See the variables
|
||||
@ -2677,7 +2676,7 @@ rules for search-based fontification by setting
|
||||
This function removes @var{keywords} from @code{font-lock-keywords}
|
||||
for the current buffer or for major mode @var{mode}. As in
|
||||
@code{font-lock-add-keywords}, @var{mode} should be a major mode
|
||||
command name or @code{nil}. All the caveats and requirments for
|
||||
command name or @code{nil}. All the caveats and requirements for
|
||||
@code{font-lock-add-keywords} apply here too.
|
||||
@end defun
|
||||
|
||||
|
@ -1,3 +1,66 @@
|
||||
2005-12-12 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus.texi (MIME Commands): Mention addition of
|
||||
multipart/alternative to gnus-buttonized-mime-types and add xref
|
||||
to mm-discouraged-alternatives.
|
||||
|
||||
* emacs-mime.texi (Display Customization): Mention addition of
|
||||
"image/.*" and add xref to gnus-buttonized-mime-types in the
|
||||
mm-discouraged-alternatives section.
|
||||
|
||||
2005-12-16 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org.texi: (Tags): New section.
|
||||
(Agenda Views): Chapter reorganized.
|
||||
|
||||
2005-12-16 Ralf Angeli <angeli@iwi.uni-sb.de>
|
||||
|
||||
* killing.texi (Killing by Lines): Document `kill-whole-line'
|
||||
function.
|
||||
|
||||
2005-12-16 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* org.texi (Internal Links): Add a missing comma after an @xref.
|
||||
|
||||
2005-12-16 L$,1 q(Brentey K,Aa(Broly <lorentey@elte.hu>
|
||||
|
||||
* buffers.texi (Select Buffer): Change `prev-buffer' to
|
||||
`previous-buffer'. Indicate that these functions use a frame
|
||||
local buffer list.
|
||||
|
||||
2005-12-14 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* faq.texi (Filling paragraphs with a single space): No need to
|
||||
change sentence-end now.
|
||||
|
||||
2005-12-13 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* faq.texi (Scrolling only one line): Use `scroll-conservatively'.
|
||||
|
||||
2005-12-12 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* faq.texi (Calc): Updated version number.
|
||||
|
||||
2005-12-12 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org.texi: (Progress Logging): New section.
|
||||
|
||||
2005-12-12 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* custom.texi (Easy Customization): Change menu comment.
|
||||
(Prefix Keymaps): Fix spelling of Control-X-prefix.
|
||||
|
||||
* help.texi (Apropos): Rewrite. Talk about "apropos patterns".
|
||||
(Help): Among the Apropos commands, describe only C-h a here.
|
||||
|
||||
2005-12-11 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* programs.texi (Options for Comments): Comment-end starts with space.
|
||||
|
||||
* glossary.texi (Glossary): Minor cleanup.
|
||||
|
||||
* files.texi (Old Versions): Use @table.
|
||||
|
||||
2005-12-10 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
Update the Emacs FAQ for the 22.1 release.
|
||||
|
@ -95,11 +95,11 @@ now displayed in any window.
|
||||
@kindex C-x @key{LEFT}
|
||||
@kindex C-x @key{RIGHT}
|
||||
@findex next-buffer
|
||||
@findex prev-buffer
|
||||
@findex previous-buffer
|
||||
For conveniently switching between a few buffers, use the commands
|
||||
@kbd{C-x @key{LEFT}} and @kbd{C-x @key{RIGHT}}. @kbd{C-x @key{RIGHT}}
|
||||
(@code{prev-buffer}) selects the previous buffer (following the order
|
||||
of most recent selection), while @kbd{C-x @key{LEFT}}
|
||||
(@code{previous-buffer}) selects the previous buffer (following the order
|
||||
of most recent selection in the current frame), while @kbd{C-x @key{LEFT}}
|
||||
(@code{next-buffer}) moves through buffers in the reverse direction.
|
||||
|
||||
@kindex C-x 4 b
|
||||
|
@ -207,7 +207,7 @@ the active fields and other features.
|
||||
@menu
|
||||
* Groups: Customization Groups. How options are classified in a structure.
|
||||
* Changing a Variable:: How to edit a value and set an option.
|
||||
* Saving Customizations:: Details of saving customizations.
|
||||
* Saving Customizations:: Specifying the file for saving customizations.
|
||||
* Face Customization:: How to edit the attributes of a face.
|
||||
* Specific Customization:: Making a customization buffer for specific
|
||||
variables, faces, or groups.
|
||||
@ -1293,7 +1293,7 @@ looking up the following event. The definition can also be a Lisp
|
||||
symbol whose function definition is the following keymap; the effect is
|
||||
the same, but it provides a command name for the prefix key that can be
|
||||
used as a description of what the prefix key is for. Thus, the binding
|
||||
of @kbd{C-x} is the symbol @code{Ctl-X-Prefix}, whose function
|
||||
of @kbd{C-x} is the symbol @code{Control-X-prefix}, whose function
|
||||
definition is the keymap for @kbd{C-x} commands. The definitions of
|
||||
@kbd{C-c}, @kbd{C-x}, @kbd{C-h} and @key{ESC} as prefix keys appear in
|
||||
the global map, so these prefix keys are always available.
|
||||
|
@ -322,6 +322,12 @@ you could say something like:
|
||||
(remove "text/html" mm-automatic-display))
|
||||
@end lisp
|
||||
|
||||
Adding @code{"image/.*"} might also be useful. Spammers use it as the
|
||||
prefered part of @samp{multipart/alternative} messages. See also
|
||||
@code{gnus-buttonized-mime-types} (@pxref{MIME Commands, ,MIME Commands,
|
||||
gnus, Gnus Manual}), to which adding @code{"multipart/alternative"}
|
||||
enables you to choose manually one of two types those mails include.
|
||||
|
||||
@item mm-inline-large-images
|
||||
@vindex mm-inline-large-images
|
||||
When displaying inline images that are larger than the window, Emacs
|
||||
|
17
man/faq.texi
17
man/faq.texi
@ -2503,14 +2503,17 @@ consult the documentation of the variables @code{ps-printer-name},
|
||||
@cindex Scrolling only one line
|
||||
@cindex Reducing the increment when scrolling
|
||||
|
||||
Place the following Lisp form in your @file{.emacs} file:
|
||||
Customize the @code{scroll-conservatively} variable with @kbd{M-x
|
||||
customize-variable @key{RET} scroll-conservatively @key{RET}} and set it
|
||||
to a large value like, say, 10000. For an explanation of what this
|
||||
means, @inforef{Scrolling, Scrolling, emacs}.
|
||||
|
||||
Alternatively, use the following Lisp form in your @file{.emacs}:
|
||||
|
||||
@lisp
|
||||
(setq scroll-step 1)
|
||||
(setq scroll-conservatively most-positive-fixnum)
|
||||
@end lisp
|
||||
|
||||
@inforef{Scrolling, Scrolling, emacs}.
|
||||
|
||||
@node Replacing highlighted text, Editing MS-DOS files, Scrolling only one line, Common requests
|
||||
@section How can I replace highlighted text with what I type?
|
||||
@cindex @code{delete-selection-mode}
|
||||
@ -2565,11 +2568,9 @@ and MS-DOS have for delineating the end of a line.
|
||||
@cindex Single space following periods
|
||||
@cindex Periods, one space following
|
||||
|
||||
@email{ulm@@vsnhd1.cern.ch, Ulrich Mueller} suggests adding the
|
||||
following two lines to your @file{.emacs} file:
|
||||
Add the following line to your @file{.emacs} file:
|
||||
|
||||
@lisp
|
||||
(setq sentence-end "[.?!][]\"')@}]*\\($\\|[ \t]\\)[ \t\n]*")
|
||||
(setq sentence-end-double-space nil)
|
||||
@end lisp
|
||||
|
||||
@ -3790,7 +3791,7 @@ Superyank is an old version of Supercite.
|
||||
@email{daveg@@csvax.cs.caltech.edu, Dave Gillespie}
|
||||
|
||||
@item Latest version
|
||||
2.02g (part of Emacs since version 22.1)
|
||||
2.1 (part of Emacs since version 22.1)
|
||||
|
||||
@item Distribution
|
||||
No separate distribution outside of Emacs. Older versions
|
||||
|
@ -1680,45 +1680,42 @@ range from red to blue spans the past 36 days instead of 360 days. A
|
||||
stretch factor greater than 1 means the color range spans more than a
|
||||
year.
|
||||
|
||||
From the annotate buffer, you can use the following keys to browse the
|
||||
From the annotate buffer, you can use the following keys to browse the
|
||||
annotations of past revisions, view diffs, or view log entries:
|
||||
|
||||
@itemize @bullet
|
||||
@table @kbd
|
||||
@item P
|
||||
Annotate the previous revision, that is to say, the revision before
|
||||
the one currently annotated. A numeric prefix argument is a repeat
|
||||
count, so @kbd{C-u 10 P} would take you back 10 revisions.
|
||||
|
||||
@item
|
||||
Pressing @kbd{P} annotates the previous revision. It also takes a
|
||||
numeric prefix argument, so for example @kbd{C-u 10 P} would take you
|
||||
back 10 revisions.
|
||||
@item N
|
||||
Annotate the next revision---the one after the revision currently
|
||||
annotated. A numeric prefix argument is a repeat count.
|
||||
|
||||
@item
|
||||
Pressing @kbd{N} annotates the next revision. It also takes a numeric
|
||||
prefix argument, so for example @kbd{C-u 10 N} would take you forward
|
||||
10 revisions.
|
||||
@item J
|
||||
Annotate the revision indicated by the current line.
|
||||
|
||||
@item
|
||||
Pressing @kbd{J} annotates the revision at line (as denoted by the
|
||||
version number on the same line).
|
||||
@item A
|
||||
Annotate the revision before the one indicated by the current line.
|
||||
This is useful to see the state the file was in before the change on
|
||||
the current line was made.
|
||||
|
||||
@item
|
||||
Pressing @kbd{A} annotates the revision previous to line (as denoted
|
||||
by the version number on the same line). This is useful to see the
|
||||
state the file was in before the change on the current line was made.
|
||||
@item D
|
||||
Display the diff between the current line's revision and the previous
|
||||
revision. This is useful to see what the current line's revision
|
||||
actually changed in the file.
|
||||
|
||||
@item
|
||||
Pressing @kbd{D} shows the diff of the revision at line with its
|
||||
previous revision. This is useful to see what actually changed when
|
||||
the revision denoted on the current line was committed.
|
||||
@item L
|
||||
Show the log of the current line's revision. This is useful to see
|
||||
the author's description of the changes in the revision on the current
|
||||
line.
|
||||
|
||||
@item
|
||||
Pressing @kbd{L} shows the log of the revision at line. This is
|
||||
useful to see the author's description of the changes that occurred
|
||||
when the revision denoted on the current line was committed.
|
||||
|
||||
@item
|
||||
Pressing @kbd{W} annotates the workfile (most up to date) version. If
|
||||
you used @kbd{P} and @kbd{N} to browse to other revisions, use this
|
||||
key to return to the latest version.
|
||||
@end itemize
|
||||
@item W
|
||||
Annotate the workfile version--the one you are editing. If you used
|
||||
@kbd{P} and @kbd{N} to browse to other revisions, use this key to
|
||||
return to the latest version.
|
||||
@end table
|
||||
|
||||
@node Secondary VC Commands
|
||||
@subsection The Secondary Commands of VC
|
||||
|
@ -664,8 +664,8 @@ sequences of existing ones, with no need to write a Lisp program.
|
||||
@cindex keyboard shortcuts
|
||||
@item Keyboard Shortcut
|
||||
A keyboard shortcut is a key sequence (q.v.@:) which invokes a
|
||||
command. What other programs call ``assign a keyboard shortcut''
|
||||
Emacs calls ``bind a key sequence''. See `binding.'
|
||||
command. What some programs call ``assigning a keyboard shortcut,''
|
||||
Emacs calls ``binding a key sequence''. See `binding.'
|
||||
|
||||
@item Key Sequence
|
||||
A key sequence (key, for short) is a sequence of input events (q.v.@:)
|
||||
|
@ -9319,6 +9319,12 @@ To see e.g. security buttons but no other buttons, you could set this
|
||||
variable to @code{("multipart/signed")} and leave
|
||||
@code{gnus-unbuttonized-mime-types} at the default value.
|
||||
|
||||
You could also add @code{"multipart/alternative"} to this list to
|
||||
display radio buttons that allow you to choose one of two media types
|
||||
those mails include. See also @code{mm-discouraged-alternatives}
|
||||
(@pxref{Display Customization, ,Display Customization, emacs-mime, The
|
||||
Emacs MIME Manual}).
|
||||
|
||||
@item gnus-inhibit-mime-unbuttonizing
|
||||
@vindex gnus-inhibit-mime-unbuttonizing
|
||||
If this is non-@code{nil}, then all @acronym{MIME} parts get buttons. The
|
||||
|
159
man/help.texi
159
man/help.texi
@ -44,21 +44,11 @@ it is best to start with an apropos command, then try searching the
|
||||
manual index, then finally look in the FAQ and the package keywords.
|
||||
|
||||
@table @kbd
|
||||
@item C-h a @var{topic} @key{RET}
|
||||
This searches for commands whose names match @var{topic}, which should
|
||||
be a list of words or a regular expression (@pxref{Regexps}). Browse
|
||||
the buffer that this command displays to find what you are looking
|
||||
for. @xref{Apropos}.
|
||||
|
||||
@item M-x apropos @key{RET} @var{topic} @key{RET}
|
||||
This works like @kbd{C-h a}, but it also searches for noninteractive
|
||||
functions and for variables. @xref{Apropos}.
|
||||
|
||||
@item C-h d @var{topic} @key{RET}
|
||||
This searches the @emph{documentation strings} (the built-in short
|
||||
descriptions) of all variables and functions (not their names) for a
|
||||
match for @var{topic}, a list or words or a regular expression.
|
||||
@xref{Apropos}.
|
||||
@item C-h a @var{topics} @key{RET}
|
||||
This searches for commands whose names match @var{topics}, which
|
||||
should be a keyword, a list of keywords, or a regular expression
|
||||
(@pxref{Regexps}). This command displays a the matches in a new
|
||||
buffer. @xref{Apropos}.
|
||||
|
||||
@item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
|
||||
This looks up @var{topic} in the indices of the Emacs on-line manual.
|
||||
@ -113,9 +103,9 @@ command.
|
||||
pre-written file of information.
|
||||
|
||||
@table @kbd
|
||||
@item C-h a @var{topic} @key{RET}
|
||||
Display a list of commands whose names match word list or regexp @var{topic}
|
||||
(@code{apropos-command}).
|
||||
@item C-h a @var{topics} @key{RET}
|
||||
Display a list of commands whose names match @var{topics}
|
||||
(@code{apropos-command}; @pxref{Apropos}).
|
||||
@item C-h b
|
||||
Display a table of all key bindings in effect now, in this order: minor
|
||||
mode bindings, major mode bindings, and global bindings
|
||||
@ -124,10 +114,9 @@ mode bindings, major mode bindings, and global bindings
|
||||
Show the name of the command that @var{key} runs
|
||||
(@code{describe-key-briefly}). Here @kbd{c} stands for ``character.''
|
||||
For more extensive information on @var{key}, use @kbd{C-h k}.
|
||||
@item C-h d @var{topic} @key{RET}
|
||||
Display a list of commands and variables whose documentation match
|
||||
word list or regexp @var{topic}
|
||||
(@code{apropos-documentation}).
|
||||
@item C-h d @var{topics} @key{RET}
|
||||
Display a list of commands and variables whose documentation matches
|
||||
@var{topics} (@code{apropos-documentation}).
|
||||
@item C-h e
|
||||
Display the @code{*Messages*} buffer
|
||||
(@code{view-echo-area-messages}).
|
||||
@ -274,35 +263,69 @@ editor, you need to read the source code.
|
||||
@node Apropos
|
||||
@section Apropos
|
||||
|
||||
A more sophisticated sort of question to ask is, ``What are the
|
||||
commands for working with files?'' The @dfn{apropos} commands ask
|
||||
such questions---they look for things whose names match an
|
||||
@dfn{apropos pattern}, which means either a word, a list of words, or
|
||||
a regular expression. Each apropos command displays a list of
|
||||
matching items in a special buffer.
|
||||
|
||||
@table @kbd
|
||||
@item C-h a @var{pattern} @key{RET}
|
||||
Search for commands whose names match @var{pattern}.
|
||||
|
||||
@item M-x apropos @key{RET} @var{pattern} @key{RET}
|
||||
Similar, but it searches for noninteractive functions and for
|
||||
variables, as well as commands.
|
||||
|
||||
@item M-x apropos-variable @key{RET} @var{pattern} @key{RET}
|
||||
Similar, but it searches for variables only.
|
||||
|
||||
@item M-x apropos-value @key{RET} @var{pattern} @key{RET}
|
||||
Similar, but it searches for variables based on their values, or
|
||||
functions based on their definitions.
|
||||
|
||||
@item C-h d @var{pattern} @key{RET}
|
||||
Search the @emph{documentation strings} (the built-in short
|
||||
descriptions) of all variables and functions (not their names) for a
|
||||
match for @var{pattern}.
|
||||
@end table
|
||||
|
||||
@kindex C-h a
|
||||
@findex apropos-command
|
||||
@cindex apropos
|
||||
A more sophisticated sort of question to ask is, ``What are the
|
||||
commands for working with files?'' To ask this question, type @kbd{C-h
|
||||
a file @key{RET}}, which displays a list of all command names that
|
||||
contain @samp{file}, including @code{copy-file}, @code{find-file}, and
|
||||
so on. With each command name appears a brief description of how to use
|
||||
the command, and what keys you can currently invoke it with. For
|
||||
example, it would say that you can invoke @code{find-file} by typing
|
||||
@kbd{C-x C-f}. The @kbd{a} in @kbd{C-h a} stands for ``Apropos'';
|
||||
@kbd{C-h a} runs the command @code{apropos-command}. This command
|
||||
normally checks only commands (interactive functions); if you specify a
|
||||
prefix argument, it checks noninteractive functions as well.
|
||||
To find the commands that work on files, type @kbd{C-h a file
|
||||
@key{RET}}. This displays a list of all command names that contain
|
||||
@samp{file}, including @code{copy-file}, @code{find-file}, and so on.
|
||||
With each command name appears a brief description of how to use the
|
||||
command, and what keys you can currently invoke it with. For example,
|
||||
it would say that you can invoke @code{find-file} by typing @kbd{C-x
|
||||
C-f}. The @kbd{a} in @kbd{C-h a} stands for ``Apropos''; @kbd{C-h a}
|
||||
runs the command @code{apropos-command}. This command normally checks
|
||||
only commands (interactive functions); if you specify a prefix
|
||||
argument, it checks noninteractive functions as well.
|
||||
|
||||
Because @kbd{C-h a} looks only for commands matching the string you
|
||||
specify, you may not find what you want on the first try. In that
|
||||
case, don't just give up. You can give Apropos a list of words to
|
||||
search for. When more than one word is specified, at least two of
|
||||
those words must be present for an item to match. If you are looking
|
||||
for commands to kill a chunk of text before point, try @kbd{C-h a kill
|
||||
back behind before @key{RET}}. For even greater flexibility, you can
|
||||
also supply a regular expression to Apropos (@pxref{Regexps}).
|
||||
If you want more information about a function definition, variable or
|
||||
symbol property listed in the Apropos buffer, you can click on it with
|
||||
@kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}.
|
||||
|
||||
@kbd{C-h a} with a single word can find too many matches. Don't
|
||||
just give up; you can give Apropos a list of words to search for.
|
||||
When you specify more than one word in the apropos pattern, a name
|
||||
must contain at least two of the words in order to match. Thus, if
|
||||
you are looking for commands to kill a chunk of text before point, you
|
||||
could try @kbd{C-h a kill back backward behind before @key{RET}}.
|
||||
|
||||
For even greater flexibility, you can specify a regular expression
|
||||
(@pxref{Regexps}). An apropos pattern is interpreted as a regular
|
||||
expression if it contains any of the regular expression special
|
||||
characters, @samp{^$*+?.\[}.
|
||||
|
||||
Here is a set of arguments to give to @kbd{C-h a} that covers many
|
||||
classes of Emacs commands, since there are strong conventions for naming
|
||||
the standard Emacs commands. By giving you a feel for the naming
|
||||
conventions, this set should also serve to aid you in developing a
|
||||
technique for picking @code{apropos} strings.
|
||||
classes of Emacs commands, since there are strong conventions for
|
||||
naming the standard Emacs commands. By giving you a feel for the
|
||||
naming conventions, this set should also serve to aid you in
|
||||
developing a technique for picking Apropos keywords.
|
||||
|
||||
@quotation
|
||||
char, line, word, sentence, paragraph, region, page, sexp, list, defun,
|
||||
@ -312,31 +335,29 @@ mark, insert, yank, fill, indent, case, change, set, what, list, find,
|
||||
view, describe, default.
|
||||
@end quotation
|
||||
|
||||
@findex apropos-variable
|
||||
To list all user variables that match a word list or regexp, use the
|
||||
command @kbd{M-x apropos-variable}. By default, this command shows
|
||||
only variables meant for user customization; if you specify a prefix
|
||||
argument, it checks all variables.
|
||||
|
||||
@findex apropos
|
||||
To list all Lisp symbols that contain a match for a word list or
|
||||
regexp, not just the ones that are defined as commands, use the
|
||||
command @kbd{M-x apropos} instead of @kbd{C-h a}. This command does
|
||||
not check key bindings by default; specify a numeric argument if you
|
||||
want it to check them.
|
||||
To list all Lisp symbols that contain a match an Apropos pattern,
|
||||
not just the ones that are defined as commands, use the command
|
||||
@kbd{M-x apropos} instead of @kbd{C-h a}. This command does not check
|
||||
key bindings by default; specify a numeric argument if you want it to
|
||||
check them.
|
||||
|
||||
@findex apropos-variable
|
||||
To list user-customizable variables that match an apropos pattern,
|
||||
use the command @kbd{M-x apropos-variable}. If you specify a prefix
|
||||
argument, it checks all variables.
|
||||
|
||||
@kindex C-h d
|
||||
@findex apropos-documentation
|
||||
The @code{apropos-documentation} command is like @code{apropos} except
|
||||
that it searches documentation strings as well as symbol names for
|
||||
matches for the specified topic, a word list or regular expression.
|
||||
The @code{apropos-documentation} command is like @code{apropos}
|
||||
except that it searches documentation strings instead of symbol names
|
||||
for matches for the specified Apropos pattern.
|
||||
|
||||
@findex apropos-value
|
||||
The @code{apropos-value} command is like @code{apropos} except that it
|
||||
searches symbols' values for matches for the specified word list or regular
|
||||
expression. This command does not check function definitions or
|
||||
property lists by default; specify a numeric argument if you want it to
|
||||
check them.
|
||||
The @code{apropos-value} command is like @code{apropos} except that
|
||||
it searches variables' values for matches for the pattern. With a
|
||||
prefix argument, it also checks symbols' function definitions and
|
||||
property lists.
|
||||
|
||||
@vindex apropos-do-all
|
||||
If the variable @code{apropos-do-all} is non-@code{nil}, the commands
|
||||
@ -351,13 +372,9 @@ most relevant ones first.
|
||||
|
||||
@vindex apropos-documentation-sort-by-scores
|
||||
By default, Apropos lists the search results for
|
||||
@code{apropos-documentation} in order of relevance.
|
||||
If the variable @code{apropos-documentation-sort-by-scores} is @code{nil},
|
||||
Apropos will list documentation in alphabetical order.
|
||||
|
||||
If you want more information about a function definition, variable or
|
||||
symbol property listed in the Apropos buffer, you can click on it with
|
||||
@kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}.
|
||||
@code{apropos-documentation} in order of relevance of the match. If
|
||||
the variable @code{apropos-documentation-sort-by-scores} is
|
||||
@code{nil}, Apropos lists the symbosl found in alphabetical order.
|
||||
|
||||
@node Library Keywords
|
||||
@section Keyword Search for Lisp Libraries
|
||||
|
@ -169,6 +169,8 @@ leaving a single space. @xref{Indentation,M-^}.
|
||||
@table @kbd
|
||||
@item C-k
|
||||
Kill rest of line or one or more lines (@code{kill-line}).
|
||||
@item C-S-backspace
|
||||
Kill an entire line at once (@code{kill-whole-line})
|
||||
@end table
|
||||
|
||||
@kindex C-k
|
||||
@ -200,6 +202,13 @@ current line.
|
||||
the very beginning of a line kills the entire line including the
|
||||
following newline. This variable is normally @code{nil}.
|
||||
|
||||
@kindex C-S-backspace
|
||||
@findex kill-whole-line
|
||||
@kbd{C-S-backspace} (@code{kill-whole-line}) will kill a whole line
|
||||
including its newline regardless of the position of point within the
|
||||
line. Note that many character terminals will prevent you from typing
|
||||
the key sequence @kbd{C-S-backspace}.
|
||||
|
||||
@node Other Kill Commands
|
||||
@subsection Other Kill Commands
|
||||
@findex kill-region
|
||||
|
458
man/org.texi
458
man/org.texi
@ -4,12 +4,13 @@
|
||||
@setfilename ../info/org
|
||||
@settitle Org Mode Manual
|
||||
|
||||
@set VERSION 3.23
|
||||
@set VERSION 4.00
|
||||
@set DATE December 2005
|
||||
|
||||
@dircategory Emacs
|
||||
@direntry
|
||||
* Org Mode: (org). Outline-based notes management and organizer
|
||||
* Org Mode: (org). outline-based notes management and organizer
|
||||
|
||||
@end direntry
|
||||
|
||||
@c Version and Contact Info
|
||||
@ -81,7 +82,7 @@ Software Foundation raise funds for GNU development.''
|
||||
* Hyperlinks:: Notes in context
|
||||
* TODO items:: Every tree branch can be a TODO item
|
||||
* Timestamps:: Assign date and time to items
|
||||
* Timeline and Agenda:: Use time-stamped items to produce an agenda
|
||||
* Agenda Views:: Collecting information into views
|
||||
* Exporting:: Sharing and publishing of notes
|
||||
* Miscellaneous:: All the rest which did not fit elsewhere
|
||||
* Index:: The fast road to specific information
|
||||
@ -105,6 +106,7 @@ Document Structure
|
||||
* Structure editing:: Changing sequence and level of headlines
|
||||
* Archiving:: Move done task trees to a different place
|
||||
* Sparse trees:: Matches embedded in context
|
||||
* Tags::
|
||||
* Plain Lists:: Editing hand-formatted lists
|
||||
|
||||
Tables
|
||||
@ -134,6 +136,7 @@ Hyperlinks
|
||||
TODO items
|
||||
|
||||
* TODO basics:: Marking and displaying TODO entries
|
||||
* Progress Logging:: Document your productivity
|
||||
* TODO extensions:: Workflow and assignments
|
||||
* Priorities:: Some things are more important than others
|
||||
|
||||
@ -148,10 +151,12 @@ Timestamps
|
||||
* Time stamps:: Assigning a time to a tree entry
|
||||
* Creating timestamps:: Commands which insert timestamps
|
||||
|
||||
Timeline and Agenda
|
||||
Agenda Views
|
||||
|
||||
* Timeline:: Time-sorted view for single file
|
||||
* Agenda:: Your weekly planner
|
||||
* Global TODO list:: Overview over all things to do
|
||||
* Matching headline tags:: Select information based on tags
|
||||
* Timeline:: Time-sorted view for single file
|
||||
* Agenda commands:: Remote editing of org trees
|
||||
* Calendar/Diary integration:: Integrating Anniversaries and more
|
||||
|
||||
@ -250,16 +255,15 @@ and example files. This page is located at
|
||||
|
||||
If Org-mode is part of the Emacs distribution or an XEmacs package,
|
||||
you only need to copy the following lines to your @file{.emacs} file.
|
||||
The last three lines define @emph{global} keys for the commands
|
||||
@command{org-store-link}, @command{org-agenda}, and
|
||||
@code{org-todo-list} - please choose suitable keys yourself.
|
||||
The last two lines define @emph{global} keys for the commands
|
||||
@command{org-store-link} and @command{org-agenda} - please
|
||||
choose suitable keys yourself.
|
||||
|
||||
@lisp
|
||||
;; The following lines are always needed. Choose your own keys.
|
||||
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
|
||||
(define-key global-map "\C-cl" 'org-store-link)
|
||||
(define-key global-map "\C-ca" 'org-agenda)
|
||||
(define-key global-map "\C-ct" 'org-todo-list)
|
||||
@end lisp
|
||||
|
||||
If you have downloaded Org-mode from the Web, you must byte-compile
|
||||
@ -272,7 +276,6 @@ Lisp lines above, you also need to add the following lines to
|
||||
(autoload 'org-mode "org" "Org mode" t)
|
||||
(autoload 'org-diary "org" "Diary entries from Org mode")
|
||||
(autoload 'org-agenda "org" "Multi-file agenda from Org mode" t)
|
||||
(autoload 'org-todo-list "org" "Global TODO list from Org mode" t)
|
||||
(autoload 'org-store-link "org" "Store a link to the current location" t)
|
||||
(autoload 'orgtbl-mode "org" "Org tables as a minor mode" t)
|
||||
(autoload 'turn-on-orgtbl "org" "Org tables as a minor mode")
|
||||
@ -331,6 +334,7 @@ edit the structure of the document.
|
||||
* Structure editing:: Changing sequence and level of headlines
|
||||
* Archiving:: Move done task trees to a different place
|
||||
* Sparse trees:: Matches embedded in context
|
||||
* Tags::
|
||||
* Plain Lists:: Editing hand-formatted lists
|
||||
@end menu
|
||||
|
||||
@ -370,8 +374,11 @@ example
|
||||
|
||||
@node Visibility cycling, Motion, Headlines, Document Structure
|
||||
@section Visibility cycling
|
||||
@cindex cycling, visibility
|
||||
@cindex visibility cycling
|
||||
@cindex trees, visibility
|
||||
@cindex show hidden text
|
||||
@cindex hide text
|
||||
|
||||
Outlines make it possible to hide parts of the text in the buffer.
|
||||
Org-mode uses a single command bound to the @key{TAB} key to change
|
||||
@ -427,6 +434,7 @@ buffer:
|
||||
@section Motion
|
||||
@cindex motion, between headlines
|
||||
@cindex jumping, to headlines
|
||||
@cindex headline navigation
|
||||
The following commands jump to other headlines in the buffer.
|
||||
|
||||
@table @kbd
|
||||
@ -465,6 +473,7 @@ visible.
|
||||
@cindex pasting, of subtrees
|
||||
@cindex cutting, of subtrees
|
||||
@cindex copying, of subtrees
|
||||
@cindex subtrees, cut and paste
|
||||
|
||||
@table @kbd
|
||||
@kindex M-@key{RET}
|
||||
@ -523,6 +532,7 @@ functionality.
|
||||
@node Archiving, Sparse trees, Structure editing, Document Structure
|
||||
@section Archiving
|
||||
@cindex archiving
|
||||
@cindex filing subtries
|
||||
|
||||
When a project represented by a (sub)tree is finished, you may want
|
||||
to move the tree to an archive place, either in the same file under a
|
||||
@ -543,7 +553,7 @@ this, see the documentation string of the variable
|
||||
agenda, archiving to a different file is a good way to keep archived
|
||||
trees from contributing agenda items.
|
||||
|
||||
@node Sparse trees, Plain Lists, Archiving, Document Structure
|
||||
@node Sparse trees, Tags, Archiving, Document Structure
|
||||
@section Sparse trees
|
||||
@cindex sparse trees
|
||||
@cindex trees, sparse
|
||||
@ -587,10 +597,69 @@ Or you can use the command @kbd{C-c C-x v} to copy the visible part of
|
||||
the document to another file (extension @file{.txt}) which then can be
|
||||
printed in any desired way.
|
||||
|
||||
@node Plain Lists, , Sparse trees, Document Structure
|
||||
@node Tags, Plain Lists, Sparse trees, Document Structure
|
||||
@section Tags
|
||||
@cindex tags
|
||||
@cindex headline tagging
|
||||
@cindex matching, tags
|
||||
@cindex sparse tree, tag based
|
||||
|
||||
If you wish to implement a tag system to cross-correlate information,
|
||||
this can be done as well in Org-mode. Every headline can contain a
|
||||
list of tags, at the end of the headline. Tags are normal words
|
||||
containing letters and @samp{_}, but no numbers. Tags must be
|
||||
preceded and followed by a single colon; like @samp{:WORK:}. Several
|
||||
tags can be specified like @samp{:WORK:URGENT:}.
|
||||
|
||||
@cindex inheritance, of tags
|
||||
Tags make use of the hierarchical structure of outline trees. If a
|
||||
heading has a certain tag, all subheadings will inherit the tag as
|
||||
well. For example, in the list
|
||||
|
||||
@example
|
||||
* Meeting with the French group :WORK:
|
||||
** Summary by Frank :BOSS:
|
||||
*** TODO Prepare slides for him :ACTION:
|
||||
@end example
|
||||
@noindent
|
||||
the final heading will have the tags @samp{:WORK:}, @samp{:BOSS:}, and
|
||||
@samp{:ACTION:}.
|
||||
|
||||
@table @kbd
|
||||
@kindex C-c C-c
|
||||
@item C-c C-c
|
||||
@cindex completion, of tags
|
||||
Enter new tags for the current headline. The minibuffer will prompt
|
||||
for a list of tags and offer completion with respect to all other tags
|
||||
used in the current buffer. After pressing @key{RET}, the tags will
|
||||
be inserted and aligned to @code{org-tags-column}. When called with a
|
||||
@kbd{C-u} prefix, align all tags in the current buffer to that column,
|
||||
just to make things look nice. Tags can also be just typed into the
|
||||
buffer, with @kbd{M-@key{TAB}} support.
|
||||
@cindex M-@key{TAB}
|
||||
@item M-@key{TAB}
|
||||
Tags can also be typed directly into the buffer, using
|
||||
@kbd{M-@key{TAB}} completion.
|
||||
@kindex C-c \
|
||||
@item C-c \
|
||||
Create a sparse tree with all headlines matching a given set of tags.
|
||||
The command prompts for the tags to match. The criterion is just a
|
||||
list of tags separated by @samp{+} or @samp{-} for positive and
|
||||
negative selection. For example, @samp{+WORK-BOSS} would select all
|
||||
headlines that are tagged @samp{:WORK:}, but discard those also tagged
|
||||
@samp{:BOSS:}.
|
||||
@kindex C-c a m
|
||||
@item C-c a m
|
||||
Create a global list of tag matches from all agenda files.
|
||||
@xref{Matching headline tags}.
|
||||
@end table
|
||||
|
||||
@node Plain Lists, , Tags, Document Structure
|
||||
@section Plain Lists
|
||||
@cindex plain lists
|
||||
@cindex lists, plain
|
||||
@cindex lists, ordered
|
||||
@cindex ordered lists
|
||||
|
||||
Headlines define the structure of the Org-mode file, and also lists
|
||||
(for example TODO items (@pxref{TODO items}) should be created using
|
||||
@ -633,7 +702,7 @@ with the bullet or number).
|
||||
Items can be folded just like headline levels if you set the variable
|
||||
@code{org-cycle-include-plain-lists}. The level of an item is then
|
||||
given by the indentation of the bullet/number. However, items are
|
||||
always subortinate to real headlines, the hierarchies remain
|
||||
always subordinate to real headlines, the hierarchies remain
|
||||
completely separated.
|
||||
@kindex M-@key{RET}
|
||||
@item M-@key{RET}
|
||||
@ -643,7 +712,7 @@ Insert new item at current level. With prefix arg, for a new heading.
|
||||
@item M-S-@key{up}
|
||||
@itemx M-S-@key{down}
|
||||
Move the item including subitems up/down (swap with previous/next item
|
||||
of same intentation). If the list is ordered, renumbering is
|
||||
of same indentation). If the list is ordered, renumbering is
|
||||
automatic.
|
||||
@kindex M-S-@key{left}
|
||||
@kindex M-S-@key{right}
|
||||
@ -663,6 +732,7 @@ Renumber the ordered list at the cursor.
|
||||
@node Tables, Hyperlinks, Document Structure, Top
|
||||
@chapter Tables
|
||||
@cindex tables
|
||||
@cindex editing tables
|
||||
|
||||
Org-mode has a very fast and intuitive table editor built-in.
|
||||
Spreadsheet-like calculations are supported in connection with the
|
||||
@ -910,6 +980,8 @@ it off with
|
||||
@node Table calculations, orgtbl-mode, Built-in table editor, Tables
|
||||
@section Calculations in tables
|
||||
@cindex calculations, in tables
|
||||
@cindex spreadsheet capabilities
|
||||
@cindex @file{calc} package
|
||||
|
||||
The table editor makes use of the Emacs @file{calc} package to
|
||||
implement spreadsheet-like capabilities. Org-mode has two levels of
|
||||
@ -933,6 +1005,8 @@ recalculation can be automated.
|
||||
|
||||
@node Formula syntax, Column formulas, Table calculations, Table calculations
|
||||
@subsection Formula syntax
|
||||
@cindex formula syntax
|
||||
@cindex syntax, of formulas
|
||||
|
||||
A formula can be any algebraic expression understood by the Emacs
|
||||
@file{calc} package. Before evaluation by @code{calc-eval}
|
||||
@ -952,9 +1026,12 @@ substitution takes place:
|
||||
$name @r{a named field, parameter or constant}
|
||||
@end example
|
||||
|
||||
@cindex vectors, in table calculations
|
||||
The range vectors can be directly fed into the calc vector functions
|
||||
like @samp{vmean} and @samp{vsum}.
|
||||
|
||||
@cindex name, of column or field
|
||||
@cindex constants, in calculations
|
||||
@samp{$name} is interpreted as the name of a column, parameter or
|
||||
constant. Constants are defined globally through the variable
|
||||
@code{org-table-formula-constants}. If you have the
|
||||
@ -964,6 +1041,8 @@ constant, units like @samp{$km} for kilometers. Column names and
|
||||
parameters can be specified in special table lines. These are
|
||||
described below, see @ref{Advanced features}.
|
||||
|
||||
@cindex format specifier
|
||||
@cindex mode, for @file{calc}
|
||||
A formula can contain an optional mode string after a semicolon. This
|
||||
string consists of flags to influence calc's modes@footnote{By
|
||||
default, Org-mode uses the standard calc modes (precision 12, angular
|
||||
@ -993,6 +1072,8 @@ specifier to reformat the final result. A few examples:
|
||||
|
||||
@node Column formulas, Advanced features, Formula syntax, Table calculations
|
||||
@subsection Column formulas
|
||||
@cindex column formula
|
||||
@cindex formula, for table column
|
||||
|
||||
To apply a formula to a field, type it directly into the field,
|
||||
preceded by an equal sign, like @samp{=$1+$2}. When you press
|
||||
@ -1016,6 +1097,7 @@ from the @samp{#+TBLFM:} line) and applies it to the current field. A
|
||||
numerical prefix (e.g. @kbd{C-5 C-c =}) will apply it to that many
|
||||
subsequent fields in the current column.
|
||||
|
||||
@cindex recomputing table fields
|
||||
To recompute all the fields in a line, use the command @kbd{C-c *}.
|
||||
It re-applies all stored equations to the current row, from left to
|
||||
right. With a @kbd{C-u} prefix, this will be done to every line in
|
||||
@ -1060,6 +1142,7 @@ recalculating the table with @kbd{C-u C-c *} does only affect rows
|
||||
which are marked @samp{#} or @samp{*}, and named fields. The column
|
||||
formulas are not applied in rows with empty first field.
|
||||
|
||||
@cindex marking characters, tables
|
||||
The marking characters have the following meaning:
|
||||
@table @samp
|
||||
@item !
|
||||
@ -1072,7 +1155,7 @@ the value @samp{10}. Also, named fields can have their own formula
|
||||
associated with them.
|
||||
@item _
|
||||
Similar to @samp{^}, but defines names for the fields in the row
|
||||
@emph{below}.
|
||||
@emph{below}.
|
||||
@item $
|
||||
Fields in this row can define @emph{parameters} for formulas. For
|
||||
example, if a field in a @samp{$} row contains @samp{max=50}, then
|
||||
@ -1089,7 +1172,7 @@ lines will be left alone by this command.
|
||||
Selects this line for global recalculation with @kbd{C-u C-c *}, but
|
||||
not for automatic recalculation. Use this when automatic
|
||||
recalculation slows down editing too much.
|
||||
@item
|
||||
@item
|
||||
Unmarked lines are exempted from recalculation with @kbd{C-u C-c *}.
|
||||
All lines that should be recalculated should be marked with @samp{#}
|
||||
or @samp{*}.
|
||||
@ -1097,6 +1180,8 @@ or @samp{*}.
|
||||
|
||||
@node Named-field formulas, Editing/debugging formulas, Advanced features, Table calculations
|
||||
@subsection Named-field formulas
|
||||
@cindex named field formula
|
||||
@cindex formula, for named table field
|
||||
|
||||
A named field can have its own formula associated with it. In the
|
||||
example above, this is used for the @samp{at} field that contains
|
||||
@ -1109,6 +1194,8 @@ formulas.
|
||||
|
||||
@node Editing/debugging formulas, Appetizer, Named-field formulas, Table calculations
|
||||
@subsection Editing and debugging formulas
|
||||
@cindex formula editing
|
||||
@cindex editing, of table formulas
|
||||
|
||||
To edit a column or field formula, you can use the commands @kbd{C-c
|
||||
=} and @kbd{C-u C-c =}, respectively. The currently active expression
|
||||
@ -1123,7 +1210,7 @@ give an empty reply when prompted for the formula, or to edit the
|
||||
@kindex C-c C-c
|
||||
You may edit the @samp{#+TBLFM} directly and re-apply
|
||||
the changed equations with @kbd{C-c C-c} in that line, or with the
|
||||
normal recalculation commands in the table.
|
||||
normal recalculation commands in the table.
|
||||
|
||||
@kindex C-c '
|
||||
@kindex C-c C-c
|
||||
@ -1244,7 +1331,7 @@ a comment line. For example
|
||||
# <<MyTarget>>
|
||||
@end example
|
||||
|
||||
Each occurence of @samp{MyTarget} in the file is an active link that
|
||||
Each occurrence of @samp{MyTarget} in the file is an active link that
|
||||
can be followed with @kbd{C-c C-o} or with a mouse click
|
||||
(@pxref{Managing links}). If no dedicated target exists, org-mode will
|
||||
search for the words in the link separated by white space, in the
|
||||
@ -1274,7 +1361,7 @@ creating links.
|
||||
|
||||
@node External Links, Managing links, Internal Links, Hyperlinks
|
||||
@section External Links
|
||||
@cindex links
|
||||
@cindex links, external
|
||||
@cindex external links
|
||||
@cindex links, external
|
||||
@cindex GNUS links
|
||||
@ -1342,8 +1429,11 @@ binding @kbd{C-c l} is only a suggestion - see @ref{Installation and
|
||||
Activation}.
|
||||
|
||||
@kindex C-c C-l
|
||||
@cindex link completion
|
||||
@cindex file name completion
|
||||
@cindex completion, of links
|
||||
@cindex completion, of file names
|
||||
@cindex inserting links
|
||||
@item C-c C-l
|
||||
Insert a link. This prompts for a link to be inserted into the
|
||||
buffer. You can just type a link, using one of the link type prefixes
|
||||
@ -1355,18 +1445,24 @@ inserted into the buffer. Note that you don't have to use this
|
||||
command to insert a link. Links in Org-mode are plain text, and you
|
||||
can type or paste them straight into the buffer.
|
||||
|
||||
@cindex inserting links
|
||||
@cindex following links
|
||||
@kindex C-c C-o
|
||||
@kindex mouse-2
|
||||
@item C-c C-o
|
||||
@itemx mouse-2
|
||||
Open link at point. This will launch a web browser for URLs (using
|
||||
@command{browse-url-at-point}), run vm/gnus/bbdb for the corresponding
|
||||
links, execute the command in a shell link, visit text files with
|
||||
Emacs and select a suitable application for non-text files.
|
||||
Classification of files is based on file extension only. See option
|
||||
@code{org-file-apps}. If there is no link at point, the current
|
||||
subtree will be searched for one. If you want to override the default
|
||||
application and visit the file with Emacs, use a @kbd{C-u} prefix.
|
||||
If the cursor is on a time stamp, compiles the agenda for that date.
|
||||
links, and execute the command in a shell link. When the cursor is on
|
||||
a CamelCase link, this commands runs the corresponding search. When
|
||||
the cursor is on a TAGS list in a headline, it creates the
|
||||
corresponding TAGS view. Furthermore, it will visit text files in
|
||||
@samp{file:} links with Emacs and select a suitable application for
|
||||
non-text files. Classification of files is based on file extension
|
||||
only. See option @code{org-file-apps}. If there is no link at point,
|
||||
the current subtree will be searched for one. If you want to override
|
||||
the default application and visit the file with Emacs, use a @kbd{C-u}
|
||||
prefix. If the cursor is on a time stamp, compiles the agenda for
|
||||
that date.
|
||||
|
||||
@strong{IMPORTANT}: Be careful not to use any dangerous commands in a
|
||||
shell link.
|
||||
@ -1383,6 +1479,8 @@ Like @kbd{mouse-2}, but force file links to be opened with Emacs.
|
||||
|
||||
@node Search Options, Remember, Managing links, Hyperlinks
|
||||
@section Search options in file links
|
||||
@cindex search option in file links
|
||||
@cindex file links, searching
|
||||
|
||||
File links can contain additional information to make Emacs jump to a
|
||||
particular location in the file when following a link. This can be a
|
||||
@ -1497,11 +1595,12 @@ things you have to do.
|
||||
|
||||
@menu
|
||||
* TODO basics:: Marking and displaying TODO entries
|
||||
* Progress Logging:: Document your productivity
|
||||
* TODO extensions:: Workflow and assignments
|
||||
* Priorities:: Some things are more important than others
|
||||
@end menu
|
||||
|
||||
@node TODO basics, TODO extensions, TODO items, TODO items
|
||||
@node TODO basics, Progress Logging, TODO items, TODO items
|
||||
@section Basic TODO functionality
|
||||
|
||||
Any headline can become a TODO item by starting it with the word TODO,
|
||||
@ -1516,6 +1615,7 @@ The most important commands to work with TODO entries are:
|
||||
|
||||
@table @kbd
|
||||
@kindex C-c C-t
|
||||
@cindex cycling, of TODO states
|
||||
@item C-c C-t
|
||||
Rotate the TODO state of the current item between
|
||||
@example
|
||||
@ -1532,29 +1632,38 @@ the entire buffer, but shows all TODO items and the headings hierarchy
|
||||
above them. With prefix arg, show also the DONE entries. With
|
||||
numerical prefix N, show the tree for the Nth keyword in the variable
|
||||
@code{org-todo-keywords}.
|
||||
@kindex C-c t
|
||||
@item C-c t
|
||||
@kindex C-c a t
|
||||
@item C-c a t
|
||||
Show the global TODO list. This collects the TODO items from all
|
||||
agenda files (@pxref{Agenda}) into a single buffer. The buffer is in
|
||||
@code{agenda-mode}, so there are commands to examine and manipulate
|
||||
the TODO entries directly from that buffer (@pxref{Agenda commands}).
|
||||
A prefix argument can be used to collect only TODO entries of a
|
||||
particular type. With a C-u prefix you are prompted for a keyword.
|
||||
With a numeric prefix, the Nth keyword in @code{org-todo-keywords} is
|
||||
selected.
|
||||
@kindex r
|
||||
The @kbd{r} key in the agenda
|
||||
buffer regenerates it, and you can give a prefix argument to this
|
||||
command to change the selected TODO keyword, for example @kbd{3 r}.
|
||||
The key binding @kbd{C-c t} is only a suggestion - see
|
||||
@ref{Installation and Activation}.
|
||||
@kindex C-u C-c a
|
||||
@item C-u C-c a
|
||||
A @kbd{C-u} argument to the @code{org-agenda command} (@pxref{Agenda})
|
||||
includes all unfinished TODO items at the beginning of todays agenda.
|
||||
@xref{Global TODO list}, for more information.
|
||||
@item @code{org-agenda-include-all-todo}
|
||||
If you would like to have all your TODO items listed as part of your
|
||||
agenda, customize the variable @code{org-agenda-include-all-todo}.
|
||||
@end table
|
||||
|
||||
@node TODO extensions, Priorities, TODO basics, TODO items
|
||||
@node Progress Logging, TODO extensions, TODO basics, TODO items
|
||||
@section Progress Logging
|
||||
@cindex progress logging
|
||||
@cindex logging, of progress
|
||||
If you want to keep track of @emph{when} a certain TODO item was
|
||||
finished, turn on logging with
|
||||
@lisp
|
||||
(setq org-log-done t)
|
||||
@end lisp
|
||||
@noindent
|
||||
Then each time you turn a TODO entry into DONE using either @kbd{C-c
|
||||
C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line
|
||||
@samp{CLOSED: [timestamp]} will be inserted just after the headline.
|
||||
If you turn the entry back into a TODO item again through further
|
||||
state cycling, that line will be removed again. In the timeline
|
||||
(@pxref{Timeline}) and in the agenda (@pxref{Agenda}), you can then
|
||||
use the @kbd{L} key to display the TODO items closed on each day,
|
||||
giving you an overview of what has been done on a day.
|
||||
|
||||
@node TODO extensions, Priorities, Progress Logging, TODO items
|
||||
@section Extended use of TODO keywords
|
||||
@cindex extended TODO keywords
|
||||
|
||||
@ -1711,7 +1820,7 @@ Furthermore, these keys are also used by CUA-mode
|
||||
(@pxref{Interaction}).
|
||||
@end table
|
||||
|
||||
@node Timestamps, Timeline and Agenda, TODO items, Top
|
||||
@node Timestamps, Agenda Views, TODO items, Top
|
||||
@chapter Timestamps
|
||||
|
||||
Items can be labeled with timestamps to make them useful for project
|
||||
@ -1726,6 +1835,8 @@ planning.
|
||||
@node Time stamps, Creating timestamps, Timestamps, Timestamps
|
||||
@section Time stamps, deadlines and scheduling
|
||||
@cindex time stamps
|
||||
@cindex ranges, time
|
||||
@cindex date stamps
|
||||
@cindex deadlines
|
||||
@cindex scheduling
|
||||
|
||||
@ -1782,6 +1893,7 @@ task will automatically be forwarded.
|
||||
@node Creating timestamps, , Time stamps, Timestamps
|
||||
@section Creating timestamps
|
||||
@cindex creating timestamps
|
||||
@cindex timestamps, creating
|
||||
|
||||
For Org-mode to recognize time stamps, they need to be in the specific
|
||||
format. All commands listed below produce time stamps in the correct
|
||||
@ -1802,7 +1914,7 @@ and time.
|
||||
@kindex C-c !
|
||||
@item C-c !
|
||||
Like @kbd{C-c .}, but insert an inactive time stamp not triggering the
|
||||
agenda.
|
||||
agenda.
|
||||
|
||||
@kindex C-c <
|
||||
@item C-c <
|
||||
@ -1904,10 +2016,11 @@ One month back.
|
||||
Choose date in calendar (only if nothing typed into minibuffer).
|
||||
@end table
|
||||
|
||||
@node Timeline and Agenda, Exporting, Timestamps, Top
|
||||
@chapter Timeline and Agenda
|
||||
@cindex agenda
|
||||
@node Agenda Views, Exporting, Timestamps, Top
|
||||
@chapter Agenda Views
|
||||
@cindex agenda views
|
||||
|
||||
@ignore
|
||||
We have already described three commands to filter important
|
||||
information in an org file into a sparse tree (@pxref{Sparse trees}):
|
||||
|
||||
@ -1922,59 +2035,17 @@ Checking upcoming deadlines with @kbd{C-c C-w}, see @ref{Creating
|
||||
timestamps}.
|
||||
@end itemize
|
||||
@noindent
|
||||
@end ignore
|
||||
|
||||
Instead of using the sparse trees, Org-mode can also collect and
|
||||
time-sort the important items into a separate buffer, which we call
|
||||
the @emph{timeline} of the org file. It can also collect information
|
||||
from a @emph{list of files} and in this way provide an @emph{agenda}
|
||||
which covers all of your current projects, action items and
|
||||
appointments.
|
||||
|
||||
@menu
|
||||
* Timeline:: Time-sorted view for single file
|
||||
* Agenda:: Your weekly planner
|
||||
* Agenda commands:: Remote editing of org trees
|
||||
* Calendar/Diary integration:: Integrating Anniversaries and more
|
||||
@end menu
|
||||
|
||||
@node Timeline, Agenda, Timeline and Agenda, Timeline and Agenda
|
||||
@section Timeline for a single file
|
||||
@cindex single file summary
|
||||
@cindex agenda, for single file
|
||||
@cindex timeline, single file
|
||||
@cindex time-sorted view
|
||||
|
||||
The timeline shows all time-stamped items in a single Org-mode file,
|
||||
in @emph{time-sorted view}. The main purpose of this command is to
|
||||
give an overview over events in a project.
|
||||
|
||||
@table @kbd
|
||||
@kindex C-c C-r
|
||||
@item C-c C-r
|
||||
Show a time-sorted view of the org file, with all time-stamped items
|
||||
of today or later. When called with a @kbd{C-u} prefix, past dates
|
||||
will be included as well. When called with two @kbd{C-u C-u}
|
||||
prefixes, all unfinished TODO entries (scheduled or not) are also
|
||||
listed under the current date.
|
||||
@end table
|
||||
@noindent
|
||||
|
||||
The timeline is shown in a temporary buffer @file{*Org Agenda*}. The
|
||||
commands available in the Agenda buffer are listed in @ref{Agenda
|
||||
commands}.
|
||||
|
||||
@node Agenda, Agenda commands, Timeline, Timeline and Agenda
|
||||
@section Agenda
|
||||
@cindex agenda
|
||||
|
||||
An agenda can be compiled from one or more org files. The main
|
||||
purpose of this command is to act like a paper agenda, showing you all
|
||||
the tasks for the current day or week.
|
||||
|
||||
The Org-mode files to be processed in order to generate the agenda are
|
||||
listed in the variable @code{org-agenda-files}. You can customize
|
||||
this variable, but the easiest way to maintain it is through the
|
||||
following commands
|
||||
Org-mode can collect and sort selected items into a separate buffer.
|
||||
The information to be listed is collected from all @emph{agenda
|
||||
files}, the files listed in the variable @code{org-agenda-files}.
|
||||
Thus even if you only work with a single Org-mode file, this file must
|
||||
be put into that list@footnote{When using the dispatcher pressing
|
||||
@kbd{1} before selecting a command will actually limit the command to
|
||||
the current file, and ignore @code{org-agenda-files} until the next
|
||||
dispatcher command.}. You can customize this variable, but the easiest
|
||||
way to maintain it is through the following commands
|
||||
|
||||
@cindex files, adding to agenda list
|
||||
@table @kbd
|
||||
@ -1991,27 +2062,68 @@ Remove current file from the list of agenda files.
|
||||
Cycle through agenda file list.
|
||||
@end table
|
||||
@noindent
|
||||
The Org menu contains the list of all files and can be used to quickly
|
||||
visit any of them.
|
||||
The Org menu always contains the current list of files and can be used
|
||||
to quickly visit any of them.
|
||||
|
||||
The global command @command{org-agenda} compiles the agenda from all
|
||||
listed files.
|
||||
Org-mode provides three different views on the information in these
|
||||
files:
|
||||
@itemize @bullet
|
||||
@item
|
||||
an @emph{agenda} that is like a calendar and shows information
|
||||
for specific dates
|
||||
@item
|
||||
a @emph{TODO list} that covers all unfinished
|
||||
action items, and
|
||||
@item
|
||||
a @emph{tags view} that show information based on
|
||||
the tags associated with headlines in the outline tree.
|
||||
@end itemize
|
||||
@noindent
|
||||
The extracted information is displayed in a special @emph{agenda
|
||||
buffer}. This buffer is read-only, but provides commands to visit the
|
||||
corresponding locations in the original Org-mode files, and even to
|
||||
edit these files remotely.
|
||||
|
||||
The views are created through a dispatcher that should be bound to a
|
||||
global key, for example @kbd{C-c a} (@pxref{Installation and
|
||||
Activation}). In the following we will assume that @kbd{C-c a} is
|
||||
indeed how the dispatcher is accessed and list keyboard access to
|
||||
commands accordingly.
|
||||
|
||||
@menu
|
||||
* Agenda:: Your weekly planner
|
||||
* Global TODO list:: Overview over all things to do
|
||||
* Matching headline tags:: Select information based on tags
|
||||
* Timeline:: Time-sorted view for single file
|
||||
* Agenda commands:: Remote editing of org trees
|
||||
* Calendar/Diary integration:: Integrating Anniversaries and more
|
||||
@end menu
|
||||
|
||||
@node Agenda, Global TODO list, Agenda Views, Agenda Views
|
||||
@section Agenda
|
||||
@cindex agenda
|
||||
|
||||
The purpose of the @emph{agenda} is to act like a week/day page of a
|
||||
paper agenda, showing you all the tasks for the current week or day.
|
||||
|
||||
@table @kbd
|
||||
@cindex org-agenda, command
|
||||
@kindex C-c a
|
||||
@item C-c a
|
||||
@kindex C-c a a
|
||||
@item C-c a a
|
||||
Compile an agenda for the current week from a list of org files. The
|
||||
agenda shows the entries for each day. With a @kbd{C-u} prefix (or
|
||||
when the variable @code{org-agenda-include-all-todo} is @code{t}), all
|
||||
unfinished TODO items (also those without a date) are also listed at
|
||||
the beginning of the buffer, before the first date.@*
|
||||
The key binding @kbd{C-c a} is only a suggestion - see
|
||||
The key binding @kbd{C-c a a} is only a suggestion - see
|
||||
@ref{Installation and Activation}.
|
||||
@end table
|
||||
|
||||
The commands available in the Agenda buffer are listed in
|
||||
@ref{Agenda commands}.
|
||||
Remote editing from the agenda buffer means for example that you can
|
||||
change the dates of deadlines and appointments from the agenda buffer.
|
||||
The commands available in the Agenda buffer are listed in @ref{Agenda
|
||||
commands}.
|
||||
|
||||
|
||||
@subsection Categories
|
||||
|
||||
@ -2090,8 +2202,92 @@ plus additional increments for overdue scheduled or deadline items.
|
||||
Sorting can be customized using the variable
|
||||
@code{org-agenda-sorting-strategy}.
|
||||
|
||||
@node Agenda commands, Calendar/Diary integration, Agenda, Timeline and Agenda
|
||||
@node Global TODO list, Matching headline tags, Agenda, Agenda Views
|
||||
@section The global TODO list
|
||||
@cindex global TODO list
|
||||
@cindex TODO list, global
|
||||
|
||||
The global TODO list contains all unfinished TODO items, formatted and
|
||||
collected into a single place.
|
||||
|
||||
@table @kbd
|
||||
@kindex C-c a t
|
||||
@item C-c a t
|
||||
Show the global TODO list. This collects the TODO items from all
|
||||
agenda files (@pxref{Agenda}) into a single buffer. The buffer is in
|
||||
@code{agenda-mode}, so there are commands to examine and manipulate
|
||||
the TODO entries directly from that buffer (@pxref{Agenda commands}).
|
||||
@xref{Global TODO list}, for more information.
|
||||
@kindex C-c a T
|
||||
@item C-c a T
|
||||
Like the above, but allow to select a specific TODO keyword. You can
|
||||
also do this by specifying a prefix argument. With a @kbd{C-u} prefix
|
||||
you are prompted for a keyword. With a numeric prefix, the Nth
|
||||
keyword in @code{org-todo-keywords} is selected.
|
||||
@kindex r
|
||||
The @kbd{r} key in the agenda buffer regenerates it, and you can give
|
||||
a prefix argument to this command to change the selected TODO keyword,
|
||||
for example @kbd{3 r}.
|
||||
@end table
|
||||
|
||||
Remote editing of TDOD items means that you can change the state of a
|
||||
TODO entry with a single key press. The commands available in the
|
||||
TODO list are described in @ref{Agenda commands}.
|
||||
|
||||
@node Matching headline tags, Timeline, Global TODO list, Agenda Views
|
||||
@section Matching headline tags
|
||||
@cindex matching, of tags
|
||||
@cindex tags view
|
||||
|
||||
If headlines in the agenda files are marked with @emph{tags}
|
||||
(@pxref{Tags}), you can select headlines based on the tags that apply
|
||||
to them and collect them into an ageenda buffer.
|
||||
|
||||
@table @kbd
|
||||
@kindex C-c a m
|
||||
@item C-c a m
|
||||
Produce a list of all headlines that match a given set of tags. The
|
||||
command prompts for a selection criterion, which is a simple list of
|
||||
TAGS with positive and negative selection, like
|
||||
@samp{+WORK+URGENT-WITHBOSS}.
|
||||
@kindex C-c a M
|
||||
@item C-c a M
|
||||
Like @kbd{C-c a m}, but only select headlines that are also TODO
|
||||
items.
|
||||
@end table
|
||||
|
||||
The commands available in the tags list are described in @ref{Agenda
|
||||
commands}.
|
||||
|
||||
@node Timeline, Agenda commands, Matching headline tags, Agenda Views
|
||||
@section Timeline for a single file
|
||||
@cindex single file summary
|
||||
@cindex agenda, for single file
|
||||
@cindex timeline, single file
|
||||
@cindex time-sorted view
|
||||
|
||||
The timeline is not really an agenda view, because it only summarizes
|
||||
items from a single Org-mode file. But it also uses the agenda buffer
|
||||
and provides similar commands, so we discuss it here. The timeline
|
||||
shows all time-stamped items in a single Org-mode file (or the
|
||||
selected part of it), in @emph{time-sorted view}. The main purpose of
|
||||
this command is to give an overview over events in a project.
|
||||
|
||||
@table @kbd
|
||||
@kindex C-c C-r
|
||||
@item C-c C-r
|
||||
Show a time-sorted view of the org file, with all time-stamped items.
|
||||
When called with a @kbd{C-u} prefix, all unfinished TODO entries
|
||||
(scheduled or not) are also listed under the current date.
|
||||
@end table
|
||||
@noindent
|
||||
|
||||
The commands available in the timeline buffer are listed in
|
||||
@ref{Agenda commands}.
|
||||
|
||||
@node Agenda commands, Calendar/Diary integration, Timeline, Agenda Views
|
||||
@section Commands in the agenda buffer
|
||||
@cindex commands, in agenda buffer
|
||||
|
||||
Entries in the agenda buffer are linked back to the org file or diary
|
||||
file where they originate. You are not allowed to edit the agenda
|
||||
@ -2120,8 +2316,8 @@ Previous line (same as @key{down}).
|
||||
@itemx @key{SPC}
|
||||
Display the original location of the item in another window.
|
||||
|
||||
@kindex l
|
||||
@item l
|
||||
@kindex L
|
||||
@item L
|
||||
Display original location and recenter that window.
|
||||
|
||||
@kindex mouse-2
|
||||
@ -2136,10 +2332,15 @@ Go to the original location of the item and delete other windows.
|
||||
|
||||
@kindex f
|
||||
@item f
|
||||
Toggle follow mode. In follow mode, as you move the cursor through
|
||||
Toggle Follow mode. In Follow mode, as you move the cursor through
|
||||
the agenda buffer, the other window always shows the corresponding
|
||||
location in the org file.
|
||||
|
||||
@kindex l
|
||||
@item l
|
||||
Toggle Logbook mode. In Logbook mode, entries that where marked DONE while
|
||||
logging was on (variable @code{org-log-done}) are shown in the agenda.
|
||||
|
||||
@tsubheading{Change display}
|
||||
@kindex o
|
||||
@item o
|
||||
@ -2293,7 +2494,7 @@ visit org files will not be removed.
|
||||
|
||||
@end table
|
||||
|
||||
@node Calendar/Diary integration, , Agenda commands, Timeline and Agenda
|
||||
@node Calendar/Diary integration, , Agenda commands, Agenda Views
|
||||
@section Calendar/Diary integration
|
||||
@cindex calendar integration
|
||||
@cindex diary integration
|
||||
@ -2341,6 +2542,7 @@ between calendar and agenda.
|
||||
|
||||
@node Agenda to diary, , Diary to agenda, Calendar/Diary integration
|
||||
@subsection Including the agenda into the diary
|
||||
@cindex agenda to diary
|
||||
|
||||
If you prefer to use the Emacs diary as your main instrument and if
|
||||
you wish to include the Org-mode agenda into it, the following steps
|
||||
@ -2374,7 +2576,7 @@ in Org-mode's agenda view, the diary for @emph{today} contains
|
||||
additional entries for overdue deadlines and scheduled items. See
|
||||
also the documentation of the @command{org-diary} function.
|
||||
|
||||
@node Exporting, Miscellaneous, Timeline and Agenda, Top
|
||||
@node Exporting, Miscellaneous, Agenda Views, Top
|
||||
@chapter Exporting
|
||||
@cindex exporting
|
||||
|
||||
@ -2576,7 +2778,7 @@ end of the outline tree. For example:
|
||||
@example
|
||||
* COMMENT HTML style specifications
|
||||
|
||||
# Local Variables:
|
||||
# Local Variables:
|
||||
# org-export-html-style: " <style type=\"text/css\">
|
||||
p @{font-weight: normal; color: gray; @}
|
||||
h1 @{color: black; @}
|
||||
@ -2606,6 +2808,7 @@ Toggle the COMMENT keyword at the beginning of an entry.
|
||||
|
||||
@node iCalendar export, , HTML export, Exporting
|
||||
@section iCalendar export
|
||||
@cindex iCalendar export
|
||||
|
||||
Some people like to use Org-mode for keeping track of projects, but
|
||||
still prefer a standard calendar application for anniversaries and
|
||||
@ -2642,6 +2845,7 @@ overwrite the corresponding file
|
||||
to make iCal re-read the calendar files each time a new version of
|
||||
@file{OrgMode.ics} is produced. Here is the setup needed for this:
|
||||
|
||||
@cindex applescript, for calendar update
|
||||
@lisp
|
||||
(setq org-combined-agenda-icalendar-file
|
||||
"~/Library/Calendars/OrgMode.ics")
|
||||
@ -2671,6 +2875,13 @@ to make iCal re-read the calendar files each time a new version of
|
||||
@cindex completion, of dictionary words
|
||||
@cindex completion, of option keywords
|
||||
@cindex completion, of CamelCase links
|
||||
@cindex completion, of tags
|
||||
@cindex @TeX{} symbol completion
|
||||
@cindex TODO keywords completion
|
||||
@cindex dictionary word completion
|
||||
@cindex option keyword completion
|
||||
@cindex CamelCase link completion
|
||||
@cindex tag completion
|
||||
|
||||
Org-mode supports in-buffer completion. This type of completion does
|
||||
not make use of the minibuffer. You simply type a few letters into
|
||||
@ -2689,6 +2900,8 @@ After @samp{\}, complete @TeX{} symbols supported by the exporter.
|
||||
After @samp{*}, complete CamelCase versions of all headlines in the
|
||||
buffer.
|
||||
@item
|
||||
After @samp{:}, complete tags used elswhere in the buffer.
|
||||
@item
|
||||
After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or
|
||||
@samp{OPTIONS} which set file-specific options for Org-mode. When the
|
||||
option keyword is already complete, pressing @kbd{M-@key{TAB}} again
|
||||
@ -2712,6 +2925,7 @@ Group} from the @code{Org->Customization} menu.
|
||||
|
||||
@node FAQ, Interaction, Customization, Miscellaneous
|
||||
@section Frequently asked questions
|
||||
@cindex FAQ
|
||||
|
||||
@enumerate
|
||||
@item @b{Org-mode seems to be a useful default mode for the various
|
||||
@ -2861,6 +3075,7 @@ on the diary support of planner.
|
||||
|
||||
@node TTY keys, Bugs, Interaction, Miscellaneous
|
||||
@section Using org-mode on a tty
|
||||
@cindex tty keybindings
|
||||
|
||||
Org-mode uses a number of keys that are not accessible on a tty. This
|
||||
applies to most special keys like cursor keys, @key{TAB} and
|
||||
@ -2948,6 +3163,7 @@ The exporters work well, but could be made more efficient.
|
||||
@node Acknowledgments, , Bugs, Miscellaneous
|
||||
@section Acknowledgments
|
||||
@cindex acknowledgments
|
||||
@cindex thanks
|
||||
|
||||
Org-mode was written by Carsten Dominik, who still maintains it at the
|
||||
Org-mode homepage @uref{http://www.astro.uva.nl/~dominik/Tools/org/}.
|
||||
@ -2998,12 +3214,12 @@ Emacs-Lisp compiler happy.
|
||||
@item
|
||||
Kai Grossjohann pointed out that a number of key bindings in Org-mode
|
||||
conflict with other packages.
|
||||
@item
|
||||
@item
|
||||
Roland Winkler pointed out that additional keybindings are needed to
|
||||
use Org-mode on a tty.
|
||||
@item
|
||||
Tim O'Callaghan suggested in-file links, and search options for
|
||||
general file links.
|
||||
Tim O'Callaghan suggested in-file links, search options for
|
||||
general file links, and TAGS.
|
||||
@c @item
|
||||
@c Nic Ferrier and Christian Egli implemented XML export.
|
||||
@end itemize
|
||||
|
@ -1022,9 +1022,11 @@ in regexp syntax. @xref{Regexp Backslash}.)
|
||||
@vindex comment-end
|
||||
When a comment command makes a new comment, it inserts the value of
|
||||
@code{comment-start} to begin it. The value of @code{comment-end} is
|
||||
inserted after point, so that it will follow the text that you will insert
|
||||
into the comment. In C mode, @code{comment-start} has the value
|
||||
@w{@code{"/* "}} and @code{comment-end} has the value @w{@code{" */"}}.
|
||||
inserted after point, so that it will follow the text that you will
|
||||
insert into the comment. When @code{comment-end} is non-empty, it
|
||||
should start with a space. For example, in C mode,
|
||||
@code{comment-start} has the value @w{@code{"/* "}} and
|
||||
@code{comment-end} has the value @w{@code{" */"}}.
|
||||
|
||||
@vindex comment-padding
|
||||
The variable @code{comment-padding} specifies how many spaces
|
||||
|
@ -768,6 +768,9 @@ show environment TERM
|
||||
# stdio stop working and therefore the `pr' command above as well.
|
||||
break abort
|
||||
|
||||
# The MS-Windows build replaces abort with its own function.
|
||||
break w32_abort
|
||||
|
||||
# If we are running in synchronous mode, we want a chance to look around
|
||||
# before Emacs exits. Perhaps we should put the break somewhere else
|
||||
# instead...
|
||||
|
@ -1,3 +1,92 @@
|
||||
2005-12-17 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (bootstrap-temacs): Warn that parts of commands
|
||||
enclosed in $(ARGQUOTE)s should not be split between two lines, as
|
||||
that will break with GNU Make >3.80, when sh.exe is used and
|
||||
arg quoting is with '..'.
|
||||
|
||||
2005-12-17 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* print.c (print_preprocess): Just signal an error if print_depth
|
||||
is exceeded.
|
||||
|
||||
2005-12-17 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* .gdbinit: Set a breakpoint on w32_abort.
|
||||
|
||||
2005-12-16 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* minibuf.c (Fminibuffer_completion_contents): New Lisp function
|
||||
created from minibuffer_completion_contents.
|
||||
(minibuffer_completion_contents): Remove.
|
||||
(do_completion, Fminibuffer_complete_word)
|
||||
(Fminibuffer_completion_help): Replace minibuffer_completion_contents
|
||||
with Fminibuffer_completion_contents.
|
||||
(syms_of_minibuf): Add Sminibuffer_completion_contents.
|
||||
(Fdisplay_completion_list): Doc fix.
|
||||
(display_completion_list_1): Use `nil' for second arg of
|
||||
`Fdisplay_completion_list'.
|
||||
|
||||
2005-12-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* xfns.c (compute_tip_xy): Handle negative dx and dy.
|
||||
|
||||
* w32fns.c (compute_tip_xy): Ditto
|
||||
|
||||
* macfns.c (compute_tip_xy): Ditto
|
||||
|
||||
2005-12-14 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* print.c (print_preprocess): Go to a deeper print_depth to avoid
|
||||
print_object loop.
|
||||
|
||||
2005-12-14 Kyotaro HORIGUCHI <horiguti@meadowy.org> (tiny change)
|
||||
|
||||
* coding.c (code_convert_region_unwind): GCPRO arg.
|
||||
|
||||
2005-12-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* xfns.c (compute_tip_xy): Calculate root_y the same way as root_x,
|
||||
i.e. dy is offset from top of frame instead of bottom.
|
||||
|
||||
* macfns.c (compute_tip_xy): Ditto.
|
||||
|
||||
* w32fns.c (compute_tip_xy): Ditto.
|
||||
|
||||
* gtkutil.c (SSDATA): New macro to remove compiler warnings.
|
||||
(xg_get_image_for_pixmap, xg_create_frame_widgets)
|
||||
(xg_get_file_with_chooser): Use SSDATA instead of SDATA.
|
||||
|
||||
* xmenu.c (menubar_selection_callback): Do nothing if the callback
|
||||
is for an unselected radio menu item.
|
||||
|
||||
2005-12-11 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* xdisp.c (syms_of_xdisp) <blink-cursor-alist>: Doc fix.
|
||||
|
||||
* lisp.h [! NO_UNION_TYPE] (EQ): Use == so args are computed just once.
|
||||
|
||||
* keymap.c (Fset_keymap_parent, store_in_keymap): Use CHECK_IMPURE.
|
||||
(Flookup_key): Doc fix.
|
||||
(syms_of_keymap) <function-key-map>: Doc fix.
|
||||
|
||||
* fns.c (Frequire): Treat evaluating from a source file
|
||||
like loading the file.
|
||||
|
||||
* floatfns.c (Flog): Doc fix.
|
||||
|
||||
* fileio.c (Finsert_file_contents): Set Vdeactivate_mark
|
||||
when we change the buffer.
|
||||
|
||||
2005-12-11 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* minibuf.c (display_completion_list_1):
|
||||
Call `minibuffer_completion_contents' instead of using `nil' as
|
||||
second arg of `Fdisplay_completion_list'.
|
||||
(keys_of_minibuf): Unbind SPC in
|
||||
Vminibuffer_local_filename_completion_map (see also related
|
||||
change on 2005-12-06).
|
||||
|
||||
2005-12-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* emacs.c (main) [MAC_OS8]: Undo previous change.
|
||||
|
11
src/alloc.c
11
src/alloc.c
@ -4500,7 +4500,8 @@ mark_stack ()
|
||||
/* Return 1 if OBJ is a valid lisp object.
|
||||
Return 0 if OBJ is NOT a valid lisp object.
|
||||
Return -1 if we cannot validate OBJ.
|
||||
*/
|
||||
This function can be quite slow,
|
||||
so it should only be used in code for manual debugging. */
|
||||
|
||||
int
|
||||
valid_lisp_object_p (obj)
|
||||
@ -4526,11 +4527,11 @@ valid_lisp_object_p (obj)
|
||||
trying), so we trick the o/s to tell us whether p is a valid
|
||||
pointer. Unfortunately, we cannot use NULL_DEVICE here, as
|
||||
emacs_write may not validate p in that case. */
|
||||
if ((fd = emacs_open("__Valid__Lisp__Object__", O_CREAT | O_WRONLY | O_TRUNC, 0666)) >= 0)
|
||||
if ((fd = emacs_open ("__Valid__Lisp__Object__", O_CREAT | O_WRONLY | O_TRUNC, 0666)) >= 0)
|
||||
{
|
||||
int valid = emacs_write(fd, (char *)p, 16) == 16;
|
||||
emacs_close(fd);
|
||||
unlink("__Valid__Lisp__Object__");
|
||||
int valid = (emacs_write (fd, (char *)p, 16) == 16);
|
||||
emacs_close (fd);
|
||||
unlink ("__Valid__Lisp__Object__");
|
||||
return valid;
|
||||
}
|
||||
|
||||
|
@ -5356,10 +5356,15 @@ static Lisp_Object
|
||||
code_convert_region_unwind (arg)
|
||||
Lisp_Object arg;
|
||||
{
|
||||
struct gcpro gcpro1;
|
||||
GCPRO1 (arg);
|
||||
|
||||
inhibit_pre_post_conversion = 0;
|
||||
Vlast_coding_system_used = XCAR (arg);
|
||||
for (arg = XCDR (arg); ! NILP (arg); arg = XCDR (arg))
|
||||
Fkill_buffer (XCAR (arg));
|
||||
|
||||
UNGCPRO;
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
|
@ -4556,6 +4556,8 @@ actually used. */)
|
||||
#endif
|
||||
Vdeactivate_mark = old_Vdeactivate_mark;
|
||||
}
|
||||
else
|
||||
Vdeactivate_mark = Qt;
|
||||
|
||||
/* Make the text read part of the buffer. */
|
||||
GAP_SIZE -= inserted;
|
||||
|
@ -508,7 +508,7 @@ DEFUN ("expt", Fexpt, Sexpt, 2, 2, 0,
|
||||
|
||||
DEFUN ("log", Flog, Slog, 1, 2, 0,
|
||||
doc: /* Return the natural logarithm of ARG.
|
||||
If second optional argument BASE is given, return log ARG using that base. */)
|
||||
If the optional argument BASE is given, return log ARG using that base. */)
|
||||
(arg, base)
|
||||
register Lisp_Object arg, base;
|
||||
{
|
||||
|
10
src/fns.c
10
src/fns.c
@ -3564,14 +3564,20 @@ The normal messages at start and end of loading FILENAME are suppressed. */)
|
||||
{
|
||||
register Lisp_Object tem;
|
||||
struct gcpro gcpro1, gcpro2;
|
||||
int from_file = load_in_progress;
|
||||
|
||||
CHECK_SYMBOL (feature);
|
||||
|
||||
/* Record the presence of `require' in this file
|
||||
even if the feature specified is already loaded.
|
||||
But not more than once in any file,
|
||||
and not when we aren't loading a file. */
|
||||
if (load_in_progress)
|
||||
and not when we aren't loading or reading from a file. */
|
||||
if (!from_file)
|
||||
for (tem = Vcurrent_load_list; CONSP (tem); tem = XCDR (tem))
|
||||
if (NILP (XCDR (tem)) && STRINGP (XCAR (tem)))
|
||||
from_file = 1;
|
||||
|
||||
if (from_file)
|
||||
{
|
||||
tem = Fcons (Qrequire, feature);
|
||||
if (NILP (Fmember (tem, Vcurrent_load_list)))
|
||||
|
@ -41,6 +41,9 @@ Boston, MA 02110-1301, USA. */
|
||||
#define FRAME_TOTAL_PIXEL_HEIGHT(f) \
|
||||
(FRAME_PIXEL_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f))
|
||||
|
||||
/* Avoid "differ in sign" warnings */
|
||||
#define SSDATA(x) ((char *) SDATA (x))
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
Display handling functions
|
||||
@ -347,9 +350,9 @@ xg_get_image_for_pixmap (f, img, widget, old_widget)
|
||||
xassert (STRINGP (file) != 0);
|
||||
|
||||
if (! old_widget)
|
||||
old_widget = GTK_IMAGE (gtk_image_new_from_file (SDATA (file)));
|
||||
old_widget = GTK_IMAGE (gtk_image_new_from_file (SSDATA (file)));
|
||||
else
|
||||
gtk_image_set_from_file (old_widget, SDATA (file));
|
||||
gtk_image_set_from_file (old_widget, SSDATA (file));
|
||||
|
||||
UNGCPRO;
|
||||
return GTK_WIDGET (old_widget);
|
||||
@ -735,11 +738,11 @@ xg_create_frame_widgets (f)
|
||||
/* Use same names as the Xt port does. I.e. Emacs.pane.emacs by default */
|
||||
gtk_widget_set_name (wtop, EMACS_CLASS);
|
||||
gtk_widget_set_name (wvbox, "pane");
|
||||
gtk_widget_set_name (wfixed, SDATA (Vx_resource_name));
|
||||
gtk_widget_set_name (wfixed, SSDATA (Vx_resource_name));
|
||||
|
||||
/* If this frame has a title or name, set it in the title bar. */
|
||||
if (! NILP (f->title)) title = SDATA (ENCODE_UTF_8 (f->title));
|
||||
else if (! NILP (f->name)) title = SDATA (ENCODE_UTF_8 (f->name));
|
||||
if (! NILP (f->title)) title = SSDATA (ENCODE_UTF_8 (f->title));
|
||||
else if (! NILP (f->name)) title = SSDATA (ENCODE_UTF_8 (f->name));
|
||||
|
||||
if (title) gtk_window_set_title (GTK_WINDOW (wtop), title);
|
||||
|
||||
@ -780,8 +783,8 @@ xg_create_frame_widgets (f)
|
||||
can't shrink the window from its starting size. */
|
||||
gtk_window_set_policy (GTK_WINDOW (wtop), TRUE, TRUE, TRUE);
|
||||
gtk_window_set_wmclass (GTK_WINDOW (wtop),
|
||||
SDATA (Vx_resource_name),
|
||||
SDATA (Vx_resource_class));
|
||||
SSDATA (Vx_resource_name),
|
||||
SSDATA (Vx_resource_class));
|
||||
|
||||
/* Add callback to do nothing on WM_DELETE_WINDOW. The default in
|
||||
GTK is to destroy the widget. We want Emacs to do that instead. */
|
||||
@ -1245,7 +1248,7 @@ xg_get_file_with_chooser (f, prompt, default_filename,
|
||||
if (default_filename[0] != '/')
|
||||
file = Fexpand_file_name (file, Qnil);
|
||||
|
||||
default_filename = SDATA (file);
|
||||
default_filename = SSDATA (file);
|
||||
if (Ffile_directory_p (file))
|
||||
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filewin),
|
||||
default_filename);
|
||||
|
@ -11587,17 +11587,12 @@ numeric keysym code (sans the \"system-specific\" bit 1<<28)
|
||||
and SYMBOL is its name.
|
||||
|
||||
`system-key-alist' has a separate binding for each display device.
|
||||
See Info node `(elisp)Multiple displays'.
|
||||
|
||||
Note that the currently selected frame has very little to do with
|
||||
which binding of this variable is active at any given moment. If you
|
||||
need set or get the binding on a specific display, use
|
||||
`terminal-local-value' and `set-terminal-local-value'. */);
|
||||
See Info node `(elisp)Multiple displays'. */);
|
||||
|
||||
DEFVAR_KBOARD ("local-function-key-map", Vlocal_function_key_map,
|
||||
doc: /* Keymap mapping ASCII function key sequences onto their preferred forms.
|
||||
This allows Emacs to recognize function keys sent from ASCII
|
||||
terminals at any point in a key sequence.
|
||||
doc: /* Keymap that translates key sequences to key sequences during input.
|
||||
This is used mainly for mapping ASCII function key sequences into
|
||||
real Emacs function key events (symbols).
|
||||
|
||||
The `read-key-sequence' function replaces any subsequence bound by
|
||||
`local-function-key-map' with its binding. More precisely, when the
|
||||
@ -11618,12 +11613,7 @@ typing `ESC O P x' would return [f1 x].
|
||||
device. See Info node `(elisp)Multiple displays'. If you need to
|
||||
define a binding on all display devices, change `function-key-map'
|
||||
instead. Initially, `local-function-key-map' is an empty keymap that
|
||||
has `function-key-map' as its parent on all display devices.
|
||||
|
||||
Note that the currently selected frame has very little to do with
|
||||
which binding of this variable is active at any given moment. If you
|
||||
need set or get the binding on a specific display, use
|
||||
`terminal-local-value' and `set-terminal-local-value'. */);
|
||||
has `function-key-map' as its parent on all display devices. */);
|
||||
|
||||
DEFVAR_LISP ("function-key-map", &Vfunction_key_map,
|
||||
doc: /* The parent keymap of all `local-function-key-map' instances.
|
||||
@ -11640,12 +11630,7 @@ and its non-prefix bindings override ordinary bindings.
|
||||
|
||||
`key-translation-map' has a separate binding for each display device.
|
||||
(See Info node `(elisp)Multiple displays'.) If you need to set a key
|
||||
translation on all devices, change `global-key-translation-map' instead.
|
||||
|
||||
Note that the currently selected frame has very little to do with
|
||||
which binding of this variable is active at any given moment. If you
|
||||
need set or get the binding on a specific display, use
|
||||
`terminal-local-value' and `set-terminal-local-value'. */);
|
||||
translation on all devices, change `global-key-translation-map' instead. */);
|
||||
|
||||
DEFVAR_LISP ("key-translation-map", &Vkey_translation_map,
|
||||
doc: /* The parent keymap of all `local-key-translation-map' instances.
|
||||
|
@ -389,6 +389,7 @@ Return PARENT. PARENT should be nil or another keymap. */)
|
||||
if (EQ (XCDR (prev), parent))
|
||||
RETURN_UNGCPRO (parent);
|
||||
|
||||
CHECK_IMPURE (prev);
|
||||
XSETCDR (prev, parent);
|
||||
break;
|
||||
}
|
||||
@ -906,6 +907,7 @@ store_in_keymap (keymap, idx, def)
|
||||
{
|
||||
if (NATNUMP (idx) && XFASTINT (idx) < ASIZE (elt))
|
||||
{
|
||||
CHECK_IMPURE (elt);
|
||||
ASET (elt, XFASTINT (idx), def);
|
||||
return def;
|
||||
}
|
||||
@ -931,6 +933,7 @@ store_in_keymap (keymap, idx, def)
|
||||
{
|
||||
if (EQ (idx, XCAR (elt)))
|
||||
{
|
||||
CHECK_IMPURE (elt);
|
||||
XSETCDR (elt, def);
|
||||
return def;
|
||||
}
|
||||
@ -948,6 +951,7 @@ store_in_keymap (keymap, idx, def)
|
||||
keymap_end:
|
||||
/* We have scanned the entire keymap, and not found a binding for
|
||||
IDX. Let's add one. */
|
||||
CHECK_IMPURE (insertion_point);
|
||||
XSETCDR (insertion_point,
|
||||
Fcons (Fcons (idx, def), XCDR (insertion_point)));
|
||||
}
|
||||
@ -1210,7 +1214,7 @@ A number as value means KEY is "too long";
|
||||
that is, characters or symbols in it except for the last one
|
||||
fail to be a valid sequence of prefix characters in KEYMAP.
|
||||
The number is how many characters at the front of KEY
|
||||
it takes to reach a non-prefix command.
|
||||
it takes to reach a non-prefix key.
|
||||
|
||||
Normally, `lookup-key' ignores bindings for t, which act as default
|
||||
bindings, used when nothing else in the keymap applies; this makes it
|
||||
|
@ -454,7 +454,7 @@ enum pvec_type
|
||||
extern Lisp_Object make_number P_ ((EMACS_INT));
|
||||
#endif
|
||||
|
||||
#define EQ(x, y) ((x).s.val == (y).s.val && (x).s.type == (y).s.type)
|
||||
#define EQ(x, y) ((x).i == (y).i)
|
||||
|
||||
#endif /* NO_UNION_TYPE */
|
||||
|
||||
|
18
src/macfns.c
18
src/macfns.c
@ -3840,16 +3840,22 @@ compute_tip_xy (f, parms, dx, dy, width, height, root_x, root_y)
|
||||
|
||||
if (INTEGERP (top))
|
||||
*root_y = XINT (top);
|
||||
else if (*root_y + XINT (dy) - height < 0)
|
||||
*root_y -= XINT (dy);
|
||||
else if (*root_y + XINT (dy) <= 0)
|
||||
*root_y = 0; /* Can happen for negative dy */
|
||||
else if (*root_y + XINT (dy) + height <= FRAME_MAC_DISPLAY_INFO (f)->height)
|
||||
/* It fits below the pointer */
|
||||
*root_y += XINT (dy);
|
||||
else if (height + XINT (dy) <= *root_y)
|
||||
/* It fits above the pointer. */
|
||||
*root_y -= height + XINT (dy);
|
||||
else
|
||||
{
|
||||
*root_y -= height;
|
||||
*root_y += XINT (dy);
|
||||
}
|
||||
/* Put it on the top. */
|
||||
*root_y = 0;
|
||||
|
||||
if (INTEGERP (left))
|
||||
*root_x = XINT (left);
|
||||
else if (*root_x + XINT (dx) <= 0)
|
||||
*root_x = 0; /* Can happen for negative dx */
|
||||
else if (*root_x + XINT (dx) + width <= FRAME_MAC_DISPLAY_INFO (f)->width)
|
||||
/* It fits to the right of the pointer. */
|
||||
*root_x += XINT (dx);
|
||||
|
@ -182,6 +182,8 @@ bootstrap: bootstrap-emacs
|
||||
# Build a temacs with a sufficiently large PURESIZE to load the
|
||||
# Lisp files from loadup.el in source form.
|
||||
#
|
||||
# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
|
||||
# this can break with GNU Make 3.81 and later if sh.exe is used.
|
||||
bootstrap-temacs:
|
||||
$(MAKE) $(MFLAGS) temacs CFLAGS=$(ARGQUOTE)$(CFLAGS) -DPURESIZE=5000000$(ARGQUOTE)
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user