1
0
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:
Karoly Lorentey 2005-12-19 19:57:22 +00:00
commit e93b29568a
106 changed files with 4045 additions and 2276 deletions

View File

@ -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-*

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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." "\

View File

@ -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")

View File

@ -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

View File

@ -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 ()

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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))

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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)))))

View File

@ -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...

View File

@ -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))

View File

@ -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))))))

View File

@ -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)

View File

@ -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))

View File

@ -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)))

View File

@ -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

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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))))

View File

@ -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:

View File

@ -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

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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"))

View File

@ -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 ""))

View File

@ -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.

View File

@ -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
;; ======================================================================

View File

@ -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))

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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 ... */

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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")

View File

@ -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'."

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.@:)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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...

View File

@ -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.

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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;
{

View File

@ -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)))

View File

@ -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);

View File

@ -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.

View File

@ -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

View File

@ -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 */

View File

@ -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);

View File

@ -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