1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-20 10:23:57 +00:00

Merged in changes from CVS trunk.

Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-537
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-538
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-539
   Merge from gnus--rel--5.10

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-540
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-541
   Merge from gnus--rel--5.10

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-542
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-543
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-544
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-545
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-546
   Merge from gnus--rel--5.10

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-21
   Merge from emacs--cvs-trunk--0

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-22
   Update from CVS: lisp/nndb.el (require): Remove tcp and duplicate cl.

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-23
   Update from CVS

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-24
   lisp/nnimap.el (nnimap-open-connection): Remove extraneous end-paren

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-25
   Update from CVS

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-26
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-244
This commit is contained in:
Karoly Lorentey 2004-09-13 20:33:29 +00:00
commit 267eea215b
34 changed files with 1836 additions and 1163 deletions

View File

@ -1,3 +1,9 @@
2004-09-11 Kim F. Storm <storm@cua.dk>
* FOR-RELEASE (New features): Remove Gnus 5.10 entry (Done!).
(Documentation): Add NEWS entry.
Add section lists for proof-reading Emacs and Lisp manuals.
2004-08-29 Kim F. Storm <storm@cua.dk>
* FOR-RELEASE (Documentation): Add man/ack.texi and AUTHORS.

View File

@ -1,32 +1,11 @@
Tasks needed before the next release.
* DOCUMENTATION
** Finish updating the Emacs Lisp manual.
** Finish checking the Emacs Lisp manual.
** Update the Emacs manual.
** Check the Emacs Manual.
** Add missing years in copyright notices of all files.
** Update man/info.texi.
** Update man/ack.texi.
** Update AUTHORS.
* NEW FEATURES
** Test the mbox branch of Rmail.
** Install the mbox branch of Rmail.
** Update Gnus.
** Face remapping.
@ -44,6 +23,178 @@ isearch faces.
** Make GTK scrollbars behave like others w.r.t. overscrolling.
* DOCUMENTATION
** Finish updating the Emacs Lisp manual.
*** New display properties (KFS to provide input).
** Update the Emacs manual.
*** Update man/info.texi.
*** Update man/ack.texi.
** Add missing years in copyright notices of all files.
** Update AUTHORS.
** Reorder NEWS entries.
** Check the Emacs manual.
Write you name/initials in the DONE column when you have
proof-read the corresponding manual section.
DONE SECTION
---------------------------------------------
man/abbrevs.texi
man/ack.texi
man/ada-mode.texi
man/anti.texi
man/autotype.texi
man/back.texi
man/basic.texi
man/buffers.texi
man/building.texi
man/calc.texi
man/calendar.texi
man/cc-mode.texi
man/cl.texi
man/cmdargs.texi
man/commands.texi
man/custom.texi
man/dired.texi
man/dired-x.texi
man/display.texi
man/doclicense.texi
man/ebrowse.texi
man/ediff.texi
man/emacs-mime.texi
man/emacs.texi
man/emacs-xtra.texi
man/entering.texi
man/eshell.texi
man/eudc.texi
man/faq.texi
man/files.texi
man/fixit.texi
man/flymake.texi
man/forms.texi
man/frames.texi
man/glossary.texi
man/gnus-faq.texi
man/gnus.texi
man/gnu.texi
man/help.texi
man/idlwave.texi
man/indent.texi
man/info.texi
man/killing.texi
man/kmacro.texi
man/macos.texi
man/maintaining.texi
man/major.texi
man/mark.texi
man/message.texi
man/mh-e.texi
man/mini.texi
man/misc.texi
man/msdog.texi
man/mule.texi
man/m-x.texi
man/pcl-cvs.texi
man/pgg.texi
man/picture.texi
man/programs.texi
man/reftex.texi
man/regs.texi
man/rmail.texi
man/screen.texi
man/sc.texi
man/search.texi
man/sending.texi
man/ses.texi
man/sieve.texi
man/smtpmail.texi
man/speedbar.texi
man/texinfo.tex
man/text.texi
man/tramp.texi
man/trampver.texi
man/trouble.texi
man/viper.texi
man/vip.texi
man/widget.texi
man/windows.texi
man/woman.texi
man/xresources.texi
** Check the Emacs Lisp manual.
Write you name/initials in the DONE column when you have
proof-read the corresponding manual section.
DONE SECTION
---------------------------------------------
lispref/abbrevs.texi
lispref/advice.texi
lispref/anti.texi
lispref/back.texi
lispref/backups.texi
lispref/buffers.texi
lispref/calendar.texi
lispref/commands.texi
lispref/compile.texi
lispref/control.texi
lispref/customize.texi
lispref/debugging.texi
lispref/display.texi
lispref/doclicense.texi
lispref/edebug.texi
lispref/elisp-covers.texi
lispref/elisp.texi
lispref/errors.texi
lispref/eval.texi
lispref/files.texi
lispref/frames.texi
lispref/front-cover-1.texi
lispref/functions.texi
lispref/gpl.texi
lispref/hash.texi
lispref/help.texi
lispref/hooks.texi
lispref/index.texi
lispref/internals.texi
lispref/intro.texi
lispref/keymaps.texi
lispref/lay-flat.texi
lispref/lists.texi
lispref/loading.texi
lispref/locals.texi
lispref/macros.texi
lispref/maps.texi
lispref/markers.texi
lispref/minibuf.texi
lispref/modes.texi
lispref/nonascii.texi
lispref/numbers.texi
lispref/objects.texi
lispref/os.texi
lispref/positions.texi
lispref/processes.texi
lispref/searching.texi
lispref/sequences.texi
lispref/streams.texi
lispref/strings.texi
lispref/symbols.texi
lispref/syntax.texi
lispref/text.texi
lispref/tips.texi
lispref/variables.texi
lispref/windows.texi
Local variables:
mode: outline

View File

@ -617,6 +617,8 @@ version 4.7 or newer, compiles to Info pages with embedded images.
'sql-sqlite'.
** BibTeX mode:
*** The new command bibtex-url browses a URL for the BibTeX entry at
point (bound to C-c C-l and mouse-2 on clickable fields).
*** The new command bibtex-entry-update (bound to C-c C-u) updates
an existing BibTeX entry.
*** New `bibtex-entry-format' option `required-fields', enabled by default.
@ -1172,9 +1174,9 @@ and to type `C-f' at the end of the search string in the minibuffer.
search string used as the string to replace.
+++
** New user option `isearch-resume-enabled'.
This option can be disabled, to avoid the normal behavior of isearch
which puts calls to `isearch-resume' in the command history.
** Isearch no longer adds `isearch-resume' commands to the command
history by default. To enable this feature, customize the new
user option `isearch-resume-in-command-history'.
+++
** New user option `history-delete-duplicates'.
@ -1494,29 +1496,31 @@ per line. Lines beginning with space or tab are ignored.
**** The `::' qualifier triggers C++ parsing in C file.
Previously, only the `template' and `class' keywords had this effect.
**** In Perl, packages are tags.
Subroutine tags are named from their package. You can jump to sub tags
as you did before, by the sub name, or additionally by looking for
package::sub.
**** New language PHP.
Tags are functions, classes and defines.
If the --members option is specified to etags, tags are vars also.
**** New language HTML.
Title and h1, h2, h3 are tagged. Also, tags are generated when name= is
used inside an anchor and whenever id= is used.
**** New default keywords for TeX.
The new keywords are def, newcommand, renewcommand, newenvironment and
renewenvironment.
**** In Makefiles, constants are tagged.
If you want the old behavior instead, thus avoiding to increase the
size of the tags file, use the --no-globals option.
**** In Lua, all functions are tagged.
**** In Perl, packages are tags.
Subroutine tags are named from their package. You can jump to sub tags
as you did before, by the sub name, or additionally by looking for
package::sub.
**** In Prolog, etags creates tags for rules in addition to predicates.
**** New language PHP.
Tags are functions, classes and defines.
If the --members option is specified to etags, tags are vars also.
**** New default keywords for TeX.
The new keywords are def, newcommand, renewcommand, newenvironment and
renewenvironment.
*** Honour #line directives.
When Etags parses an input file that contains C preprocessor's #line
directives, it creates tags using the file name and line number
@ -1527,7 +1531,7 @@ writes tags pointing to the source file.
*** New option --parse-stdin=FILE.
This option is mostly useful when calling etags from programs. It can
be used (only once) in place of a file name on the command line. Etags
reads from standard input and mark the produced tags as belonging to
reads from standard input and marks the produced tags as belonging to
the file FILE.
+++

View File

@ -50,7 +50,7 @@ format understood by
.BR vi ( 1 )\c
\&. Both forms of the program understand
the syntax of C, Objective C, C++, Java, Fortran, Ada, Cobol, Erlang, HTML,
LaTeX, Emacs Lisp/Common Lisp, makefiles, Pascal, Perl, PHP, Postscript,
LaTeX, Emacs Lisp/Common Lisp, Lua, makefile, Pascal, Perl, PHP, Postscript,
Python, Prolog, Scheme and
most assembler\-like syntaxes.
Both forms read the files specified on the command line, and write a tag

