Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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
  • Loading branch information...
commit 8e6c9c267f03e451a062b24abec49f12486bade8 2 parents d181ada + 589c8f3
@snogglethorpe snogglethorpe authored
Showing with 1,416 additions and 760 deletions.
  1. +5 −0 admin/ChangeLog
  2. +3 −2 admin/FOR-RELEASE
  3. +18 −0 etc/ChangeLog
  4. +9 −6 etc/MORE.STUFF
  5. +5 −1 etc/NEWS
  6. +1 −0  etc/sk-refcard.tex
  7. +4 −0 lib-src/ChangeLog
  8. +1 −0  lib-src/makefile.w32-in
  9. +202 −1 lisp/ChangeLog
  10. +40 −28 lisp/allout.el
  11. +11 −3 lisp/arc-mode.el
  12. +2 −2 lisp/calendar/appt.el
  13. +2 −2 lisp/calendar/cal-menu.el
  14. +36 −40 lisp/calendar/calendar.el
  15. +2 −2 lisp/calendar/diary-lib.el
  16. +32 −29 lisp/comint.el
  17. +9 −5 lisp/custom.el
  18. +38 −41 lisp/desktop.el
  19. +3 −1 lisp/dired-x.el
  20. +17 −0 lisp/emacs-lisp/bytecomp.el
  21. +49 −54 lisp/emacs-lisp/ewoc.el
  22. +11 −21 lisp/files.el
  23. +6 −4 lisp/help-fns.el
  24. +6 −1 lisp/hexl.el
  25. +2 −2 lisp/international/mule.el
  26. +1 −0  lisp/newcomment.el
  27. +1 −0  lisp/outline.el
  28. +2 −0  lisp/progmodes/cc-compat.el
  29. +13 −9 lisp/progmodes/cc-subword.el
  30. +2 −0  lisp/progmodes/cc-vars.el
  31. +1 −0  lisp/progmodes/compile.el
  32. +24 −16 lisp/progmodes/gdb-ui.el
  33. +2 −1  lisp/progmodes/gud.el
  34. +7 −5 lisp/server.el
  35. +3 −1 lisp/simple.el
  36. +19 −11 lisp/subr.el
  37. +1 −1  lisp/term/xterm.el
  38. +3 −0  lisp/textmodes/org.el
  39. +4 −0 lisp/url/ChangeLog
  40. +2 −1  lisp/url/url-http.el
  41. +9 −9 lispintro/emacs-lisp-intro.texi
  42. +50 −0 lispref/ChangeLog
  43. +8 −3 lispref/buffers.texi
  44. +3 −2 lispref/display.texi
  45. +29 −25 lispref/files.texi
  46. +10 −10 lispref/hooks.texi
  47. +24 −19 lispref/internals.texi
  48. +11 −8 lispref/minibuf.texi
  49. +30 −1 lispref/nonascii.texi
  50. +17 −11 lispref/os.texi
  51. +3 −3 lispref/processes.texi
  52. +3 −1 lispref/text.texi
  53. +34 −0 man/ChangeLog
  54. +1 −1  man/buffers.texi
  55. +7 −1 man/building.texi
  56. +12 −14 man/calendar.texi
  57. +1 −1  man/files.texi
  58. +393 −297 man/gnus.texi
  59. +20 −3 man/message.texi
  60. +10 −1 man/mule.texi
  61. +1 −1  src/.arch-inventory
  62. +51 −0 src/ChangeLog
  63. +2 −2 src/Makefile.in
  64. +4 −0 src/editfns.c
  65. +2 −7 src/fileio.c
  66. +1 −1  src/frame.c
  67. +22 −18 src/intervals.c
  68. +7 −1 src/lread.c
  69. +44 −24 src/textprop.c
  70. +1 −1  src/xdisp.c
  71. +7 −5 src/xterm.c
View
5 admin/ChangeLog
@@ -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
View
5 admin/FOR-RELEASE
@@ -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.
View
18 etc/ChangeLog
@@ -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.
View
15 etc/MORE.STUFF
@@ -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/>
View
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:
View
1  etc/sk-refcard.tex
@@ -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
View
4 lib-src/ChangeLog
@@ -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.
View
1  lib-src/makefile.w32-in
@@ -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 \
View
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
View
68 lisp/allout.el
@@ -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)
View
14 lisp/arc-mode.el
@@ -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
View
4 lisp/calendar/appt.el
@@ -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
View
4 lisp/calendar/cal-menu.el
@@ -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]
View
76 lisp/calendar/calendar.el
@@ -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.
View
4 lisp/calendar/diary-lib.el
@@ -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))))
View
61 lisp/comint.el
@@ -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."
View
14 lisp/custom.el
@@ -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
View
79 lisp/desktop.el
@@ -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)
-
- (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))))
+ (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 "\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
View
4 lisp/dired-x.el
@@ -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
View
17 lisp/emacs-lisp/bytecomp.el
@@ -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)
View
103 lisp/emacs-lisp/ewoc.el
@@ -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)
View
32 lisp/files.el
@@ -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)
View
10 lisp/help-fns.el
@@ -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.")))
View
7 lisp/hexl.el
@@ -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))))
View
4 lisp/international/mule.el
@@ -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)
View
1  lisp/newcomment.el
@@ -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
View
1  lisp/outline.el
@@ -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.
View
2  lisp/progmodes/cc-compat.el
@@ -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
View
22 lisp/progmodes/cc-subword.el
@@ -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))))
View
2  lisp/progmodes/cc-vars.el
@@ -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.
View
1  lisp/progmodes/compile.el
@@ -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
View
40 lisp/progmodes/gdb-ui.el
@@ -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)
View
3  lisp/progmodes/gud.el
@@ -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))
View
12 lisp/server.el
@@ -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
View
4 lisp/simple.el
@@ -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."
View
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)))
View
2  lisp/term/xterm.el
@@ -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 ?\/)])
View
3  lisp/textmodes/org.el
@@ -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)))
View
4 lisp/url/ChangeLog
@@ -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
View
3  lisp/url/url-http.el
@@ -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))
View
18 lispintro/emacs-lisp-intro.texi
@@ -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