Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 274-284) - Update from CVS - Update etc/MORE.STUFF. - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 101) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-62
This commit is contained in:
commit
4ed925c668
71 changed files with 1423 additions and 767 deletions
|
@ -1,3 +1,8 @@
|
|||
2006-05-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* FOR-RELEASE: Spell-checking the manuals is now done; remove the
|
||||
entry.
|
||||
|
||||
2006-05-06 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* FOR-RELEASE: MH-E 8.0 has been released, so removed reminder
|
||||
|
|
|
@ -7,8 +7,6 @@ has to be set to nil: when t, it can leak memory and cause other problems.
|
|||
|
||||
** Update release dates of manuals.
|
||||
|
||||
** Spell check the manuals.
|
||||
|
||||
** Get rid of overfull and underfull boxes in manuals.
|
||||
|
||||
** Check for widow and orphan lines in manuals;
|
||||
|
@ -28,6 +26,9 @@ and KDE projects, to use the new Emacs icons in etc/images/icons.
|
|||
|
||||
* BUGS
|
||||
|
||||
** We need a way a Lisp file encoded in iso-2022 can assure
|
||||
reliable decoding regardless of user options.
|
||||
|
||||
** JD Smith's 17 Apr 2006 bug report that CVS operations
|
||||
get mysterious unreproducible failures.
|
||||
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
2006-05-15 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* sk-refcard.tex: Add coding cookie.
|
||||
|
||||
2006-05-15 Michael Olson <mwolson@gnu.org>
|
||||
|
||||
* MORE.STUFF: Update URL for Planner Mode and add description.
|
||||
Canonicalize URLs for Emacs Muse and Emacs Wiki Mode.
|
||||
|
||||
2006-05-12 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* MORE.STUFF: ERC is now part of Emacs.
|
||||
Add Emacs Muse.
|
||||
|
||||
2006-05-12 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* NEWS (allout): Update.
|
||||
|
||||
2006-05-06 Bill Wohler <wohler@newt.com>
|
||||
|
||||
Release MH-E version 8.0.
|
||||
|
|
|
@ -54,6 +54,9 @@ You might find bug-fixes or enhancements in these places.
|
|||
* Eldoc and Rlogin:
|
||||
<URL:http://www.splode.com/~friedman/software/emacs-lisp/>
|
||||
|
||||
* ERC: IRC client:
|
||||
<URL:http://www.emacswiki.org/cgi-bin/wiki?EmacsIRCClient>
|
||||
|
||||
* EShell: <URL:http://www.newartisans.com/johnw/emacs.html>
|
||||
|
||||
* Etags: <URL:ftp://pot.potorti.it/pub/software/unix/etags.tar.gz>
|
||||
|
@ -155,6 +158,9 @@ Several are for Debian GNU/Linux in particular.
|
|||
* EMacro: <URL:http://emacro.sourceforge.net/>
|
||||
EMacro is a portable configuration file that configures itself.
|
||||
|
||||
* Emacs Muse: <URL:http://www.mwolson.org/projects/EmacsMuse.html>
|
||||
An authoring and publishing environment for Emacs.
|
||||
|
||||
* Emacs speaks statistics (ESS): statistical programming within Emacs
|
||||
<URL:http://ess.r-project.org>
|
||||
|
||||
|
@ -165,12 +171,9 @@ Several are for Debian GNU/Linux in particular.
|
|||
A simple Emacs interface to w3m, which is a text-mode
|
||||
WWW browser
|
||||
|
||||
* Emacs Wiki Mode: <URL:http://mwolson.org/projects/EmacsWiki.html>
|
||||
* Emacs Wiki Mode: <URL:http://www.mwolson.org/projects/EmacsWiki.html>
|
||||
A wiki-like publishing tool and personal information manager
|
||||
|
||||
* ERC: IRC client:
|
||||
<URL:http://www.emacswiki.org/cgi-bin/wiki?EmacsIRCClient>
|
||||
|
||||
* Gnuserv:
|
||||
<URL:http://www.hpl.hp.com/personal/ange/gnuserv/home.html>
|
||||
Enhanced emacsclient/emacsserver. Also available from this Web
|
||||
|
@ -210,8 +213,8 @@ Several are for Debian GNU/Linux in particular.
|
|||
nXML mode is an addon for GNU Emacs, which makes GNU Emacs into a
|
||||
powerful XML editor.
|
||||
|
||||
* Planner Mode:
|
||||
<URL:http://sacha.free.net.ph/notebook/wiki/PlannerMode.php>
|
||||
* Planner Mode: <URL:http://www.plannerlove.com/>
|
||||
Planner is an organizer and day planner for Emacs.
|
||||
|
||||
* Preview LaTeX: embed preview LaTeX images in source buffer.
|
||||
<URL:http://preview-latex.sourceforge.net/>
|
||||
|
|
6
etc/NEWS
6
etc/NEWS
|
@ -2009,13 +2009,17 @@ symmetric key hinting and consistency verification, auto-encryption of
|
|||
pending topics on save, and more, make it easy to use encryption in
|
||||
powerful ways.
|
||||
|
||||
*** `allout-view-change-hook' marked as being deprecated - use
|
||||
`allout-exposure-change-hook' instead. Both are currently being used, but
|
||||
`allout-view-change-hook' will be ignored in a subsequent allout version.
|
||||
|
||||
*** Default command prefix changed to "\C-c " (control-c space), to avoid
|
||||
intruding on user's keybinding space. Customize the
|
||||
`allout-command-prefix' variable to your preference.
|
||||
|
||||
*** Allout now uses text overlay's `invisible' property (and others) for
|
||||
concealed text, instead of selective-display. This simplifies the code, in
|
||||
particularly avoiding the need for kludges for isearch dynamic-display,
|
||||
particular avoiding the need for kludges for isearch dynamic-display,
|
||||
discretionary handling of edits of concealed text, undo concerns, etc.
|
||||
|
||||
*** Many substantial fixes and refinements, including:
|
||||
|
|
|
@ -665,6 +665,7 @@ \section{Z
|
|||
|
||||
% Local variables:
|
||||
% compile-command: "csplain sk-refcard"
|
||||
% coding: iso-latin-2
|
||||
% End:
|
||||
|
||||
% arch-tag: 9f8eacf2-daf9-4162-bc8d-4af7b269f3d3
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2006-05-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (lisp1): Add fringe.elc.
|
||||
|
||||
2006-05-02 Francesco Potort,Al(B <pot@gnu.org>
|
||||
|
||||
* etags.c (Perl_functions): Free space allocated for var package.
|
||||
|
|
|
@ -192,6 +192,7 @@ lisp1= \
|
|||
$(lispsource)international/mule-conf.el \
|
||||
$(lispsource)international/mule-cmds.elc \
|
||||
$(lispsource)international/characters.elc \
|
||||
$(lispsource)fringe.elc \
|
||||
$(lispsource)image.elc \
|
||||
$(lispsource)international/fontset.elc \
|
||||
$(lispsource)dnd.elc \
|
||||
|
|
203
lisp/ChangeLog
203
lisp/ChangeLog
|
@ -1,3 +1,204 @@
|
|||
2006-05-17 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* emacs-lisp/ewoc.el (ewoc-data): Add docstring.
|
||||
(ewoc-nth): Doc fix.
|
||||
|
||||
2006-05-16 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* international/mule.el (auto-coding-alist): Add .lha to files
|
||||
read with no-conversion.
|
||||
|
||||
* files.el (auto-mode-alist): Add .lha files to archive file
|
||||
extensions.
|
||||
|
||||
* arc-mode.el (archive-arc-summarize, archive-lzh-summarize):
|
||||
Convert csize to integer when computing offsets within the
|
||||
compressed archive file.
|
||||
|
||||
2006-05-16 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* subr.el (add-to-history): Add KEEP-ALL arg and align functionality
|
||||
with read-from-minibuffer.
|
||||
|
||||
2006-05-16 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* emacs-lisp/bytecomp.el (byte-compile-warnings-safe-p): New function.
|
||||
(byte-compile-warnings): Fix safe-local-variable property.
|
||||
|
||||
2006-05-16 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* allout.el (allout-show-bodies, allout-old-style-prefixes)
|
||||
(allout-stylish-prefixes, allout-numbered-bullet)
|
||||
(allout-file-xref-bullet, allout-use-hanging-indents): Use simple
|
||||
predicates to qualify `safe-local-variable' property, when
|
||||
available, else use equivalent lambda.
|
||||
(allout-current-topic-collapsed-p): Do the right thing regarding
|
||||
trailing blank lines.
|
||||
|
||||
2006-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* server.el (server-start): Only create a directory if needed.
|
||||
(server-edit, server-unload-hook): server-start => server-mode.
|
||||
(kill-emacs-hook): Cleanup upon exit.
|
||||
|
||||
2006-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* hexl.el (hexlify-buffer): Encode process arguments manually.
|
||||
|
||||
2006-05-16 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* progmodes/gud.el (gud-tooltip-tips): Add missing argument to
|
||||
call to gdb-tooltip-print.
|
||||
|
||||
2006-05-15 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* dired-x.el (dired-guess-shell-gnutar): On GNU and GNU/Linux
|
||||
systems, default to "tar" since those systems probably have GNU tar.
|
||||
|
||||
2006-05-14 Lars Hansen <larsh@soem.dk>
|
||||
|
||||
* desktop.el (desktop-missing-file-warning): Fix docstring.
|
||||
(desktop-restore-file-buffer): Correct question asked on missing file.
|
||||
|
||||
2006-05-14 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* progmodes/cc-subword.el (c-forward-subword, c-backward-subword):
|
||||
Add CUA move property.
|
||||
|
||||
2006-05-13 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* custom.el (custom-push-theme): Load the variable before checking
|
||||
its `standard-value'.
|
||||
|
||||
2006-05-13 Lars Hansen <larsh@soem.dk>
|
||||
|
||||
* desktop.el (desktop-save): Use with-temp-buffer.
|
||||
|
||||
2006-05-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* calendar/cal-menu.el (calendar-mode-map, calendar-mouse-3-map):
|
||||
* calendar/calendar.el (calendar-mode-map):
|
||||
* calendar/diary-lib.el (include-other-diary-files,diary-mail-entries):
|
||||
* calendar/appt.el (appt-check, appt-make-list): Refer to
|
||||
diary-view-entries, diary-list-entries, diary-show-all-entries
|
||||
rather than obsolete aliases.
|
||||
|
||||
2006-05-12 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* simple.el (line-move-finish): Avoid calling point motion hooks
|
||||
while processing intangibility.
|
||||
|
||||
2006-05-12 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* term/xterm.el (terminal-init-xterm): Fix typo.
|
||||
|
||||
2006-05-12 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* allout.el: (allout-view-change-hook): Mark as being deprecated,
|
||||
to be replaced by `allout-exposure-change-hook'.
|
||||
(allout-exposure-change-hook): New, replacing
|
||||
`allout-view-change-hook'.
|
||||
(allout-flag-region): Run new hook `allout-exposure-change-hook',
|
||||
in addition to `allout-view-change-hook'.
|
||||
(allout-show-bodies, allout-old-style-prefixes)
|
||||
(allout-stylish-prefixes, allout-use-hanging-indents): Quote the
|
||||
lambda forms to prevent their showing up in variable help
|
||||
presentations as inscrutable byte-compiled code.
|
||||
(allout-numbered-bullet, allout-file-xref-bullet, allout-layout):
|
||||
Use string-or-null-p to qualify safe-local-variable values.
|
||||
(allout-reindent-bodies): Use memq to qualify matches against
|
||||
valid safe-local-variable values. Also, quote the lambda as above.
|
||||
(allout-use-mode-specific-leader): Add missing candidate-value
|
||||
symbols, use memq, and quote the lambda.
|
||||
(allout-overlay-interior-modification-handler): Remove unused
|
||||
variables `msg' and 'opened'.
|
||||
(allout-hidden-p): Constrain invisibility consideration to allout's
|
||||
invisibility spec, disregarding invisibility for other reasons.
|
||||
|
||||
2006-05-12 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* files.el (version-control): Correct safe values.
|
||||
|
||||
2006-05-12 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* emacs-lisp/ewoc.el (ewoc-refresh): Compute PP once before looping.
|
||||
|
||||
(ewoc--node-enter-before, ewoc--create-node): Delete funcs.
|
||||
(ewoc--insert-new-node): New func.
|
||||
Update callers of deleted funcs to use it, instead.
|
||||
|
||||
2006-05-11 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* calendar/calendar.el (diary-show-all-entries): Do not refer to
|
||||
obsolete alias `show-all-diary-entries'.
|
||||
(make-diary-entry): Not interactive.
|
||||
(cal-tex-cursor-month, cal-tex-cursor-month-landscape)
|
||||
(cal-tex-cursor-day, cal-tex-cursor-week, cal-tex-cursor-week2)
|
||||
(cal-tex-cursor-week-iso, cal-tex-cursor-week-monday)
|
||||
(cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week)
|
||||
(cal-tex-cursor-year-landscape, cal-tex-cursor-filofax-year)
|
||||
(cal-tex-cursor-filofax-daily, cal-tex-cursor-year): Interactive.
|
||||
|
||||
2006-05-11 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se>
|
||||
|
||||
* calendar/calendar.el (calendar-french-date-string)
|
||||
(calendar-mayan-date-string, calendar-chinese-date-string)
|
||||
(calendar-astro-date-string, calendar-iso-date-string)
|
||||
(calendar-islamic-date-string, calendar-bahai-date-string)
|
||||
(calendar-hebrew-date-string, calendar-coptic-date-string)
|
||||
(calendar-ethiopic-date-string, calendar-persian-date-string):
|
||||
These functions are not interactive.
|
||||
|
||||
2006-05-11 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* files.el: Balance parentheses.
|
||||
|
||||
2006-05-11 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* files.el, newcomment.el, outline.el, simple.el,
|
||||
emacs-lisp/bytecomp.el, progmodes/cc-compat.el,
|
||||
progmodes/cc-vars.el, progmodes/compile.el:
|
||||
Move `safe-local-variable' declarations to the respective files.
|
||||
|
||||
* help-fns.el (describe-variable): Don't print safe-var if it is
|
||||
byte-code. Improve wording as suggested by Luc Teirlinck
|
||||
<teirllm@auburn.edu>.
|
||||
|
||||
2006-05-11 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* progmodes/gdb-ui.el (gdb-reset): Update speedbar if necessary.
|
||||
(gdb-var-evaluate-expression-handler, gdb-var-update-handler):
|
||||
Use a token for pending-triggers to ensure gdb-var-update
|
||||
gets called once per user input again for pre-GDB 6.4.
|
||||
(gdb-var-delete): Match on more complex expressions.
|
||||
(gdb-var-list-children-handler, gdb-var-create-handler):
|
||||
Use a token for consistency.
|
||||
|
||||
2006-05-11 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/org.el (org-read-date, org-goto-calendar)
|
||||
(org-agenda-goto-calendar):
|
||||
Bind `view-calendar-holidays-initially' to nil.
|
||||
|
||||
2006-05-11 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* emacs-lisp/ewoc.el (ewoc--refresh-node): No longer save-excursion.
|
||||
Update all callers to do it there, instead.
|
||||
|
||||
2006-05-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* calendar/calendar.el (calendar-basic-setup): Set day to 1 in
|
||||
prefix arg case, to avoid view-diary-entries-initially error.
|
||||
Reported by Stephen Berman <Stephen.Berman at gmx.net>.
|
||||
(calendar-date-is-legal-p): Handle dates with no day part.
|
||||
|
||||
2006-05-11 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* comint.el (comint-insert-input): Just make it when
|
||||
comint-use-prompt regexp is nil (default) and with the mouse.
|
||||
(comint-copy-old-input): Reinstate from 2004-06-23.
|
||||
(comint-mode-map): Bind C-c C-m to it.
|
||||
|
||||
2006-05-10 J.D. Smith <jdsmith@as.arizona.edu>
|
||||
|
||||
* progmodes/idlw-shell.el (idlwave-shell-move-or-history):
|
||||
|
@ -6,7 +207,7 @@
|
|||
* progmodes/idlwave.el (idlwave-push-mark): Removed obsolete
|
||||
compatibility function (Emacs 18/19).
|
||||
(idlwave-is-continuation-line): Always return point at start of
|
||||
previous non-blank continuation line.
|
||||
previous non-blank continuation line.
|
||||
`keyword-parameters': Fix continued comment font-lock matcher.
|
||||
(idlwave-font-lock-fontify-region): Written, use as
|
||||
font-lock-fontify-region-function, to fix continued keyword
|
||||
|
|
|
@ -199,7 +199,7 @@ just the header."
|
|||
(make-variable-buffer-local 'allout-show-bodies)
|
||||
;;;###autoload
|
||||
(put 'allout-show-bodies 'safe-local-variable
|
||||
(lambda (x) (member x '(t nil))))
|
||||
(if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil)))))
|
||||
|
||||
;;;_ = allout-header-prefix
|
||||
(defcustom allout-header-prefix "."
|
||||
|
@ -316,7 +316,8 @@ incorrect.]"
|
|||
:group 'allout)
|
||||
;;;###autoload
|
||||
(put 'allout-use-mode-specific-leader 'safe-local-variable
|
||||
(lambda (x) (or (member x '(t nil)) (stringp x))))
|
||||
'(lambda (x) (or (memq x '(t nil allout-mode-leaders comment-start))
|
||||
(stringp x))))
|
||||
;;;_ = allout-mode-leaders
|
||||
(defvar allout-mode-leaders '()
|
||||
"Specific allout-prefix leading strings per major modes.
|
||||
|
@ -344,7 +345,7 @@ are always respected by the topic maneuvering functions."
|
|||
(make-variable-buffer-local 'allout-old-style-prefixes)
|
||||
;;;###autoload
|
||||
(put 'allout-old-style-prefixes 'safe-local-variable
|
||||
(lambda (x) (member x '(t nil))))
|
||||
(if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil)))))
|
||||
;;;_ = allout-stylish-prefixes - alternating bullets
|
||||
(defcustom allout-stylish-prefixes t
|
||||
"*Do fancy stuff with topic prefix bullets according to level, etc.
|
||||
|
@ -393,7 +394,7 @@ is non-nil."
|
|||
(make-variable-buffer-local 'allout-stylish-prefixes)
|
||||
;;;###autoload
|
||||
(put 'allout-stylish-prefixes 'safe-local-variable
|
||||
(lambda (x) (member x '(t nil))))
|
||||
(if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil)))))
|
||||
|
||||
;;;_ = allout-numbered-bullet
|
||||
(defcustom allout-numbered-bullet "#"
|
||||
|
@ -408,7 +409,9 @@ disables numbering maintenance."
|
|||
(make-variable-buffer-local 'allout-numbered-bullet)
|
||||
;;;###autoload
|
||||
(put 'allout-numbered-bullet 'safe-local-variable
|
||||
(lambda (x) (or (not x) (stringp x))))
|
||||
(if (fboundp 'string-or-null-p)
|
||||
'string-or-null-p
|
||||
'(lambda (x) (or (stringp x) (null x)))))
|
||||
;;;_ = allout-file-xref-bullet
|
||||
(defcustom allout-file-xref-bullet "@"
|
||||
"*Bullet signifying file cross-references, for `allout-resolve-xref'.
|
||||
|
@ -418,7 +421,9 @@ Set this var to the bullet you want to use for file cross-references."
|
|||
:group 'allout)
|
||||
;;;###autoload
|
||||
(put 'allout-file-xref-bullet 'safe-local-variable
|
||||
(lambda (x) (or (not x) (stringp x))))
|
||||
(if (fboundp 'string-or-null-p)
|
||||
'string-or-null-p
|
||||
'(lambda (x) (or (stringp x) (null x)))))
|
||||
;;;_ = allout-presentation-padding
|
||||
(defcustom allout-presentation-padding 2
|
||||
"*Presentation-format white-space padding factor, for greater indent."
|
||||
|
@ -621,7 +626,7 @@ where auto-fill occurs."
|
|||
(make-variable-buffer-local 'allout-use-hanging-indents)
|
||||
;;;###autoload
|
||||
(put 'allout-use-hanging-indents 'safe-local-variable
|
||||
(lambda (x) (member x '(t nil))))
|
||||
(if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil)))))
|
||||
|
||||
;;;_ = allout-reindent-bodies
|
||||
(defcustom allout-reindent-bodies (if allout-use-hanging-indents
|
||||
|
@ -641,7 +646,7 @@ those that do not have the variable `comment-start' set. A value of
|
|||
(make-variable-buffer-local 'allout-reindent-bodies)
|
||||
;;;###autoload
|
||||
(put 'allout-reindent-bodies 'safe-local-variable
|
||||
(lambda (x) (member x '(nil t text force))))
|
||||
'(lambda (x) (memq x '(nil t text force))))
|
||||
|
||||
;;;_ = allout-enable-file-variable-adjustment
|
||||
(defcustom allout-enable-file-variable-adjustment t
|
||||
|
@ -708,8 +713,7 @@ case the value of `allout-default-layout' is used.")
|
|||
(make-variable-buffer-local 'allout-layout)
|
||||
;;;###autoload
|
||||
(put 'allout-layout 'safe-local-variable
|
||||
(lambda (x) (or (numberp x) (listp x) (integerp x)
|
||||
(member x '(: * + -)))))
|
||||
'(lambda (x) (or (numberp x) (listp x) (memq x '(: * + -)))))
|
||||
|
||||
;;;_ : Topic header format
|
||||
;;;_ = allout-regexp
|
||||
|
@ -1064,9 +1068,19 @@ from the list."
|
|||
;;;_ = allout-overlay-category
|
||||
(defvar allout-overlay-category nil
|
||||
"Symbol for use in allout invisible-text overlays as the category.")
|
||||
;;;_ = allout-view-change-hook
|
||||
;;;_ x allout-view-change-hook
|
||||
(defvar allout-view-change-hook nil
|
||||
"*Hook that's run after allout outline visibility changes.")
|
||||
"*\(Deprecated\) Hook that's run after allout outline exposure changes.
|
||||
|
||||
Switch to using `allout-exposure-change-hook' instead. Both
|
||||
variables are currently respected, but this one will be ignored
|
||||
in a subsequent allout version.")
|
||||
;;;_ = allout-exposure-change-hook
|
||||
(defvar allout-exposure-change-hook nil
|
||||
"*Hook that's run after allout outline exposure changes.
|
||||
|
||||
This variable will replace `allout-view-change-hook' in a subsequent allout
|
||||
version, though both are currently respected.")
|
||||
|
||||
;;;_ = allout-outside-normal-auto-fill-function
|
||||
(defvar allout-outside-normal-auto-fill-function nil
|
||||
|
@ -1727,7 +1741,7 @@ OPEN: A topic that is not closed, though its offspring or body may be."
|
|||
;;;_ > allout-hidden-p (&optional pos)
|
||||
(defsubst allout-hidden-p (&optional pos)
|
||||
"Non-nil if the character after point is invisible."
|
||||
(get-char-property (or pos (point)) 'invisible))
|
||||
(eq (get-char-property (or pos (point)) 'invisible) 'allout))
|
||||
|
||||
;;;_ > allout-overlay-insert-in-front-handler (ol after beg end
|
||||
;;; &optional prelen)
|
||||
|
@ -1753,8 +1767,6 @@ internal functions use this feature cohesively bunch changes."
|
|||
(let ((start (point))
|
||||
(ol-start (overlay-start ol))
|
||||
(ol-end (overlay-end ol))
|
||||
(msg "Change within concealed text disallowed.")
|
||||
opened
|
||||
first)
|
||||
(goto-char beg)
|
||||
(while (< (point) end)
|
||||
|
@ -1764,7 +1776,6 @@ internal functions use this feature cohesively bunch changes."
|
|||
(save-excursion (forward-char 1)
|
||||
(allout-show-to-offshoot)))
|
||||
(when (not first)
|
||||
(setq opened t)
|
||||
(setq first (point))))
|
||||
(goto-char (if (featurep 'xemacs)
|
||||
(next-property-change (1+ (point)) nil end)
|
||||
|
@ -3831,7 +3842,8 @@ Text is shown if flag is nil and hidden otherwise."
|
|||
(let ((props (symbol-plist 'allout-overlay-category)))
|
||||
(while props
|
||||
(overlay-put o (pop props) (pop props)))))))
|
||||
(run-hooks 'allout-view-change-hook))
|
||||
(run-hooks 'allout-view-change-hook)
|
||||
(run-hooks 'allout-exposure-change-hook))
|
||||
;;;_ > allout-flag-current-subtree (flag)
|
||||
(defun allout-flag-current-subtree (flag)
|
||||
"Conceal currently-visible topic's subtree if FLAG non-nil, else reveal it."
|
||||
|
@ -3999,17 +4011,18 @@ expose this topic and its siblings."
|
|||
(defun allout-current-topic-collapsed-p (&optional include-single-liners)
|
||||
"True if the currently visible containing topic is already collapsed.
|
||||
|
||||
If optional INCLUDE-SINGLE-LINERS is true, then include single-line
|
||||
topics \(which intrinsically can be considered both collapsed and
|
||||
not\), as collapsed. Otherwise they are considered uncollapsed."
|
||||
Single line topics intrinsically can be considered as being both
|
||||
collapsed and uncollapsed. If optional INCLUDE-SINGLE-LINERS is
|
||||
true, then single-line topics are considered to be collapsed. By
|
||||
default, they are treated as being uncollapsed."
|
||||
(save-excursion
|
||||
(and
|
||||
(= (progn (allout-back-to-current-heading)
|
||||
(move-end-of-line 1)
|
||||
(point))
|
||||
(allout-end-of-current-subtree))
|
||||
(or include-single-liners
|
||||
(progn (backward-char 1) (allout-hidden-p))))))
|
||||
(and
|
||||
(= (progn (allout-back-to-current-heading)
|
||||
(move-end-of-line 1)
|
||||
(point))
|
||||
(allout-end-of-current-subtree (not (looking-at "\n\n"))))
|
||||
(or include-single-liners
|
||||
(progn (backward-char 1) (allout-hidden-p))))))
|
||||
;;;_ > allout-hide-current-subtree (&optional just-close)
|
||||
(defun allout-hide-current-subtree (&optional just-close)
|
||||
"Close the current topic, or containing topic if this one is already closed.
|
||||
|
@ -5888,7 +5901,6 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
|
|||
(or (memq prop buffer-invisibility-spec)
|
||||
(assq prop buffer-invisibility-spec))))))
|
||||
|
||||
|
||||
;;;_ #10 Unfinished
|
||||
;;;_ > allout-bullet-isearch (&optional bullet)
|
||||
(defun allout-bullet-isearch (&optional bullet)
|
||||
|
|
|
@ -1379,7 +1379,11 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
|
|||
visual)
|
||||
files (cons (vector efnname ifnname fiddle nil (1- p))
|
||||
files)
|
||||
p (+ p 29 csize))))
|
||||
;; p needs to stay an integer, since we use it in char-after
|
||||
;; above. Passing through `round' limits the compressed size
|
||||
;; to most-positive-fixnum, but if the compressed size exceeds
|
||||
;; that, we cannot visit the archive anyway.
|
||||
p (+ p 29 (round csize)))))
|
||||
(goto-char (point-min))
|
||||
(let ((dash (concat "- -------- ----------- -------- "
|
||||
(make-string maxlen ?-)
|
||||
|
@ -1519,9 +1523,13 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
|
|||
files (cons (vector prname ifnname fiddle mode (1- p))
|
||||
files))
|
||||
(cond ((= hdrlvl 1)
|
||||
(setq p (+ p hsize 2 csize)))
|
||||
;; p needs to stay an integer, since we use it in goto-char
|
||||
;; above. Passing through `round' limits the compressed size
|
||||
;; to most-positive-fixnum, but if the compressed size exceeds
|
||||
;; that, we cannot visit the archive anyway.
|
||||
(setq p (+ p hsize 2 (round csize))))
|
||||
((or (= hdrlvl 2) (= hdrlvl 0))
|
||||
(setq p (+ p thsize 2 csize))))
|
||||
(setq p (+ p thsize 2 (round csize)))))
|
||||
))
|
||||
(goto-char (point-min))
|
||||
(let ((dash (concat (if archive-alternate-display
|
||||
|
|
|
@ -353,7 +353,7 @@ displayed in a window:
|
|||
;; restore its display state. Otherwise, kill it.
|
||||
(if d-buff
|
||||
;; Displays the diary buffer.
|
||||
(or selective (show-all-diary-entries))
|
||||
(or selective (diary-show-all-entries))
|
||||
(and
|
||||
(setq d-buff (find-buffer-visiting
|
||||
(substitute-in-file-name diary-file)))
|
||||
|
@ -536,7 +536,7 @@ The time should be in either 24 hour format or am/pm format."
|
|||
The time must be at the beginning of a line for it to be
|
||||
put in the appointments list (see examples in documentation of
|
||||
the function `appt-check'). We assume that the variables DATE and
|
||||
NUMBER hold the arguments that `list-diary-entries' received.
|
||||
NUMBER hold the arguments that `diary-list-entries' received.
|
||||
They specify the range of dates that the diary is being processed for.
|
||||
|
||||
Any appointments made with `appt-add' are not affected by this
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
(define-key calendar-mode-map [menu-bar diary ent]
|
||||
'("Insert Diary Entry" . insert-diary-entry))
|
||||
(define-key calendar-mode-map [menu-bar diary all]
|
||||
'("Show All" . show-all-diary-entries))
|
||||
'("Show All" . diary-show-all-entries))
|
||||
(define-key calendar-mode-map [menu-bar diary mark]
|
||||
'("Mark All" . mark-diary-entries))
|
||||
(define-key calendar-mode-map [menu-bar diary view]
|
||||
|
@ -616,7 +616,7 @@ The output is in landscape format, one month to a page."
|
|||
(define-key calendar-mouse-3-map [exit-calendar]
|
||||
'("Exit calendar" . exit-calendar))
|
||||
(define-key calendar-mouse-3-map [show-diary]
|
||||
'("Show diary" . show-all-diary-entries))
|
||||
'("Show diary" . diary-show-all-entries))
|
||||
(define-key calendar-mouse-3-map [lunar-phases]
|
||||
'("Lunar phases" . calendar-phases-of-moon))
|
||||
(define-key calendar-mouse-3-map [unmark]
|
||||
|
|
|
@ -1374,6 +1374,7 @@ MON defaults to `displayed-month'. YR defaults to `displayed-year'."
|
|||
"Extract the month part of DATE which has the form (month day year)."
|
||||
(car date))
|
||||
|
||||
;; Note gives wrong answer for result of (calendar-read-date 'noday).
|
||||
(defsubst extract-calendar-day (date)
|
||||
"Extract the day part of DATE which has the form (month day year)."
|
||||
(car (cdr date)))
|
||||
|
@ -1639,6 +1640,9 @@ to be replaced by asterisks to highlight it whenever it is in the window."
|
|||
(calendar-current-date)))
|
||||
(month (extract-calendar-month date))
|
||||
(year (extract-calendar-year date)))
|
||||
;; (calendar-read-date t) returns a date with day = nil, which is
|
||||
;; not a legal date for the visible test in the diary section.
|
||||
(if arg (setcar (cdr date) 1))
|
||||
(pop-to-buffer calendar-buffer)
|
||||
(increment-calendar-month month year (- calendar-offset))
|
||||
(generate-calendar-window month year)
|
||||
|
@ -1682,12 +1686,10 @@ D-FILE specifies the file to use as the diary file."
|
|||
t)
|
||||
|
||||
(autoload 'calendar-french-date-string "cal-french"
|
||||
"String of French Revolutionary date of Gregorian date."
|
||||
t)
|
||||
"String of French Revolutionary date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-mayan-date-string "cal-mayan"
|
||||
"String of Mayan date of Gregorian date."
|
||||
t)
|
||||
"String of Mayan date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-print-mayan-date "cal-mayan"
|
||||
"Show the Mayan long count, Tzolkin, and Haab equivalents of the date under the cursor."
|
||||
|
@ -1730,8 +1732,7 @@ D-FILE specifies the file to use as the diary file."
|
|||
t)
|
||||
|
||||
(autoload 'calendar-chinese-date-string "cal-china"
|
||||
"String of Chinese date of Gregorian date."
|
||||
t)
|
||||
"String of Chinese date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-absolute-from-astro "cal-julian"
|
||||
"Absolute date of astronomical (Julian) day number D."
|
||||
|
@ -1741,8 +1742,7 @@ D-FILE specifies the file to use as the diary file."
|
|||
"Astronomical (Julian) day number of absolute date D.")
|
||||
|
||||
(autoload 'calendar-astro-date-string "cal-julian"
|
||||
"String of astronomical (Julian) day number of Gregorian date."
|
||||
t)
|
||||
"String of astronomical (Julian) day number of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-goto-astro-day-number "cal-julian"
|
||||
"Move cursor to astronomical (Julian) day number."
|
||||
|
@ -1783,8 +1783,7 @@ Driven by the variable `calendar-date-display-form'.")
|
|||
t)
|
||||
|
||||
(autoload 'calendar-iso-date-string "cal-iso"
|
||||
"String of ISO date of Gregorian date."
|
||||
t)
|
||||
"String of ISO date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-goto-islamic-date "cal-islam"
|
||||
"Move cursor to Islamic date."
|
||||
|
@ -1795,16 +1794,14 @@ Driven by the variable `calendar-date-display-form'.")
|
|||
t)
|
||||
|
||||
(autoload 'calendar-islamic-date-string "cal-islam"
|
||||
"String of Islamic date of Gregorian date."
|
||||
t)
|
||||
"String of Islamic date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-print-bahai-date "cal-bahai"
|
||||
"Show the Baha'i date equivalents of date."
|
||||
t)
|
||||
|
||||
(autoload 'calendar-bahai-date-string "cal-bahai"
|
||||
"String of Baha'i date of Gregorian date."
|
||||
t)
|
||||
"String of Baha'i date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-goto-hebrew-date "cal-hebrew"
|
||||
"Move cursor to Hebrew date."
|
||||
|
@ -1815,8 +1812,7 @@ Driven by the variable `calendar-date-display-form'.")
|
|||
t)
|
||||
|
||||
(autoload 'calendar-hebrew-date-string "cal-hebrew"
|
||||
"String of Hebrew date of Gregorian date."
|
||||
t)
|
||||
"String of Hebrew date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-goto-coptic-date "cal-coptic"
|
||||
"Move cursor to Coptic date."
|
||||
|
@ -1827,8 +1823,7 @@ Driven by the variable `calendar-date-display-form'.")
|
|||
t)
|
||||
|
||||
(autoload 'calendar-coptic-date-string "cal-coptic"
|
||||
"String of Coptic date of Gregorian date."
|
||||
t)
|
||||
"String of Coptic date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-goto-ethiopic-date "cal-coptic"
|
||||
"Move cursor to Ethiopic date."
|
||||
|
@ -1839,8 +1834,7 @@ Driven by the variable `calendar-date-display-form'.")
|
|||
t)
|
||||
|
||||
(autoload 'calendar-ethiopic-date-string "cal-coptic"
|
||||
"String of Ethiopic date of Gregorian date."
|
||||
t)
|
||||
"String of Ethiopic date of Gregorian date.")
|
||||
|
||||
(autoload 'calendar-goto-persian-date "cal-persia"
|
||||
"Move cursor to Persian date."
|
||||
|
@ -1851,10 +1845,9 @@ Driven by the variable `calendar-date-display-form'.")
|
|||
t)
|
||||
|
||||
(autoload 'calendar-persian-date-string "cal-persia"
|
||||
"String of Persian date of Gregorian date."
|
||||
t)
|
||||
"String of Persian date of Gregorian date.")
|
||||
|
||||
(autoload 'show-all-diary-entries "diary-lib"
|
||||
(autoload 'diary-show-all-entries "diary-lib"
|
||||
"Show all of the diary entries in the diary file.
|
||||
This function gets rid of the selective display of the diary file so that
|
||||
all entries, not just some, are visible. If there is no diary buffer, one
|
||||
|
@ -1867,8 +1860,7 @@ Each entry in diary file visible in the calendar window is marked."
|
|||
t)
|
||||
|
||||
(autoload 'make-diary-entry "diary-lib"
|
||||
"Insert a diary entry STRING which may be NONMARKING in FILE."
|
||||
t)
|
||||
"Insert a diary entry STRING which may be NONMARKING in FILE.")
|
||||
|
||||
(autoload 'insert-diary-entry "diary-lib"
|
||||
"Insert a diary entry for the date indicated by point."
|
||||
|
@ -1953,69 +1945,69 @@ holidays are found, nil if not."
|
|||
(autoload 'cal-tex-cursor-month "cal-tex"
|
||||
"Make a buffer with LaTeX commands for the month cursor is on.
|
||||
Optional prefix argument specifies number of months to be produced.
|
||||
Calendar is condensed onto one page.")
|
||||
Calendar is condensed onto one page." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-month-landscape "cal-tex"
|
||||
"Make a buffer with LaTeX commands for the month cursor is on.
|
||||
Optional prefix argument specifies number of months to be produced.")
|
||||
Optional prefix argument specifies number of months to be produced." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-day "cal-tex"
|
||||
"Make a buffer with LaTeX commands for the day cursor is on.")
|
||||
"Make a buffer with LaTeX commands for the day cursor is on." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-week "cal-tex"
|
||||
"Make a buffer with LaTeX commands for a two-page one-week calendar.
|
||||
It applies to the week that point is in.
|
||||
Optional prefix argument specifies number of weeks.
|
||||
Holidays are included if `cal-tex-holidays' is t.")
|
||||
Holidays are included if `cal-tex-holidays' is t." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-week2 "cal-tex"
|
||||
"Make a buffer with LaTeX commands for a two-page one-week calendar.
|
||||
It applies to the week that point is in.
|
||||
Optional prefix argument specifies number of weeks.
|
||||
Holidays are included if `cal-tex-holidays' is t.")
|
||||
Holidays are included if `cal-tex-holidays' is t." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-week-iso "cal-tex"
|
||||
"Make a buffer with LaTeX commands for a one page ISO-style weekly calendar.
|
||||
Optional prefix argument specifies number of weeks.
|
||||
Diary entries are included if `cal-tex-diary' is t.
|
||||
Holidays are included if `cal-tex-holidays' is t.")
|
||||
Holidays are included if `cal-tex-holidays' is t." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-week-monday "cal-tex"
|
||||
"Make a buffer with LaTeX commands for a two-page one-week calendar.
|
||||
It applies to the week that point is in, and starts on Monday.
|
||||
Optional prefix argument specifies number of weeks.
|
||||
Holidays are included if `cal-tex-holidays' is t.")
|
||||
Holidays are included if `cal-tex-holidays' is t." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-filofax-2week "cal-tex"
|
||||
"Two-weeks-at-a-glance Filofax style calendar for week indicated by cursor.
|
||||
Optional prefix argument specifies number of weeks.
|
||||
Diary entries are included if cal-tex-diary is t.
|
||||
Holidays are included if `cal-tex-holidays' is t.")
|
||||
Holidays are included if `cal-tex-holidays' is t." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-filofax-week "cal-tex"
|
||||
"One-week-at-a-glance Filofax style calendar for week indicated by cursor.
|
||||
Optional prefix argument specifies number of weeks.
|
||||
Weeks start on Monday.
|
||||
Diary entries are included if cal-tex-diary is t.
|
||||
Holidays are included if `cal-tex-holidays' is t.")
|
||||
Holidays are included if `cal-tex-holidays' is t." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-filofax-daily "cal-tex"
|
||||
"Day-per-page Filofax style calendar for week indicated by cursor.
|
||||
Optional prefix argument specifies number of weeks. Weeks start on Monday.
|
||||
Diary entries are included if `cal-tex-diary' is t.
|
||||
Holidays are included if `cal-tex-holidays' is t.")
|
||||
Holidays are included if `cal-tex-holidays' is t." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-year "cal-tex"
|
||||
"Make a buffer with LaTeX commands for a year's calendar.
|
||||
Optional prefix argument specifies number of years.")
|
||||
Optional prefix argument specifies number of years." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-year-landscape "cal-tex"
|
||||
"Make a buffer with LaTeX commands for a year's calendar (landscape).
|
||||
Optional prefix argument specifies number of years.")
|
||||
Optional prefix argument specifies number of years." t)
|
||||
|
||||
(autoload 'cal-tex-cursor-filofax-year "cal-tex"
|
||||
"Make a buffer with LaTeX commands for a year's calendar (Filofax).
|
||||
Optional prefix argument specifies number of years.")
|
||||
Optional prefix argument specifies number of years." t)
|
||||
|
||||
(autoload 'mark-calendar-holidays "holidays"
|
||||
"Mark notable days in the calendar window."
|
||||
|
@ -2261,7 +2253,7 @@ movement commands will not work correctly."
|
|||
(define-key map "m" 'mark-diary-entries)
|
||||
(define-key map "d" 'diary-view-entries)
|
||||
(define-key map "D" 'view-other-diary-entries)
|
||||
(define-key map "s" 'show-all-diary-entries)
|
||||
(define-key map "s" 'diary-show-all-entries)
|
||||
(define-key map "pd" 'calendar-print-day-of-year)
|
||||
(define-key map "pC" 'calendar-print-chinese-date)
|
||||
(define-key map "pk" 'calendar-print-coptic-date)
|
||||
|
@ -2897,7 +2889,11 @@ interpreted as BC; -1 being 1 BC, and so on."
|
|||
(day (extract-calendar-day date))
|
||||
(year (extract-calendar-year date)))
|
||||
(and (<= 1 month) (<= month 12)
|
||||
(<= 1 day) (<= day (calendar-last-day-of-month month year))
|
||||
;; (calendar-read-date t) returns a date with day = nil.
|
||||
;; Should not be valid (?), since many funcs prob assume integer.
|
||||
;; (calendar-read-date 'noday) returns (month year), which
|
||||
;; currently results in extract-calendar-year returning nil.
|
||||
day year (<= 1 day) (<= day (calendar-last-day-of-month month year))
|
||||
;; BC dates left as non-valid, to suppress errors from
|
||||
;; complex holiday algorithms not suitable for years BC.
|
||||
;; Note there are side effects on calendar navigation.
|
||||
|
|
|
@ -517,7 +517,7 @@ changing the variable `diary-include-string'."
|
|||
(unwind-protect
|
||||
(setq diary-entries-list
|
||||
(append diary-entries-list
|
||||
(list-diary-entries original-date number)))
|
||||
(diary-list-entries original-date number)))
|
||||
(with-current-buffer (find-buffer-visiting diary-file)
|
||||
(diary-unhide-everything)))
|
||||
(beep)
|
||||
|
@ -820,7 +820,7 @@ to run it every morning at 1am."
|
|||
(if (string-equal diary-mail-addr "")
|
||||
(error "You must set `diary-mail-addr' to use this command")
|
||||
(let ((diary-display-hook 'fancy-diary-display))
|
||||
(list-diary-entries (calendar-current-date) (or ndays diary-mail-days)))
|
||||
(diary-list-entries (calendar-current-date) (or ndays diary-mail-days)))
|
||||
(compose-mail diary-mail-addr
|
||||
(concat "Diary entries generated "
|
||||
(calendar-date-string (calendar-current-date))))
|
||||
|
|
|
@ -458,7 +458,7 @@ executed once when the buffer is created."
|
|||
(define-key map "\C-c\C-c" 'comint-interrupt-subjob)
|
||||
(define-key map "\C-c\C-z" 'comint-stop-subjob)
|
||||
(define-key map "\C-c\C-\\" 'comint-quit-subjob)
|
||||
(define-key map "\C-c\C-m" 'comint-insert-input)
|
||||
(define-key map "\C-c\C-m" 'comint-copy-old-input)
|
||||
(define-key map "\C-c\C-o" 'comint-delete-output)
|
||||
(define-key map "\C-c\C-r" 'comint-show-output)
|
||||
(define-key map "\C-c\C-e" 'comint-show-maximum-output)
|
||||
|
@ -502,7 +502,7 @@ executed once when the buffer is created."
|
|||
(define-key map [menu-bar inout kill-input]
|
||||
'("Kill Current Input" . comint-kill-input))
|
||||
(define-key map [menu-bar inout copy-input]
|
||||
'("Copy Old Input" . comint-insert-input))
|
||||
'("Copy Old Input" . comint-copy-old-input))
|
||||
(define-key map [menu-bar inout forward-matching-history]
|
||||
'("Forward Matching Input..." . comint-forward-matching-input))
|
||||
(define-key map [menu-bar inout backward-matching-history]
|
||||
|
@ -797,36 +797,28 @@ buffer. The hook `comint-exec-hook' is run after each exec."
|
|||
(set-process-coding-system proc decoding encoding))
|
||||
proc))
|
||||
|
||||
(defun comint-insert-input (&optional event)
|
||||
(defun comint-insert-input (event)
|
||||
"In a Comint buffer, set the current input to the previous input at point."
|
||||
;; This doesn't use "e" because it is supposed to work
|
||||
;; for events without parameters.
|
||||
(interactive (list last-input-event))
|
||||
(when event
|
||||
(posn-set-point (event-end event)))
|
||||
(if comint-use-prompt-regexp
|
||||
(let ((input (funcall comint-get-old-input))
|
||||
(process (get-buffer-process (current-buffer))))
|
||||
(if (not process)
|
||||
(error "Current buffer has no process")
|
||||
(goto-char (process-mark process))
|
||||
(insert input)))
|
||||
(let ((pos (point)))
|
||||
(if (not (eq (field-at-pos pos) 'input))
|
||||
;; No input at POS, fall back to the global definition.
|
||||
(let* ((keys (this-command-keys))
|
||||
(last-key (and (vectorp keys) (aref keys (1- (length keys)))))
|
||||
(fun (and last-key (lookup-key global-map (vector last-key)))))
|
||||
(and fun (call-interactively fun)))
|
||||
;; There's previous input at POS, insert it at the end of the buffer.
|
||||
(goto-char (point-max))
|
||||
;; First delete any old unsent input at the end
|
||||
(delete-region
|
||||
(or (marker-position comint-accum-marker)
|
||||
(process-mark (get-buffer-process (current-buffer))))
|
||||
(point))
|
||||
;; Insert the input at point
|
||||
(insert (field-string-no-properties pos))))))
|
||||
(interactive "e")
|
||||
(mouse-set-point event)
|
||||
(let ((pos (point)))
|
||||
(if (not (eq (field-at-pos pos) 'input))
|
||||
;; No input at POS, fall back to the global definition.
|
||||
(let* ((keys (this-command-keys))
|
||||
(last-key (and (vectorp keys) (aref keys (1- (length keys)))))
|
||||
(fun (and last-key (lookup-key global-map (vector last-key)))))
|
||||
(and fun (call-interactively fun)))
|
||||
;; There's previous input at POS, insert it at the end of the buffer.
|
||||
(goto-char (point-max))
|
||||
;; First delete any old unsent input at the end
|
||||
(delete-region
|
||||
(or (marker-position comint-accum-marker)
|
||||
(process-mark (get-buffer-process (current-buffer))))
|
||||
(point))
|
||||
;; Insert the input at point
|
||||
(insert (field-string-no-properties pos)))))
|
||||
|
||||
|
||||
;; Input history processing in a buffer
|
||||
|
@ -1905,6 +1897,17 @@ the current line with any initial string matching the regexp
|
|||
(comint-bol)
|
||||
(buffer-substring-no-properties (point) (line-end-position)))))
|
||||
|
||||
(defun comint-copy-old-input ()
|
||||
"Insert after prompt old input at point as new input to be edited.
|
||||
Calls `comint-get-old-input' to get old input."
|
||||
(interactive)
|
||||
(let ((input (funcall comint-get-old-input))
|
||||
(process (get-buffer-process (current-buffer))))
|
||||
(if (not process)
|
||||
(error "Current buffer has no process")
|
||||
(goto-char (process-mark process))
|
||||
(insert input))))
|
||||
|
||||
(defun comint-skip-prompt ()
|
||||
"Skip past the text matching regexp `comint-prompt-regexp'.
|
||||
If this takes us past the end of the current line, don't skip at all."
|
||||
|
|
|
@ -825,11 +825,15 @@ See `custom-known-themes' for a list of known themes."
|
|||
;; theme is later disabled.
|
||||
(if (null old)
|
||||
(if (and (eq prop 'theme-value)
|
||||
(boundp symbol)
|
||||
(or (null (get symbol 'standard-value))
|
||||
(not (equal (eval (car (get symbol 'standard-value)))
|
||||
(symbol-value symbol)))))
|
||||
(setq old (list (list 'changed (symbol-value symbol))))
|
||||
(boundp symbol))
|
||||
(let ((sv (get symbol 'standard-value)))
|
||||
(when (and (null sv) (custom-variable-p symbol))
|
||||
(custom-load-symbol symbol)
|
||||
(setq sv (get symbol 'standard-value)))
|
||||
(if (or (null sv)
|
||||
(not (equal (eval (car (get symbol 'standard-value)))
|
||||
(symbol-value symbol))))
|
||||
(setq old (list (list 'changed (symbol-value symbol))))))
|
||||
(if (and (facep symbol)
|
||||
(not (face-spec-match-p symbol (get symbol 'face-defface-spec))))
|
||||
(setq old (list (list 'changed (list
|
||||
|
|
|
@ -201,7 +201,7 @@ The base name of the file is specified in `desktop-base-file-name'."
|
|||
:version "22.1")
|
||||
|
||||
(defcustom desktop-missing-file-warning nil
|
||||
"*If non-nil then `desktop-read' asks if a non-existent file should be recreated.
|
||||
"If non-nil, offer to recreate the buffer of a deleted file.
|
||||
Also pause for a moment to display message about errors signaled in
|
||||
`desktop-buffer-mode-handlers'.
|
||||
|
||||
|
@ -763,45 +763,42 @@ See also `desktop-base-file-name'."
|
|||
(setq locals (cdr locals)))
|
||||
ll)))
|
||||
(buffer-list)))
|
||||
(eager desktop-restore-eager)
|
||||
(buf (get-buffer-create "*desktop*")))
|
||||
(set-buffer buf)
|
||||
(erase-buffer)
|
||||
(eager desktop-restore-eager))
|
||||
(with-temp-buffer
|
||||
(insert
|
||||
";; -*- mode: emacs-lisp; coding: utf-8-emacs; -*-\n"
|
||||
desktop-header
|
||||
";; Created " (current-time-string) "\n"
|
||||
";; Desktop file format version " desktop-file-version "\n"
|
||||
";; Emacs version " emacs-version "\n\n"
|
||||
";; Global section:\n")
|
||||
(mapc (function desktop-outvar) desktop-globals-to-save)
|
||||
(if (memq 'kill-ring desktop-globals-to-save)
|
||||
(insert
|
||||
"(setq kill-ring-yank-pointer (nthcdr "
|
||||
(int-to-string (- (length kill-ring) (length kill-ring-yank-pointer)))
|
||||
" kill-ring))\n"))
|
||||
|
||||
(insert
|
||||
";; -*- mode: emacs-lisp; coding: utf-8-emacs; -*-\n"
|
||||
desktop-header
|
||||
";; Created " (current-time-string) "\n"
|
||||
";; Desktop file format version " desktop-file-version "\n"
|
||||
";; Emacs version " emacs-version "\n\n"
|
||||
";; Global section:\n")
|
||||
(mapc (function desktop-outvar) desktop-globals-to-save)
|
||||
(if (memq 'kill-ring desktop-globals-to-save)
|
||||
(insert
|
||||
"(setq kill-ring-yank-pointer (nthcdr "
|
||||
(int-to-string (- (length kill-ring) (length kill-ring-yank-pointer)))
|
||||
" kill-ring))\n"))
|
||||
|
||||
(insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n")
|
||||
(mapc #'(lambda (l)
|
||||
(when (apply 'desktop-save-buffer-p l)
|
||||
(insert "("
|
||||
(if (or (not (integerp eager))
|
||||
(unless (zerop eager)
|
||||
(setq eager (1- eager))
|
||||
t))
|
||||
"desktop-create-buffer"
|
||||
"desktop-append-buffer-args")
|
||||
" "
|
||||
desktop-file-version)
|
||||
(mapc #'(lambda (e)
|
||||
(insert "\n " (desktop-value-to-string e)))
|
||||
l)
|
||||
(insert ")\n\n")))
|
||||
info)
|
||||
(setq default-directory dirname)
|
||||
(let ((coding-system-for-write 'utf-8-emacs))
|
||||
(write-region (point-min) (point-max) filename nil 'nomessage))))
|
||||
(insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n")
|
||||
(mapc #'(lambda (l)
|
||||
(when (apply 'desktop-save-buffer-p l)
|
||||
(insert "("
|
||||
(if (or (not (integerp eager))
|
||||
(unless (zerop eager)
|
||||
(setq eager (1- eager))
|
||||
t))
|
||||
"desktop-create-buffer"
|
||||
"desktop-append-buffer-args")
|
||||
" "
|
||||
desktop-file-version)
|
||||
(mapc #'(lambda (e)
|
||||
(insert "\n " (desktop-value-to-string e)))
|
||||
l)
|
||||
(insert ")\n\n")))
|
||||
info)
|
||||
(setq default-directory dirname)
|
||||
(let ((coding-system-for-write 'utf-8-emacs))
|
||||
(write-region (point-min) (point-max) filename nil 'nomessage)))))
|
||||
(setq desktop-dirname dirname))
|
||||
|
||||
;; ----------------------------------------------------------------------------
|
||||
|
@ -946,7 +943,7 @@ directory DIRNAME."
|
|||
(let ((msg (format "Desktop: File \"%s\" no longer exists."
|
||||
desktop-buffer-file-name)))
|
||||
(if desktop-missing-file-warning
|
||||
(y-or-n-p (concat msg " Re-create? "))
|
||||
(y-or-n-p (concat msg " Re-create buffer? "))
|
||||
(message "%s" msg)
|
||||
nil)))
|
||||
(let* ((auto-insert nil) ; Disable auto insertion
|
||||
|
|
|
@ -215,7 +215,9 @@ a directory. See also `dired-local-variables-file'."
|
|||
:type 'boolean
|
||||
:group 'dired-x)
|
||||
|
||||
(defcustom dired-guess-shell-gnutar nil
|
||||
(defcustom dired-guess-shell-gnutar (when (or (eq system-type 'gnu)
|
||||
(eq system-type 'gnu/linux))
|
||||
"tar")
|
||||
"*If non-nil, name of GNU tar executable.
|
||||
\(E.g., \"tar\" or \"gtar\"). The `z' switch will be used with it for
|
||||
compressed or gzip'ed tar files. If you don't have GNU tar, set this
|
||||
|
|
|
@ -293,6 +293,7 @@ For example, add -*-byte-compile-dynamic: t;-*- on the first line.
|
|||
|
||||
When this option is true, if you load the compiled file and then move it,
|
||||
the functions you loaded will not be able to run.")
|
||||
;;;###autoload(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
|
||||
|
||||
(defcustom byte-compile-dynamic-docstrings t
|
||||
"*If non-nil, compile doc strings for lazy access.
|
||||
|
@ -311,6 +312,7 @@ You can also set the variable globally.
|
|||
This option is enabled by default because it reduces Emacs memory usage."
|
||||
:group 'bytecomp
|
||||
:type 'boolean)
|
||||
;;;###autoload(put 'byte-compile-dynamic-docstrings 'safe-local-variable 'booleanp)
|
||||
|
||||
(defcustom byte-optimize-log nil
|
||||
"*If true, the byte-compiler will log its optimizations into *Compile-Log*.
|
||||
|
@ -355,6 +357,20 @@ Elements of the list may be be:
|
|||
(const callargs) (const redefine)
|
||||
(const obsolete) (const noruntime)
|
||||
(const cl-functions) (const interactive-only))))
|
||||
(put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p)
|
||||
;;;###autoload
|
||||
(defun byte-compile-warnings-safe-p (x)
|
||||
(or (booleanp x)
|
||||
(and (listp x)
|
||||
(equal (mapcar
|
||||
(lambda (e)
|
||||
(when (memq e '(free-vars unresolved
|
||||
callargs redefine
|
||||
obsolete noruntime
|
||||
cl-functions interactive-only))
|
||||
e))
|
||||
x)
|
||||
x))))
|
||||
|
||||
(defvar byte-compile-interactive-only-functions
|
||||
'(beginning-of-buffer end-of-buffer replace-string replace-regexp
|
||||
|
@ -1589,6 +1605,7 @@ recompile every `.el' file that already has a `.elc' file."
|
|||
This is normally set in local file variables at the end of the elisp file:
|
||||
|
||||
;; Local Variables:\n;; no-byte-compile: t\n;; End: ")
|
||||
;;;###autoload(put 'no-byte-compile 'safe-local-variable 'booleanp)
|
||||
|
||||
;;;###autoload
|
||||
(defun byte-compile-file (filename &optional load)
|
||||
|
|
|
@ -144,14 +144,6 @@
|
|||
|
||||
\(fn NODE CHILD)")
|
||||
|
||||
(defun ewoc--node-enter-before (node elemnode)
|
||||
"Insert ELEMNODE before NODE in a DLL."
|
||||
(assert (and (null (ewoc--node-left elemnode)) (null (ewoc--node-right elemnode))))
|
||||
(setf (ewoc--node-left elemnode) (ewoc--node-left node))
|
||||
(setf (ewoc--node-right elemnode) node)
|
||||
(setf (ewoc--node-right (ewoc--node-left node)) elemnode)
|
||||
(setf (ewoc--node-left node) elemnode))
|
||||
|
||||
(defun ewoc--node-next (dll node)
|
||||
"Return the node after NODE, or nil if NODE is the last node."
|
||||
(unless (eq (ewoc--node-right node) dll) (ewoc--node-right node)))
|
||||
|
@ -213,36 +205,39 @@ BUT if it is the header or the footer in EWOC return nil instead."
|
|||
(eq node (ewoc--footer ewoc)))
|
||||
node))
|
||||
|
||||
|
||||
(defun ewoc--create-node (data pretty-printer pos)
|
||||
"Call PRETTY-PRINTER with point set at POS in current buffer.
|
||||
Remember the start position. Create a wrapper containing that
|
||||
start position and the element DATA."
|
||||
(defun ewoc--insert-new-node (node data pretty-printer)
|
||||
"Insert before NODE a new node for DATA, displayed by PRETTY-PRINTER.
|
||||
Call PRETTY-PRINTER with point at NODE's start, thus pushing back
|
||||
NODE and leaving the new node's start there. Return the new node."
|
||||
(save-excursion
|
||||
;; Remember the position as a number so that it doesn't move
|
||||
;; when we insert the string.
|
||||
(when (markerp pos) (setq pos (marker-position pos)))
|
||||
(goto-char pos)
|
||||
(let ((inhibit-read-only t))
|
||||
(let* ((inhibit-read-only t)
|
||||
(m (copy-marker (ewoc--node-start-marker node)))
|
||||
(pos (marker-position m))
|
||||
(elemnode (ewoc--node-create m data)))
|
||||
(goto-char pos)
|
||||
;; Insert the trailing newline using insert-before-markers
|
||||
;; so that the start position for the next element is updated.
|
||||
(insert-before-markers ?\n)
|
||||
;; Move back, and call the pretty-printer.
|
||||
(backward-char 1)
|
||||
(funcall pretty-printer data)
|
||||
(ewoc--node-create (copy-marker pos) data))))
|
||||
(setf (marker-position m) pos
|
||||
(ewoc--node-left elemnode) (ewoc--node-left node)
|
||||
(ewoc--node-right elemnode) node
|
||||
(ewoc--node-right (ewoc--node-left node)) elemnode
|
||||
(ewoc--node-left node) elemnode)
|
||||
elemnode)))
|
||||
|
||||
(defun ewoc--refresh-node (pp node)
|
||||
"Redisplay the element represented by NODE using the pretty-printer PP."
|
||||
(let ((inhibit-read-only t))
|
||||
(save-excursion
|
||||
;; First, remove the string from the buffer:
|
||||
(delete-region (ewoc--node-start-marker node)
|
||||
(1- (marker-position
|
||||
(ewoc--node-start-marker (ewoc--node-right node)))))
|
||||
;; Calculate and insert the string.
|
||||
(goto-char (ewoc--node-start-marker node))
|
||||
(funcall pp (ewoc--node-data node)))))
|
||||
;; First, remove the string from the buffer:
|
||||
(delete-region (ewoc--node-start-marker node)
|
||||
(1- (marker-position
|
||||
(ewoc--node-start-marker (ewoc--node-right node)))))
|
||||
;; Calculate and insert the string.
|
||||
(goto-char (ewoc--node-start-marker node))
|
||||
(funcall pp (ewoc--node-data node))))
|
||||
|
||||
;;; ===========================================================================
|
||||
;;; Public members of the Ewoc package
|
||||
|
@ -271,22 +266,24 @@ be inserted at the bottom of the ewoc."
|
|||
(new-ewoc
|
||||
(ewoc--create (current-buffer)
|
||||
pretty-printer nil nil dll))
|
||||
(pos (point)))
|
||||
(pos (point))
|
||||
head foot)
|
||||
(ewoc--set-buffer-bind-dll new-ewoc
|
||||
;; Set default values
|
||||
(unless header (setq header ""))
|
||||
(unless footer (setq footer ""))
|
||||
(setf (ewoc--node-start-marker dll) (copy-marker pos))
|
||||
(let ((foot (ewoc--create-node footer 'insert pos))
|
||||
(head (ewoc--create-node header 'insert pos)))
|
||||
(ewoc--node-enter-before (ewoc--node-right dll) head)
|
||||
(ewoc--node-enter-before dll foot)
|
||||
(setf (ewoc--header new-ewoc) head)
|
||||
(setf (ewoc--footer new-ewoc) foot)))
|
||||
(setf (ewoc--node-start-marker dll) (copy-marker pos)
|
||||
foot (ewoc--insert-new-node dll footer 'insert)
|
||||
head (ewoc--insert-new-node foot header 'insert)
|
||||
(ewoc--footer new-ewoc) foot
|
||||
(ewoc--header new-ewoc) head))
|
||||
;; Return the ewoc
|
||||
new-ewoc))
|
||||
|
||||
(defalias 'ewoc-data 'ewoc--node-data)
|
||||
(defalias 'ewoc-data 'ewoc--node-data
|
||||
"Extract the data encapsulated by NODE and return it.
|
||||
|
||||
\(fn NODE)")
|
||||
|
||||
(defun ewoc-enter-first (ewoc data)
|
||||
"Enter DATA first in EWOC.
|
||||
|
@ -311,12 +308,7 @@ Return the new node."
|
|||
"Enter a new element DATA before NODE in EWOC.
|
||||
Return the new node."
|
||||
(ewoc--set-buffer-bind-dll ewoc
|
||||
(ewoc--node-enter-before
|
||||
node
|
||||
(ewoc--create-node
|
||||
data
|
||||
(ewoc--pretty-printer ewoc)
|
||||
(ewoc--node-start-marker node)))))
|
||||
(ewoc--insert-new-node node data (ewoc--pretty-printer ewoc))))
|
||||
|
||||
(defun ewoc-next (ewoc node)
|
||||
"Return the node in EWOC that follows NODE.
|
||||
|
@ -340,7 +332,7 @@ N counts from zero. Return nil if there is less than N elements.
|
|||
If N is negative, return the -(N+1)th last element.
|
||||
Thus, (ewoc-nth dll 0) returns the first node,
|
||||
and (ewoc-nth dll -1) returns the last node.
|
||||
Use `ewoc--node-data' to extract the data from the node."
|
||||
Use `ewoc-data' to extract the data from the node."
|
||||
;; Skip the header (or footer, if n is negative).
|
||||
(setq n (if (< n 0) (1- n) (1+ n)))
|
||||
(ewoc--filter-hf-nodes ewoc
|
||||
|
@ -361,10 +353,11 @@ arguments will be passed to MAP-FUNCTION."
|
|||
(ewoc--set-buffer-bind-dll-let* ewoc
|
||||
((footer (ewoc--footer ewoc))
|
||||
(node (ewoc--node-nth dll 1)))
|
||||
(while (not (eq node footer))
|
||||
(if (apply map-function (ewoc--node-data node) args)
|
||||
(ewoc--refresh-node (ewoc--pretty-printer ewoc) node))
|
||||
(setq node (ewoc--node-next dll node)))))
|
||||
(save-excursion
|
||||
(while (not (eq node footer))
|
||||
(if (apply map-function (ewoc--node-data node) args)
|
||||
(ewoc--refresh-node (ewoc--pretty-printer ewoc) node))
|
||||
(setq node (ewoc--node-next dll node))))))
|
||||
|
||||
(defun ewoc-filter (ewoc predicate &rest args)
|
||||
"Remove all elements in EWOC for which PREDICATE returns nil.
|
||||
|
@ -473,8 +466,9 @@ If the EWOC is empty, nil is returned."
|
|||
"Call EWOC's pretty-printer for each element in NODES.
|
||||
Delete current text first, thus effecting a \"refresh\"."
|
||||
(ewoc--set-buffer-bind-dll ewoc
|
||||
(dolist (node nodes)
|
||||
(ewoc--refresh-node (ewoc--pretty-printer ewoc) node))))
|
||||
(save-excursion
|
||||
(dolist (node nodes)
|
||||
(ewoc--refresh-node (ewoc--pretty-printer ewoc) node)))))
|
||||
|
||||
(defun ewoc-goto-prev (ewoc arg)
|
||||
"Move point to the ARGth previous element in EWOC.
|
||||
|
@ -526,11 +520,11 @@ number of elements needs to be refreshed."
|
|||
(delete-region (ewoc--node-start-marker (ewoc--node-nth dll 1))
|
||||
(ewoc--node-start-marker footer))
|
||||
(goto-char (ewoc--node-start-marker footer))
|
||||
(let ((node (ewoc--node-nth dll 1)))
|
||||
(let ((pp (ewoc--pretty-printer ewoc))
|
||||
(node (ewoc--node-nth dll 1)))
|
||||
(while (not (eq node footer))
|
||||
(set-marker (ewoc--node-start-marker node) (point))
|
||||
(funcall (ewoc--pretty-printer ewoc)
|
||||
(ewoc--node-data node))
|
||||
(funcall pp (ewoc--node-data node))
|
||||
(insert "\n")
|
||||
(setq node (ewoc--node-next dll node)))))
|
||||
(set-marker (ewoc--node-start-marker footer) (point))))
|
||||
|
@ -572,8 +566,9 @@ Return nil if the buffer has been deleted."
|
|||
"Set the HEADER and FOOTER of EWOC."
|
||||
(setf (ewoc--node-data (ewoc--header ewoc)) header)
|
||||
(setf (ewoc--node-data (ewoc--footer ewoc)) footer)
|
||||
(ewoc--refresh-node 'insert (ewoc--header ewoc))
|
||||
(ewoc--refresh-node 'insert (ewoc--footer ewoc)))
|
||||
(save-excursion
|
||||
(ewoc--refresh-node 'insert (ewoc--header ewoc))
|
||||
(ewoc--refresh-node 'insert (ewoc--footer ewoc))))
|
||||
|
||||
|
||||
(provide 'ewoc)
|
||||
|
|
|
@ -162,6 +162,7 @@ The truename of a file is found by chasing all links
|
|||
both at the file level and at the levels of the containing directories."
|
||||
:type 'boolean
|
||||
:group 'find-file)
|
||||
(put 'find-file-visit-truename 'safe-local-variable 'boolean)
|
||||
|
||||
(defcustom revert-without-query nil
|
||||
"*Specify which files should be reverted without query.
|
||||
|
@ -249,6 +250,8 @@ nil means make them for files that have some already.
|
|||
(other :tag "Always" t))
|
||||
:group 'backup
|
||||
:group 'vc)
|
||||
(put 'version-control 'safe-local-variable
|
||||
'(lambda (x) (or (booleanp x) (equal x 'never))))
|
||||
|
||||
(defcustom dired-kept-versions 2
|
||||
"*When cleaning directory, number of versions to keep."
|
||||
|
@ -268,12 +271,14 @@ If nil, ask confirmation. Any other value prevents any trimming."
|
|||
"*Number of oldest versions to keep when a new numbered backup is made."
|
||||
:type 'integer
|
||||
:group 'backup)
|
||||
(put 'kept-old-versions 'safe-local-variable 'integerp)
|
||||
|
||||
(defcustom kept-new-versions 2
|
||||
"*Number of newest versions to keep when a new numbered backup is made.
|
||||
Includes the new backup. Must be > 0"
|
||||
:type 'integer
|
||||
:group 'backup)
|
||||
(put 'kept-new-versions 'safe-local-variable 'integerp)
|
||||
|
||||
(defcustom require-final-newline nil
|
||||
"*Whether to add a newline automatically at the end of the file.
|
||||
|
@ -1892,8 +1897,8 @@ in that case, this function acts as if `enable-local-variables' were t."
|
|||
("\\.tar\\'" . tar-mode)
|
||||
;; The list of archive file extensions should be in sync with
|
||||
;; `auto-coding-alist' with `no-conversion' coding system.
|
||||
("\\.\\(arc\\|zip\\|lzh\\|zoo\\|[jew]ar\\|xpi\\)\\'" . archive-mode)
|
||||
("\\.\\(ARC\\|ZIP\\|LZH\\|ZOO\\|[JEW]AR\\|XPI\\)\\'" . archive-mode)
|
||||
("\\.\\(arc\\|zip\\|lzh\\|lha\\|zoo\\|[jew]ar\\|xpi\\)\\'" . archive-mode)
|
||||
("\\.\\(ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\)\\'" . archive-mode)
|
||||
("\\.\\(sx[dmicw]\\|odt\\)\\'" . archive-mode) ; OpenOffice.org
|
||||
;; Mailer puts message to be edited in
|
||||
;; /tmp/Re.... or Message
|
||||
|
@ -2351,27 +2356,12 @@ asking you for confirmation."
|
|||
;; FIXME: Some variables should be moved according to the rules above.
|
||||
(mapc (lambda (pair)
|
||||
(put (car pair) 'safe-local-variable (cdr pair)))
|
||||
'((byte-compile-dynamic . booleanp)
|
||||
(byte-compile-dynamic-docstrings . booleanp)
|
||||
(byte-compile-warnings . booleanp)
|
||||
(c-basic-offset . integerp)
|
||||
(c-file-style . stringp)
|
||||
(c-indent-level . integerp)
|
||||
(comment-column . integerp)
|
||||
(compile-command . string-or-null-p)
|
||||
(find-file-visit-truename . booleanp)
|
||||
(fill-column . integerp)
|
||||
(fill-prefix . string-or-null-p)
|
||||
'((fill-column . integerp) ;; C source code
|
||||
(indent-tabs-mode . booleanp) ;; C source code
|
||||
(kept-old-versions . integerp)
|
||||
(kept-new-versions . integerp)
|
||||
(left-margin . integerp)
|
||||
(no-byte-compile . booleanp)
|
||||
(left-margin . integerp) ;; C source code
|
||||
(no-update-autoloads . booleanp)
|
||||
(outline-regexp . string-or-null-p)
|
||||
(tab-width . integerp) ;; C source code
|
||||
(truncate-lines . booleanp) ;; C source code
|
||||
(version-control . symbolp)))
|
||||
(truncate-lines . booleanp))) ;; C source code
|
||||
|
||||
(put 'c-set-style 'safe-local-eval-function t)
|
||||
|
||||
|
@ -4114,7 +4104,7 @@ non-nil, it is called instead of rereading visited file contents."
|
|||
(let ((inhibit-read-only t)
|
||||
;; Keep the current buffer-file-coding-system.
|
||||
(coding-system buffer-file-coding-system)
|
||||
;; Auto-saved file shoule be read with special coding.
|
||||
;; Auto-saved file should be read with special coding.
|
||||
(coding-system-for-read 'auto-save-coding))
|
||||
(erase-buffer)
|
||||
(insert-file-contents file-name nil)
|
||||
|
|
|
@ -642,10 +642,12 @@ it is displayed along with the global value."
|
|||
(princ (if (stringp (car obsolete)) (car obsolete)
|
||||
(format "use `%s' instead." (car obsolete))))
|
||||
(terpri))
|
||||
(when safe-var
|
||||
(princ "This variable is safe to use as a file local variable")
|
||||
(princ (format " only if its value\nsatisfies the predicate `%s'.\n"
|
||||
safe-var))
|
||||
(when safe-var
|
||||
(princ "This variable is safe as a file local variable ")
|
||||
(princ "if its value\nsatisfies the predicate ")
|
||||
(princ (if (byte-code-function-p safe-var)
|
||||
"which is byte-compiled expression.\n"
|
||||
(format "`%s'.\n" safe-var)))
|
||||
(terpri))
|
||||
(princ "Documentation:\n")
|
||||
(princ (or doc "Not documented as a variable.")))
|
||||
|
|
|
@ -704,7 +704,12 @@ This discards the buffer's undo information."
|
|||
(buffer-undo-list t))
|
||||
(apply 'call-process-region (point-min) (point-max)
|
||||
(expand-file-name hexl-program exec-directory)
|
||||
t t nil (split-string hexl-options))
|
||||
t t nil
|
||||
;; Manually encode the args, otherwise they're encoded using
|
||||
;; coding-system-for-write (i.e. buffer-file-coding-system) which
|
||||
;; may not be what we want (e.g. utf-16 on a non-utf-16 system).
|
||||
(mapcar (lambda (s) (encode-coding-string s locale-coding-system))
|
||||
(split-string hexl-options)))
|
||||
(if (> (point) (hexl-address-to-marker hexl-max-address))
|
||||
(hexl-goto-address hexl-max-address))))
|
||||
|
||||
|
|
|
@ -1560,8 +1560,8 @@ text, and convert it in the temporary buffer. Otherwise, convert in-place."
|
|||
;;; FILE I/O
|
||||
|
||||
(defcustom auto-coding-alist
|
||||
'(("\\.\\(arc\\|zip\\|lzh\\|zoo\\|[jew]ar\\|xpi\\)\\'" . no-conversion)
|
||||
("\\.\\(ARC\\|ZIP\\|LZH\\|ZOO\\|[JEW]AR\\|XPI\\)\\'" . no-conversion)
|
||||
'(("\\.\\(arc\\|zip\\|lzh\\|lha\\|zoo\\|[jew]ar\\|xpi\\)\\'" . no-conversion)
|
||||
("\\.\\(ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\)\\'" . no-conversion)
|
||||
("\\.\\(sx[dmicw]\\|odt\\|tar\\|tgz\\)\\'" . no-conversion)
|
||||
("\\.\\(gz\\|Z\\|bz\\|bz2\\|gpg\\)\\'" . no-conversion)
|
||||
("\\.\\(jpe?g\\|png\\|gif\\|tiff?\\|p[bpgn]m\\)\\'" . no-conversion)
|
||||
|
|
|
@ -104,6 +104,7 @@ not to go beyond `comment-fill-column'."
|
|||
:type 'integer
|
||||
:group 'comment)
|
||||
(make-variable-buffer-local 'comment-column)
|
||||
;;;###autoload(put 'comment-column 'safe-local-variable 'integerp)
|
||||
|
||||
;;;###autoload
|
||||
(defvar comment-start nil
|
||||
|
|
|
@ -54,6 +54,7 @@ The recommended way to set this is with a Local Variables: list
|
|||
in the file it applies to. See also `outline-heading-end-regexp'."
|
||||
:type '(choice regexp (const nil))
|
||||
:group 'outlines)
|
||||
;;;###autoload(put 'outline-regexp 'safe-local-variable 'string-or-null-p)
|
||||
|
||||
(defcustom outline-heading-end-regexp "\n"
|
||||
"Regular expression to match the end of a heading line.
|
||||
|
|
|
@ -62,6 +62,8 @@
|
|||
;; In case c-mode.el isn't loaded
|
||||
(defvar c-indent-level 2
|
||||
"*Indentation of C statements with respect to containing block.")
|
||||
;;;###autoload(put 'c-indent-level 'safe-local-variable 'integerp)
|
||||
|
||||
(defvar c-brace-imaginary-offset 0
|
||||
"*Imagined indentation of a C open brace that actually follows a statement.")
|
||||
(defvar c-brace-offset 0
|
||||
|
|
|
@ -167,6 +167,8 @@ Optional argument ARG is the same as for `forward-word'."
|
|||
(t
|
||||
(point))))
|
||||
|
||||
(put 'c-forward-subword 'CUA 'move)
|
||||
|
||||
(defun c-backward-subword (&optional arg)
|
||||
"Do the same as `backward-word' but on subwords.
|
||||
See the command `c-subword-mode' for a description of subwords.
|
||||
|
@ -193,6 +195,8 @@ Optional argument ARG is the same as for `mark-word'."
|
|||
(point))
|
||||
nil t))))
|
||||
|
||||
(put 'c-backward-subword 'CUA 'move)
|
||||
|
||||
(defun c-kill-subword (arg)
|
||||
"Do the same as `kill-word' but on subwords.
|
||||
See the command `c-subword-mode' for a description of subwords.
|
||||
|
@ -222,7 +226,7 @@ Optional argument ARG is the same as for `capitalize-word'."
|
|||
(let ((count (abs arg))
|
||||
(direction (if (< 0 arg) 1 -1)))
|
||||
(dotimes (i count)
|
||||
(when (re-search-forward
|
||||
(when (re-search-forward
|
||||
(concat "[" c-alpha "]")
|
||||
nil t)
|
||||
(goto-char (match-beginning 0)))
|
||||
|
@ -253,15 +257,15 @@ Optional argument ARG is the same as for `upcase-word'."
|
|||
;;
|
||||
(defun c-forward-subword-internal ()
|
||||
(if (and
|
||||
(save-excursion
|
||||
(save-excursion
|
||||
(let ((case-fold-search nil))
|
||||
(re-search-forward
|
||||
(re-search-forward
|
||||
(concat "\\W*\\(\\([" c-upper "]*\\W?\\)[" c-lower c-digit "]*\\)")
|
||||
nil t)))
|
||||
(> (match-end 0) (point))) ; So we don't get stuck at a
|
||||
; "word-constituent" which isn't c-upper,
|
||||
; c-lower or c-digit
|
||||
(goto-char
|
||||
(goto-char
|
||||
(cond
|
||||
((< 1 (- (match-end 2) (match-beginning 2)))
|
||||
(1- (match-end 2)))
|
||||
|
@ -271,15 +275,15 @@ Optional argument ARG is the same as for `upcase-word'."
|
|||
|
||||
|
||||
(defun c-backward-subword-internal ()
|
||||
(if (save-excursion
|
||||
(let ((case-fold-search nil))
|
||||
(if (save-excursion
|
||||
(let ((case-fold-search nil))
|
||||
(re-search-backward
|
||||
(concat
|
||||
"\\(\\(\\W\\|[" c-lower c-digit "]\\)\\([" c-upper "]+\\W*\\)"
|
||||
"\\|\\W\\w+\\)")
|
||||
"\\|\\W\\w+\\)")
|
||||
nil t)))
|
||||
(goto-char
|
||||
(cond
|
||||
(goto-char
|
||||
(cond
|
||||
((and (match-end 3)
|
||||
(< 1 (- (match-end 3) (match-beginning 3)))
|
||||
(not (eq (point) (match-end 3))))
|
||||
|
|
|
@ -248,6 +248,7 @@ Also used as the indentation step when `c-syntactic-indentation' is
|
|||
nil."
|
||||
:type 'integer
|
||||
:group 'c)
|
||||
;;;###autoload(put 'c-basic-offset 'safe-local-variable 'integerp)
|
||||
|
||||
(defcustom c-tab-always-indent t
|
||||
"*Controls the operation of the TAB key.
|
||||
|
@ -1542,6 +1543,7 @@ will set the style of the file to this value automatically.
|
|||
Note that file style settings are applied before file offset settings
|
||||
as designated in the variable `c-file-offsets'.")
|
||||
(make-variable-buffer-local 'c-file-style)
|
||||
;;;###autoload(put 'c-file-style 'safe-local-variable 'string-or-null-p)
|
||||
|
||||
(defvar c-file-offsets nil
|
||||
"Variable interface for setting offsets via File Local Variables.
|
||||
|
|
|
@ -453,6 +453,7 @@ You might also use mode hooks to specify it in certain modes, like this:
|
|||
(file-name-sans-extension buffer-file-name))))))"
|
||||
:type 'string
|
||||
:group 'compilation)
|
||||
;;;###autoload(put 'compile-command 'safe-local-variable 'stringp)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom compilation-disable-input nil
|
||||
|
|
|
@ -732,9 +732,9 @@ With arg, enter name of variable to be watched in the minibuffer."
|
|||
(gdb-enqueue-input
|
||||
(list
|
||||
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
|
||||
(concat "server interpreter mi \"-var-evaluate-expression "
|
||||
(concat "server interpreter mi \"0-var-evaluate-expression "
|
||||
(car var) "\"\n")
|
||||
(concat "-var-evaluate-expression " (car var) "\n"))
|
||||
(concat "0-var-evaluate-expression " (car var) "\n"))
|
||||
`(lambda () (gdb-var-evaluate-expression-handler
|
||||
,(car var) nil)))))
|
||||
(if (search-forward "Undefined command" nil t)
|
||||
|
@ -755,11 +755,13 @@ With arg, enter name of variable to be watched in the minibuffer."
|
|||
|
||||
(defun gdb-var-evaluate-expression-handler (varnum changed)
|
||||
(goto-char (point-min))
|
||||
(re-search-forward ".*value=\\(\".*\"\\)" nil t)
|
||||
(re-search-forward "\\(.+\\)\\^done,value=\\(\".*\"\\)" nil t)
|
||||
(setq gdb-pending-triggers
|
||||
(delq (string-to-number (match-string 1)) gdb-pending-triggers))
|
||||
(let ((var (assoc varnum gdb-var-list)))
|
||||
(when var
|
||||
(if changed (setcar (nthcdr 5 var) 'changed))
|
||||
(setcar (nthcdr 4 var) (read (match-string 1)))))
|
||||
(setcar (nthcdr 4 var) (read (match-string 2)))))
|
||||
(gdb-speedbar-update))
|
||||
|
||||
(defun gdb-var-list-children (varnum)
|
||||
|
@ -791,7 +793,7 @@ numchild=\"\\(.*?\\)\",.*?type=\"\\(.*?\\)\".*?}")
|
|||
(gdb-enqueue-input
|
||||
(list
|
||||
(concat
|
||||
"server interpreter mi \"-var-evaluate-expression "
|
||||
"server interpreter mi \"0-var-evaluate-expression "
|
||||
(car varchild) "\"\n")
|
||||
`(lambda () (gdb-var-evaluate-expression-handler
|
||||
,(car varchild) nil)))))))
|
||||
|
@ -813,16 +815,19 @@ type_changed=\".*?\".*?}")
|
|||
(dolist (var gdb-var-list)
|
||||
(setcar (nthcdr 5 var) nil))
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward gdb-var-update-regexp nil t)
|
||||
(let ((varnum (match-string 1)))
|
||||
(if (string-equal (match-string 2) "false")
|
||||
(let ((var (assoc varnum gdb-var-list)))
|
||||
(if var (setcar (nthcdr 5 var) 'out-of-scope)))
|
||||
(gdb-enqueue-input
|
||||
(list
|
||||
(concat "server interpreter mi \"-var-evaluate-expression "
|
||||
varnum "\"\n")
|
||||
`(lambda () (gdb-var-evaluate-expression-handler ,varnum t)))))))
|
||||
(let ((n 0))
|
||||
(while (re-search-forward gdb-var-update-regexp nil t)
|
||||
(let ((varnum (match-string 1)))
|
||||
(if (string-equal (match-string 2) "false")
|
||||
(let ((var (assoc varnum gdb-var-list)))
|
||||
(if var (setcar (nthcdr 5 var) 'out-of-scope)))
|
||||
(setq n (1+ n))
|
||||
(push n gdb-pending-triggers)
|
||||
(gdb-enqueue-input
|
||||
(list
|
||||
(concat "server interpreter mi \"" (number-to-string n)
|
||||
"-var-evaluate-expression " varnum "\"\n")
|
||||
`(lambda () (gdb-var-evaluate-expression-handler ,varnum t))))))))
|
||||
(setq gdb-pending-triggers
|
||||
(delq 'gdb-var-update gdb-pending-triggers)))
|
||||
|
||||
|
@ -832,7 +837,9 @@ type_changed=\".*?\".*?}")
|
|||
(if (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
|
||||
'(gdbmi gdba))
|
||||
(let ((text (speedbar-line-text)))
|
||||
(string-match "\\(\\S-+\\)" text)
|
||||
;; Can't use \\S-+ for whitespace because
|
||||
;; speedbar has a whacky syntax table.
|
||||
(string-match "\\([^ \t]+\\)" text)
|
||||
(let ((expr (match-string 1 text)) var varnum)
|
||||
(catch 'expr-found
|
||||
(dolist (var1 gdb-var-list)
|
||||
|
@ -2803,6 +2810,7 @@ Kills the gdb buffers, and resets variables and the source buffers."
|
|||
(setq overlay-arrow-variable-list
|
||||
(delq 'gdb-overlay-arrow-position overlay-arrow-variable-list))
|
||||
(setq fringe-indicator-alist '((overlay-arrow . right-triangle)))
|
||||
(if (boundp 'speedbar-frame) (speedbar-timer-fn))
|
||||
(setq gud-running nil)
|
||||
(setq gdb-active-process nil)
|
||||
(setq gdb-var-list nil)
|
||||
|
|
|
@ -3480,7 +3480,8 @@ so they have been disabled."))
|
|||
gdb-server-prefix "macro expand " expr "\n")
|
||||
`(lambda () (gdb-tooltip-print-1 ,expr))))
|
||||
(gdb-enqueue-input
|
||||
(list (concat cmd "\n") 'gdb-tooltip-print)))
|
||||
(list (concat cmd "\n")
|
||||
`(lambda () (gdb-tooltip-print ,expr)))))
|
||||
(setq gud-tooltip-original-filter (process-filter process))
|
||||
(set-process-filter process 'gud-tooltip-process-output)
|
||||
(gud-basic-call cmd))
|
||||
|
|
|
@ -252,8 +252,6 @@ Emacs distribution as your standard \"editor\".
|
|||
|
||||
Prefix arg means just kill any existing server communications subprocess."
|
||||
(interactive "P")
|
||||
;; Make sure there is a safe directory in which to place the socket.
|
||||
(server-ensure-safe-dir server-socket-dir)
|
||||
;; kill it dead!
|
||||
(if server-process
|
||||
(condition-case () (delete-process server-process) (error nil)))
|
||||
|
@ -265,7 +263,10 @@ Prefix arg means just kill any existing server communications subprocess."
|
|||
(while server-clients
|
||||
(let ((buffer (nth 1 (car server-clients))))
|
||||
(server-buffer-done buffer)))
|
||||
;; Now any previous server is properly stopped.
|
||||
(unless leave-dead
|
||||
;; Make sure there is a safe directory in which to place the socket.
|
||||
(server-ensure-safe-dir server-socket-dir)
|
||||
(if server-process
|
||||
(server-log (message "Restarting server")))
|
||||
(letf (((default-file-modes) ?\700))
|
||||
|
@ -578,7 +579,7 @@ starts server process and that is all. Invoked by \\[server-edit]."
|
|||
(if (or arg
|
||||
(not server-process)
|
||||
(memq (process-status server-process) '(signal exit)))
|
||||
(server-start nil)
|
||||
(server-mode 1)
|
||||
(apply 'server-switch-buffer (server-done))))
|
||||
|
||||
(defun server-switch-buffer (&optional next-buffer killed-one)
|
||||
|
@ -637,14 +638,15 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
|
|||
(define-key ctl-x-map "#" 'server-edit)
|
||||
|
||||
(defun server-unload-hook ()
|
||||
(server-start t)
|
||||
(server-mode -1)
|
||||
(remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)
|
||||
(remove-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function)
|
||||
(remove-hook 'kill-buffer-hook 'server-kill-buffer))
|
||||
|
||||
(add-hook 'kill-emacs-hook (lambda () (server-mode -1))) ;Cleanup upon exit.
|
||||
(add-hook 'server-unload-hook 'server-unload-hook)
|
||||
|
||||
(provide 'server)
|
||||
|
||||
;;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6
|
||||
;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6
|
||||
;;; server.el ends here
|
||||
|
|
|
@ -3646,7 +3646,8 @@ Outline mode sets this."
|
|||
;; Move to the chosen destination position from above,
|
||||
;; with intangibility processing enabled.
|
||||
|
||||
(goto-char (point-min))
|
||||
;; Avoid calling point-entered and point-left.
|
||||
(goto-char new)
|
||||
(let ((inhibit-point-motion-hooks nil))
|
||||
(goto-char new)
|
||||
|
||||
|
@ -4058,6 +4059,7 @@ If optional arg REALLY-WORD is non-nil, it finds just a word."
|
|||
string)
|
||||
:group 'fill)
|
||||
(make-variable-buffer-local 'fill-prefix)
|
||||
;;;###autoload(put 'fill-prefix 'safe-local-variable 'string-or-null-p)
|
||||
|
||||
(defcustom auto-fill-inhibit-regexp nil
|
||||
"*Regexp to match lines which should not be auto-filled."
|
||||
|
|
30
lisp/subr.el
30
lisp/subr.el
|
@ -1123,28 +1123,36 @@ The return value is the new value of LIST-VAR."
|
|||
(< oa ob)
|
||||
oa)))))))
|
||||
|
||||
(defun add-to-history (history-var newelt &optional maxelt)
|
||||
(defun add-to-history (history-var newelt &optional maxelt keep-all)
|
||||
"Add NEWELT to the history list stored in the variable HISTORY-VAR.
|
||||
Return the new history list.
|
||||
If MAXELT is non-nil, it specifies the maximum length of the history.
|
||||
Otherwise, the maximum history length is the value of the `history-length'
|
||||
property on symbol HISTORY-VAR, if set, or the value of the `history-length'
|
||||
variable.
|
||||
Remove duplicates of NEWELT unless `history-delete-duplicates' is nil."
|
||||
Remove duplicates of NEWELT if `history-delete-duplicates' is non-nil.
|
||||
If optional fourth arg KEEP-ALL is non-nil, add NEWELT to history even
|
||||
if it is empty or a duplicate."
|
||||
(unless maxelt
|
||||
(setq maxelt (or (get history-var 'history-length)
|
||||
history-length)))
|
||||
(let ((history (symbol-value history-var))
|
||||
tail)
|
||||
(if history-delete-duplicates
|
||||
(setq history (delete newelt history)))
|
||||
(setq history (cons newelt history))
|
||||
(when (integerp maxelt)
|
||||
(if (= 0 maxelt)
|
||||
(setq history nil)
|
||||
(setq tail (nthcdr (1- maxelt) history))
|
||||
(when (consp tail)
|
||||
(setcdr tail nil))))
|
||||
(when (and (listp history)
|
||||
(or keep-all
|
||||
(not (stringp newelt))
|
||||
(> (length newelt) 0))
|
||||
(or keep-all
|
||||
(not (equal (car history) newelt))))
|
||||
(if history-delete-duplicates
|
||||
(delete newelt history))
|
||||
(setq history (cons newelt history))
|
||||
(when (integerp maxelt)
|
||||
(if (= 0 maxelt)
|
||||
(setq history nil)
|
||||
(setq tail (nthcdr (1- maxelt) history))
|
||||
(when (consp tail)
|
||||
(setcdr tail nil)))))
|
||||
(set history-var history)))
|
||||
|
||||
|
||||
|
|
|
@ -230,7 +230,7 @@
|
|||
|
||||
;; These keys will be available xterm starting probably from
|
||||
;; version 214.
|
||||
(define-key map "\e[27;5;8~" [(control ?\t)])
|
||||
(define-key map "\e[27;5;9~" [(control ?\t)])
|
||||
(define-key map "\e[27;5;44~" [(control ?\,)])
|
||||
(define-key map "\e[27;5;46~" [(control ?\.)])
|
||||
(define-key map "\e[27;5;47~" [(control ?\/)])
|
||||
|
|
|
@ -4348,6 +4348,7 @@ used to insert the time stamp into the buffer to include the time."
|
|||
(parse-time-string (match-string 1))))
|
||||
ct))
|
||||
(calendar-move-hook nil)
|
||||
(view-calendar-holidays-initially nil)
|
||||
(view-diary-entries-initially nil)
|
||||
(timestr (format-time-string
|
||||
(if with-time "%Y-%m-%d %H:%M" "%Y-%m-%d") default-time))
|
||||
|
@ -4724,6 +4725,7 @@ A prefix ARG can be used to force the current date."
|
|||
(interactive "P")
|
||||
(let ((tsr org-ts-regexp) diff
|
||||
(calendar-move-hook nil)
|
||||
(view-calendar-holidays-initially nil)
|
||||
(view-diary-entries-initially nil))
|
||||
(if (or (org-at-timestamp-p)
|
||||
(save-excursion
|
||||
|
@ -6910,6 +6912,7 @@ argument, latitude and longitude will be prompted for."
|
|||
(error "Don't know which date to open in calendar")))
|
||||
(date (calendar-gregorian-from-absolute day))
|
||||
(calendar-move-hook nil)
|
||||
(view-calendar-holidays-initially nil)
|
||||
(view-diary-entries-initially nil))
|
||||
(calendar)
|
||||
(calendar-goto-date date)))
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2006-05-12 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* url-http.el (url-http-file-exists-p): Test if status is integer.
|
||||
|
||||
2006-05-05 Andreas Seltenreich <seltenreich@gmx.de> (tiny change)
|
||||
|
||||
* url-http.el (url-http-parse-headers): Don't reuse connection if
|
||||
|
|
|
@ -1141,7 +1141,8 @@ CBARGS as the arguments."
|
|||
(setq exists nil)
|
||||
(setq status (url-http-symbol-value-in-buffer 'url-http-response-status
|
||||
buffer 500)
|
||||
exists (and (>= status 200) (< status 300)))
|
||||
exists (and (integerp status)
|
||||
(>= status 200) (< status 300)))
|
||||
(kill-buffer buffer))
|
||||
exists))
|
||||
|
||||
|
|
|
@ -17100,7 +17100,7 @@ Set the shape and color of the mouse cursor:
|
|||
@item
|
||||
Convert @kbd{@key{CTL}-h} into @key{DEL} and @key{DEL}
|
||||
into @kbd{@key{CTL}-h}.@*
|
||||
(Some olders keyboards needed this, although I have not seen the
|
||||
(Some older keyboards needed this, although I have not seen the
|
||||
problem recently.)
|
||||
|
||||
@smallexample
|
||||
|
@ -19489,7 +19489,7 @@ in this case would end up as 15.)
|
|||
@cindex Print horizontal axis
|
||||
@cindex Horizontal axis printing
|
||||
|
||||
X axis labels are much like Y axis labels, except that the tics are on a
|
||||
X axis labels are much like Y axis labels, except that the ticks are on a
|
||||
line above the numbers. Labels should look like this:
|
||||
|
||||
@smallexample
|
||||
|
@ -19501,7 +19501,7 @@ line above the numbers. Labels should look like this:
|
|||
|
||||
The first tic is under the first column of the graph and is preceded by
|
||||
several blank spaces. These spaces provide room in rows above for the Y
|
||||
axis labels. The second, third, fourth, and subsequent tics are all
|
||||
axis labels. The second, third, fourth, and subsequent ticks are all
|
||||
spaced equally, according to the value of @code{X-axis-label-spacing}.
|
||||
|
||||
The second row of the X axis consists of numbers, preceded by several
|
||||
|
@ -19629,7 +19629,7 @@ looks like this:
|
|||
@end smallexample
|
||||
|
||||
We also need to determine the length of the horizontal axis, which is
|
||||
the length of the numbers list, and the number of tics in the horizontal
|
||||
the length of the numbers list, and the number of ticks in the horizontal
|
||||
axis:
|
||||
|
||||
@smallexample
|
||||
|
@ -19646,7 +19646,7 @@ axis:
|
|||
@end group
|
||||
|
||||
@group
|
||||
;; number-of-X-tics
|
||||
;; number-of-X-ticks
|
||||
(if (zerop (% (X-length tic-width)))
|
||||
(/ (X-length tic-width))
|
||||
(1+ (/ (X-length tic-width))))
|
||||
|
@ -19661,7 +19661,7 @@ All this leads us directly to the function for printing the X axis tic line:
|
|||
@group
|
||||
(defun print-X-axis-tic-line
|
||||
(number-of-X-tics X-axis-leading-spaces X-axis-tic-element)
|
||||
"Print tics for X axis."
|
||||
"Print ticks for X axis."
|
||||
(insert X-axis-leading-spaces)
|
||||
(insert X-axis-tic-symbol) ; @r{Under first column.}
|
||||
@end group
|
||||
|
@ -19676,7 +19676,7 @@ All this leads us directly to the function for printing the X axis tic line:
|
|||
X-axis-tic-symbol))
|
||||
@end group
|
||||
@group
|
||||
;; @r{Insert remaining tics.}
|
||||
;; @r{Insert remaining ticks.}
|
||||
(while (> number-of-X-tics 1)
|
||||
(insert X-axis-tic-element)
|
||||
(setq number-of-X-tics (1- number-of-X-tics))))
|
||||
|
@ -20905,7 +20905,7 @@ Optionally, print according to VERTICAL-STEP."
|
|||
@group
|
||||
(defun print-X-axis-tic-line
|
||||
(number-of-X-tics X-axis-leading-spaces X-axis-tic-element)
|
||||
"Print tics for X axis."
|
||||
"Print ticks for X axis."
|
||||
(insert X-axis-leading-spaces)
|
||||
(insert X-axis-tic-symbol) ; @r{Under first column.}
|
||||
@end group
|
||||
|
@ -20920,7 +20920,7 @@ Optionally, print according to VERTICAL-STEP."
|
|||
X-axis-tic-symbol))
|
||||
@end group
|
||||
@group
|
||||
;; @r{Insert remaining tics.}
|
||||
;; @r{Insert remaining ticks.}
|
||||
(while (> number-of-X-tics 1)
|
||||
(insert X-axis-tic-element)
|
||||
(setq number-of-X-tics (1- number-of-X-tics))))
|
||||
|
|
|
@ -1,3 +1,53 @@
|
|||
2006-05-16 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* minibuf.texi (Minibuffer History): Update add-to-history.
|
||||
|
||||
2006-05-15 Oliver Scholz <epameinondas@gmx.de> (tiny change)
|
||||
|
||||
* nonascii.texi (Explicit Encoding): Fix
|
||||
typo (encoding<->decoding).
|
||||
|
||||
2006-05-14 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* buffers.texi (Creating Buffers): Cleanup.
|
||||
|
||||
* files.texi (Visiting Functions): Rewrite in find-file-noselect.
|
||||
|
||||
2006-05-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* buffers.texi (Current Buffer): Document that with-temp-buffer
|
||||
disables undo.
|
||||
|
||||
* os.texi (Terminal-Specific): More accurate description of how
|
||||
Emacs searches for the terminal-specific libraries.
|
||||
|
||||
2006-05-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* hooks.texi (Standard Hooks) [iftex]: Convert @xref's to
|
||||
emacs-xtra to @inforef's.
|
||||
|
||||
* text.texi (Undo): Document that undo is turned off in buffers
|
||||
whose names begin with a space.
|
||||
|
||||
* buffers.texi (Buffer Names): Add index entries for buffers whose
|
||||
names begin with a space.
|
||||
(Creating Buffers): Document that undo is turned off in buffers
|
||||
whose names begin with a space.
|
||||
|
||||
* files.texi (Visiting Functions, Reading from Files)
|
||||
(Saving Buffers): Mention code and EOL conversions by file I/O
|
||||
primitives and subroutines.
|
||||
|
||||
* nonascii.texi (Lisp and Coding Systems): Document
|
||||
coding-system-eol-type. Add index entries for eol conversion.
|
||||
|
||||
* display.texi (Defining Faces): Mention `mac', and add an xref to
|
||||
where window-system is described.
|
||||
|
||||
2006-05-10 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* internals.texi (Writing Emacs Primitives): Clarify GCPRO rules.
|
||||
|
||||
2006-05-10 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* variables.texi (File Local Variables): Recommend to quote lambda
|
||||
|
|
|
@ -233,7 +233,9 @@ The @code{with-temp-buffer} macro evaluates the @var{body} forms
|
|||
with a temporary buffer as the current buffer. It saves the identity of
|
||||
the current buffer, creates a temporary buffer and makes it current,
|
||||
evaluates the @var{body} forms, and finally restores the previous
|
||||
current buffer while killing the temporary buffer.
|
||||
current buffer while killing the temporary buffer. By default, undo
|
||||
information (@pxref{Undo}) is not recorded in the buffer created by
|
||||
this macro (but @var{body} can enable that, if needed).
|
||||
|
||||
The return value is the value of the last form in @var{body}. You can
|
||||
return the contents of the temporary buffer by using
|
||||
|
@ -257,6 +259,8 @@ sort, and an error is signaled if it is neither a string nor a buffer.
|
|||
Any argument called @var{buffer} must be an actual buffer
|
||||
object, not a name.
|
||||
|
||||
@cindex hidden buffers
|
||||
@cindex buffers without undo information
|
||||
Buffers that are ephemeral and generally uninteresting to the user
|
||||
have names starting with a space, so that the @code{list-buffers} and
|
||||
@code{buffer-menu} commands don't mention them (but if such a buffer
|
||||
|
@ -908,8 +912,9 @@ nor a buffer.
|
|||
@end example
|
||||
|
||||
The major mode for a newly created buffer is set to Fundamental mode.
|
||||
The variable @code{default-major-mode} is handled at a higher level.
|
||||
@xref{Auto Major Mode}.
|
||||
(The variable @code{default-major-mode} is handled at a higher level;
|
||||
see @ref{Auto Major Mode}.) If the name begins with a space, the
|
||||
buffer initially disables undo information recording (@pxref{Undo}).
|
||||
@end defun
|
||||
|
||||
@defun generate-new-buffer name
|
||||
|
|
|
@ -1772,8 +1772,9 @@ apply to. Here are the possible values of @var{characteristic}:
|
|||
@item type
|
||||
The kind of window system the frame uses---either @code{graphic} (any
|
||||
graphics-capable display), @code{x}, @code{pc} (for the MS-DOS console),
|
||||
@code{w32} (for MS Windows 9X/NT), or @code{tty} (a non-graphics-capable
|
||||
display).
|
||||
@code{w32} (for MS Windows 9X/NT/2K/XP), @code{mac} (for the Macintosh
|
||||
display), or @code{tty} (a non-graphics-capable display).
|
||||
@xref{Window Systems, window-system}.
|
||||
|
||||
@item class
|
||||
What kinds of colors the frame supports---either @code{color},
|
||||
|
|
|
@ -114,21 +114,24 @@ When @code{find-file} is called interactively, it prompts for
|
|||
@end deffn
|
||||
|
||||
@defun find-file-noselect filename &optional nowarn rawfile wildcards
|
||||
This function is the guts of all the file-visiting functions. It finds
|
||||
or creates a buffer visiting the file @var{filename}, and returns it.
|
||||
It uses an existing buffer if there is one, and otherwise creates a new
|
||||
buffer and reads the file into it. You may make the buffer current or
|
||||
display it in a window if you wish, but this function does not do so.
|
||||
This function is the guts of all the file-visiting functions. It
|
||||
returns a buffer visiting the file @var{filename}. You may make the
|
||||
buffer current or display it in a window if you wish, but this
|
||||
function does not do so.
|
||||
|
||||
If @var{wildcards} is non-@code{nil},
|
||||
then @code{find-file-noselect} expands wildcard
|
||||
characters in @var{filename} and visits all the matching files.
|
||||
The function returns an existing buffer if there is one; otherwise it
|
||||
creates a new buffer and reads the file into it. When
|
||||
@code{find-file-noselect} uses an existing buffer, it first verifies
|
||||
that the file has not changed since it was last visited or saved in
|
||||
that buffer. If the file has changed, this function asks the user
|
||||
whether to reread the changed file. If the user says @samp{yes}, any
|
||||
edits previously made in the buffer are lost.
|
||||
|
||||
When @code{find-file-noselect} uses an existing buffer, it first
|
||||
verifies that the file has not changed since it was last visited or
|
||||
saved in that buffer. If the file has changed, then this function asks
|
||||
the user whether to reread the changed file. If the user says
|
||||
@samp{yes}, any changes previously made in the buffer are lost.
|
||||
Reading the file involves decoding the file's contents (@pxref{Coding
|
||||
Systems}), including end-of-line conversion, and format conversion
|
||||
(@pxref{Format Conversion}). If @var{wildcards} is non-@code{nil},
|
||||
then @code{find-file-noselect} expands wildcard characters in
|
||||
@var{filename} and visits all the matching files.
|
||||
|
||||
This function displays warning or advisory messages in various peculiar
|
||||
cases, unless the optional argument @var{nowarn} is non-@code{nil}. For
|
||||
|
@ -145,10 +148,9 @@ than the file just visited, and finishes by running the functions in
|
|||
|
||||
If the optional argument @var{rawfile} is non-@code{nil}, then
|
||||
@code{after-find-file} is not called, and the
|
||||
@code{find-file-not-found-functions} are not run in case of failure. What's
|
||||
more, a non-@code{nil} @var{rawfile} value suppresses coding system
|
||||
conversion (@pxref{Coding Systems}) and format conversion (@pxref{Format
|
||||
Conversion}).
|
||||
@code{find-file-not-found-functions} are not run in case of failure.
|
||||
What's more, a non-@code{nil} @var{rawfile} value suppresses coding
|
||||
system conversion and format conversion.
|
||||
|
||||
The @code{find-file-noselect} function usually returns the buffer that
|
||||
is visiting the file @var{filename}. But, if wildcards are actually
|
||||
|
@ -395,11 +397,12 @@ You might wish to save the file modes value returned by
|
|||
bits of the file that you write. This is what @code{save-buffer}
|
||||
normally does. @xref{Making Backups,, Making Backup Files}.
|
||||
|
||||
The hook functions in @code{write-file-functions} are also responsible for
|
||||
encoding the data (if desired): they must choose a suitable coding
|
||||
system (@pxref{Lisp and Coding Systems}), perform the encoding
|
||||
(@pxref{Explicit Encoding}), and set @code{last-coding-system-used} to
|
||||
the coding system that was used (@pxref{Encoding and I/O}).
|
||||
The hook functions in @code{write-file-functions} are also responsible
|
||||
for encoding the data (if desired): they must choose a suitable coding
|
||||
system and end-of-line conversion (@pxref{Lisp and Coding Systems}),
|
||||
perform the encoding (@pxref{Explicit Encoding}), and set
|
||||
@code{last-coding-system-used} to the coding system that was used
|
||||
(@pxref{Encoding and I/O}).
|
||||
|
||||
If you set this hook locally in a buffer, it is assumed to be
|
||||
associated with the file or the way the contents of the buffer were
|
||||
|
@ -496,7 +499,8 @@ appropriate. @xref{Format Conversion}. It also calls the functions in
|
|||
the list @code{after-insert-file-functions}; see @ref{Saving
|
||||
Properties}. Normally, one of the functions in the
|
||||
@code{after-insert-file-functions} list determines the coding system
|
||||
(@pxref{Coding Systems}) used for decoding the file's contents.
|
||||
(@pxref{Coding Systems}) used for decoding the file's contents,
|
||||
including end-of-line conversion.
|
||||
|
||||
If @var{visit} is non-@code{nil}, this function additionally marks the
|
||||
buffer as unmodified and sets up various fields in the buffer so that it
|
||||
|
|
|
@ -88,7 +88,7 @@ or their values are used). The variables whose names end in
|
|||
|
||||
@item calendar-load-hook
|
||||
@iftex
|
||||
@xref{Calendar Customizing,,, emacs-xtra}.
|
||||
@inforef{Calendar Customizing,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Calendar Customizing,,, emacs}.
|
||||
|
@ -131,7 +131,7 @@ Emacs Sessions,, Saving Emacs Sessions, emacs, the GNU Emacs Manual}.
|
|||
|
||||
@item diary-display-hook
|
||||
@iftex
|
||||
@xref{Fancy Diary Display,,, emacs-xtra}.
|
||||
@inforef{Fancy Diary Display,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Fancy Diary Display,,, emacs}.
|
||||
|
@ -182,7 +182,7 @@ for appointment notification.
|
|||
|
||||
@item initial-calendar-window-hook
|
||||
@iftex
|
||||
@xref{Calendar Customizing,,, emacs-xtra}.
|
||||
@inforef{Calendar Customizing,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Calendar Customizing,,, emacs}.
|
||||
|
@ -207,7 +207,7 @@ for appointment notification.
|
|||
|
||||
@item list-diary-entries-hook
|
||||
@iftex
|
||||
@xref{Fancy Diary Display,,, emacs-xtra}.
|
||||
@inforef{Fancy Diary Display,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Fancy Diary Display,,, emacs}.
|
||||
|
@ -219,7 +219,7 @@ Manual}.
|
|||
|
||||
@item mark-diary-entries-hook
|
||||
@iftex
|
||||
@xref{Fancy Diary Display,,, emacs-xtra}.
|
||||
@inforef{Fancy Diary Display,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Fancy Diary Display,,, emacs}.
|
||||
|
@ -239,7 +239,7 @@ Manual}.
|
|||
|
||||
@item nongregorian-diary-listing-hook
|
||||
@iftex
|
||||
@xref{Hebrew/Islamic Entries,,, emacs-xtra}.
|
||||
@inforef{Hebrew/Islamic Entries,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Hebrew/Islamic Entries,,, emacs}.
|
||||
|
@ -247,7 +247,7 @@ Manual}.
|
|||
|
||||
@item nongregorian-diary-marking-hook
|
||||
@iftex
|
||||
@xref{Hebrew/Islamic Entries,,, emacs-xtra}.
|
||||
@inforef{Hebrew/Islamic Entries,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Hebrew/Islamic Entries,,, emacs}.
|
||||
|
@ -266,7 +266,7 @@ Manual}.
|
|||
|
||||
@item print-diary-entries-hook
|
||||
@iftex
|
||||
@xref{Diary Customizing,,, emacs-xtra}.
|
||||
@inforef{Diary Customizing,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Diary Customizing,,, emacs}.
|
||||
|
@ -297,7 +297,7 @@ Manual}.
|
|||
|
||||
@item today-visible-calendar-hook
|
||||
@iftex
|
||||
@xref{Calendar Customizing,,, emacs-xtra}.
|
||||
@inforef{Calendar Customizing,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Calendar Customizing,,, emacs}.
|
||||
|
@ -305,7 +305,7 @@ Manual}.
|
|||
|
||||
@item today-invisible-calendar-hook
|
||||
@iftex
|
||||
@xref{Calendar Customizing,,, emacs-xtra}.
|
||||
@infref{Calendar Customizing,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Calendar Customizing,,, emacs}.
|
||||
|
|
|
@ -615,32 +615,37 @@ arguments, and the second is the address of a block containing their
|
|||
values. They have types @code{int} and @w{@code{Lisp_Object *}}.
|
||||
|
||||
Within the function @code{For} itself, note the use of the macros
|
||||
@code{GCPRO1} and @code{UNGCPRO}. @code{GCPRO1} is used to ``protect''
|
||||
a variable from garbage collection---to inform the garbage collector that
|
||||
it must look in that variable and regard its contents as an accessible
|
||||
object. This is necessary whenever you call @code{Feval} or anything
|
||||
that can directly or indirectly call @code{Feval}. At such a time, any
|
||||
Lisp object that you intend to refer to again must be protected somehow.
|
||||
@code{UNGCPRO} cancels the protection of the variables that are
|
||||
protected in the current function. It is necessary to do this explicitly.
|
||||
@code{GCPRO1} and @code{UNGCPRO}. @code{GCPRO1} is used to
|
||||
``protect'' a variable from garbage collection---to inform the garbage
|
||||
collector that it must look in that variable and regard its contents
|
||||
as an accessible object. GC protection is necessary whenever you call
|
||||
@code{Feval} or anything that can directly or indirectly call
|
||||
@code{Feval}. At such a time, any Lisp object that this function may
|
||||
refer to again must be protected somehow.
|
||||
|
||||
It suffices to ensure that at least one pointer to each object is
|
||||
GC-protected; as long as the object is not recycled, all pointers to
|
||||
it remain valid. So if you are sure that a local variable points to
|
||||
an object that will be preserved by some other pointer, that local
|
||||
variable does not need a @code{GCPRO}. (Formerly, strings were an
|
||||
exception to this rule; in older Emacs versions, every pointer to a
|
||||
string needed to be marked by GC.)
|
||||
GC-protected; that way, the object cannot be recycled, so all pointers
|
||||
to it remain valid. Thus, a particular local variable can do without
|
||||
protection if it is certain that the object it points to will be
|
||||
preserved by some other pointer (such as another local variable which
|
||||
has a @code{GCPRO})@footnote{Formerly, strings were a special
|
||||
exception; in older Emacs versions, every local variable that might
|
||||
point to a string needed a @code{GCPRO}.}. Otherwise, the local
|
||||
variable needs a @code{GCPRO}.
|
||||
|
||||
The macro @code{GCPRO1} protects just one local variable. If you
|
||||
want to protect two, use @code{GCPRO2} instead; repeating
|
||||
@code{GCPRO1} will not work. Macros, @code{GCPRO3}, @code{GCPRO4},
|
||||
@code{GCPRO5}, and @code{GCPRO6} also exist. These macros implicitly
|
||||
use local variables such as @code{gcpro1}; you must declare these
|
||||
explicitly, with type @code{struct gcpro}. Thus, if you use
|
||||
want to protect two variables, use @code{GCPRO2} instead; repeating
|
||||
@code{GCPRO1} will not work. Macros @code{GCPRO3}, @code{GCPRO4},
|
||||
@code{GCPRO5}, and @code{GCPRO6} also exist. All these macros
|
||||
implicitly use local variables such as @code{gcpro1}; you must declare
|
||||
these explicitly, with type @code{struct gcpro}. Thus, if you use
|
||||
@code{GCPRO2}, you must declare @code{gcpro1} and @code{gcpro2}.
|
||||
Alas, we can't explain all the tricky details here.
|
||||
|
||||
@code{UNGCPRO} cancels the protection of the variables that are
|
||||
protected in the current function. It is necessary to do this
|
||||
explicitly.
|
||||
|
||||
Built-in functions that take a variable number of arguments actually
|
||||
accept two arguments at the C level: the number of Lisp arguments, and
|
||||
a @code{Lisp_Object *} pointer to a C vector containing those Lisp
|
||||
|
|
|
@ -449,17 +449,20 @@ list, put the length in the @code{history-length} property of the
|
|||
history list symbol. The variable @code{history-delete-duplicates}
|
||||
specifies whether to delete duplicates in history.
|
||||
|
||||
@defun add-to-history history-var newelt &optional maxelt
|
||||
This function adds a new element @var{newelt} to the history list
|
||||
stored in the variable @var{history-var}, and returns the updated
|
||||
history list. By default, the list length is limited by the value
|
||||
specified by @code{history-length} (described below), but the optional
|
||||
argument @var{maxelt} overrides that. The possible values of
|
||||
@defun add-to-history history-var newelt &optional maxelt keep-all
|
||||
This function adds a new element @var{newelt}, if non-empty, to the
|
||||
history list stored in the variable @var{history-var}, and returns the
|
||||
updated history list. By default, the list length is limited by the
|
||||
value specified by @code{history-length} (described below), but the
|
||||
optional argument @var{maxelt} overrides that. The possible values of
|
||||
@var{maxelt} have the same meaning as the values of
|
||||
@code{history-length}.
|
||||
|
||||
Duplicate members are removed from the history list, unless
|
||||
@code{history-delete-duplicates} is @code{nil}.
|
||||
Duplicate members are removed from the history list, if
|
||||
@code{history-delete-duplicates} is non-@code{nil}.
|
||||
|
||||
If @var{keep-all} is non-@code{nil}, even an empty or duplicate
|
||||
@var{newelt} element is added to the history list.
|
||||
@end defun
|
||||
|
||||
@defvar history-length
|
||||
|
|
|
@ -805,6 +805,35 @@ If that is valid, it returns @var{coding-system}.
|
|||
Otherwise it signals an error with condition @code{coding-system-error}.
|
||||
@end defun
|
||||
|
||||
@cindex EOL conversion
|
||||
@cindex end-of-line conversion
|
||||
@cindex line end conversion
|
||||
@defun coding-system-eol-type coding-system
|
||||
This function returns the type of end-of-line (a.k.a.@: @dfn{eol})
|
||||
conversion used by @var{coding-system}. If @var{coding-system}
|
||||
specifies a certain eol conversion, the return value is an integer 0,
|
||||
1, or 2, standing for @code{unix}, @code{dos}, and @code{mac},
|
||||
respectively. If @var{coding-system} doesn't specify eol conversion
|
||||
explicitly, the return value is a vector of coding systems, each one
|
||||
with one of the possible eol conversion types, like this:
|
||||
|
||||
@lisp
|
||||
(coding-system-eol-type 'latin-1)
|
||||
@result{} [latin-1-unix latin-1-dos latin-1-mac]
|
||||
@end lisp
|
||||
|
||||
@noindent
|
||||
If this function returns a vector, Emacs will decide, as part of the
|
||||
text encoding or decoding process, what eol conversion to use. For
|
||||
decoding, the end-of-line format of the text is auto-detected, and the
|
||||
eol conversion is set to match it (e.g., DOS-style CRLF format will
|
||||
imply @code{dos} eol conversion). For encoding, the eol conversion is
|
||||
taken from the appropriate default coding system (e.g.,
|
||||
@code{default-buffer-file-coding-system} for
|
||||
@code{buffer-file-coding-system}), or from the default eol conversion
|
||||
appropriate for the underlying platform.
|
||||
@end defun
|
||||
|
||||
@defun coding-system-change-eol-conversion coding-system eol-type
|
||||
This function returns a coding system which is like @var{coding-system}
|
||||
except for its eol conversion, which is specified by @code{eol-type}.
|
||||
|
@ -1174,7 +1203,7 @@ encoding by binding @code{coding-system-for-write} to
|
|||
@code{no-conversion}.
|
||||
|
||||
Here are the functions to perform explicit encoding or decoding. The
|
||||
decoding functions produce sequences of bytes; the encoding functions
|
||||
encoding functions produce sequences of bytes; the decoding functions
|
||||
are meant to operate on sequences of bytes. All of these functions
|
||||
discard text properties.
|
||||
|
||||
|
|
|
@ -271,18 +271,24 @@ Normally, @code{term-file-prefix} has the value
|
|||
in the normal manner, by searching the @code{load-path} directories, and
|
||||
trying the @samp{.elc} and @samp{.el} suffixes.
|
||||
|
||||
The usual function of a terminal-specific library is to enable special
|
||||
keys to send sequences that Emacs can recognize. It may also need to
|
||||
set or add to @code{function-key-map} if the Termcap entry does not
|
||||
specify all the terminal's function keys. @xref{Terminal Input}.
|
||||
|
||||
@cindex Termcap
|
||||
When the name of the terminal type contains a hyphen, only the part of
|
||||
the name before the first hyphen is significant in choosing the library
|
||||
name. Thus, terminal types @samp{aaa-48} and @samp{aaa-30-rv} both use
|
||||
the @file{term/aaa} library. If necessary, the library can evaluate
|
||||
@code{(getenv "TERM")} to find the full name of the terminal
|
||||
type.@refill
|
||||
The usual function of a terminal-specific library is to enable
|
||||
special keys to send sequences that Emacs can recognize. It may also
|
||||
need to set or add to @code{function-key-map} if the Termcap or
|
||||
Terminfo entry does not specify all the terminal's function keys.
|
||||
@xref{Terminal Input}.
|
||||
|
||||
When the name of the terminal type contains a hyphen, and no library
|
||||
is found whose name is identical to the terminal's name, Emacs strips
|
||||
from the terminal's name the last hyphen and everything that follows
|
||||
it, and tries again. This process is repeated until Emacs finds a
|
||||
matching library or until there are no more hyphens in the name (the
|
||||
latter means the terminal doesn't have any library specific to it).
|
||||
Thus, for example, if there are no @samp{aaa-48} and @samp{aaa-30}
|
||||
libraries, Emacs will try the same library @file{term/aaa.el} for
|
||||
terminal types @samp{aaa-48} and @samp{aaa-30-rv}. If necessary, the
|
||||
library can evaluate @code{(getenv "TERM")} to find the full name of
|
||||
the terminal type.@refill
|
||||
|
||||
Your init file can prevent the loading of the
|
||||
terminal-specific library by setting the variable
|
||||
|
|
|
@ -1766,7 +1766,7 @@ connections to the server. The default queue length is 5.
|
|||
|
||||
@item :host @var{host}
|
||||
Specify the host to connect to. @var{host} should be a host name or
|
||||
internet address, as a string, or the symbol @code{local} to specify
|
||||
Internet address, as a string, or the symbol @code{local} to specify
|
||||
the local host. If you specify @var{host} for a server, it must
|
||||
specify a valid address for the local host, and only clients
|
||||
connecting to that address will be accepted.
|
||||
|
@ -1988,7 +1988,7 @@ Non-@code{nil} if non-blocking connect is supported.
|
|||
@item (:type datagram)
|
||||
Non-@code{nil} if datagrams are supported.
|
||||
@item (:family local)
|
||||
Non-@code{nil} if local (aka ``UNIX domain'') sockets are supported.
|
||||
Non-@code{nil} if local (a.k.a.@: ``UNIX domain'') sockets are supported.
|
||||
@item (:family ipv6)
|
||||
Non-@code{nil} if IPv6 is supported.
|
||||
@item (:service t)
|
||||
|
@ -2039,7 +2039,7 @@ This function returns information about the network interface named
|
|||
|
||||
@table @var
|
||||
@item addr
|
||||
The internet protocol address.
|
||||
The Internet protocol address.
|
||||
@item bcast
|
||||
The broadcast address.
|
||||
@item netmask
|
||||
|
|
|
@ -1202,7 +1202,9 @@ value for @code{kill-ring-max} is 60.
|
|||
Most buffers have an @dfn{undo list}, which records all changes made
|
||||
to the buffer's text so that they can be undone. (The buffers that
|
||||
don't have one are usually special-purpose buffers for which Emacs
|
||||
assumes that undoing is not useful.) All the primitives that modify the
|
||||
assumes that undoing is not useful. In particular, any buffer whose
|
||||
name begins with a space has its undo recording off by default,
|
||||
see @ref{Buffer Names}.) All the primitives that modify the
|
||||
text in the buffer automatically add elements to the front of the undo
|
||||
list, which is in the variable @code{buffer-undo-list}.
|
||||
|
||||
|
|
|
@ -1,3 +1,37 @@
|
|||
2006-05-12 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* message.texi (Interface): Add tool bar customization.
|
||||
(MIME): Index and text additions for mml-attach.
|
||||
(MIME): Describe mml-dnd-protocol-alist and
|
||||
mml-dnd-attach-options.
|
||||
|
||||
* gnus.texi (Oort Gnus): Reorder entries in sections. Fix some
|
||||
entries.
|
||||
(Starting Up): Add references to "Emacs for Heathens" and to
|
||||
"Finding the News". Add user-full-name and user-mail-address.
|
||||
(Group Buffer Format): Add tool bar customization and update.
|
||||
(Summary Buffer): Add tool bar customization.
|
||||
(Posting Styles): Add message-alternative-emails.
|
||||
|
||||
2006-05-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* calendar.texi (Displaying the Diary, Format of Diary File):
|
||||
Refer to diary-view-entries, diary-list-entries,
|
||||
diary-show-all-entries rather than obsolete aliases.
|
||||
|
||||
2006-05-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* calendar.texi (Calendar/Diary, Holidays, Displaying the Diary)
|
||||
(Displaying the Diary, Special Diary Entries, Importing Diary):
|
||||
* building.texi (Compilation Shell):
|
||||
* buffers.texi (Several Buffers) [iftex]: Replace @xref's to
|
||||
emacs-xtra with @inforef's.
|
||||
|
||||
* files.texi (Visiting): Fix wording.
|
||||
|
||||
* mule.texi (Coding Systems, Text Coding): More indexing. Mention
|
||||
that C-x RET f can set eol conversion.
|
||||
|
||||
2006-05-09 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Filename completion): Improve wording.
|
||||
|
|
|
@ -481,7 +481,7 @@ mode in this buffer, as long as it is not marked modified. Global
|
|||
Auto Revert mode applies to the @samp{*Buffer List*} buffer only if
|
||||
@code{global-auto-revert-non-file-buffers} is non-@code{nil}.
|
||||
@iftex
|
||||
@xref{Autorevert,,, emacs-xtra, Specialized Emacs Features}, for details.
|
||||
@inforef{Autorevert,, emacs-xtra}, for details.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Autorevert, global-auto-revert-non-file-buffers}, for details.
|
||||
|
|
|
@ -323,7 +323,13 @@ method to conditionalize them.
|
|||
subprocesses; to work around this lack, @kbd{M-x compile} runs the
|
||||
compilation command synchronously on MS-DOS. As a consequence, you must
|
||||
wait until the command finishes before you can do anything else in
|
||||
Emacs. @xref{MS-DOS,,,emacs-xtra,Specialized Emacs Features}.
|
||||
Emacs.
|
||||
@iftex
|
||||
@inforef{MS-DOS,,emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{MS-DOS}.
|
||||
@end ifnottex
|
||||
|
||||
@node Grep Searching
|
||||
@section Searching with Grep under Emacs
|
||||
|
|
|
@ -26,8 +26,8 @@ the calendar, type @kbd{q}.
|
|||
|
||||
@iftex
|
||||
This chapter describes the basic calendar features.
|
||||
@xref{Advanced Calendar/Diary Usage,,, emacs-xtra, Specialized Emacs
|
||||
Features}, for information about more specialized features.
|
||||
@inforef{Advanced Calendar/Diary Usage,, emacs-xtra}, for information
|
||||
about more specialized features.
|
||||
@end iftex
|
||||
|
||||
@menu
|
||||
|
@ -451,8 +451,7 @@ calendar, use the @kbd{x} command. This displays the dates that are
|
|||
holidays in a different face (or places a @samp{*} after these dates, if
|
||||
display with multiple faces is not available).
|
||||
@iftex
|
||||
@xref{Calendar Customizing, calendar-holiday-marker,, emacs-xtra,
|
||||
Specialized Emacs Features}.
|
||||
@inforef{Calendar Customizing, calendar-holiday-marker, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Calendar Customizing, calendar-holiday-marker}.
|
||||
|
@ -998,11 +997,11 @@ it. You can also view today's events outside of Calendar mode.
|
|||
@table @kbd
|
||||
@item d
|
||||
Display all diary entries for the selected date
|
||||
(@code{view-diary-entries}).
|
||||
(@code{diary-view-entries}).
|
||||
@item Mouse-2 Diary
|
||||
Display all diary entries for the date you click on.
|
||||
@item s
|
||||
Display the entire diary file (@code{show-all-diary-entries}).
|
||||
Display the entire diary file (@code{diary-show-all-entries}).
|
||||
@item m
|
||||
Mark all visible dates that have diary entries
|
||||
(@code{mark-diary-entries}).
|
||||
|
@ -1017,7 +1016,7 @@ Mail yourself email reminders about upcoming diary entries.
|
|||
@end table
|
||||
|
||||
@kindex d @r{(Calendar mode)}
|
||||
@findex view-diary-entries
|
||||
@findex diary-view-entries
|
||||
@vindex view-diary-entries-initially
|
||||
Displaying the diary entries with @kbd{d} shows in a separate window
|
||||
the diary entries for the selected date in the calendar. The mode line
|
||||
|
@ -1042,8 +1041,7 @@ the @kbd{m} command. This displays the dates that have diary entries in
|
|||
a different face (or places a @samp{+} after these dates, if display
|
||||
with multiple faces is not available).
|
||||
@iftex
|
||||
@xref{Calendar Customizing, diary-entry-marker,, emacs-xtra,
|
||||
Specialized Emacs Features}.
|
||||
@inforef{Calendar Customizing, diary-entry-marker, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Calendar Customizing, diary-entry-marker}.
|
||||
|
@ -1056,7 +1054,7 @@ turns off holiday marks (@pxref{Holidays}). If the variable
|
|||
updating the calendar marks diary dates automatically.
|
||||
|
||||
@kindex s @r{(Calendar mode)}
|
||||
@findex show-all-diary-entries
|
||||
@findex diary-show-all-entries
|
||||
To see the full diary file, rather than just some of the entries, use
|
||||
the @kbd{s} command.
|
||||
|
||||
|
@ -1074,7 +1072,7 @@ date, independently of the calendar display, and optionally for the next
|
|||
few days as well; the variable @code{number-of-diary-entries} specifies
|
||||
how many days to include.
|
||||
@iftex
|
||||
@xref{Diary Customizing,,, emacs-xtra, Specialized Emacs Features}.
|
||||
@inforef{Diary Customizing,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Diary Customizing, number-of-diary-entries}.
|
||||
|
@ -1154,7 +1152,7 @@ additional lines or adding/deleting characters in the middle of a
|
|||
visible line cannot cause problems, but editing at the end of a line may
|
||||
not do what you expect. Deleting a line may delete other invisible
|
||||
entries that follow it. Before editing the diary, it is best to display
|
||||
the entire file with @kbd{s} (@code{show-all-diary-entries}).
|
||||
the entire file with @kbd{s} (@code{diary-show-all-entries}).
|
||||
|
||||
@node Date Formats
|
||||
@subsection Date Formats
|
||||
|
@ -1384,7 +1382,7 @@ specifying the name of a face or a single-character string to use when
|
|||
marking the entry in the calendar. Most generally, sexp diary entries
|
||||
can perform arbitrary computations to determine when they apply.
|
||||
@iftex
|
||||
@xref{Sexp Diary Entries,,, emacs-xtra, Specialized Emacs Features}.
|
||||
@inforef{Sexp Diary Entries,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@inforef{Sexp Diary Entries}.
|
||||
|
@ -1509,7 +1507,7 @@ and adds the results to an Emacs diary file. For example:
|
|||
You can use an @code{#include} directive to add the import file contents
|
||||
to the main diary file, if these are different files.
|
||||
@iftex
|
||||
@xref{Fancy Diary Display,,, emacs-xtra, Specialized Emacs Features}.
|
||||
@inforef{Fancy Diary Display,, emacs-xtra}.
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Fancy Diary Display}.
|
||||
|
|
|
@ -177,7 +177,7 @@ Visit a file with no conversion of the contents.
|
|||
|
||||
@cindex files, visiting and saving
|
||||
@cindex saving files
|
||||
@dfn{Visiting} a file means copying its contents into an Emacs
|
||||
@dfn{Visiting} a file means reading its contents into an Emacs
|
||||
buffer so you can edit them. Emacs makes a new buffer for each file
|
||||
that you visit. We often say that this buffer ``is visiting'' that
|
||||
file, or that the buffer's ``visited file'' is that file. Emacs
|
||||
|
|
706
man/gnus.texi
706
man/gnus.texi
|
@ -926,11 +926,17 @@ Emacs for Heathens
|
|||
@chapter Starting Gnus
|
||||
@cindex starting up
|
||||
|
||||
If you are haven't used Emacs much before using Gnus, read @ref{Emacs
|
||||
for Heathens} first.
|
||||
|
||||
@kindex M-x gnus
|
||||
@findex gnus
|
||||
If your system administrator has set things up properly, starting Gnus
|
||||
and reading news is extremely easy---you just type @kbd{M-x gnus} in
|
||||
your Emacs.
|
||||
your Emacs. If not, you should customize the variable
|
||||
@code{gnus-select-method} as described in @ref{Finding the News}. For a
|
||||
minimal setup for posting should also customize the variables
|
||||
@code{user-full-name} and @code{user-mail-address}.
|
||||
|
||||
@findex gnus-other-frame
|
||||
@kindex M-x gnus-other-frame
|
||||
|
@ -1704,6 +1710,15 @@ long as Gnus is active.
|
|||
* Group Highlighting:: Having nice colors in the group buffer.
|
||||
@end menu
|
||||
|
||||
You can customize the Group Mode tool bar, see @kbd{M-x
|
||||
customize-apropos RET gnus-group-tool-bar}. This feature is only
|
||||
available in Emacs.
|
||||
|
||||
The tool bar icons are now (de)activated correctly depending on the
|
||||
cursor position. Therefore, moving around in the Group Buffer is
|
||||
slower. You can disable this via the variable
|
||||
@code{gnus-group-update-tool-bar}. Its default value depends on your
|
||||
Emacs version.
|
||||
|
||||
@node Group Line Specification
|
||||
@subsection Group Line Specification
|
||||
|
@ -4447,6 +4462,10 @@ group buffer (@pxref{Selecting a Group}).
|
|||
|
||||
You can have as many summary buffers open as you wish.
|
||||
|
||||
You can customize the Summary Mode tool bar, see @kbd{M-x
|
||||
customize-apropos RET gnus-summary-tool-bar}. This feature is only
|
||||
available in Emacs.
|
||||
|
||||
@kindex v (Summary)
|
||||
@cindex keys, reserved for users (Summary)
|
||||
The key @kbd{v} is reserved for users. You can bind it key to some
|
||||
|
@ -11986,7 +12005,8 @@ So here's a new example:
|
|||
The @samp{nnml:.*} rule means that you use the @code{To} address as the
|
||||
@code{From} address in all your outgoing replies, which might be handy
|
||||
if you fill many roles.
|
||||
|
||||
You may also use @code{message-alternative-emails} instead.
|
||||
@xref{Message Headers, ,Message Headers, message, Message Manual}.
|
||||
|
||||
@node Drafts
|
||||
@section Drafts
|
||||
|
@ -26006,23 +26026,10 @@ New features in Gnus 5.10:
|
|||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
@kbd{F} (@code{gnus-article-followup-with-original}) and @kbd{R}
|
||||
(@code{gnus-article-reply-with-original}) only yank the text in the
|
||||
region if the region is active.
|
||||
|
||||
@item
|
||||
@code{gnus-group-read-ephemeral-group} can be called interactively,
|
||||
using @kbd{G M}.
|
||||
|
||||
@item
|
||||
In draft groups, @kbd{e} is now bound to @code{gnus-draft-edit-message}.
|
||||
Use @kbd{B w} for @code{gnus-summary-edit-article} instead.
|
||||
|
||||
@item
|
||||
The revised Gnus @acronym{FAQ} is included in the manual,
|
||||
@xref{Frequently Asked Questions}.
|
||||
@item Installation changes
|
||||
@c ***********************
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Upgrading from previous (stable) version if you have used Oort.
|
||||
|
||||
|
@ -26035,6 +26042,167 @@ read from your @file{.newsrc.eld} instead of from the
|
|||
later entry for more information about marks. Note that downgrading
|
||||
isn't save in general.
|
||||
|
||||
@item
|
||||
New @file{make.bat} for compiling and installing Gnus under MS Windows
|
||||
|
||||
Use @file{make.bat} if you want to install Gnus under MS Windows, the
|
||||
first argument to the batch-program should be the directory where
|
||||
@file{xemacs.exe} respectively @file{emacs.exe} is located, iff you want
|
||||
to install Gnus after compiling it, give @file{make.bat} @code{/copy} as
|
||||
the second parameter.
|
||||
|
||||
@file{make.bat} has been rewritten from scratch, it now features
|
||||
automatic recognition of XEmacs and GNU Emacs, generates
|
||||
@file{gnus-load.el}, checks if errors occur while compilation and
|
||||
generation of info files and reports them at the end of the build
|
||||
process. It now uses @code{makeinfo} if it is available and falls
|
||||
back to @file{infohack.el} otherwise. @file{make.bat} should now
|
||||
install all files which are necessary to run Gnus and be generally a
|
||||
complete replacement for the @code{configure; make; make install}
|
||||
cycle used under Unix systems.
|
||||
|
||||
The new @file{make.bat} makes @file{make-x.bat} and @file{xemacs.mak}
|
||||
superfluous, so they have been removed.
|
||||
|
||||
@item
|
||||
@file{~/News/overview/} not used.
|
||||
|
||||
As a result of the following change, the @file{~/News/overview/}
|
||||
directory is not used any more. You can safely delete the entire
|
||||
hierarchy.
|
||||
|
||||
@c FIXME: `gnus-load' is mentioned in README, which is not included in
|
||||
@c CVS. We should find a better place for this item.
|
||||
@item
|
||||
@code{(require 'gnus-load)}
|
||||
|
||||
If you use a stand-alone Gnus distribution, you'd better add
|
||||
@code{(require 'gnus-load)} into your @file{~/.emacs} after adding the Gnus
|
||||
lisp directory into load-path.
|
||||
|
||||
File @file{gnus-load.el} contains autoload commands, functions and variables,
|
||||
some of which may not be included in distributions of Emacsen.
|
||||
|
||||
@end itemize
|
||||
|
||||
@item New packages and libraries within Gnus
|
||||
@c *****************************************
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
The revised Gnus @acronym{FAQ} is included in the manual,
|
||||
@xref{Frequently Asked Questions}.
|
||||
|
||||
@item
|
||||
@acronym{TLS} wrapper shipped with Gnus
|
||||
|
||||
@acronym{TLS}/@acronym{SSL} is now supported in @acronym{IMAP} and
|
||||
@acronym{NNTP} via @file{tls.el} and GNUTLS. The old
|
||||
@acronym{TLS}/@acronym{SSL} support via (external third party)
|
||||
@file{ssl.el} and OpenSSL still works.
|
||||
|
||||
@item
|
||||
Improved anti-spam features.
|
||||
|
||||
Gnus is now able to take out spam from your mail and news streams
|
||||
using a wide variety of programs and filter rules. Among the supported
|
||||
methods are RBL blocklists, bogofilter and white/blacklists. Hooks
|
||||
for easy use of external packages such as SpamAssassin and Hashcash
|
||||
are also new. @xref{Thwarting Email Spam}.
|
||||
@c FIXME: @xref{Spam Package}?. Should this be under Misc?
|
||||
|
||||
@item
|
||||
Gnus supports server-side mail filtering using Sieve.
|
||||
|
||||
Sieve rules can be added as Group Parameters for groups, and the
|
||||
complete Sieve script is generated using @kbd{D g} from the Group
|
||||
buffer, and then uploaded to the server using @kbd{C-c C-l} in the
|
||||
generated Sieve buffer. @xref{Sieve Commands}, and the new Sieve
|
||||
manual @ref{Top, , Top, sieve, Emacs Sieve}.
|
||||
|
||||
@end itemize
|
||||
|
||||
@item Changes in group mode
|
||||
@c ************************
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
@code{gnus-group-read-ephemeral-group} can be called interactively,
|
||||
using @kbd{G M}.
|
||||
|
||||
@item
|
||||
Retrieval of charters and control messages
|
||||
|
||||
There are new commands for fetching newsgroup charters (@kbd{H c}) and
|
||||
control messages (@kbd{H C}).
|
||||
|
||||
@item
|
||||
The new variable @code{gnus-parameters} can be used to set group parameters.
|
||||
|
||||
Earlier this was done only via @kbd{G p} (or @kbd{G c}), which stored
|
||||
the parameters in @file{~/.newsrc.eld}, but via this variable you can
|
||||
enjoy the powers of customize, and simplified backups since you set the
|
||||
variable in @file{~/.gnus.el} instead of @file{~/.newsrc.eld}. The
|
||||
variable maps regular expressions matching group names to group
|
||||
parameters, a'la:
|
||||
@lisp
|
||||
(setq gnus-parameters
|
||||
'(("mail\\..*"
|
||||
(gnus-show-threads nil)
|
||||
(gnus-use-scoring nil))
|
||||
("^nnimap:\\(foo.bar\\)$"
|
||||
(to-group . "\\1"))))
|
||||
@end lisp
|
||||
|
||||
@item
|
||||
Unread count correct in nnimap groups.
|
||||
|
||||
The estimated number of unread articles in the group buffer should now
|
||||
be correct for nnimap groups. This is achieved by calling
|
||||
@code{nnimap-fixup-unread-after-getting-new-news} from the
|
||||
@code{gnus-setup-news-hook} (called on startup) and
|
||||
@code{gnus-after-getting-new-news-hook}. (called after getting new
|
||||
mail). If you have modified those variables from the default, you may
|
||||
want to add @code{nnimap-fixup-unread-after-getting-new-news} again. If
|
||||
you were happy with the estimate and want to save some (minimal) time
|
||||
when getting new mail, remove the function.
|
||||
|
||||
@item
|
||||
Group names are treated as UTF-8 by default.
|
||||
|
||||
This is supposedly what USEFOR wanted to migrate to. See
|
||||
@code{gnus-group-name-charset-group-alist} and
|
||||
@code{gnus-group-name-charset-method-alist} for customization.
|
||||
|
||||
@item
|
||||
@code{gnus-group-charset-alist} and
|
||||
@code{gnus-group-ignored-charsets-alist}.
|
||||
|
||||
The regexps in these variables are compared with full group names
|
||||
instead of real group names in 5.8. Users who customize these
|
||||
variables should change those regexps accordingly. For example:
|
||||
@lisp
|
||||
("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr)
|
||||
@end lisp
|
||||
|
||||
@end itemize
|
||||
|
||||
@item Changes in summary and article mode
|
||||
@c **************************************
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
@kbd{F} (@code{gnus-article-followup-with-original}) and @kbd{R}
|
||||
(@code{gnus-article-reply-with-original}) only yank the text in the
|
||||
region if the region is active.
|
||||
|
||||
@item
|
||||
In draft groups, @kbd{e} is now bound to @code{gnus-draft-edit-message}.
|
||||
Use @kbd{B w} for @code{gnus-summary-edit-article} instead.
|
||||
|
||||
@item
|
||||
Article Buttons
|
||||
|
||||
|
@ -26043,17 +26211,6 @@ pages and Emacs or Gnus related references. @xref{Article Buttons}. The
|
|||
variables @code{gnus-button-@var{*}-level} can be used to control the
|
||||
appearance of all article buttons. @xref{Article Button Levels}.
|
||||
|
||||
@item
|
||||
Dired integration
|
||||
|
||||
@code{gnus-dired-minor-mode} (see @ref{Other modes}) installs key
|
||||
bindings in dired buffers to send a file as an attachment, open a file
|
||||
using the appropriate mailcap entry, and print a file using the mailcap
|
||||
entry.
|
||||
|
||||
@item
|
||||
Gnus can display RSS newsfeeds as a newsgroup. @xref{RSS}.
|
||||
|
||||
@item
|
||||
Single-part yenc encoded attachments can be decoded.
|
||||
|
||||
|
@ -26071,27 +26228,6 @@ newsgroups, which can be displayed in the Article buffer.
|
|||
If the new option @code{gnus-treat-body-boundary} is non-@code{nil}, a
|
||||
boundary line is drawn at the end of the headers.
|
||||
|
||||
@item
|
||||
Retrieval of charters and control messages
|
||||
|
||||
There are new commands for fetching newsgroup charters (@kbd{H c}) and
|
||||
control messages (@kbd{H C}).
|
||||
|
||||
@item
|
||||
Delayed articles
|
||||
|
||||
You can delay the sending of a message with @kbd{C-c C-j} in the Message
|
||||
buffer. The messages are delivered at specified time. This is useful
|
||||
for sending yourself reminders. @xref{Delayed Articles}.
|
||||
|
||||
@item
|
||||
If @code{auto-compression-mode} is enabled, attachments are automatically
|
||||
decompressed when activated.
|
||||
|
||||
@item
|
||||
If the new option @code{nnml-use-compressed-files} is non-@code{nil},
|
||||
the nnml back end allows compressed message files.
|
||||
|
||||
@item
|
||||
Signed article headers (X-PGP-Sig) can be verified with @kbd{W p}.
|
||||
|
||||
|
@ -26115,13 +26251,6 @@ built.
|
|||
The new @code{recent} mark @samp{.} indicates newly arrived messages (as
|
||||
opposed to old but unread messages).
|
||||
|
||||
@item
|
||||
The new option @code{gnus-gcc-mark-as-read} automatically marks
|
||||
Gcc articles as read.
|
||||
|
||||
@item
|
||||
The nndoc back end now supports mailman digests and exim bounces.
|
||||
|
||||
@item
|
||||
Gnus supports RFC 2369 mailing list headers, and adds a number of
|
||||
related commands in mailing list groups. @xref{Mailing List}.
|
||||
|
@ -26130,54 +26259,10 @@ related commands in mailing list groups. @xref{Mailing List}.
|
|||
The Date header can be displayed in a format that can be read aloud
|
||||
in English. @xref{Article Date}.
|
||||
|
||||
@item
|
||||
The envelope sender address can be customized when using Sendmail.
|
||||
@xref{Mail Variables, Mail Variables,, message, Message Manual}.
|
||||
|
||||
@item
|
||||
diffs are automatically highlighted in groups matching
|
||||
@code{mm-uu-diff-groups-regexp}
|
||||
|
||||
@item
|
||||
@acronym{TLS} wrapper shipped with Gnus
|
||||
|
||||
@acronym{TLS}/@acronym{SSL} is now supported in @acronym{IMAP} and
|
||||
@acronym{NNTP} via @file{tls.el} and GNUTLS. The old
|
||||
@acronym{TLS}/@acronym{SSL} support via (external third party)
|
||||
@file{ssl.el} and OpenSSL still works.
|
||||
|
||||
@item
|
||||
New @file{make.bat} for compiling and installing Gnus under MS Windows
|
||||
|
||||
Use @file{make.bat} if you want to install Gnus under MS Windows, the
|
||||
first argument to the batch-program should be the directory where
|
||||
@file{xemacs.exe} respectively @file{emacs.exe} is located, iff you want
|
||||
to install Gnus after compiling it, give @file{make.bat} @code{/copy} as
|
||||
the second parameter.
|
||||
|
||||
@file{make.bat} has been rewritten from scratch, it now features
|
||||
automatic recognition of XEmacs and GNU Emacs, generates
|
||||
@file{gnus-load.el}, checks if errors occur while compilation and
|
||||
generation of info files and reports them at the end of the build
|
||||
process. It now uses @code{makeinfo} if it is available and falls
|
||||
back to @file{infohack.el} otherwise. @file{make.bat} should now
|
||||
install all files which are necessary to run Gnus and be generally a
|
||||
complete replacement for the @code{configure; make; make install}
|
||||
cycle used under Unix systems.
|
||||
|
||||
The new @file{make.bat} makes @file{make-x.bat} superfluous, so it has
|
||||
been removed.
|
||||
|
||||
@item
|
||||
Support for non-@acronym{ASCII} domain names
|
||||
|
||||
Message supports non-@acronym{ASCII} domain names in From:, To: and
|
||||
Cc: and will query you whether to perform encoding when you try to
|
||||
send a message. The variable @code{message-use-idna} controls this.
|
||||
Gnus will also decode non-@acronym{ASCII} domain names in From:, To:
|
||||
and Cc: when you view a message. The variable @code{gnus-use-idna}
|
||||
controls this.
|
||||
|
||||
@item
|
||||
Better handling of Microsoft citation styles
|
||||
|
||||
|
@ -26187,6 +26272,10 @@ though it is not quoted in any way. The variable
|
|||
@code{gnus-cite-unsightly-citation-regexp} matches the start of these
|
||||
citations.
|
||||
|
||||
The new command @kbd{W Y f}
|
||||
(@code{gnus-article-outlook-deuglify-article}) allows deuglifying broken
|
||||
Outlook (Express) articles.
|
||||
|
||||
@item
|
||||
@code{gnus-article-skip-boring}
|
||||
|
||||
|
@ -26200,32 +26289,118 @@ consist of a little new content at the top with a long, untrimmed
|
|||
message cited below.
|
||||
|
||||
@item
|
||||
The format spec @code{%C} for positioning point has changed to @code{%*}.
|
||||
|
||||
@item
|
||||
The new variable @code{gnus-parameters} can be used to set group parameters.
|
||||
|
||||
Earlier this was done only via @kbd{G p} (or @kbd{G c}), which stored
|
||||
the parameters in @file{~/.newsrc.eld}, but via this variable you can
|
||||
enjoy the powers of customize, and simplified backups since you set the
|
||||
variable in @file{~/.gnus.el} instead of @file{~/.newsrc.eld}. The
|
||||
variable maps regular expressions matching group names to group
|
||||
parameters, a'la:
|
||||
@lisp
|
||||
(setq gnus-parameters
|
||||
'(("mail\\..*"
|
||||
(gnus-show-threads nil)
|
||||
(gnus-use-scoring nil))
|
||||
("^nnimap:\\(foo.bar\\)$"
|
||||
(to-group . "\\1"))))
|
||||
@end lisp
|
||||
|
||||
@item
|
||||
Smileys (@samp{:-)}, @samp{;-)} etc) are now iconized for Emacs too.
|
||||
Smileys (@samp{:-)}, @samp{;-)} etc) are now displayed graphically in
|
||||
Emacs too.
|
||||
|
||||
Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.gnus.el} to
|
||||
disable it.
|
||||
|
||||
@item
|
||||
Face headers handling. @xref{Face}.
|
||||
|
||||
@item
|
||||
In the summary buffer, the new command @kbd{/ N} inserts new messages
|
||||
and @kbd{/ o} inserts old messages.
|
||||
|
||||
@item
|
||||
Gnus decodes morse encoded messages if you press @kbd{W m}.
|
||||
|
||||
@item
|
||||
@code{gnus-summary-line-format}
|
||||
|
||||
The default value changed to @samp{%U%R%z%I%(%[%4L: %-23,23f%]%)
|
||||
%s\n}. Moreover @code{gnus-extra-headers},
|
||||
@code{nnmail-extra-headers} and @code{gnus-ignored-from-addresses}
|
||||
changed their default so that the users name will be replaced by the
|
||||
recipient's name or the group name posting to for @acronym{NNTP}
|
||||
groups.
|
||||
|
||||
@item
|
||||
Deleting of attachments.
|
||||
|
||||
The command @code{gnus-mime-save-part-and-strip} (bound to @kbd{C-o}
|
||||
on @acronym{MIME} buttons) saves a part and replaces the part with an
|
||||
external one. @code{gnus-mime-delete-part} (bound to @kbd{d} on
|
||||
@acronym{MIME} buttons) removes a part. It works only on back ends
|
||||
that support editing.
|
||||
|
||||
@item
|
||||
@code{gnus-default-charset}
|
||||
|
||||
The default value is determined from the
|
||||
@code{current-language-environment} variable, instead of
|
||||
@code{iso-8859-1}. Also the @samp{.*} item in
|
||||
@code{gnus-group-charset-alist} is removed.
|
||||
|
||||
@item
|
||||
Printing capabilities are enhanced.
|
||||
|
||||
Gnus supports Muttprint natively with @kbd{O P} from the Summary and
|
||||
Article buffers. Also, each individual @acronym{MIME} part can be
|
||||
printed using @kbd{p} on the @acronym{MIME} button.
|
||||
|
||||
@item
|
||||
Extended format specs.
|
||||
|
||||
Format spec @samp{%&user-date;} is added into
|
||||
@code{gnus-summary-line-format-alist}. Also, user defined extended
|
||||
format specs are supported. The extended format specs look like
|
||||
@samp{%u&foo;}, which invokes function
|
||||
@code{gnus-user-format-function-@var{foo}}. Because @samp{&} is used as the
|
||||
escape character, old user defined format @samp{%u&} is no longer supported.
|
||||
|
||||
@item
|
||||
@kbd{/ *} (@code{gnus-summary-limit-include-cached}) is rewritten.
|
||||
@c FIXME: Was this a user-visible change?
|
||||
|
||||
It was aliased to @kbd{Y c}
|
||||
(@code{gnus-summary-insert-cached-articles}). The new function filters
|
||||
out other articles.
|
||||
|
||||
@item
|
||||
Some limiting commands accept a @kbd{C-u} prefix to negate the match.
|
||||
|
||||
If @kbd{C-u} is used on subject, author or extra headers, i.e., @kbd{/
|
||||
s}, @kbd{/ a}, and @kbd{/ x}
|
||||
(@code{gnus-summary-limit-to-@{subject,author,extra@}}) respectively, the
|
||||
result will be to display all articles that do not match the expression.
|
||||
|
||||
@item
|
||||
Gnus inlines external parts (message/external).
|
||||
|
||||
@end itemize
|
||||
|
||||
@item Changes in Message mode and related Gnus features
|
||||
@c ****************************************************
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
Delayed articles
|
||||
|
||||
You can delay the sending of a message with @kbd{C-c C-j} in the Message
|
||||
buffer. The messages are delivered at specified time. This is useful
|
||||
for sending yourself reminders. @xref{Delayed Articles}.
|
||||
|
||||
@item
|
||||
If the new option @code{nnml-use-compressed-files} is non-@code{nil},
|
||||
the nnml back end allows compressed message files.
|
||||
|
||||
@item
|
||||
The new option @code{gnus-gcc-mark-as-read} automatically marks
|
||||
Gcc articles as read.
|
||||
|
||||
@item
|
||||
Externalizing of attachments
|
||||
|
||||
If @code{gnus-gcc-externalize-attachments} or
|
||||
@code{message-fcc-externalize-attachments} is non-@code{nil}, attach
|
||||
local files as external parts.
|
||||
|
||||
@item
|
||||
The envelope sender address can be customized when using Sendmail.
|
||||
@xref{Mail Variables, Mail Variables,, message, Message Manual}.
|
||||
|
||||
@item
|
||||
Gnus no longer generate the Sender: header automatically.
|
||||
|
||||
|
@ -26255,39 +26430,7 @@ start composing messages and @code{message-generate-headers-first} is
|
|||
@code{nil}.
|
||||
|
||||
@item
|
||||
Improved anti-spam features.
|
||||
|
||||
Gnus is now able to take out spam from your mail and news streams
|
||||
using a wide variety of programs and filter rules. Among the supported
|
||||
methods are RBL blocklists, bogofilter and white/blacklists. Hooks
|
||||
for easy use of external packages such as SpamAssassin and Hashcash
|
||||
are also new. @xref{Thwarting Email Spam}.
|
||||
|
||||
@item
|
||||
Easy inclusion of X-Faces headers.
|
||||
|
||||
@item
|
||||
Face headers handling.
|
||||
|
||||
@item
|
||||
In the summary buffer, the new command @kbd{/ N} inserts new messages
|
||||
and @kbd{/ o} inserts old messages.
|
||||
|
||||
@item
|
||||
Gnus decodes morse encoded messages if you press @kbd{W m}.
|
||||
|
||||
@item
|
||||
Unread count correct in nnimap groups.
|
||||
|
||||
The estimated number of unread articles in the group buffer should now
|
||||
be correct for nnimap groups. This is achieved by calling
|
||||
@code{nnimap-fixup-unread-after-getting-new-news} from the
|
||||
@code{gnus-setup-news-hook} (called on startup) and
|
||||
@code{gnus-after-getting-new-news-hook}. (called after getting new
|
||||
mail). If you have modified those variables from the default, you may
|
||||
want to add @code{nnimap-fixup-unread-after-getting-new-news} again. If
|
||||
you were happy with the estimate and want to save some (minimal) time
|
||||
when getting new mail, remove the function.
|
||||
Easy inclusion of X-Faces headers. @xref{X-Face}.
|
||||
|
||||
@item
|
||||
Group Carbon Copy (GCC) quoting
|
||||
|
@ -26303,64 +26446,6 @@ incorrectly. Note that returning the string @samp{nnml:foo, nnml:bar}
|
|||
was incorrect earlier, it just didn't generate any problems since it
|
||||
was inserted directly.
|
||||
|
||||
@item
|
||||
@file{~/News/overview/} not used.
|
||||
|
||||
As a result of the following change, the @file{~/News/overview/}
|
||||
directory is not used any more. You can safely delete the entire
|
||||
hierarchy.
|
||||
|
||||
@item
|
||||
@code{gnus-agent}
|
||||
|
||||
The Gnus Agent has seen a major updated and is now enabled by default,
|
||||
and all nntp and nnimap servers from @code{gnus-select-method} and
|
||||
@code{gnus-secondary-select-method} are agentized by default. Earlier
|
||||
only the server in @code{gnus-select-method} was agentized by the
|
||||
default, and the agent was disabled by default. When the agent is
|
||||
enabled, headers are now also retrieved from the Agent cache instead
|
||||
of the back ends when possible. Earlier this only happened in the
|
||||
unplugged state. You can enroll or remove servers with @kbd{J a} and
|
||||
@kbd{J r} in the server buffer. Gnus will not download articles into
|
||||
the Agent cache, unless you instruct it to do so, though, by using
|
||||
@kbd{J u} or @kbd{J s} from the Group buffer. You revert to the old
|
||||
behavior of having the Agent disabled with @code{(setq gnus-agent
|
||||
nil)}. Note that putting @code{(gnus-agentize)} in @file{~/.gnus.el}
|
||||
is not needed any more.
|
||||
|
||||
@item
|
||||
@code{gnus-summary-line-format}
|
||||
|
||||
The default value changed to @samp{%U%R%z%I%(%[%4L: %-23,23f%]%)
|
||||
%s\n}. Moreover @code{gnus-extra-headers},
|
||||
@code{nnmail-extra-headers} and @code{gnus-ignored-from-addresses}
|
||||
changed their default so that the users name will be replaced by the
|
||||
recipient's name or the group name posting to for @acronym{NNTP}
|
||||
groups.
|
||||
|
||||
@item
|
||||
@file{deuglify.el} (@code{gnus-article-outlook-deuglify-article})
|
||||
|
||||
A new file from Raymond Scholz @email{rscholz@@zonix.de} for deuglifying
|
||||
broken Outlook (Express) articles.
|
||||
|
||||
@c FIXME: `gnus-load' is mentioned in README, which is not included in
|
||||
@c CVS. We should find a better place for this item.
|
||||
@item
|
||||
@code{(require 'gnus-load)}
|
||||
|
||||
If you use a stand-alone Gnus distribution, you'd better add
|
||||
@code{(require 'gnus-load)} into your @file{~/.emacs} after adding the Gnus
|
||||
lisp directory into load-path.
|
||||
|
||||
File @file{gnus-load.el} contains autoload commands, functions and variables,
|
||||
some of which may not be included in distributions of Emacsen.
|
||||
|
||||
@item
|
||||
@code{gnus-slave-unplugged}
|
||||
|
||||
A new command which starts Gnus offline in slave mode.
|
||||
|
||||
@item
|
||||
@code{message-insinuate-rmail}
|
||||
|
||||
|
@ -26378,27 +26463,6 @@ The line below enables BBDB in resending a message:
|
|||
'bbdb-complete-name)
|
||||
@end lisp
|
||||
|
||||
@item
|
||||
Externalizing and deleting of attachments.
|
||||
|
||||
If @code{gnus-gcc-externalize-attachments} or
|
||||
@code{message-fcc-externalize-attachments} is non-@code{nil}, attach
|
||||
local files as external parts.
|
||||
|
||||
The command @code{gnus-mime-save-part-and-strip} (bound to @kbd{C-o}
|
||||
on @acronym{MIME} buttons) saves a part and replaces the part with an
|
||||
external one. @code{gnus-mime-delete-part} (bound to @kbd{d} on
|
||||
@acronym{MIME} buttons) removes a part. It works only on back ends
|
||||
that support editing.
|
||||
|
||||
@item
|
||||
@code{gnus-default-charset}
|
||||
|
||||
The default value is determined from the
|
||||
@code{current-language-environment} variable, instead of
|
||||
@code{iso-8859-1}. Also the @samp{.*} item in
|
||||
@code{gnus-group-charset-alist} is removed.
|
||||
|
||||
@item
|
||||
@code{gnus-posting-styles}
|
||||
|
||||
|
@ -26420,13 +26484,6 @@ The old format like the lines below is obsolete, but still accepted.
|
|||
added into these two variables. If you customized those, perhaps you
|
||||
need add those two headers too.
|
||||
|
||||
@item
|
||||
Gnus reads the @acronym{NOV} and articles in the Agent if plugged.
|
||||
|
||||
If one reads an article while plugged, and the article already exists
|
||||
in the Agent, it won't get downloaded once more. @code{(setq
|
||||
gnus-agent-cache nil)} reverts to the old behavior.
|
||||
|
||||
@item
|
||||
Gnus supports the ``format=flowed'' (RFC 2646) parameter. On
|
||||
composing messages, it is enabled by @code{use-hard-newlines}.
|
||||
|
@ -26443,18 +26500,6 @@ Gnus supports the generation of RFC 2298 Disposition Notification requests.
|
|||
|
||||
This is invoked with the @kbd{C-c M-n} key binding from message mode.
|
||||
|
||||
@item
|
||||
Gnus supports Maildir groups.
|
||||
|
||||
Gnus includes a new back end @file{nnmaildir.el}. @xref{Maildir}.
|
||||
|
||||
@item
|
||||
Printing capabilities are enhanced.
|
||||
|
||||
Gnus supports Muttprint natively with @kbd{O P} from the Summary and
|
||||
Article buffers. Also, each individual @acronym{MIME} part can be
|
||||
printed using @kbd{p} on the @acronym{MIME} button.
|
||||
|
||||
@item
|
||||
Message supports the Importance: (RFC 2156) header.
|
||||
|
||||
|
@ -26474,45 +26519,66 @@ will not allow anyone to be able to anything she could not already do.
|
|||
The behavior can be changed by customizing @code{message-insert-canlock}.
|
||||
|
||||
@item
|
||||
Gnus supports server-side mail filtering using Sieve.
|
||||
Gnus supports @acronym{PGP} (RFC 1991/2440), @acronym{PGP/MIME} (RFC
|
||||
2015/3156) and @acronym{S/MIME} (RFC 2630-2633).
|
||||
|
||||
Sieve rules can be added as Group Parameters for groups, and the
|
||||
complete Sieve script is generated using @kbd{D g} from the Group
|
||||
buffer, and then uploaded to the server using @kbd{C-c C-l} in the
|
||||
generated Sieve buffer. @xref{Sieve Commands}, and the new Sieve
|
||||
manual @ref{Top, , Top, sieve, Emacs Sieve}.
|
||||
It needs an external @acronym{S/MIME} and OpenPGP implementation, but no
|
||||
additional Lisp libraries. This add several menu items to the
|
||||
Attachments menu, and @kbd{C-c RET} key bindings, when composing
|
||||
messages. This also obsoletes @code{gnus-article-hide-pgp-hook}.
|
||||
|
||||
@item
|
||||
Extended format specs.
|
||||
@acronym{MML} (Mime compose) prefix changed from @kbd{M-m} to @kbd{C-c
|
||||
C-m}.
|
||||
|
||||
Format spec @samp{%&user-date;} is added into
|
||||
@code{gnus-summary-line-format-alist}. Also, user defined extended
|
||||
format specs are supported. The extended format specs look like
|
||||
@samp{%u&foo;}, which invokes function
|
||||
@code{gnus-user-format-function-@var{foo}}. Because @samp{&} is used as the
|
||||
escape character, old user defined format @samp{%u&} is no longer supported.
|
||||
This change was made to avoid conflict with the standard binding of
|
||||
@code{back-to-indentation}, which is also useful in message mode.
|
||||
|
||||
@item
|
||||
@kbd{/ *} (@code{gnus-summary-limit-include-cached}) is rewritten.
|
||||
The default for @code{message-forward-show-mml} changed to the symbol
|
||||
@code{best}.
|
||||
|
||||
It was aliased to @kbd{Y c}
|
||||
(@code{gnus-summary-insert-cached-articles}). The new function filters
|
||||
out other articles.
|
||||
The behavior for the @code{best} value is to show @acronym{MML} (i.e.,
|
||||
convert to @acronym{MIME}) when appropriate. @acronym{MML} will not be
|
||||
used when forwarding signed or encrypted messages, as the conversion
|
||||
invalidate the digital signature.
|
||||
|
||||
@item
|
||||
Some limiting commands accept a @kbd{C-u} prefix to negate the match.
|
||||
|
||||
If @kbd{C-u} is used on subject, author or extra headers, i.e., @kbd{/
|
||||
s}, @kbd{/ a}, and @kbd{/ x}
|
||||
(@code{gnus-summary-limit-to-@{subject,author,extra@}}) respectively, the
|
||||
result will be to display all articles that do not match the expression.
|
||||
If @code{auto-compression-mode} is enabled, attachments are automatically
|
||||
decompressed when activated.
|
||||
@c FIXME: Does this affect article or message mode?
|
||||
|
||||
@item
|
||||
Group names are treated as UTF-8 by default.
|
||||
Support for non-@acronym{ASCII} domain names
|
||||
|
||||
This is supposedly what USEFOR wanted to migrate to. See
|
||||
@code{gnus-group-name-charset-group-alist} and
|
||||
@code{gnus-group-name-charset-method-alist} for customization.
|
||||
Message supports non-@acronym{ASCII} domain names in From:, To: and
|
||||
Cc: and will query you whether to perform encoding when you try to
|
||||
send a message. The variable @code{message-use-idna} controls this.
|
||||
Gnus will also decode non-@acronym{ASCII} domain names in From:, To:
|
||||
and Cc: when you view a message. The variable @code{gnus-use-idna}
|
||||
controls this.
|
||||
|
||||
@item You can now drag and drop attachments to the Message buffer.
|
||||
See @code{mml-dnd-protocol-alist} and @code{mml-dnd-attach-options}.
|
||||
@xref{MIME, ,MIME, message, Message Manual}.
|
||||
@c New in 5.10.9 / 5.11
|
||||
|
||||
@end itemize
|
||||
|
||||
@item Changes in back ends
|
||||
@c ***********************
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Gnus can display RSS newsfeeds as a newsgroup. @xref{RSS}.
|
||||
|
||||
@item
|
||||
The nndoc back end now supports mailman digests and exim bounces.
|
||||
|
||||
@item
|
||||
Gnus supports Maildir groups.
|
||||
|
||||
Gnus includes a new back end @file{nnmaildir.el}. @xref{Maildir}.
|
||||
|
||||
@item
|
||||
The nnml and nnfolder back ends store marks for each groups.
|
||||
|
@ -26529,6 +26595,13 @@ another machine, Gnus will automatically use the @file{.marks} or
|
|||
The new server variables @code{nnml-marks-is-evil} and
|
||||
@code{nnfolder-marks-is-evil} can be used to disable this feature.
|
||||
|
||||
@end itemize
|
||||
|
||||
@item Appearance
|
||||
@c *************
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
The menu bar item (in Group and Summary buffer) named ``Misc'' has
|
||||
been renamed to ``Gnus''.
|
||||
|
@ -26540,42 +26613,65 @@ related stuff, like signing and encryption (@pxref{Security, Security,,
|
|||
message, Message Manual}).
|
||||
|
||||
@item
|
||||
@code{gnus-group-charset-alist} and
|
||||
@code{gnus-group-ignored-charsets-alist}.
|
||||
The tool bars have been updated to use GNOME icons in Group, Summary and
|
||||
Message mode. You can also customize the tool bars. This is a new
|
||||
feature in Gnus 5.10.9. (Only for Emacs, not in XEmacs.)
|
||||
|
||||
The regexps in these variables are compared with full group names
|
||||
instead of real group names in 5.8. Users who customize these
|
||||
variables should change those regexps accordingly. For example:
|
||||
@lisp
|
||||
("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr)
|
||||
@end lisp
|
||||
@item The tool bar icons are now (de)activated correctly
|
||||
in the group buffer, see the variable @code{gnus-group-update-tool-bar}.
|
||||
Its default value depends on your Emacs version. This is a new feature
|
||||
in Gnus 5.10.9.
|
||||
@end itemize
|
||||
|
||||
|
||||
@item Miscellaneous changes
|
||||
@c ************************
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item
|
||||
Gnus supports @acronym{PGP} (RFC 1991/2440), @acronym{PGP/MIME} (RFC
|
||||
2015/3156) and @acronym{S/MIME} (RFC 2630-2633).
|
||||
@code{gnus-agent}
|
||||
|
||||
It needs an external @acronym{S/MIME} and OpenPGP implementation, but no
|
||||
additional Lisp libraries. This add several menu items to the
|
||||
Attachments menu, and @kbd{C-c RET} key bindings, when composing
|
||||
messages. This also obsoletes @code{gnus-article-hide-pgp-hook}.
|
||||
The Gnus Agent has seen a major updated and is now enabled by default,
|
||||
and all nntp and nnimap servers from @code{gnus-select-method} and
|
||||
@code{gnus-secondary-select-method} are agentized by default. Earlier
|
||||
only the server in @code{gnus-select-method} was agentized by the
|
||||
default, and the agent was disabled by default. When the agent is
|
||||
enabled, headers are now also retrieved from the Agent cache instead
|
||||
of the back ends when possible. Earlier this only happened in the
|
||||
unplugged state. You can enroll or remove servers with @kbd{J a} and
|
||||
@kbd{J r} in the server buffer. Gnus will not download articles into
|
||||
the Agent cache, unless you instruct it to do so, though, by using
|
||||
@kbd{J u} or @kbd{J s} from the Group buffer. You revert to the old
|
||||
behavior of having the Agent disabled with @code{(setq gnus-agent
|
||||
nil)}. Note that putting @code{(gnus-agentize)} in @file{~/.gnus.el}
|
||||
is not needed any more.
|
||||
|
||||
@item
|
||||
Gnus inlines external parts (message/external).
|
||||
Gnus reads the @acronym{NOV} and articles in the Agent if plugged.
|
||||
|
||||
If one reads an article while plugged, and the article already exists
|
||||
in the Agent, it won't get downloaded once more. @code{(setq
|
||||
gnus-agent-cache nil)} reverts to the old behavior.
|
||||
|
||||
@item
|
||||
@acronym{MML} (Mime compose) prefix changed from @kbd{M-m} to @kbd{C-c
|
||||
C-m}.
|
||||
Dired integration
|
||||
|
||||
This change was made to avoid conflict with the standard binding of
|
||||
@code{back-to-indentation}, which is also useful in message mode.
|
||||
@code{gnus-dired-minor-mode} (see @ref{Other modes}) installs key
|
||||
bindings in dired buffers to send a file as an attachment, open a file
|
||||
using the appropriate mailcap entry, and print a file using the mailcap
|
||||
entry.
|
||||
|
||||
@item
|
||||
The default for @code{message-forward-show-mml} changed to symbol @code{best}.
|
||||
The format spec @code{%C} for positioning point has changed to @code{%*}.
|
||||
|
||||
@item
|
||||
@code{gnus-slave-unplugged}
|
||||
|
||||
A new command which starts Gnus offline in slave mode.
|
||||
|
||||
@end itemize
|
||||
|
||||
The behavior for the @code{best} value is to show @acronym{MML} (i.e.,
|
||||
convert to @acronym{MIME}) when appropriate. @acronym{MML} will not be
|
||||
used when forwarding signed or encrypted messages, as the conversion
|
||||
invalidate the digital signature.
|
||||
@end itemize
|
||||
|
||||
@iftex
|
||||
|
|
|
@ -97,6 +97,9 @@ sending it.
|
|||
* Mailing Lists:: Send mail to mailing lists.
|
||||
@end menu
|
||||
|
||||
You can customize the Message Mode tool bar, see @kbd{M-x
|
||||
customize-apropos RET message-tool-bar}. This feature is only available
|
||||
in Emacs.
|
||||
|
||||
@node New Mail Message
|
||||
@section New Mail Message
|
||||
|
@ -817,10 +820,24 @@ doesn't have to do anything to make the @acronym{MIME} happen---Message will
|
|||
automatically add the @code{Content-Type} and
|
||||
@code{Content-Transfer-Encoding} headers.
|
||||
|
||||
@findex mml-attach
|
||||
@kindex C-c C-a
|
||||
The most typical thing users want to use the multipart things in
|
||||
@acronym{MIME} for is to add ``attachments'' to mail they send out. This can
|
||||
be done with the @kbd{C-c C-a} command, which will prompt for a file
|
||||
name and a @acronym{MIME} type.
|
||||
@acronym{MIME} for is to add ``attachments'' to mail they send out.
|
||||
This can be done with the @kbd{C-c C-a} command (@kbd{M-x mml-attach}),
|
||||
which will prompt for a file name and a @acronym{MIME} type.
|
||||
|
||||
@vindex mml-dnd-protocol-alist
|
||||
@vindex mml-dnd-attach-options
|
||||
If your Emacs supports drag and drop, you can also drop the file in the
|
||||
Message buffer. The variable @code{mml-dnd-protocol-alist} specifies
|
||||
what kind of action is done when you drop a file into the Message
|
||||
buffer. The variable @code{mml-dnd-attach-options} controls which
|
||||
@acronym{MIME} options you want to specify when dropping a file. If it
|
||||
is a list, valid members are @code{type}, @code{description} and
|
||||
@code{disposition}. @code{disposition} implies @code{type}. If it is
|
||||
@code{nil}, don't ask for options. If it is @code{t}, ask the user
|
||||
whether or not to specify options.
|
||||
|
||||
You can also create arbitrarily complex multiparts using the @acronym{MML}
|
||||
language (@pxref{Composing, , Composing, emacs-mime, The Emacs MIME
|
||||
|
|
|
@ -626,7 +626,8 @@ Display a list of all the supported coding systems.
|
|||
@kindex C-h C
|
||||
@findex describe-coding-system
|
||||
The command @kbd{C-h C} (@code{describe-coding-system}) displays
|
||||
information about particular coding systems. You can specify a coding
|
||||
information about particular coding systems, including the end-of-line
|
||||
conversion specified by those coding systems. You can specify a coding
|
||||
system name as the argument; alternatively, with an empty argument, it
|
||||
describes the coding systems currently selected for various purposes,
|
||||
both in the current buffer and as the defaults, and the priority list
|
||||
|
@ -639,6 +640,7 @@ system, including the letter that stands for it in the mode line
|
|||
(@pxref{Mode Line}).
|
||||
|
||||
@cindex end-of-line conversion
|
||||
@cindex line endings
|
||||
@cindex MS-DOS end-of-line conversion
|
||||
@cindex Macintosh end-of-line conversion
|
||||
Each of the coding systems that appear in this list---except for
|
||||
|
@ -941,6 +943,13 @@ that cannot handle all of the characters in the buffer, Emacs warns
|
|||
you about the troublesome characters when you actually save the
|
||||
buffer.
|
||||
|
||||
@cindex specify end-of-line conversion
|
||||
You can also use this command to specify the end-of-line conversion
|
||||
(@pxref{Coding Systems, end-of-line conversion}) for encoding the
|
||||
current buffer. For example, @kbd{C-x @key{RET} f dos @key{RET}} will
|
||||
cause Emacs to save the current buffer's text with DOS-style CRLF line
|
||||
endings.
|
||||
|
||||
@kindex C-x RET c
|
||||
@findex universal-coding-system-argument
|
||||
Another way to specify the coding system for a file is when you visit
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
source ^\.(gdbinit|dbxinit)$
|
||||
|
||||
# Auto-generated files, which ignore
|
||||
precious ^(config\.stamp|config\.h|epaths\.h)$
|
||||
precious ^(config\.stamp|config\.h|epaths\.h|buildobj\.lst)$
|
||||
|
||||
backup ^(stamp-oldxmenu|prefix-args|temacs|emacs|emacs-[0-9.]*)$
|
||||
|
||||
|
|
|
@ -1,3 +1,54 @@
|
|||
2006-05-16 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xterm.c (handle_one_xevent): Check that f is not NULL before
|
||||
calling x_kill_gs_process.
|
||||
|
||||
2006-05-14 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* textprop.c (Fnext_single_char_property_change)
|
||||
(Fprevious_single_char_property_change): Don't allow returning
|
||||
value beyond LIMIT in any cases.
|
||||
(Fnext_char_property_change, Fprevious_char_property_change): Doc fix.
|
||||
|
||||
* intervals.c (get_local_map): Abort if POSITION outside BEGV, ZV.
|
||||
|
||||
2006-05-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* xterm.c (handle_one_xevent): Check that f is not NULL before
|
||||
calling _XEditResCheckMessages.
|
||||
|
||||
2006-05-14 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xterm.c (handle_one_xevent): Fix crash in 2006-03-24 change.
|
||||
|
||||
2006-05-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* frame.c (x_set_border_width): Fix error message to say "frame",
|
||||
not "window".
|
||||
|
||||
* Makefile.in (SOME_MACHINE_LISP): Add fringe.elc.
|
||||
|
||||
2006-05-12 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* intervals.c (set_point_both): Fix mixup before before and after
|
||||
in variable names.
|
||||
|
||||
* editfns.c (Fline_beginning_position): Inhibit point-motion hooks
|
||||
while setting point temporarily.
|
||||
|
||||
2006-05-11 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* lread.c (readevalloop): Abort if START non-nil for non-buffer input.
|
||||
|
||||
2006-05-11 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xdisp.c (redisplay_tool_bar): Handle large tool-bar-border values.
|
||||
|
||||
2006-05-11 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* fileio.c (Finsert_file_contents): Fix for the case of IO error
|
||||
while handling replace operation.
|
||||
|
||||
2006-05-10 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* xfaces.c (realize_default_face) [HAVE_X_WINDOWS]: If the font
|
||||
|
|
|
@ -900,8 +900,8 @@ SOME_MACHINE_LISP = ${dotdot}/lisp/mouse.elc \
|
|||
${dotdot}/lisp/w32-fns.elc ${dotdot}/lisp/dos-w32.elc \
|
||||
${dotdot}/lisp/disp-table.elc ${dotdot}/lisp/dos-vars.elc \
|
||||
${dotdot}/lisp/tooltip.elc ${dotdot}/lisp/image.elc \
|
||||
${dotdot}/lisp/dnd.elc ${dotdot}/lisp/mwheel.elc \
|
||||
${dotdot}/lisp/tool-bar.elc \
|
||||
${dotdot}/lisp/fringe.elc ${dotdot}/lisp/dnd.elc \
|
||||
${dotdot}/lisp/mwheel.elc ${dotdot}/lisp/tool-bar.elc \
|
||||
${dotdot}/lisp/x-dnd.elc \
|
||||
${dotdot}/lisp/international/ccl.elc \
|
||||
${dotdot}/lisp/international/codepage.elc \
|
||||
|
|
|
@ -821,6 +821,8 @@ This function does not move point. */)
|
|||
Lisp_Object n;
|
||||
{
|
||||
int orig, orig_byte, end;
|
||||
int count = SPECPDL_INDEX ();
|
||||
specbind (Qinhibit_point_motion_hooks, Qt);
|
||||
|
||||
if (NILP (n))
|
||||
XSETFASTINT (n, 1);
|
||||
|
@ -834,6 +836,8 @@ This function does not move point. */)
|
|||
|
||||
SET_PT_BOTH (orig, orig_byte);
|
||||
|
||||
unbind_to (count, Qnil);
|
||||
|
||||
/* Return END constrained to the current input field. */
|
||||
return Fconstrain_to_field (make_number (end), make_number (orig),
|
||||
XINT (n) != 1 ? Qt : Qnil,
|
||||
|
|
|
@ -4293,13 +4293,8 @@ actually used. */)
|
|||
if we couldn't read the file. */
|
||||
|
||||
if (how_much < 0)
|
||||
{
|
||||
if (how_much == -1)
|
||||
error ("IO error reading %s: %s",
|
||||
SDATA (orig_filename), emacs_strerror (errno));
|
||||
else if (how_much == -2)
|
||||
error ("maximum buffer size exceeded");
|
||||
}
|
||||
error ("IO error reading %s: %s",
|
||||
SDATA (orig_filename), emacs_strerror (errno));
|
||||
|
||||
if (unprocessed > 0)
|
||||
{
|
||||
|
|
|
@ -3142,7 +3142,7 @@ x_set_border_width (f, arg, oldval)
|
|||
|
||||
#ifndef MAC_OS
|
||||
if (FRAME_X_WINDOW (f) != 0)
|
||||
error ("Cannot change the border width of a window");
|
||||
error ("Cannot change the border width of a frame");
|
||||
#endif /* MAC_TODO */
|
||||
|
||||
f->border_width = XINT (arg);
|
||||
|
|
|
@ -2196,36 +2196,38 @@ set_point_both (buffer, charpos, bytepos)
|
|||
Lisp_Object leave_after, leave_before, enter_after, enter_before;
|
||||
|
||||
if (fromprev)
|
||||
leave_after = textget (fromprev->plist, Qpoint_left);
|
||||
else
|
||||
leave_after = Qnil;
|
||||
if (from)
|
||||
leave_before = textget (from->plist, Qpoint_left);
|
||||
leave_before = textget (fromprev->plist, Qpoint_left);
|
||||
else
|
||||
leave_before = Qnil;
|
||||
|
||||
if (toprev)
|
||||
enter_after = textget (toprev->plist, Qpoint_entered);
|
||||
if (from)
|
||||
leave_after = textget (from->plist, Qpoint_left);
|
||||
else
|
||||
enter_after = Qnil;
|
||||
if (to)
|
||||
enter_before = textget (to->plist, Qpoint_entered);
|
||||
leave_after = Qnil;
|
||||
|
||||
if (toprev)
|
||||
enter_before = textget (toprev->plist, Qpoint_entered);
|
||||
else
|
||||
enter_before = Qnil;
|
||||
|
||||
if (to)
|
||||
enter_after = textget (to->plist, Qpoint_entered);
|
||||
else
|
||||
enter_after = Qnil;
|
||||
|
||||
if (! EQ (leave_before, enter_before) && !NILP (leave_before))
|
||||
call2 (leave_before, make_number (old_position),
|
||||
make_number (charpos));
|
||||
call2 (leave_before, make_number (old_position),
|
||||
make_number (charpos));
|
||||
if (! EQ (leave_after, enter_after) && !NILP (leave_after))
|
||||
call2 (leave_after, make_number (old_position),
|
||||
make_number (charpos));
|
||||
call2 (leave_after, make_number (old_position),
|
||||
make_number (charpos));
|
||||
|
||||
if (! EQ (enter_before, leave_before) && !NILP (enter_before))
|
||||
call2 (enter_before, make_number (old_position),
|
||||
make_number (charpos));
|
||||
call2 (enter_before, make_number (old_position),
|
||||
make_number (charpos));
|
||||
if (! EQ (enter_after, leave_after) && !NILP (enter_after))
|
||||
call2 (enter_after, make_number (old_position),
|
||||
make_number (charpos));
|
||||
call2 (enter_after, make_number (old_position),
|
||||
make_number (charpos));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2339,7 +2341,9 @@ get_property_and_range (pos, prop, val, start, end, object)
|
|||
/* Return the proper local keymap TYPE for position POSITION in
|
||||
BUFFER; TYPE should be one of `keymap' or `local-map'. Use the map
|
||||
specified by the PROP property, if any. Otherwise, if TYPE is
|
||||
`local-map' use BUFFER's local map. */
|
||||
`local-map' use BUFFER's local map.
|
||||
|
||||
POSITION must be in the accessible part of BUFFER. */
|
||||
|
||||
Lisp_Object
|
||||
get_local_map (position, buffer, type)
|
||||
|
@ -2351,7 +2355,7 @@ get_local_map (position, buffer, type)
|
|||
int old_begv, old_zv, old_begv_byte, old_zv_byte;
|
||||
|
||||
/* Perhaps we should just change `position' to the limit. */
|
||||
if (position > BUF_Z (buffer) || position < BUF_BEG (buffer))
|
||||
if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer))
|
||||
abort ();
|
||||
|
||||
/* Ignore narrowing, so that a local map continues to be valid even if
|
||||
|
|
|
@ -1534,7 +1534,9 @@ end_of_file_error ()
|
|||
/* UNIBYTE specifies how to set load_convert_to_unibyte
|
||||
for this invocation.
|
||||
READFUN, if non-nil, is used instead of `read'.
|
||||
START, END is region in current buffer (from eval-region). */
|
||||
|
||||
START, END specify region to read in current buffer (from eval-region).
|
||||
If the input is not from a buffer, they must be nil. */
|
||||
|
||||
static void
|
||||
readevalloop (readcharfun, stream, sourcename, evalfun,
|
||||
|
@ -1570,6 +1572,10 @@ readevalloop (readcharfun, stream, sourcename, evalfun,
|
|||
else if (MARKERP (readcharfun))
|
||||
b = XMARKER (readcharfun)->buffer;
|
||||
|
||||
/* We assume START is nil when input is not from a buffer. */
|
||||
if (! NILP (start) && !b)
|
||||
abort ();
|
||||
|
||||
specbind (Qstandard_input, readcharfun); /* GCPROs readcharfun. */
|
||||
specbind (Qcurrent_load_list, Qnil);
|
||||
record_unwind_protect (readevalloop_1, load_convert_to_unibyte ? Qt : Qnil);
|
||||
|
|
|
@ -717,10 +717,11 @@ DEFUN ("next-char-property-change", Fnext_char_property_change,
|
|||
This scans characters forward in the current buffer from POSITION till
|
||||
it finds a change in some text property, or the beginning or end of an
|
||||
overlay, and returns the position of that.
|
||||
If none is found, the function returns (point-max).
|
||||
If none is found up to (point-max), the function returns (point-max).
|
||||
|
||||
If the optional second argument LIMIT is non-nil, don't search
|
||||
past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
|
||||
past position LIMIT; return LIMIT if nothing is found before LIMIT.
|
||||
LIMIT is a no-op if it is greater than (point-max). */)
|
||||
(position, limit)
|
||||
Lisp_Object position, limit;
|
||||
{
|
||||
|
@ -742,10 +743,11 @@ DEFUN ("previous-char-property-change", Fprevious_char_property_change,
|
|||
Scans characters backward in the current buffer from POSITION till it
|
||||
finds a change in some text property, or the beginning or end of an
|
||||
overlay, and returns the position of that.
|
||||
If none is found, the function returns (point-max).
|
||||
If none is found since (point-min), the function returns (point-min).
|
||||
|
||||
If the optional second argument LIMIT is non-nil, don't search
|
||||
past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
|
||||
past position LIMIT; return LIMIT if nothing is found before LIMIT.
|
||||
LIMIT is a no-op if it is less than (point-min). */)
|
||||
(position, limit)
|
||||
Lisp_Object position, limit;
|
||||
{
|
||||
|
@ -771,6 +773,9 @@ If the optional third argument OBJECT is a buffer (or nil, which means
|
|||
the current buffer), POSITION is a buffer position (integer or marker).
|
||||
If OBJECT is a string, POSITION is a 0-based index into it.
|
||||
|
||||
In a string, scan runs to the end of the string.
|
||||
In a buffer, it runs to (point-max), and the value cannot exceed that.
|
||||
|
||||
The property values are compared with `eq'.
|
||||
If the property is constant all the way to the end of OBJECT, return the
|
||||
last valid position in OBJECT.
|
||||
|
@ -812,22 +817,30 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
|
|||
initial_value = Fget_char_property (position, prop, object);
|
||||
|
||||
if (NILP (limit))
|
||||
XSETFASTINT (limit, BUF_ZV (current_buffer));
|
||||
XSETFASTINT (limit, ZV);
|
||||
else
|
||||
CHECK_NUMBER_COERCE_MARKER (limit);
|
||||
|
||||
for (;;)
|
||||
if (XFASTINT (position) >= XFASTINT (limit))
|
||||
{
|
||||
position = Fnext_char_property_change (position, limit);
|
||||
if (XFASTINT (position) >= XFASTINT (limit)) {
|
||||
position = limit;
|
||||
break;
|
||||
}
|
||||
|
||||
value = Fget_char_property (position, prop, object);
|
||||
if (!EQ (value, initial_value))
|
||||
break;
|
||||
position = limit;
|
||||
if (XFASTINT (position) > ZV)
|
||||
XSETFASTINT (position, ZV);
|
||||
}
|
||||
else
|
||||
while (1)
|
||||
{
|
||||
position = Fnext_char_property_change (position, limit);
|
||||
if (XFASTINT (position) >= XFASTINT (limit))
|
||||
{
|
||||
position = limit;
|
||||
break;
|
||||
}
|
||||
|
||||
value = Fget_char_property (position, prop, object);
|
||||
if (!EQ (value, initial_value))
|
||||
break;
|
||||
}
|
||||
|
||||
unbind_to (count, Qnil);
|
||||
}
|
||||
|
@ -845,6 +858,9 @@ If the optional third argument OBJECT is a buffer (or nil, which means
|
|||
the current buffer), POSITION is a buffer position (integer or marker).
|
||||
If OBJECT is a string, POSITION is a 0-based index into it.
|
||||
|
||||
In a string, scan runs to the start of the string.
|
||||
In a buffer, it runs to (point-min), and the value cannot be less than that.
|
||||
|
||||
The property values are compared with `eq'.
|
||||
If the property is constant all the way to the start of OBJECT, return the
|
||||
first valid position in OBJECT.
|
||||
|
@ -883,19 +899,23 @@ back past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
|
|||
CHECK_NUMBER_COERCE_MARKER (position);
|
||||
|
||||
if (NILP (limit))
|
||||
XSETFASTINT (limit, BUF_BEGV (current_buffer));
|
||||
XSETFASTINT (limit, BEGV);
|
||||
else
|
||||
CHECK_NUMBER_COERCE_MARKER (limit);
|
||||
|
||||
if (XFASTINT (position) <= XFASTINT (limit))
|
||||
position = limit;
|
||||
{
|
||||
position = limit;
|
||||
if (XFASTINT (position) < BEGV)
|
||||
XSETFASTINT (position, BEGV);
|
||||
}
|
||||
else
|
||||
{
|
||||
Lisp_Object initial_value =
|
||||
Fget_char_property (make_number (XFASTINT (position) - 1),
|
||||
prop, object);
|
||||
Lisp_Object initial_value
|
||||
= Fget_char_property (make_number (XFASTINT (position) - 1),
|
||||
prop, object);
|
||||
|
||||
for (;;)
|
||||
while (1)
|
||||
{
|
||||
position = Fprevious_char_property_change (position, limit);
|
||||
|
||||
|
@ -906,9 +926,9 @@ back past position LIMIT; return LIMIT if nothing is found before LIMIT. */)
|
|||
}
|
||||
else
|
||||
{
|
||||
Lisp_Object value =
|
||||
Fget_char_property (make_number (XFASTINT (position) - 1),
|
||||
prop, object);
|
||||
Lisp_Object value
|
||||
= Fget_char_property (make_number (XFASTINT (position) - 1),
|
||||
prop, object);
|
||||
|
||||
if (!EQ (value, initial_value))
|
||||
break;
|
||||
|
|
|
@ -9829,7 +9829,7 @@ redisplay_tool_bar (f)
|
|||
border = 0;
|
||||
|
||||
rows = f->n_tool_bar_rows;
|
||||
height = (it.last_visible_y - border) / rows;
|
||||
height = max (1, (it.last_visible_y - border) / rows);
|
||||
extra = it.last_visible_y - border - height * rows;
|
||||
|
||||
while (it.current_y < it.last_visible_y)
|
||||
|
|
12
src/xterm.c
12
src/xterm.c
|
@ -5885,8 +5885,9 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit)
|
|||
== dpyinfo->Xatom_editres)
|
||||
{
|
||||
f = x_any_window_to_frame (dpyinfo, event.xclient.window);
|
||||
_XEditResCheckMessages (f->output_data.x->widget, NULL,
|
||||
&event, NULL);
|
||||
if (f)
|
||||
_XEditResCheckMessages (f->output_data.x->widget, NULL,
|
||||
&event, NULL);
|
||||
goto done;
|
||||
}
|
||||
#endif /* HACK_EDITRES */
|
||||
|
@ -5902,6 +5903,8 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit)
|
|||
images, only, which should have 1 page. */
|
||||
Pixmap pixmap = (Pixmap) event.xclient.data.l[1];
|
||||
f = x_window_to_frame (dpyinfo, event.xclient.window);
|
||||
if (!f)
|
||||
goto OTHER;
|
||||
x_kill_gs_process (pixmap, f);
|
||||
expose_frame (f, 0, 0, 0, 0);
|
||||
goto done;
|
||||
|
@ -5920,10 +5923,8 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit)
|
|||
#endif /* USE_TOOLKIT_SCROLL_BARS */
|
||||
|
||||
f = x_any_window_to_frame (dpyinfo, event.xclient.window);
|
||||
|
||||
if (!f)
|
||||
goto OTHER;
|
||||
|
||||
if (x_handle_dnd_message (f, &event.xclient, dpyinfo, &inev.ie))
|
||||
*finish = X_EVENT_DROP;
|
||||
}
|
||||
|
@ -6166,7 +6167,8 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit)
|
|||
f = x_any_window_to_frame (dpyinfo, event.xkey.window);
|
||||
|
||||
if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
|
||||
&& !EQ (f->tool_bar_window, dpyinfo->mouse_face_window))
|
||||
&& (f == 0
|
||||
|| !EQ (f->tool_bar_window, dpyinfo->mouse_face_window)))
|
||||
{
|
||||
clear_mouse_face (dpyinfo);
|
||||
dpyinfo->mouse_face_hidden = 1;
|
||||
|
|
Loading…
Add table
Reference in a new issue