View File

@ -1,3 +1,22 @@
2004-09-13 Francesco Potort,Al(B <pot@gnu.org>
* etags.c [EXIT_SUCCESS, EXIT_FAILURE]: Define them when no
<stdlib.h> is available.
(enum sym_type): New st_C_attribute value for parsing
gcc's __attribute__. Deleted st_C_typespec value.
(gperf, in_word_set): Use gperf 3, options changed. Added the
__attribute__ keyword, removed all the st_C_typespec keywords,
changed attribute for Java to (C_JAVA & !C_PLPL).
(inattribute): New global bool, part of the C state machine.
(cblev): Identifier renamed to bracelev throughout.
(consider_token, C_entries): Numerous changes for making the
parser more robust and adding support for __attribute__.
2004-09-13 David A. Capello <dacap@users.sourceforge.net> (tiny change)
* etags.c: (Lua_suffixes, Lua_help, lang_names, Lua_functions):
Support the Lua scripting language <http://www.lua.org>.
2004-09-08 Francesco Potort,Al(B <pot@gnu.org>
* etags.c: [LONG_OPTIONS]: make it TRUE (ifdef) or FALSE (ifndef)

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,94 @@
2004-09-13 Kim F. Storm <storm@cua.dk>
* isearch.el (isearch-resume-in-command-history): Rename from
isearch-resume-enabled and change default to nil.
2004-09-12 Stefan <monnier@iro.umontreal.ca>
* vc-hooks.el (vc-ignore-dir-regexp): New var.
(vc-registered): Use it.
(vc-find-root): New fun.
* emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Don't tell to use \\{...} when it's already done.
* textmodes/bibtex.el (bibtex-generate-url-list): Change format.
Provide a sample complex default.
(bibtex-url, bibtex-font-lock-url): Adapt to new format.
(bibtex-entry): Use mapc.
2004-09-12 Kim F. Storm <storm@cua.dk>
* kmacro.el (kmacro-step-edit-prompt): Add "%s" format to message.
* emulation/cua-rect.el (cua--rectangle-operation): Let bind
inhibit-field-text-motion to t so rectangles work in comint buffers.
* simple.el (choose-completion-string): Set buffer before running
choose-completion-string-functions hook so it can be buffer-local.
2004-09-12 Daniel Pfeiffer <occitan@esperanto.org>
* progmodes/compile.el (compilation-start): Parse command to see
if it starts with a cd, and if so perform it for the *compilation*
buffer. Change the header to reflect this.
2004-09-11 Kim F. Storm <storm@cua.dk>
* ido.el (ido-enable-dot-prefix): Doc fix.
(ido-enable-dot-prefix): New defcustom.
(ido-set-matches1): Use it.
2004-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
* textmodes/bibtex.el (bibtex-mark-active)
(bibtex-run-with-idle-timer): Move the `if' inside the defun.
2004-09-10 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
* textmodes/bibtex.el (bibtex-autokey-titleword-ignore): Regexp is
used in a case insensitive environment.
(bibtex-mode-map): Rearrange order of menus.
(bibtex-quoted-string-re): Obsolete.
(bibtex-complete-key-cleanup): Variable replaced by new function.
(bibtex-font-lock-keywords): Use backquotes.
(bibtex-font-lock-url-regexp): New internal variable.
(bibtex-name-in-field): New optional arg remove-opt-alt to remove
"OPT" and "ALT".
(bibtex-insert-current-kill, bibtex-make-field)
(bibtex-prepare-new-entry, bibtex-yank-pop, bibtex-String): Use unless.
(bibtex-parse-field-text): Simplify.
(bibtex-string=): New helper function.
(bibtex-member-of-regexp): Merge with bibtex-autokey-get-title.
(bibtex-map-entries): Use bibtex-string=.
(bibtex-search-entry): Use not.
(bibtex-enclosing-field): Fix docstring.
(bibtex-assoc-regexp): Obsolete.
(bibtex-format-entry): Use assoc-string and bibtex-string=.
(bibtex-autokey-get-names): Handle empty name field.
(bibtex-parse-strings): Use assoc-string and unless.
(bibtex-complete-string-cleanup): Expansion list is passed as an arg.
Use assoc-string.
(bibtex-pop): Simplify.
(bibtex-mode): Set font-lock-extra-managed-props.
(bibtex-entry-update): Use assoc-string.
(bibtex-parse-entry): Remove "OPT" and "ALT" from FIELD.
(bibtex-autofill-entry): Use bibtex-string=.
(bibtex-print-help-message): Simplify.
(bibtex-find-entry): New optional arg START.
(bibtex-validate): Use bibtex-string= and assoc-string.
Do not call obsolete function compilation-parse-errors.
(bibtex-remove-delimiters): Only remove delimiters if present.
(bibtex-copy-entry-as-kill): Add docstring.
(bibtex-clean-entry): Use bibtex-string=. Handle empty keys.
Detect duplicate keys if bibtex-maintain-sorted-entries is nil.
(bibtex-complete): Use bibtex-predefined-month-strings,
bibtex-string=, and new function bibtex-complete-key-cleanup.
(bibtex-generate-url-list): New variable.
(bibtex-url): New command bound to C-c C-l and mouse-2.
(bibtex-url-map): New local keymap for bibtex-url-mouse.
(bibtex-font-lock-url): New function.
2004-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/grep.el (grep-mode): Remove unnecessary autoload.

View File

@ -14327,7 +14327,7 @@
2002-06-01 Kim F. Storm <storm@cua.dk>
* simple.el: Reworked previous change.
(choose-completion-string1): Merged back into choose-completion-string.
(choose-completion-string1): Merge back into choose-completion-string.
(choose-completion-string): Run choose-completion-string-functions
after checking for proper minibuffer window. Added mini-p arg to
the hook functions. Insert choice if all hook functions return nil.
@ -14348,7 +14348,7 @@
2002-06-01 Kim F. Storm <storm@cua.dk>
* simple.el (choose-completion-string-functions): New special hook.
(choose-completion-string1): Renamed from choose-completion-string.
(choose-completion-string1): Rename from choose-completion-string.
(choose-completion-string): Run choose-completion-string-functions
until success, and only call choose-completion-string1 if it fails.

View File

@ -1561,8 +1561,9 @@ mouse-[0-3]\\)\\)\\>"))
;; to describe the most important commands in your major mode, and
;; then use `\\{...}' to display the rest of the mode's keymap.
(save-excursion
(if (re-search-forward "\\\\\\\\\\[\\w+" e t
(1+ checkdoc-max-keyref-before-warn))
(if (and (re-search-forward "\\\\\\\\\\[\\w+" e t
(1+ checkdoc-max-keyref-before-warn))
(not (re-search-forward "\\\\\\\\{\\w+}" e t)))
(checkdoc-create-error
"Too many occurrences of \\[function]. Use \\{keymap} instead"
s (marker-position e))))

View File

@ -559,7 +559,8 @@ If command is repeated at same position, delete the rectangle."
;; Rectangle is padded if PAD = t or numeric and (cua--rectangle-virtual-edges)
;; Perform auto-tabify after operation if TABIFY is non-nil.
;; Mark is kept if keep-clear is 'keep and cleared if keep-clear is 'clear.
(let* ((start (cua--rectangle-top))
(let* ((inhibit-field-text-motion t)
(start (cua--rectangle-top))
(end (cua--rectangle-bot))
(l (cua--rectangle-left))
(r (1+ (cua--rectangle-right)))

View File

@ -1,3 +1,23 @@
2004-09-13 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-sum.el (gnus-summary-copy-article): Fixed doc string.
2004-09-10 Miles Bader <miles@gnu.ai.mit.edu>
* nnimap.el (nnimap-open-connection): Remove extraneous end-paren.
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
* nnimap.el (nnimap-open-connection): allow 'imaps' as a synonym
for the 'imap' port in netrc files
* gnus-registry.el (gnus-registry-trim): watch out for negatives
in gnus-registry-trim
2004-09-10 Simon Josefsson <jas@extundo.com>
* nndb.el (require): Remove tcp and duplicate cl.
2004-09-08 Reiner Steib <Reiner.Steib@gmx.de>
* nntp.el (nntp): New customization group.
@ -388,12 +408,14 @@
* gnus-cus.el: Merged revisions 7.2 through 7.5 into branch to support
gnus-agent.el update and incorporate bug fixes.
See ChangeLog.2 for earlier changes.
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
;; Local Variables:
;; coding: iso-2022-7bit
;; End:
Copyright (C) 2002 2004 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
;;; arch-tag: 3f33a3e7-090d-492b-bedd-02a1417d32b4

View File

@ -18913,12 +18913,18 @@
* smime.el: New file.
* mml-smime.el: New file.
2000-10-27 19:42:12 ShengHuo ZHU <zsh@cs.rochester.edu>
* ChangeLog: Moved to ChangeLog.1.
See ChangeLog.1 for earlier changes.
Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
;; Local Variables:
;; coding: iso-2022-7bit
;; End:
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
;; arch-tag: 13460c90-d3bc-4be2-9e15-c7c271d0c1eb
;; arch-tag: 956fd310-042f-4fca-8dca-a01dbe06acff

View File

@ -266,25 +266,27 @@ way."
(defun gnus-registry-trim (alist)
"Trim alist to size, using gnus-registry-max-entries."
(if (null gnus-registry-max-entries)
alist ; just return the alist
alist ; just return the alist
;; else, when given max-entries, trim the alist
(let ((timehash (make-hash-table
:size 4096
:test 'equal)))
(let* ((timehash (make-hash-table
:size 4096
:test 'equal))
(trim-length (- (length alist) gnus-registry-max-entries))
(trim-length (if (natnump trim-length) trim-length 0)))
(maphash
(lambda (key value)
(puthash key (gnus-registry-fetch-extra key 'mtime) timehash))
(puthash key (gnus-registry-fetch-extra key 'mtime) timehash))
gnus-registry-hashtb)
;; we use the return value of this setq, which is the trimmed alist
(setq alist
(nthcdr
(- (length alist) gnus-registry-max-entries)
(sort alist
(lambda (a b)
(time-less-p
(cdr (gethash (car a) timehash))
(cdr (gethash (car b) timehash))))))))))
(nthcdr
trim-length
(sort alist
(lambda (a b)
(time-less-p
(cdr (gethash (car a) timehash))
(cdr (gethash (car b) timehash))))))))))
(defun alist-to-hashtable (alist)
"Build a hashtable from the values in ALIST."

View File

@ -9056,8 +9056,8 @@ ACTION can be either `move' (the default), `crosspost' or `copy'."
(gnus-set-mode-line 'summary)))
(defun gnus-summary-copy-article (&optional n to-newsgroup select-method)
"Move the current article to a different newsgroup.
If TO-NEWSGROUP is string, do not prompt for a newsgroup to move to.
"Copy the current article to some other group.
If TO-NEWSGROUP is string, do not prompt for a newsgroup to copy to.
When called interactively, if TO-NEWSGROUP is nil, use the value of
the variable `gnus-move-split-methods' for finding a default target
newsgroup.

View File

@ -1,6 +1,6 @@
;;; nndb.el --- nndb access for Gnus
;; Copyright (C) 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Kai Grossjohann <grossjohann@ls6.informatik.uni-dortmund.de>
@ -59,12 +59,6 @@
(require 'nntp)
(eval-when-compile (require 'cl))
(eval-and-compile
(unless (fboundp 'open-network-stream)
(require 'tcp)))
(eval-when-compile (require 'cl))
(eval-and-compile
(autoload 'news-setup "rnewspost")
(autoload 'news-reply-mode "rnewspost")

View File

@ -723,10 +723,15 @@ If EXAMINE is non-nil the group is selected read-only."
(int-to-string nnimap-server-port)
"imap"))
(alist (or (gnus-netrc-machine list server port "imap")
(gnus-netrc-machine list server port "imaps")
(gnus-netrc-machine list
(or nnimap-server-address
nnimap-address)
port "imap")))
port "imap")
(gnus-netrc-machine list
(or nnimap-server-address
nnimap-address)
port "imaps")))
(user (gnus-netrc-get alist "login"))
(passwd (gnus-netrc-get alist "password")))
(if (imap-authenticate user passwd nnimap-server-buffer)

View File

@ -482,14 +482,20 @@ Value can be toggled within `ido' using `ido-toggle-regexp'."
:group 'ido)
(defcustom ido-enable-prefix nil
"*Nil means that `ido' will match if the inserted text is an
arbitrary substring (default). If non-nil `ido' will only match if the inserted
text is a prefix \(this behavior is like the standard unix- or
emacs-completion works).
"*Non-nil means only match if the entered text is a prefix of file name.
This behavior is like the standard emacs-completion.
Nil means to match if the entered text is an arbitrary substring.
Value can be toggled within `ido' using `ido-toggle-prefix'."
:type 'boolean
:group 'ido)
(defcustom ido-enable-dot-prefix nil
"*Non-nil means to match leading dot as prefix.
I.e. hidden files and buffers will match only if you type a dot
as first char even if `ido-enable-prefix' is nil."
:type 'boolean
:group 'ido)
(defcustom ido-confirm-unique-completion nil
"*Non-nil means that even a unique completion must be confirmed.
This means that \\[ido-complete] must always be followed by \\[ido-exit-minibuffer]
@ -2928,13 +2934,22 @@ for first matching file."
(concat "\\`" re "\\'")))
(prefix-re (and full-re (not ido-enable-prefix)
(concat "\\`" rexq)))
(non-prefix-dot (or (not ido-enable-dot-prefix)
(not ido-process-ignore-lists)
ido-enable-prefix
(= (length ido-text) 0)))
full-matches
prefix-matches
matches)
(mapcar
(lambda (item)
(let ((name (ido-name item)))
(if (string-match re name)
(if (and (or non-prefix-dot
(if (= (aref ido-text 0) ?.)
(= (aref name 0) ?.)
(/= (aref name 0) ?.)))
(string-match re name))
(cond
((and full-re (string-match full-re name))
(setq full-matches (cons item full-matches)))

View File

@ -146,8 +146,10 @@ Ordinarily the text becomes invisible again at the end of the search."
:type 'boolean
:group 'isearch)
(defcustom isearch-resume-enabled t
"*If non-nil, `isearch-resume' commands are added to the command history."
(defcustom isearch-resume-in-command-history nil
"*If non-nil, `isearch-resume' commands are added to the command history.
This allows you to resume earlier isearch sessions through the
command history."
:type 'boolean
:group 'isearch)
@ -651,7 +653,7 @@ is treated as a regexp. See \\[isearch-forward] for more info."
(setq disable-point-adjustment t))
(defun isearch-done (&optional nopush edit)
(if isearch-resume-enabled
(if isearch-resume-in-command-history
(let ((command `(isearch-resume ,isearch-string ,isearch-regexp
,isearch-word ,isearch-forward
,isearch-message

View File

@ -928,7 +928,8 @@ following additional answers: `insert', `insert-1', `replace', `replace-1',
(curmsg (current-message)))
;; TODO: Scroll macro if max-mini-window-height is too small.
(message (concat
(message "%s"
(concat
(format "Macro: %s%s%s%s%s\n"
(format-kbd-macro kmacro-step-edit-new-macro 1)
(if (and kmacro-step-edit-new-macro (> (length kmacro-step-edit-new-macro) 0)) " " "")

View File

@ -849,6 +849,7 @@ Otherwise, construct a buffer name from MODE-NAME."
(defun compilation-start (command &optional mode name-function highlight-regexp)
"Run compilation command COMMAND (low level interface).
If COMMAND starts with a cd command, that becomes the `default-directory'.
The rest of the arguments are optional; for them, nil means use the default.
MODE is the major mode to set in the compilation buffer. Mode
@ -861,26 +862,29 @@ global value of `compilation-highlight-regexp'.
Returns the compilation buffer created."
(or mode (setq mode 'compilation-mode))
(let ((name-of-mode
(if (eq mode t)
(prog1 "compilation" (require 'comint))
(replace-regexp-in-string "-mode$" "" (symbol-name mode))))
(process-environment
(append
compilation-environment
(if (if (boundp 'system-uses-terminfo) ; `if' for compiler warning
system-uses-terminfo)
(list "TERM=dumb" "TERMCAP="
(format "COLUMNS=%d" (window-width)))
(list "TERM=emacs"
(format "TERMCAP=emacs:co#%d:tc=unknown:"
(window-width))))
;; Set the EMACS variable, but
;; don't override users' setting of $EMACS.
(unless (getenv "EMACS") '("EMACS=t"))
(copy-sequence process-environment)))
(thisdir default-directory)
outwin outbuf)
(let* ((name-of-mode
(if (eq mode t)
(prog1 "compilation" (require 'comint))
(replace-regexp-in-string "-mode$" "" (symbol-name mode))))
(process-environment
(append
compilation-environment
(if (if (boundp 'system-uses-terminfo) ; `if' for compiler warning
system-uses-terminfo)
(list "TERM=dumb" "TERMCAP="
(format "COLUMNS=%d" (window-width)))
(list "TERM=emacs"
(format "TERMCAP=emacs:co#%d:tc=unknown:"
(window-width))))
;; Set the EMACS variable, but
;; don't override users' setting of $EMACS.
(unless (getenv "EMACS") '("EMACS=t"))
(copy-sequence process-environment)))
cd-path ; in case process-environment contains CDPATH
(thisdir (if (string-match "^\\s *cd\\s +\\(.+?\\)\\s *[;&\n]" command)
(substitute-in-file-name (match-string 1 command))
default-directory))
outwin outbuf)
(with-current-buffer
(setq outbuf
(get-buffer-create
@ -901,15 +905,16 @@ Returns the compilation buffer created."
(buffer-name)))))
;; Clear out the compilation buffer and make it writable.
;; Change its default-directory to the directory where the compilation
;; will happen, and insert a `cd' command to indicate this.
;; will happen, and insert a `default-directory' to indicate this.
(setq buffer-read-only nil)
(buffer-disable-undo (current-buffer))
(erase-buffer)
(buffer-enable-undo (current-buffer))
(setq default-directory thisdir)
(cd thisdir)
;; output a mode setter, for saving and later reloading this buffer
(insert "cd " thisdir " # -*-" name-of-mode
"-*-\nEntering directory `" thisdir "'\n" command "\n")
(insert "-*- mode: " name-of-mode
"; default-directory: " (prin1-to-string default-directory)
" -*-\n" command "\n")
(set-buffer-modified-p nil))
;; If we're already in the compilation buffer, go to the end
;; of the buffer, so point will track the compilation output.

View File

@ -4301,11 +4301,12 @@ to decide what to delete."
(not (equal buffer
(window-buffer (active-minibuffer-window))))))
(error "Minibuffer is not active for completion")
;; Set buffer so buffer-local choose-completion-string-functions works.
(set-buffer buffer)
(unless (run-hook-with-args-until-success
'choose-completion-string-functions
choice buffer mini-p base-size)
;; Insert the completion into the buffer where it was requested.
(set-buffer buffer)
(if base-size
(delete-region (+ base-size (if mini-p
(minibuffer-prompt-end)

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
;;; vc-hooks.el --- resident support for version-control
;; Copyright (C) 1992,93,94,95,96,98,99,2000,03,2004
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2003, 2004
;; Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
@ -52,6 +52,12 @@ BACKEND, use `vc-handled-backends'.")
(defvar vc-header-alist ())
(make-obsolete-variable 'vc-header-alist 'vc-BACKEND-header)
(defvar vc-ignore-dir-regexp "\\`\\([\\/][\\/]\\|/net/\\|/afs/\\)\\'"
"Regexp matching directory names that are not under VC's control.
The default regexp prevents fruitless and time-consuming attempts
to determine the VC status in directories in which filenames are
interpreted as hostnames.")
(defcustom vc-handled-backends '(RCS CVS SVN SCCS Arch MCVS)
;; Arch and MCVS come last because they are per-tree rather than per-dir.
"*List of version control backends for which VC will be used.
@ -298,6 +304,20 @@ non-nil if FILE exists and its contents were successfully inserted."
(set-buffer-modified-p nil)
t))
(defun vc-find-root (file witness)
"Find the root of a checked out project.
The function walks up the directory tree from FILE looking for WITNESS.
If WITNESS if not found, return nil, otherwise return the root."
(let ((root nil))
(while (not (or root
(equal file (setq file (file-name-directory file)))
(null file)
(string-match vc-ignore-dir-regexp file)))
(if (file-exists-p (expand-file-name witness file))
(setq root file)
(setq file (directory-file-name file))))
root))
;; Access functions to file properties
;; (Properties should be _set_ using vc-file-setprop, but
;; _retrieved_ only through these functions, which decide
@ -315,11 +335,13 @@ on the result of a previous call, use `vc-backend' instead. If the
file was previously registered under a certain backend, then that
backend is tried first."
(let (handler)
(if (boundp 'file-name-handler-alist)
(setq handler (find-file-name-handler file 'vc-registered)))
(if handler
;; handler should set vc-backend and return t if registered
(funcall handler 'vc-registered file)
(cond
((string-match vc-ignore-dir-regexp (file-name-directory file)) nil)
((and (boundp 'file-name-handler-alist)
(setq handler (find-file-name-handler file 'vc-registered)))
;; handler should set vc-backend and return t if registered
(funcall handler 'vc-registered file))
(t
;; There is no file name handler.
;; Try vc-BACKEND-registered for each handled BACKEND.
(catch 'found
@ -334,7 +356,7 @@ backend is tried first."
(cons backend vc-handled-backends))))
;; File is not registered.
(vc-file-setprop file 'vc-backend 'none)
nil))))
nil)))))
(defun vc-backend (file)
"Return the version control type of FILE, nil if it is not registered."
@ -869,5 +891,5 @@ Used in `find-file-not-found-functions'."
(provide 'vc-hooks)
;;; arch-tag: 2e5a6fa7-1d30-48e2-8bd0-e3d335f04f32
;; arch-tag: 2e5a6fa7-1d30-48e2-8bd0-e3d335f04f32
;;; vc-hooks.el ends here

View File

@ -1,3 +1,37 @@
2004-09-13 Kim F. Storm <storm@cua.dk>
* mini.texi (Repetition): Rename isearch-resume-enabled to
isearch-resume-in-command-history and change default to disabled.
2004-09-10 Simon Josefsson <jas@extundo.com>
* gnus.texi (IMAP): Add example. Suggested and partially written
by Steinar Bang <sb@dod.no>.
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
* gnus.texi (IMAP): add comments about imaps synonym to imap in
netrc syntax
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
* gnus.texi (Spam ELisp Package Sequence of Events): some clarifications
(Spam ELisp Package Global Variables)
(Spam ELisp Package Global Variables): more clarifications
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
* gnus.texi (Spam ELisp Package Filtering of Incoming Mail):
mention spam-split does not modify incoming mail
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
* gnus.texi (Spam ELisp Package Sequence of Events): fix typo
2004-09-10 Eli Zaretskii <eliz@gnu.org>
* Makefile.in (../info/gnus, gnus.dvi): Depend on gnus-faq.texi
2004-09-09 Kim F. Storm <storm@cua.dk>
* kmacro.texi (Save Keyboard Macro): Replace `name-last-kbd-macro'

View File

@ -188,25 +188,29 @@ forms.dvi: forms.texi
$(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
# gnus/message/emacs-mime/sieve/pgg are part of Gnus:
../info/gnus: gnus.texi
../info/gnus: gnus.texi gnus-faq.texi
cd $(srcdir); $(MAKEINFO) gnus.texi
gnus.dvi: gnus.texi
gnus.dvi: gnus.texi gnus-faq.texi
sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
$(ENVADD) $(TEXI2DVI) gnustmp.texi
cp gnustmp.dvi $*.dvi
rm gnustmp.*
../info/message: message.texi
cd $(srcdir); $(MAKEINFO) message.texi
message.dvi: message.texi
$(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
../info/sieve: sieve.texi
cd $(srcdir); $(MAKEINFO) sieve.texi
sieve.dvi: sieve.texi
$(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
../info/emacs-mime: emacs-mime.texi
cd $(srcdir); $(MAKEINFO) emacs-mime.texi
emacs-mime.dvi: emacs-mime.texi
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
../info/pgg: pgg.texi
cd $(srcdir); $(MAKEINFO) pgg.texi
pgg.dvi: pgg.texi

View File

@ -14011,8 +14011,8 @@ is run. That's why @code{(widen)} needs to be called after
@code{save-excursion} and @code{save-restriction} in the example
above. Also note that with the nnimap backend, message bodies will
not be downloaded by default. You need to set
@code{nnimap-split-download-body} to t to do that (@pxref{Splitting in
IMAP}).
@code{nnimap-split-download-body} to @code{t} to do that
(@pxref{Splitting in IMAP}).
@item (! @var{func} @var{split})
If the split is a list, and the first element is @code{!}, then
@ -16209,7 +16209,17 @@ RFC 2060 for more information on valid strings.
A file containing credentials used to log in on servers. The format is
(almost) the same as the @code{ftp} @file{~/.netrc} file. See the
variable @code{nntp-authinfo-file} for exact syntax; also see
@ref{NNTP}.
@ref{NNTP}. An example of an .authinfo line for an IMAP server, is:
@example
machine students.uio.no login larsi password geheimnis port imap
@end example
Note that it should be @code{port imap}, or @code{port 143}, if you
use a @code{nnimap-stream} of @code{tls} or @code{ssl}, even if the
actual port number used is port 993 for secured IMAP. For
convenience, Gnus will accept @code{port imaps} as a synonym of
@code{port imap}.
@item nnimap-need-unselect-to-notice-new-mail
@vindex nnimap-need-unselect-to-notice-new-mail
@ -22249,16 +22259,18 @@ server or when you sort through incoming mail. If you get 200 spam
messages per day from @samp{random-address@@vmadmin.com}, you block
@samp{vmadmin.com}. If you get 200 messages about @samp{VIAGRA}, you
discard all messages with @samp{VIAGRA} in the message. If you get
lots of spam from China, for example, you try to filter all mail from
Chinese IPs.
lots of spam from Bulgaria, for example, you try to filter all mail
from Bulgarian IPs.
This, unfortunately, is a great way to discard legitimate e-mail. For
instance, the very informative and useful RISKS digest has been
blocked by overzealous mail filters because it @strong{contained}
words that were common in spam messages. The risks of blocking a
whole country from contacting you should also be obvious, so don't do
it if you have the choice. Nevertheless, in isolated cases, with
great care, direct filtering of mail can be useful.
This, unfortunately, is a great way to discard legitimate e-mail. The
risks of blocking a whole country (Bulgaria, Norway, Nigeria, China,
etc.) or even a continent (Asia, Africa, Europe, etc.) from contacting
you should be obvious, so don't do it if you have the choice.
In another instance, the very informative and useful RISKS digest has
been blocked by overzealous mail filters because it @strong{contained}
words that were common in spam messages. Nevertheless, in isolated
cases, with great care, direct filtering of mail can be useful.
Another approach to filtering e-mail is the distributed spam
processing, for instance DCC implements such a system. In essence,
@ -22435,8 +22447,8 @@ call the external tools during splitting. Example fancy split method:
Note that with the nnimap backend, message bodies will not be
downloaded by default. You need to set
@code{nnimap-split-download-body} to t to do that (@pxref{Splitting in
IMAP}).
@code{nnimap-split-download-body} to @code{t} to do that
(@pxref{Splitting in IMAP}).
That is about it. As some spam is likely to get through anyway, you
might want to have a nifty function to call when you happen to read
@ -22672,8 +22684,8 @@ any are set, and the processed mail is moved to the
@code{ham-process-destination} or the @code{spam-process-destination}
depending on the article's classification. If the
@code{ham-process-destination} or the @code{spam-process-destination},
whichever is appropriate, are nil, the article is left in the current
group.
whichever is appropriate, are @code{nil}, the article is left in the
current group.
If a spam is found in any group (this can be changed to only non-spam
groups with @code{spam-move-spam-nonspam-groups-only}), it is
@ -22685,11 +22697,11 @@ You have to load the @code{gnus-registry.el} package and enable the
@code{spam-log-to-registry} variable if you want spam to be processed
no more than once. Thus, spam is detected and processed everywhere,
which is what most people want. If the
@code{spam-process-destination} is nil, the spam is marked as
@code{spam-process-destination} is @code{nil}, the spam is marked as
expired, which is usually the right thing to do.
If spam can not be moved - because of a read-only backend such as NNTP,
for example, it will be copied.
If spam can not be moved---because of a read-only backend such as
@acronym{NNTP}, for example, it will be copied.
If a ham mail is found in a ham group, as determined by the
@code{ham-marks} parameter, it is processed as ham by the active ham
@ -22703,11 +22715,11 @@ no more than once. Thus, ham is detected and processed only when
necessary, which is what most people want. More on this in
@xref{Spam ELisp Package Configuration Examples}.
If ham can not be moved - because of a read-only backend such as NNTP,
for example, it will be copied.
If ham can not be moved---because of a read-only backend such as
@acronym{NNTP}, for example, it will be copied.
If all this seems confusing, don't worry. Soon it will be as natural
as typing Lisp one-liners on a neural interface... err, sorry, that's
as typing Lisp one-liners on a neural interface@dots{} err, sorry, that's
50 years in the future yet. Just trust us, it's not so bad.
@node Spam ELisp Package Filtering of Incoming Mail
@ -22728,6 +22740,8 @@ Note that the fancy split may be called @code{nnmail-split-fancy} or
@code{nnimap-split-fancy}, depending on whether you use the nnmail or
nnimap back ends to retrieve your mail.
Also, @code{spam-split} will not modify incoming mail in any way.
The @code{spam-split} function will process incoming mail and send the
mail considered to be spam into the group name given by the variable
@code{spam-split-group}. By default that group name is @samp{spam},
@ -22741,7 +22755,7 @@ actually give you the group
work depending on your server's tolerance for strange group names.
You can also give @code{spam-split} a parameter,
e.g. @samp{'spam-use-regex-headers} or @samp{"maybe-spam"}. Why is
e.g. @code{spam-use-regex-headers} or @code{"maybe-spam"}. Why is
this useful?
Take these split rules (with @code{spam-use-regex-headers} and
@ -22751,7 +22765,7 @@ Take these split rules (with @code{spam-use-regex-headers} and
nnimap-split-fancy '(|
(any "ding" "ding")
(: spam-split)
;; default mailbox
;; @r{default mailbox}
"mail")
@end example
@ -22767,14 +22781,15 @@ You can let SpamAssassin headers supersede ding rules, but all other
regex-headers check) will be after the ding rule:
@example
nnimap-split-fancy '(|
;;; all spam detected by spam-use-regex-headers goes to "regex-spam"
(: spam-split "regex-spam" 'spam-use-regex-headers)
(any "ding" "ding")
;;; all other spam detected by spam-split goes to spam-split-group
(: spam-split)
;; default mailbox
"mail")
nnimap-split-fancy
'(|
;; @r{all spam detected by @code{spam-use-regex-headers} goes to @samp{regex-spam}}
(: spam-split "regex-spam" 'spam-use-regex-headers)
(any "ding" "ding")
;; @r{all other spam detected by spam-split goes to @code{spam-split-group}}
(: spam-split)
;; @r{default mailbox}
"mail")
@end example
This lets you invoke specific @code{spam-split} checks depending on
@ -22827,7 +22842,7 @@ processors take mail known to be spam and process it so similar spam
will be detected later.
The format of the spam or ham processor entry used to be a symbol,
but now it is a cons cell. See the individual spam processor entries
but now it is a @sc{cons} cell. See the individual spam processor entries
for more information.
@vindex gnus-spam-newsgroup-contents
@ -22905,18 +22920,16 @@ not done for @emph{unclassified} or @emph{ham} groups. Also, any
determined by either the @code{ham-process-destination} group
parameter or a match in the @code{gnus-ham-process-destinations}
variable, which is a list of regular expressions matched with group
names (it's easiest to customize this variable with
@code{customize-variable gnus-ham-process-destinations}). Each
newsgroup specification has the format (REGEXP PROCESSOR) in a
standard Lisp list, if you prefer to customize the variable manually.
The ultimate location is a group name or names. If the
@code{ham-process-destination} parameter is not set, ham articles are
left in place. If the
names (it's easiest to customize this variable with @kbd{M-x
customize-variable @key{RET} gnus-ham-process-destinations}). Each
group name list is a standard Lisp list, if you prefer to customize
the variable manually. If the @code{ham-process-destination}
parameter is not set, ham articles are left in place. If the
@code{spam-mark-ham-unread-before-move-from-spam-group} parameter is
set, the ham articles are marked as unread before being moved.
If ham can not be moved - because of a read-only backend such as NNTP,
for example, it will be copied.
If ham can not be moved---because of a read-only backend such as
@acronym{NNTP}, for example, it will be copied.
Note that you can use multiples destinations per group or regular
expression! This enables you to send your ham to a regular mail
@ -22944,18 +22957,16 @@ When you leave a @emph{ham} or @emph{unclassified} group, all
the @code{spam-process-destination} group parameter or a match in the
@code{gnus-spam-process-destinations} variable, which is a list of
regular expressions matched with group names (it's easiest to
customize this variable with @code{customize-variable
gnus-spam-process-destinations}). Each newsgroup specification has
the repeated format (REGEXP GROUP) and they are all in a standard Lisp
list, if you prefer to customize the variable manually. The ultimate
location is a group name or names. If the
customize this variable with @kbd{M-x customize-variable @key{RET}
gnus-spam-process-destinations}). Each group name list is a standard
Lisp list, if you prefer to customize the variable manually. If the
@code{spam-process-destination} parameter is not set, the spam
articles are only expired. The group name is fully qualified, meaning
that if you see @samp{nntp:servername} before the group name in the
group buffer then you need it here as well.
If spam can not be moved - because of a read-only backend such as NNTP,
for example, it will be copied.
If spam can not be moved---because of a read-only backend such as
@acronym{NNTP}, for example, it will be copied.
Note that you can use multiples destinations per group or regular
expression! This enables you to send your spam to multiple @emph{spam
@ -22971,15 +22982,15 @@ entries, this won't work as well as it does without a limit.
@vindex spam-mark-only-unseen-as-spam
Set this variable if you want only unseen articles in spam groups to
be marked as spam. By default, it is set. If you set it to nil,
unread articles will also be marked as spam.
be marked as spam. By default, it is set. If you set it to
@code{nil}, unread articles will also be marked as spam.
@vindex spam-mark-ham-unread-before-move-from-spam-group
Set this variable if you want ham to be unmarked before it is moved
out of the spam group. This is very useful when you use something
like the tick mark @samp{!} to mark ham - the article will be placed
in your ham-process-destination, unmarked as if it came fresh from
the mail server.
like the tick mark @samp{!} to mark ham---the article will be placed
in your @code{ham-process-destination}, unmarked as if it came fresh
from the mail server.
@vindex spam-autodetect-recheck-messages
When autodetecting spam, this variable tells @code{spam.el} whether
@ -22997,87 +23008,86 @@ spam. It is recommended that you leave it off.
From Ted Zlatanov <tzz@@lifelogs.com>.
@example
;; for gnus-registry-split-fancy-with-parent and spam autodetection
;; see gnus-registry.el for more information
;; @r{for @code{gnus-registry-split-fancy-with-parent} and spam autodetection}
;; @r{see @file{gnus-registry.el} for more information}
(gnus-registry-initialize)
(spam-initialize)
;; I like control-S for marking spam
;; @r{I like @kbd{C-s} for marking spam}
(define-key gnus-summary-mode-map "\C-s" 'gnus-summary-mark-as-spam)
(setq
spam-log-to-registry t ;; for spam autodetection
spam-log-to-registry t ; @r{for spam autodetection}
spam-use-BBDB t
spam-use-regex-headers t ; catch X-Spam-Flag (SpamAssassin)
;; all groups with "spam" in the name contain spam
gnus-spam-newsgroup-contents '(("spam" gnus-group-spam-classification-spam))
;; see documentation for these
spam-use-regex-headers t ; @r{catch X-Spam-Flag (SpamAssassin)}
;; @r{all groups with @samp{spam} in the name contain spam}
gnus-spam-newsgroup-contents
'(("spam" gnus-group-spam-classification-spam))
;; @r{see documentation for these}
spam-move-spam-nonspam-groups-only nil
spam-mark-only-unseen-as-spam t
spam-mark-ham-unread-before-move-from-spam-group t
nnimap-split-rule 'nnimap-split-fancy
;; understand what this does before you copy it to your own setup!
;; @r{understand what this does before you copy it to your own setup!}
nnimap-split-fancy '(|
;; trace references to parents and put in their group
;; @r{trace references to parents and put in their group}
(: gnus-registry-split-fancy-with-parent)
;; this will catch server-side SpamAssassin tags
;; @r{this will catch server-side SpamAssassin tags}
(: spam-split 'spam-use-regex-headers)
(any "ding" "ding")
;; note that spam by default will go to "spam"
;; @r{note that spam by default will go to @samp{spam}}
(: spam-split)
;; default mailbox
;; @r{default mailbox}
"mail"))
;; my parameters, set with `G p'
;; @r{my parameters, set with @kbd{G p}}
;; all nnml groups, and all nnimap groups except
;; "nnimap+mail.lifelogs.com:train" and
;; "nnimap+mail.lifelogs.com:spam": any spam goes to nnimap training,
;; because it must have been detected manually
;; @r{all nnml groups, and all nnimap groups except}
;; @r{@samp{nnimap+mail.lifelogs.com:train} and}
;; @r{@samp{nnimap+mail.lifelogs.com:spam}: any spam goes to nnimap training,}
;; @r{because it must have been detected manually}
((spam-process-destination . "nnimap+mail.lifelogs.com:train"))
;; all NNTP groups
;; autodetect spam with the blacklist and ham with the BBDB
;; @r{all @acronym{NNTP} groups}
;; @r{autodetect spam with the blacklist and ham with the BBDB}
((spam-autodetect-methods spam-use-blacklist spam-use-BBDB)
;; send all spam to the training group
;; @r{send all spam to the training group}
(spam-process-destination . "nnimap+mail.lifelogs.com:train"))
;; only some NNTP groups, where I want to autodetect spam
;; @r{only some @acronym{NNTP} groups, where I want to autodetect spam}
((spam-autodetect . t))
;; my nnimap "nnimap+mail.lifelogs.com:spam" group
;; @r{my nnimap @samp{nnimap+mail.lifelogs.com:spam} group}
;; this is a spam group
;; @r{this is a spam group}
((spam-contents gnus-group-spam-classification-spam)
;; any spam (which happens when I enter for all unseen messages,
;; because of the gnus-spam-newsgroup-contents setting above), goes to
;; "nnimap+mail.lifelogs.com:train" unless I mark it as ham
;; @r{any spam (which happens when I enter for all unseen messages,}
;; @r{because of the @code{gnus-spam-newsgroup-contents} setting above), goes to}
;; @r{@samp{nnimap+mail.lifelogs.com:train} unless I mark it as ham}
(spam-process-destination "nnimap+mail.lifelogs.com:train")
;; any ham goes to my "nnimap+mail.lifelogs.com:mail" folder, but
;; also to my "nnimap+mail.lifelogs.com:trainham" folder for training
;; @r{any ham goes to my @samp{nnimap+mail.lifelogs.com:mail} folder, but}
;; @r{also to my @samp{nnimap+mail.lifelogs.com:trainham} folder for training}
(ham-process-destination "nnimap+mail.lifelogs.com:mail"
"nnimap+mail.lifelogs.com:trainham")
;; in this group, only '!' marks are ham
;; @r{in this group, only @samp{!} marks are ham}
(ham-marks
(gnus-ticked-mark))
;; remembers senders in the blacklist on the way out - this is
;; definitely not needed, it just makes me feel better
;; @r{remembers senders in the blacklist on the way out---this is}
;; @r{definitely not needed, it just makes me feel better}
(spam-process (gnus-group-spam-exit-processor-blacklist)))
;; Later, on the IMAP server I use the "train" group for training
;; SpamAssassin to recognize spam, and the "trainham" group for
;; recognizing ham - but Gnus has nothing to do with it.
;; @r{Later, on the @acronym{IMAP} server I use the @samp{train} group for training}
;; @r{SpamAssassin to recognize spam, and the @samp{trainham} group fora}
;; @r{recognizing ham---but Gnus has nothing to do with it.}
@end example
@subsubheading Using @file{spam.el} on an IMAP server with a statistical filter on the server
From Reiner Steib <reiner.steib@@gmx.de>.
My provider has set up bogofilter (in combination with @acronym{DCC}) on
@ -23115,7 +23125,7 @@ Because of the @code{gnus-group-spam-classification-spam} entry, all
messages are marked as spam (with @code{$}). When I find a false
positive, I mark the message with some other ham mark (@code{ham-marks},
@ref{Spam ELisp Package Global Variables}). On group exit, those
messages are copied to both groups, @samp{INBOX} (were I want to have
messages are copied to both groups, @samp{INBOX} (where I want to have
the article) and @samp{training.ham} (for training bogofilter) and
deleted from the @samp{spam.detected} folder.
@ -23147,7 +23157,7 @@ groups as spam and reports the to Gmane at group exit:
(spam-process (gnus-group-spam-exit-processor-report-gmane)))
@end lisp
Additionally, I use `(setq spam-report-gmane-use-article-number nil)'
Additionally, I use @code{(setq spam-report-gmane-use-article-number nil)}
because I don't read the groups directly from news.gmane.org, but
through my local news server (leafnode). I.e. the article numbers are
not the same as on news.gmane.org, thus @code{spam-report.el} has to check
@ -23702,7 +23712,7 @@ the same way, we promise.
Add this symbol to a group's @code{spam-process} parameter by
customizing the group parameter or the
@code{gnus-spam-process-newsgroups} variable. When this symbol is added
to a grup's @code{spam-process} parameter, the ham-marked articles in
to a group's @code{spam-process} parameter, the ham-marked articles in
@emph{ham} groups will be sent to the SpamOracle as samples of ham
messages. Note that this ham processor has no effect in @emph{spam} or
@emph{unclassified} groups.
@ -23742,7 +23752,7 @@ incoming mail, provide the following:
@enumerate
@item
code
Code
@lisp
(defvar spam-use-blackbox nil
@ -23750,32 +23760,34 @@ code
@end lisp
Add
@example
(spam-use-blackbox . spam-check-blackbox)
@end example
@lisp
(spam-use-blackbox . spam-check-blackbox)
@end lisp
to @code{spam-list-of-checks}.
Add
@example
(gnus-group-ham-exit-processor-blackbox ham spam-use-blackbox)
(gnus-group-spam-exit-processor-blackbox spam spam-use-blackbox)
@end example
@lisp
(gnus-group-ham-exit-processor-blackbox ham spam-use-blackbox)
(gnus-group-spam-exit-processor-blackbox spam spam-use-blackbox)
@end lisp
to @code{spam-list-of-processors}.
Add
@example
(spam-use-blackbox spam-blackbox-register-routine
nil
spam-blackbox-unregister-routine
nil)
@end example
@lisp
(spam-use-blackbox spam-blackbox-register-routine
nil
spam-blackbox-unregister-routine
nil)
@end lisp
to @code{spam-registration-functions}. Write the register/unregister
routines using the bogofilter register/unregister routines as a
start, or other restister/unregister routines more appropriate to
Blackbox.
@item
functionality
Functionality
Write the @code{spam-check-blackbox} function. It should return
@samp{nil} or @code{spam-split-group}, observing the other
@ -23794,7 +23806,7 @@ For processing spam and ham messages, provide the following:
@enumerate
@item
code
Code
Note you don't have to provide a spam or a ham processor. Only
provide them if Blackbox supports spam or ham processing.
@ -23819,18 +23831,18 @@ Only applicable to non-spam (unclassified and ham) groups.")
Gnus parameters
Add
@example
(const :tag "Spam: Blackbox" (spam spam-use-blackbox))
(const :tag "Ham: Blackbox" (ham spam-use-blackbox))
@end example
@lisp
(const :tag "Spam: Blackbox" (spam spam-use-blackbox))
(const :tag "Ham: Blackbox" (ham spam-use-blackbox))
@end lisp
to the @code{spam-process} group parameter in @code{gnus.el}. Make
sure you do it twice, once for the parameter and once for the
variable customization.
Add
@example
(variable-item spam-use-blackbox)
@end example
@lisp
(variable-item spam-use-blackbox)
@end lisp
to the @code{spam-autodetect-methods} group parameter in
@code{gnus.el}.

View File

@ -342,6 +342,9 @@ In HTML input files, the tags are the @code{title} and the @code{h1},
@code{h2}, @code{h3} headers. Also, tags are @code{name=} in anchors
and all occurrences of @code{id=}.
@item
In Lua input files, all functions are tags.
@item
In makefiles, targets are tags; additionally, variables are tags
unless you specify @samp{--no-globals}.

View File

@ -564,12 +564,13 @@ of saved entire commands. After finding the desired previous command,
you can edit its expression as usual and then resubmit it by typing
@key{RET} as usual.
@vindex isearch-resume-enabled
@vindex isearch-resume-in-command-history
Incremental search does not, strictly speaking, use the minibuffer,
but it does something similar, so normally it is treated as a complex
command and it appears in the history list for @kbd{C-x @key{ESC}
@key{ESC}}. You can disable that by setting
@code{isearch-resume-enabled} to @code{nil}.
but it does something similar. Although it behaves like a complex command,
it normally does not appear in the history list for @kbd{C-x
@key{ESC} @key{ESC}}. You can make it appear in the history by
setting @code{isearch-resume-in-command-history} to a non-@code{nil}
value.
@vindex command-history
The list of previous minibuffer-using commands is stored as a Lisp

View File

@ -279,6 +279,13 @@ respectively.
;; Authenticate using this username and password against my server.
(setq smtpmail-auth-credentials
'(("@var{hostname}" "@var{port}" "@var{username}" "@var{password}")))
;; Note that if @var{port} is an integer, you must not quote it as a
;; string. Normally @var{port} should be the integer 25, and the example
;; become:
(setq smtpmail-auth-credentials
'(("@var{hostname}" 25 "@var{username}" "@var{password}")))
;; Use STARTTLS without authentication against the server.
(setq smtpmail-starttls-credentials
'(("@var{hostname}" "@var{port}" nil nil)))

View File

@ -1,3 +1,57 @@
2004-09-12 Kim F. Storm <storm@cua.dk>
* editfns.c (Fformat): Handle format strings with multiple text
properties. Reverse text property list from the format string,
so the positions are in increasing order.
2004-09-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
* xselect.c (x_reply_selection_request): XSync and UNBLOCK before
x_uncatch_errors so that possible protocol errors are delivered.
2004-09-10 Eli Zaretskii <eliz@gnu.org>
* Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
blockinput.h.
(dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
charset.h, and coding.h
(w16select.o): Depend on buffer.h, charset.h, coding.h, and
composite.h.
(term.o): Depend on window.h and keymap.h.
(abbrev.o): Depend on syntax.h.
(callint.o): Depend on keymap.h.
(casefiddle.o): Depend on charset.h and keymap.h.
(category.o): Depend on keymap.h.
(coding.o): Depend on dispextern.h.
(cmds.o): Depend on keyboard.h and keymap.h.
(dispnew.o): Depend on indent.h and intervals.h.
(doc.o): Depend on keymap.h.
(editfns.o): Depend on frame.h.
(emacs.o): Depend on dispextern.h.
(fileio.o): Don't depend on ccl.h.
(filelock.o): Depend on charset.h and coding.h.
(frame.o): Depend on w32term.h and macterm.h.
(insdel.o): Depend on region-cache.h.
(keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
(minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
(search.o): Depend on $(INTERVALS_SRC).
(syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
(window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
xterm.h, w32term.h, and macterm.h.
(xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
w32term.h, and macterm.h.
(xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
region-cache.h, xterm.h, w32term.h, and macterm.h.
(bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
(data.o): Depend on frame.h.
(fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
(print.o): Depend on termchar.h and $(INTERVALS_SRC).
(lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
(intervals.o): Depend on keymap.h.
* msdos.c (msdos_set_cursor_shape, IT_display_cursor): Add
debugging print-out to termscript.
2004-09-09 Richard M. Stallman <rms@gnu.org>
* xdisp.c (decode_mode_spec): Use current buffer for most purposes.

View File

@ -1046,25 +1046,27 @@ alloca.o: alloca.c blockinput.h atimer.h
and so rarely changed in ways that do require any. */
abbrev.o: abbrev.c buffer.h window.h dispextern.h commands.h charset.h \
$(config_h)
syntax.h $(config_h)
buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
dispextern.h $(INTERVAL_SRC) blockinput.h atimer.h systime.h charset.h \
$(config_h)
callint.o: callint.c window.h commands.h buffer.h \
callint.o: callint.c window.h commands.h buffer.h keymap.h \
keyboard.h dispextern.h $(config_h)
callproc.o: callproc.c epaths.h buffer.h commands.h $(config_h) \
process.h systty.h syssignal.h charset.h coding.h ccl.h msdos.h \
composite.h
casefiddle.o: casefiddle.c syntax.h commands.h buffer.h composite.h $(config_h)
casefiddle.o: casefiddle.c syntax.h commands.h buffer.h composite.h \
charset.h keymap.h $(config_h)
casetab.o: casetab.c buffer.h $(config_h)
category.o: category.c category.h buffer.h charset.h $(config_h)
category.o: category.c category.h buffer.h charset.h keymap.h $(config_h)
ccl.o: ccl.c ccl.h charset.h coding.h $(config_h)
charset.o: charset.c charset.h buffer.h coding.h composite.h disptab.h \
$(config_h)
coding.o: coding.c coding.h ccl.h buffer.h charset.h intervals.h composite.h window.h frame.h termhooks.h $(config_h)
coding.o: coding.c coding.h ccl.h buffer.h charset.h intervals.h composite.h \
window.h dispextern.h frame.h termhooks.h $(config_h)
cm.o: cm.c frame.h cm.h termhooks.h termchar.h $(config_h)
cmds.o: cmds.c syntax.h buffer.h charset.h commands.h window.h $(config_h) \
msdos.h dispextern.h
msdos.h dispextern.h keyboard.h keymap.h
pre-crt0.o: pre-crt0.c
ecrt0.o: ecrt0.c $(config_h)
CRT0_COMPILE ${srcdir}/ecrt0.c
@ -1072,24 +1074,25 @@ dired.o: dired.c commands.h buffer.h $(config_h) charset.h coding.h regex.h \
systime.h
dispnew.o: dispnew.c systime.h commands.h process.h frame.h \
window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \
disptab.h \
disptab.h indent.h intervals.h \
xterm.h blockinput.h atimer.h charset.h msdos.h composite.h keyboard.h \
$(config_h)
doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h charset.h
doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h keymap.h charset.h
doprnt.o: doprnt.c charset.h $(config_h)
dosfns.o: buffer.h termchar.h termhooks.h frame.h msdos.h dosfns.h $(config_h)
dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
msdos.h dosfns.h dispextern.h charset.h coding.h $(config_h)
editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
coding.h dispextern.h $(config_h)
coding.h dispextern.h frame.h $(config_h)
emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h) \
window.h keyboard.h keymap.h
window.h dispextern.h keyboard.h keymap.h
fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
coding.h ccl.h msdos.h dispextern.h $(config_h)
filelock.o: filelock.c buffer.h systime.h epaths.h $(config_h)
filelock.o: filelock.c buffer.h charset.h coding.h systime.h epaths.h $(config_h)
filemode.o: filemode.c $(config_h)
frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
blockinput.h atimer.h systime.h buffer.h charset.h fontset.h \
msdos.h dosfns.h dispextern.h termchar.h $(config_h)
msdos.h dosfns.h dispextern.h w32term.h macterm.h termchar.h $(config_h)
fringe.o: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h $(config_h)
fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h charset.h frame.h \
keyboard.h termhooks.h $(config_h)
@ -1100,11 +1103,11 @@ indent.o: indent.c frame.h window.h indent.h buffer.h $(config_h) termchar.h \
termopts.h disptab.h region-cache.h charset.h composite.h dispextern.h \
keyboard.h
insdel.o: insdel.c window.h buffer.h $(INTERVAL_SRC) blockinput.h charset.h \
dispextern.h atimer.h systime.h $(config_h)
dispextern.h atimer.h systime.h region-cache.h $(config_h)
keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h charset.h \
commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
systime.h dispextern.h syntax.h $(INTERVAL_SRC) blockinput.h \
atimer.h xterm.h puresize.h msdos.h $(config_h)
atimer.h xterm.h puresize.h msdos.h keymap.h w32term.h macterm.h $(config_h)
keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
atimer.h systime.h puresize.h charset.h intervals.h $(config_h)
lastfile.o: lastfile.c $(config_h)
@ -1117,11 +1120,12 @@ vm-limit.o: vm-limit.c mem-limits.h $(config_h)
marker.o: marker.c buffer.h charset.h $(config_h)
md5.o: md5.c md5.h $(config_h)
minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h \
buffer.h commands.h charset.h msdos.h termhooks.h $(config_h)
buffer.h commands.h charset.h msdos.h $(INTERVAL_SRC)) keymap.h \
termhooks.h $(config_h)
mktime.o: mktime.c $(config_h)
msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
termopts.h termchar.h charset.h coding.h ccl.h disptab.h window.h \
keyboard.h intervals.h $(config_h)
keyboard.h intervals.h buffer.h commands.h blockinput.h $(config_h)
process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
@ -1131,15 +1135,17 @@ region-cache.o: region-cache.c buffer.h region-cache.h $(config_h)
scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
termhooks.h $(config_h)
search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
blockinput.h atimer.h systime.h category.h charset.h composite.h $(config_h)
blockinput.h atimer.h systime.h category.h charset.h composite.h \
$(INTERVAL_SRC) $(config_h)
strftime.o: strftime.c $(config_h)
syntax.o: syntax.c syntax.h buffer.h commands.h category.h charset.h \
composite.h $(config_h)
composite.h keymap.h regex.h $(INTERVAL_SRC) $(config_h)
sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \
process.h dispextern.h termhooks.h termchar.h termopts.h \
frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h $(config_h)
term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h \
disptab.h dispextern.h keyboard.h charset.h coding.h ccl.h msdos.h
disptab.h dispextern.h keyboard.h charset.h coding.h ccl.h msdos.h \
window.h keymap.h
termcap.o: termcap.c $(config_h)
terminfo.o: terminfo.c $(config_h)
tparam.o: tparam.c $(config_h)
@ -1149,18 +1155,20 @@ undo.o: undo.c buffer.h commands.h $(config_h)
UNEXEC_ALIAS=UNEXEC
$(UNEXEC_ALIAS): UNEXEC_SRC $(config_h)
w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
msdos.h $(config_h)
msdos.h buffer.h charset.h coding.h composite.h $(config_h)
widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
$(srcdir)/../lwlib/lwlib.h $(config_h)
window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
disptab.h keyboard.h dispextern.h msdos.h composite.h \
$(config_h)
keymap.h blockinput.h $(INTERVAL_SRC) xterm.h w32term.h macterm.h $(config_h)
xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h coding.h \
termchar.h frame.h window.h disptab.h termhooks.h charset.h $(config_h) \
keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h w32term.h macterm.h \
msdos.h composite.h fontset.h blockinput.h atimer.h systime.h keymap.h
xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
window.h charset.h msdos.h dosfns.h composite.h atimer.h systime.h \
termchar.h termhooks.h $(config_h)
keyboard.h fontset.h w32term.h macterm.h $(INTERVAL_SRC) termchar.h \
termhooks.h $(config_h)
xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
$(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
charset.h gtkutil.h termchar.h termhooks.h $(config_h)
@ -1187,22 +1195,26 @@ atimer.o: atimer.c atimer.h systime.h $(config_h)
alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h keyboard.h \
blockinput.h atimer.h systime.h charset.h dispextern.h $(config_h) $(INTERVAL_SRC)
bytecode.o: bytecode.c buffer.h syntax.h charset.h window.h $(config_h)
data.o: data.c buffer.h puresize.h charset.h syssignal.h keyboard.h $(config_h)
bytecode.o: bytecode.c buffer.h syntax.h charset.h window.h dispextern.h \
frame.h xterm.h $(config_h)
data.o: data.c buffer.h puresize.h charset.h syssignal.h keyboard.h frame.h $(config_h)
eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
dispextern.h $(config_h)
floatfns.o: floatfns.c $(config_h)
fns.o: fns.c commands.h $(config_h) frame.h buffer.h charset.h keyboard.h \
frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h
keymap.h frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h \
blockinput.h xterm.h
print.o: print.c process.h frame.h window.h buffer.h keyboard.h charset.h \
$(config_h) dispextern.h msdos.h composite.h termchar.h intervals.h
lread.o: lread.c commands.h keyboard.h buffer.h epaths.h charset.h $(config_h) \
termhooks.h coding.h msdos.h
$(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \
termchar.h
lread.o: lread.c commands.h keyboard.h buffer.h epaths.h charset.h \
$(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h
/* Text properties support */
textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVAL_SRC) \
$(config_h)
intervals.o: intervals.c buffer.h $(INTERVAL_SRC) keyboard.h puresize.h $(config_h)
intervals.o: intervals.c buffer.h $(INTERVAL_SRC) keyboard.h puresize.h \
keymap.h $(config_h)
composite.o: composite.c buffer.h charset.h $(INTERVAL_SRC) $(config_h)
/* System-specific programs to be made.

View File

@ -3668,11 +3668,13 @@ usage: (format STRING &rest OBJECTS) */)
/* Adjust the bounds of each text property
to the proper start and end in the output string. */
/* We take advantage of the fact that the positions in PROPS
are in increasing order, so that we can do (effectively)
one scan through the position space of the format string.
BYTEPOS is the byte position in the format string,
/* Put the positions in PROPS in increasing order, so that
we can do (effectively) one scan through the position
space of the format string. */
props = Fnreverse (props);
/* BYTEPOS is the byte position in the format string,
POSITION is the untranslated char position in it,
TRANSLATED is the translated char position in BUF,
and ARGN is the number of the next arg we will come to. */

View File

@ -752,6 +752,9 @@ msdos_set_cursor_shape (struct frame *f, int start_line, int width)
if (f && f != SELECTED_FRAME())
return;
if (termscript)
fprintf (termscript, "\nCURSOR SHAPE=(%d,%d)", start_line, width);
/* The character cell size in scan lines is stored at 40:85 in the
BIOS data area. */
max_line = _farpeekw (_dos_ds, 0x485) - 1;
@ -851,10 +854,12 @@ IT_set_cursor_type (struct frame *f, Lisp_Object cursor_type)
}
}
else
/* Treat anything unknown as "box cursor". This includes nil, so
that a frame which doesn't specify a cursor type gets a box,
which is the default in Emacs. */
msdos_set_cursor_shape (f, 0, BOX_CURSOR_WIDTH);
{
/* Treat anything unknown as "box cursor". This includes nil, so
that a frame which doesn't specify a cursor type gets a box,
which is the default in Emacs. */
msdos_set_cursor_shape (f, 0, BOX_CURSOR_WIDTH);
}
}
static void
@ -1826,6 +1831,8 @@ static int cursor_cleared;
static void
IT_display_cursor (int on)
{
if (termscript)
fprintf (termscript, "\nCURSOR %s", on ? "ON" : "OFF");
if (on && cursor_cleared)
{
ScreenSetCursor (current_pos_Y, current_pos_X);

View File

@ -752,7 +752,15 @@ x_reply_selection_request (event, format, data, size, type)
refering to the deleted window, and we'll get a BadWindow error
in XTread_socket when processing the events. I don't have
an idea how to fix that. gerd, 2001-01-98. */
XFlush (display);
/* 2004-09-10: XSync and UNBLOCK so that possible protocol errors are
delivered before uncatch errors. */
XSync (display, False);
UNBLOCK_INPUT;
/* GTK queues events in addition to the queue in Xlib. So we
UNBLOCK to enter the event loop and get possible errors delivered,
and then BLOCK again because x_uncatch_errors requires it. */
BLOCK_INPUT;
x_uncatch_errors (display, count);
UNBLOCK_INPUT;
}