emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101166: Merge changes from emacs-23


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101166: Merge changes from emacs-23 branch.
Date: Sun, 22 Aug 2010 16:04:34 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101166 [merge]
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sun 2010-08-22 16:04:34 -0400
message:
  Merge changes from emacs-23 branch.
modified:
  doc/emacs/ChangeLog
  doc/emacs/misc.texi
  doc/lispref/ChangeLog
  doc/lispref/modes.texi
  doc/lispref/objects.texi
  leim/ChangeLog
  leim/quail/arabic.el
  leim/quail/georgian.el
  leim/quail/greek.el
  leim/quail/latin-ltx.el
  leim/quail/vntelex.el
  lisp/ChangeLog
  lisp/align.el
  lisp/calendar/diary-lib.el
  lisp/emacs-lisp/easy-mmode.el
  lisp/files.el
  lisp/ido.el
  lisp/iswitchb.el
  lisp/mail/rmail.el
  lisp/menu-bar.el
  lisp/progmodes/flymake.el
  lisp/progmodes/make-mode.el
  lisp/simple.el
  lisp/subr.el
  lisp/woman.el
  src/ChangeLog
  src/doc.c
  src/eval.c
  src/s/hpux10-20.h
=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2010-07-31 17:13:03 +0000
+++ b/doc/emacs/ChangeLog       2010-08-22 20:02:16 +0000
@@ -1,3 +1,7 @@
+2010-08-21  Glenn Morris  <address@hidden>
+
+       * misc.texi (Amusements): Mention bubbles and animate.
+
 2010-07-31  Eli Zaretskii  <address@hidden>
 
        * files.texi (Visiting): Add more index entries for

=== modified file 'doc/emacs/misc.texi'
--- a/doc/emacs/misc.texi       2010-06-23 02:46:43 +0000
+++ b/doc/emacs/misc.texi       2010-08-21 02:14:07 +0000
@@ -2784,6 +2784,10 @@
   If you want a little more personal involvement, try @kbd{M-x gomoku},
 which plays the game Go Moku with you.
 
address@hidden bubbles
+  @kbd{M-x bubbles} is a game in which the object is to remove as many
+bubbles as you can in the smallest number of moves.
+
 @findex blackbox
 @findex mpuz
 @findex 5x5
@@ -2832,6 +2836,11 @@
 @kbd{M-x solitaire} plays a game of solitaire in which you jump pegs
 across other pegs.
 
address@hidden animate-birthday-present
address@hidden animate
+The @code{animate} package makes text dance.  For an example, try
address@hidden animate-birthday-present}.
+
 @findex studlify-region
 @cindex StudlyCaps
 @kbd{M-x studlify-region} studlify-cases the region, producing

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2010-08-20 20:07:29 +0000
+++ b/doc/lispref/ChangeLog     2010-08-22 20:02:16 +0000
@@ -1,3 +1,11 @@
+2010-08-22  Chong Yidong  <address@hidden>
+
+       * modes.texi (Defining Minor Modes): Doc fix (Bug#6880).
+
+2010-08-22  Chong Yidong  <address@hidden>
+
+       * objects.texi (Bool-Vector Type): Minor definition tweak (Bug#6878).
+
 2010-08-20  Eli Zaretskii  <address@hidden>
 
        * commands.texi (Misc Events): Add cross-references to where

=== modified file 'doc/lispref/modes.texi'
--- a/doc/lispref/modes.texi    2010-07-29 00:58:16 +0000
+++ b/doc/lispref/modes.texi    2010-08-22 19:30:26 +0000
@@ -1411,14 +1411,20 @@
 when the mode is enabled; if it is @code{nil}, the mode is not displayed
 in the mode line.
 
-The optional argument @var{keymap} specifies the keymap for the minor mode.
-It can be a variable name, whose value is the keymap, or it can be an alist
-specifying bindings in this form:
+The optional argument @var{keymap} specifies the keymap for the minor
+mode.  If address@hidden, it should be a variable name (whose value is
+a keymap), a keymap, or an alist of the form
 
 @example
 (@var{key-sequence} . @var{definition})
 @end example
 
address@hidden
+where each @var{key-sequence} and @var{definition} are arguments
+suitable for passing to @code{define-key} (@pxref{Changing Key
+Bindings}).  If @var{keymap} is a keymap or an alist, this also
+defines the variable @address@hidden
+
 The above three arguments @var{init-value}, @var{lighter}, and
 @var{keymap} can be (partially) omitted when @var{keyword-args} are
 used.  The @var{keyword-args} consist of keywords followed by

=== modified file 'doc/lispref/objects.texi'
--- a/doc/lispref/objects.texi  2010-03-06 20:27:19 +0000
+++ b/doc/lispref/objects.texi  2010-08-19 23:23:13 +0000
@@ -1189,8 +1189,8 @@
 @node Bool-Vector Type
 @subsection Bool-Vector Type
 
-  A @dfn{bool-vector} is a one-dimensional array of elements that
-must be @code{t} or @code{nil}.
+  A @dfn{bool-vector} is a one-dimensional array whose elements must
+be @code{t} or @code{nil}.
 
   The printed representation of a bool-vector is like a string, except
 that it begins with @samp{#&} followed by the length.  The string

=== modified file 'leim/ChangeLog'
--- a/leim/ChangeLog    2010-07-24 11:53:19 +0000
+++ b/leim/ChangeLog    2010-08-22 20:02:16 +0000
@@ -1,3 +1,26 @@
+2010-08-15  Andreas Schwab  <address@hidden>
+
+       * quail/vntelex.el ("vietnamese-telex"): Doc fix.
+
+       * quail/georgian.el: Remove extra backslashes.
+
+2010-08-14  Andreas Schwab  <address@hidden>
+
+       * quail/arabic.el: Quote [ and ].
+       * quail/latin-ltx.el: Likewise.
+
+       * quail/greek.el ("greek", "greek-postfix"): Change string to
+       character.
+
+2010-08-13  Kenichi Handa  <address@hidden>
+
+       * quail/greek.el ("greek-postfix"): Add rules for Greek style
+       quotes.
+
+2010-08-09  Kenichi Handa  <address@hidden>
+
+       * quail/greek.el ("greek"): Add rules for Greek style quotes.
+
 2010-05-15  Glenn Morris  <address@hidden>
 
        * Makefile.in (install): Remove references to CVS-related files.

=== modified file 'leim/quail/arabic.el'
--- a/leim/quail/arabic.el      2010-01-13 08:35:10 +0000
+++ b/leim/quail/arabic.el      2010-08-14 08:20:08 +0000
@@ -57,8 +57,8 @@
 
  ("A" ?ِ)
  ("S" ?ٍ)
- ("D" ?])
- ("F" ?[)
+ ("D" ?\])
+ ("F" ?\[)
  ("G" ["لأ"])
  ("H" ?أ)
  ("J" ?ـ)

=== modified file 'leim/quail/georgian.el'
--- a/leim/quail/georgian.el    2010-01-13 08:35:10 +0000
+++ b/leim/quail/georgian.el    2010-08-15 09:34:53 +0000
@@ -51,7 +51,7 @@
  ("n" ?ნ)
  ("o" ?ო)
  (".p" ?პ)
- ("\+z"        ?ჟ)
+ ("+z" ?ჟ)
  ("r" ?რ)
  ("s" ?ს)
  (".t" ?ტ)
@@ -60,14 +60,14 @@
  ("k" ?ქ)
  (".g" ?ღ)
  ("q" ?ყ)
- ("\+s"        ?შ)
- ("\+c"        ?ჩ)
+ ("+s" ?შ)
+ ("+c" ?ჩ)
  ("c" ?ც)
  ("j" ?ძ)
  (".c" ?წ)
- (".\+c" ?ჭ)
+ (".+c" ?ჭ)
  ("x" ?ხ)
- ("\+j"        ?ჯ)
+ ("+j" ?ჯ)
  ("h" ?ჰ)
  ("q1" ?ჴ)
  ("e0" ?ჱ)

=== modified file 'leim/quail/greek.el'
--- a/leim/quail/greek.el       2010-01-13 08:35:10 +0000
+++ b/leim/quail/greek.el       2010-08-14 08:00:34 +0000
@@ -1279,7 +1279,9 @@
  (";:i" ?,address@hidden(B)
  (":;i" ?,address@hidden(B)
  (";:y" ?,F`(B)
- (":;y" ?,F`(B))
+ (":;y" ?,F`(B)
+ (";<" ?$(Q)((B)
+ (";>" ?$(Q)2(B))
 
 (quail-define-package
  "greek-postfix" "GreekPost" ",FX(B" nil
@@ -1419,7 +1421,12 @@
  ("i:;" ?,address@hidden(B)
  ("i;:" ?,address@hidden(B)
  ("y:;" ?,F`(B)
- ("y;:" ?,F`(B))
+ ("y;:" ?,F`(B)
+ ;; These two are asymmetric with ";<" and ";>" in "greek" input
+ ;; method.  But, as the other Latin postfix methods adopt "<<" and
+ ;; ">>", it may be better to follow them.
+ ("<<" ?$(Q)((B)
+ (">>" ?$(Q)2(B))
 
 
 ;; arch-tag: 2a37e042-db1b-4ecf-b755-117775a3c150

=== modified file 'leim/quail/latin-ltx.el'
--- a/leim/quail/latin-ltx.el   2010-01-13 08:35:10 +0000
+++ b/leim/quail/latin-ltx.el   2010-08-14 08:20:08 +0000
@@ -653,7 +653,7 @@
  ("\\lambda" ?λ)
  ("\\langle" ?〈)
  ("\\lbrace" ?{)
- ("\\lbrack" ?[)
+ ("\\lbrack" ?\[)
  ("\\lceil" ?⌈)
  ("\\ldots" ?…)
  ("\\le" ?≤)
@@ -788,7 +788,7 @@
  ("\\quad" ? )
  ("\\rangle" ?〉)
  ("\\rbrace" ?})
- ("\\rbrack" ?])
+ ("\\rbrack" ?\])
  ("\\rceil" ?⌉)
  ("\\rfloor" ?⌋)
  ("\\rightarrow" ?→)

=== modified file 'leim/quail/vntelex.el'
--- a/leim/quail/vntelex.el     2010-04-06 15:32:15 +0000
+++ b/leim/quail/vntelex.el     2010-08-15 09:36:19 +0000
@@ -53,7 +53,7 @@
   acute         s      as -> ,1a(B
   grave         f      af -> ,1`(B
   hook above    r      ar -> ,1d(B
-  tilde         x      ax  -> ,1c(B
+  tilde         x      ax -> ,1c(B
   dot below     j      aj -> ,1U(B
 
   d bar                dd -> ,1p(B

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-08-21 19:26:43 +0000
+++ b/lisp/ChangeLog    2010-08-22 20:02:16 +0000
@@ -1,3 +1,74 @@
+2010-08-22  Chong Yidong  <address@hidden>
+
+       * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880).
+
+2010-08-22  Leo  <address@hidden>
+
+       Fix buffer-list rename&refresh after after killing a buffer in ido.
+       * lisp/ido.el: Revert Óscar's.
+       (ido-kill-buffer-at-head): Exit the minibuffer with ido-exit=refresh.
+       Remember the buffers at head, rather than their name.
+       * lisp/iswitchb.el (iswitchb-kill-buffer): Re-make the list.
+
+2010-08-22  Kirk Kelsey  <address@hidden>  (tiny change)
+            Stefan Monnier  <address@hidden>
+
+       * progmodes/make-mode.el (makefile-fill-paragraph): Account for the
+       extra backslash added to each line (bug#6890).
+
+2010-08-22  Stefan Monnier  <address@hidden>
+
+       * subr.el (read-key): Don't echo keystrokes (bug#6883).
+
+2010-08-22  Glenn Morris  <address@hidden>
+
+       * menu-bar.el (menu-bar-games-menu): Add landmark.
+
+2010-08-22  Glenn Morris  <address@hidden>
+
+       * align.el (align-regexp): Make group and spacing arguments
+       use the interactive defaults when non-interactive.  (Bug#6698)
+
+       * mail/rmail.el (rmail-forward): Replace mail-text-start with its
+       expansion, so as not to need sendmail.
+       (mail-text-start): Remove declaration.
+       (rmail-retry-failure): Require sendmail.
+
+2010-08-22  Chong Yidong  <address@hidden>
+
+       * subr.el (read-key): Don't hide the menu-bar entries (bug#6881).
+
+2010-08-22  Michael Albinus  <address@hidden>
+
+       * progmodes/flymake.el (flymake-start-syntax-check-process):
+       Use `start-file-process' in order to let it run also on remote hosts.
+
+2010-08-22  Kenichi Handa  <address@hidden>
+
+       * files.el: Add `word-wrap' as safe local variable.
+
+2010-08-22  Glenn Morris  <address@hidden>
+
+       * woman.el (woman-translate): Case matters.  (Bug#6849)
+
+2010-08-22  Chong Yidong  <address@hidden>
+
+       * simple.el (kill-region): Doc fix (Bug#6787).
+
+2010-08-22  Glenn Morris  <address@hidden>
+
+       * calendar/diary-lib.el (diary-header-line-format):
+       Fit it to the window, not the frame.
+
+2010-08-22  Andreas Schwab  <address@hidden>
+
+       * subr.el (ignore-errors): Add debug declaration.
+
+2010-08-22  Geoff Gole  <address@hidden>  (tiny change)
+
+       * whitespace.el (whitespace-color-off): Remove post-command-hook
+       locally.
+
 2010-08-21  Stefan Monnier  <address@hidden>
 
        * vc/add-log.el (add-log-file-name): Don't get confused by symlinks.
@@ -346,7 +417,7 @@
        (ctext-standard-encodings): New variable.
        (ctext-non-standard-encodings-table): List only elements for
        non-standard encodings.
-       (ctext-pre-write-conversion): Adjusted for the above change.
+       (ctext-pre-write-conversion): Adjust for the above change.
        Check ctext-standard-encodings.
 
        * international/mule-conf.el (compound-text): Doc fix.

=== modified file 'lisp/align.el'
--- a/lisp/align.el     2010-07-30 00:50:13 +0000
+++ b/lisp/align.el     2010-08-20 07:33:06 +0000
@@ -1,7 +1,7 @@
 ;;; align.el --- align text to a specific column, by regexp
 
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <address@hidden>
 ;; Maintainer: FSF
@@ -944,6 +944,8 @@
       (list (concat "\\(\\s-*\\)"
                    (read-string "Align regexp: "))
            1 align-default-spacing nil))))
+  (or group (setq group 1))
+  (or spacing (setq spacing align-default-spacing))
   (let ((rule
         (list (list nil (cons 'regexp regexp)
                     (cons 'group (abs group))

=== modified file 'lisp/calendar/diary-lib.el'
--- a/lisp/calendar/diary-lib.el        2010-01-27 04:00:54 +0000
+++ b/lisp/calendar/diary-lib.el        2010-08-14 02:23:56 +0000
@@ -383,14 +383,14 @@
                      "Some text is hidden - press \"s\" in calendar \
 before edit/copy"
                    "Diary"))
-           ?\s (frame-width)))
+           ?\s (window-width)))
   "Format of the header line displayed by `diary-simple-display'.
 Only used if `diary-header-line-flag' is non-nil."
   :group 'diary
   :type 'sexp
   :initialize 'custom-initialize-default
   :set 'diary-set-header
-  :version "22.1")
+  :version "23.3")                      ; frame-width -> window-width
 
 ;; The first version of this also checked for diary-selective-display
 ;; in the non-fancy case. This was an attempt to distinguish between

=== modified file 'lisp/emacs-lisp/easy-mmode.el'
--- a/lisp/emacs-lisp/easy-mmode.el     2010-05-06 02:53:56 +0000
+++ b/lisp/emacs-lisp/easy-mmode.el     2010-08-22 20:02:16 +0000
@@ -86,25 +86,23 @@
 ;;;###autoload
 (defmacro define-minor-mode (mode doc &optional init-value lighter keymap 
&rest body)
   "Define a new minor mode MODE.
-This function defines the associated control variable MODE, keymap MODE-map,
-and toggle command MODE.
-
+This defines the control variable MODE and the toggle command MODE.
 DOC is the documentation for the mode toggle command.
+
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the modeline when the mode is on.
-Optional KEYMAP is the default (defvar) keymap bound to the mode keymap.
-  If it is a list, it is passed to `easy-mmode-define-keymap'
-  in order to build a valid keymap.  It's generally better to use
-  a separate MODE-map variable than to use this argument.
-The above three arguments can be skipped if keyword arguments are
-used (see below).
-
-BODY contains code to execute each time the mode is activated or deactivated.
-  It is executed after toggling the mode,
-  and before running the hook variable `MODE-hook'.
-  Before the actual body code, you can write keyword arguments (alternating
-  keywords and values).  These following keyword arguments are supported (other
-  keywords will be passed to `defcustom' if the minor mode is global):
+Optional KEYMAP is the default keymap bound to the mode keymap.
+  If non-nil, it should be a variable name (whose value is a keymap),
+  a keymap, or a list of arguments for `easy-mmode-define-keymap'.
+  If KEYMAP is a keymap or list, this also defines the variable MODE-map.
+
+BODY contains code to execute each time the mode is enabled or disabled.
+  It is executed after toggling the mode, and before running MODE-hook.
+  Before the actual body code, you can write keyword arguments, i.e.
+  alternating keywords and values.  These following special keywords
+  are supported (other keywords are passed to `defcustom' if the minor
+  mode is global):
+
 :group GROUP   Custom group name to use in all generated `defcustom' forms.
                Defaults to MODE without the possible trailing \"-mode\".
                Don't use this default group name unless you have written a

=== modified file 'lisp/files.el'
--- a/lisp/files.el     2010-08-19 21:21:21 +0000
+++ b/lisp/files.el     2010-08-22 20:02:16 +0000
@@ -2805,6 +2805,7 @@
        (no-update-autoloads     . booleanp)
        (tab-width               . integerp)   ;; C source code
        (truncate-lines          . booleanp)   ;; C source code
+       (word-wrap               . booleanp) ;; C source code
        (bidi-display-reordering . booleanp))) ;; C source code
 
 (put 'bidi-paragraph-direction 'safe-local-variable

=== modified file 'lisp/ido.el'
--- a/lisp/ido.el       2010-05-25 02:11:08 +0000
+++ b/lisp/ido.el       2010-08-22 20:02:16 +0000
@@ -1070,11 +1070,11 @@
 ;; Stores the current list of items that will be searched through.
 ;; The list is ordered, so that the most interesting item comes first,
 ;; although by default, the files visible in the current frame are put
-;; at the end of the list.
-(defvar ido-cur-list nil)
+;; at the end of the list.  Created by `ido-make-item-list'.
+(defvar ido-cur-list)
 
 ;; Stores the choice list for ido-completing-read
-(defvar ido-choice-list nil)
+(defvar ido-choice-list)
 
 ;; Stores the list of items which are ignored when building
 ;; `ido-cur-list'.  It is in no specific order.
@@ -3400,11 +3400,9 @@
     (if ido-temp-list
        (nconc ido-temp-list ido-current-buffers)
       (setq ido-temp-list ido-current-buffers))
-    (when (and default (buffer-live-p (get-buffer default)))
-      (setq ido-temp-list
-           (cons default (delete default ido-temp-list))))
-    (if ido-use-virtual-buffers
-       (ido-add-virtual-buffers-to-list))
+    (if default
+        (setq ido-temp-list
+              (cons default (delete default ido-temp-list))))
     (run-hooks 'ido-make-buffer-list-hook)
     ido-temp-list))
 
@@ -3672,7 +3670,6 @@
   ;; Used by `ido-get-buffers-in-frames' to walk through all windows
   (let ((buf (buffer-name (window-buffer win))))
        (unless (or (member buf ido-bufs-in-frame)
-                   (minibufferp buf)
                    (member buf ido-ignore-item-temp-list))
          ;; Only add buf if it is not already in list.
          ;; This prevents same buf in two different windows being
@@ -3913,27 +3910,6 @@
              ;;(add-hook 'completion-setup-hook 'completion-setup-function)
              (display-completion-list completion-list)))))))
 
-(defun ido-kill-buffer-internal (buf)
-  "Kill buffer BUF and rebuild ido's buffer list if needed."
-  (if (not (kill-buffer buf))
-      ;; buffer couldn't be killed.
-      (setq ido-rescan t)
-    ;; else buffer was killed so remove name from list.
-    (setq ido-cur-list (delq buf ido-cur-list))
-    ;; Some packages, like uniquify.el, may rename buffers when one
-    ;; is killed, so we need to test this condition to avoid using
-    ;; an outdated list of buffer names. We don't want to always
-    ;; rebuild the list of buffers, as this alters the previous
-    ;; buffer order that the user was seeing on the prompt. However,
-    ;; when we rebuild the list, we try to keep the previous second
-    ;; buffer as the first one.
-    (catch 'update
-      (dolist (b ido-cur-list)
-       (unless (get-buffer b)
-         (setq ido-cur-list (ido-make-buffer-list (cadr ido-matches)))
-         (setq ido-rescan t)
-         (throw 'update nil))))))
-
 ;;; KILL CURRENT BUFFER
 (defun ido-kill-buffer-at-head ()
   "Kill the buffer at the head of `ido-matches'.
@@ -3942,15 +3918,26 @@
   (if (not (eobp))
       (delete-region (point) (line-end-position))
     (let ((enable-recursive-minibuffers t)
-         (buf (ido-name (car ido-matches))))
-      (when buf
-       (ido-kill-buffer-internal buf)
-       ;; Check if buffer still exists.
-       (if (get-buffer buf)
-           ;; buffer couldn't be killed.
+         (buf (ido-name (car ido-matches)))
+         (nextbuf (cadr ido-matches)))
+      (when (get-buffer buf)
+       ;; If next match names a buffer use the buffer object; buffer
+       ;; name may be changed by packages such as uniquify; mindful
+       ;; of virtual buffers.
+       (when (and nextbuf (get-buffer nextbuf))
+         (setq nextbuf (get-buffer nextbuf)))
+       (if (null (kill-buffer buf))
+           ;; Buffer couldn't be killed.
            (setq ido-rescan t)
-         ;; else buffer was killed so remove name from list.
-         (setq ido-cur-list (delq buf ido-cur-list)))))))
+         ;; Else `kill-buffer' succeeds so re-make the buffer list
+         ;; taking into account packages like uniquify may rename
+         ;; buffers.
+         (if (bufferp nextbuf)
+             (setq nextbuf (buffer-name nextbuf)))
+         (setq ido-default-item nextbuf
+               ido-text-init ido-text
+               ido-exit 'refresh)
+         (exit-minibuffer))))))
 
 ;;; DELETE CURRENT FILE
 (defun ido-delete-file-at-head ()
@@ -3988,7 +3975,7 @@
      ((eq method 'kill)
       (if record
          (ido-record-command 'kill-buffer buffer))
-      (ido-kill-buffer-internal buffer))
+      (kill-buffer buffer))
 
      ((eq method 'other-window)
       (if record

=== modified file 'lisp/iswitchb.el'
--- a/lisp/iswitchb.el  2010-02-10 09:19:32 +0000
+++ b/lisp/iswitchb.el  2010-08-21 13:35:27 +0000
@@ -1027,8 +1027,8 @@
 (defun iswitchb-kill-buffer ()
   "Kill the buffer at the head of `iswitchb-matches'."
   (interactive)
-  (let ( (enable-recursive-minibuffers t)
-        buf)
+  (let ((enable-recursive-minibuffers t)
+        buf)
 
     (setq buf (car iswitchb-matches))
     ;; check to see if buf is non-nil.
@@ -1042,8 +1042,10 @@
          (if (get-buffer buf)
              ;; buffer couldn't be killed.
              (setq iswitchb-rescan t)
-           ;; else buffer was killed so remove name from list.
-           (setq iswitchb-buflist  (delq buf iswitchb-buflist)))))))
+           ;; Else `kill-buffer' succeeds so re-make the buffer list
+           ;; taking into account packages like uniquify may rename
+           ;; buffers
+           (iswitchb-make-buflist iswitchb-default))))))
 
 ;;; VISIT CHOSEN BUFFER
 (defun iswitchb-visit-buffer (buffer)

=== modified file 'lisp/mail/rmail.el'
--- a/lisp/mail/rmail.el        2010-07-27 02:10:05 +0000
+++ b/lisp/mail/rmail.el        2010-08-22 20:02:16 +0000
@@ -191,8 +191,6 @@
   :group 'rmail-retrieve
   :type '(repeat (directory)))
 
-(declare-function mail-position-on-field "sendmail" (field &optional soft))
-(declare-function mail-text-start "sendmail" ())
 (declare-function rmail-dont-reply-to "mail-utils" (destinations))
 (declare-function rmail-update-summary "rmailsum" (&rest ignore))
 
@@ -1643,8 +1641,6 @@
 (declare-function rmail-summary-mark-deleted "rmailsum" (&optional n undel))
 (declare-function rfc822-addresses "rfc822" (header-text))
 (declare-function mail-abbrev-make-syntax-table "mailabbrev.el" ())
-(declare-function mail-sendmail-delimit-header "sendmail" ())
-(declare-function mail-header-end "sendmail" ())
 
 ;; RLK feature not added in this version:
 ;; argument specifies inbox file or files in various ways.
@@ -3686,7 +3682,8 @@
          ;; The mail buffer is now current.
          (save-excursion
            ;; Insert after header separator--before signature if any.
-           (goto-char (mail-text-start))
+           (rfc822-goto-eoh)
+           (forward-line 1)
            (if (or rmail-enable-mime rmail-enable-mime-composing)
                (funcall rmail-insert-mime-forwarded-message-function
                         forward-buffer)
@@ -3841,6 +3838,10 @@
                           (1- (point))
                         (point-max)))))))
 
+(declare-function mail-sendmail-delimit-header "sendmail" ())
+(declare-function mail-header-end "sendmail" ())
+(declare-function mail-position-on-field "sendmail" (field &optional soft))
+
 (defun rmail-retry-failure ()
   "Edit a mail message which is based on the contents of the current message.
 For a message rejected by the mail system, extract the interesting headers and
@@ -3932,6 +3933,8 @@
            (goto-char (point-min))
            (if bounce-indent
                (indent-rigidly (point-min) (point-max) bounce-indent))
+           ;; FIXME better to replace sendmail functions.
+           (require 'sendmail)
            (mail-sendmail-delimit-header)
            (save-restriction
              (narrow-to-region (point-min) (mail-header-end))

=== modified file 'lisp/menu-bar.el'
--- a/lisp/menu-bar.el  2010-08-13 13:26:13 +0000
+++ b/lisp/menu-bar.el  2010-08-22 20:02:16 +0000
@@ -1272,6 +1272,9 @@
 (define-key menu-bar-games-menu [life]
   `(menu-item ,(purecopy "Life")  life
              :help ,(purecopy "Watch how John Conway's cellular automaton 
evolves")))
+(define-key menu-bar-games-menu [land]
+  `(menu-item ,(purecopy "Landmark") landmark
+             :help ,(purecopy "Watch a neural-network robot learn landmarks")))
 (define-key menu-bar-games-menu [hanoi]
   `(menu-item ,(purecopy "Towers of Hanoi") hanoi
              :help ,(purecopy "Watch Towers-of-Hanoi puzzle solved by Emacs")))

=== modified file 'lisp/progmodes/flymake.el'
--- a/lisp/progmodes/flymake.el 2010-01-28 19:53:11 +0000
+++ b/lisp/progmodes/flymake.el 2010-08-18 18:24:52 +0000
@@ -1152,7 +1152,8 @@
          (when dir
            (let ((default-directory dir))
              (flymake-log 3 "starting process on dir %s" default-directory)))
-         (setq process (apply 'start-process "flymake-proc" (current-buffer) 
cmd args))
+         (setq process (apply 'start-file-process
+                              "flymake-proc" (current-buffer) cmd args))
          (set-process-sentinel process 'flymake-process-sentinel)
          (set-process-filter process 'flymake-process-filter)
           (push process flymake-processes)

=== modified file 'lisp/progmodes/make-mode.el'
--- a/lisp/progmodes/make-mode.el       2010-07-27 16:37:25 +0000
+++ b/lisp/progmodes/make-mode.el       2010-08-22 20:02:16 +0000
@@ -1300,7 +1300,9 @@
        (save-restriction
          (narrow-to-region beginning end)
          (makefile-backslash-region (point-min) (point-max) t)
-         (let ((fill-paragraph-function nil))
+         (let ((fill-paragraph-function nil)
+                ;; Adjust fill-column to allow space for the backslash.
+                (fill-column (- fill-column 1)))
            (fill-paragraph nil))
          (makefile-backslash-region (point-min) (point-max) nil)
          (goto-char (point-max))
@@ -1314,7 +1316,9 @@
       ;; resulting region.
       (save-restriction
        (narrow-to-region (point) (line-beginning-position 2))
-       (let ((fill-paragraph-function nil))
+       (let ((fill-paragraph-function nil)
+              ;; Adjust fill-column to allow space for the backslash.
+              (fill-column (- fill-column 1)))
          (fill-paragraph nil))
        (makefile-backslash-region (point-min) (point-max) nil))
       ;; Return non-nil to indicate it's been filled.

=== modified file 'lisp/simple.el'
--- a/lisp/simple.el    2010-08-19 09:37:40 +0000
+++ b/lisp/simple.el    2010-08-22 20:02:16 +0000
@@ -3103,7 +3103,8 @@
 the text, but put the text in the kill ring anyway.  This means that
 you can use the killing commands to copy text from a read-only buffer.
 
-This is the primitive for programs to kill text (as opposed to deleting it).
+Lisp programs should use this function for killing text.
+ (To delete text, use `delete-region'.)
 Supply two arguments, character positions indicating the stretch of text
  to be killed.
 Any command that calls this function is a \"kill command\".

=== modified file 'lisp/subr.el'
--- a/lisp/subr.el      2010-07-10 18:52:53 +0000
+++ b/lisp/subr.el      2010-08-22 20:02:16 +0000
@@ -219,6 +219,7 @@
 (defmacro ignore-errors (&rest body)
   "Execute BODY; if an error occurs, return nil.
 Otherwise, return result of last form in BODY."
+  (declare (debug t) (indent 0))
   `(condition-case nil (progn ,@body) (error nil)))
 
 ;;;; Basic Lisp functions.
@@ -1818,6 +1819,7 @@
 some sort of escape sequence, the ambiguity is resolved via `read-key-delay'."
   (let ((overriding-terminal-local-map read-key-empty-map)
        (overriding-local-map nil)
+        (echo-keystrokes 0)
        (old-global-map (current-global-map))
         (timer (run-with-idle-timer
                 ;; Wait long enough that Emacs has the time to receive and
@@ -1842,7 +1844,12 @@
                       (throw 'read-key keys)))))))
     (unwind-protect
         (progn
-         (use-global-map read-key-empty-map)
+         (use-global-map
+           (let ((map (make-sparse-keymap)))
+             ;; Don't hide the menu-bar and tool-bar entries.
+             (define-key map [menu-bar] (lookup-key global-map [menu-bar]))
+             (define-key map [tool-bar] (lookup-key global-map [tool-bar]))
+             map))
          (aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0))
       (cancel-timer timer)
       (use-global-map old-global-map))))

=== modified file 'lisp/woman.el'
--- a/lisp/woman.el     2010-07-14 15:57:54 +0000
+++ b/lisp/woman.el     2010-08-22 20:02:16 +0000
@@ -3388,7 +3388,10 @@
   "Translate up to marker TO.  Do this last of all transformations."
   (if translations
       (let ((matches (car translations))
-           (alist (cdr translations)))
+           (alist (cdr translations))
+           ;; Translations are case-sensitive, eg ".tr ab" does not
+           ;; affect "A" (bug#6849).
+           (case-fold-search nil))
        (while (re-search-forward matches to t)
          ;; Done like this to retain text properties and
          ;; support translation of special characters:

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-08-22 17:18:52 +0000
+++ b/src/ChangeLog     2010-08-22 20:02:16 +0000
@@ -1,3 +1,28 @@
+2010-08-22  Andreas Schwab  <address@hidden>
+
+       * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP
+       instead of SAFE_ALLOCA.
+
+2010-08-22  Chong Yidong  <address@hidden>
+
+       * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA
+       (Bug#6214).
+
+2010-08-22  Jan Djärv  <address@hidden>
+
+       * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
+
+2010-08-22  Jan Djärv  <address@hidden>
+
+       * doc.c (Fsnarf_documentation): Initialize skip_file before
+       build-files test.
+
+2010-08-22  Peter O'Gorman <address@hidden>  (tiny change)
+
+       * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK): New
+       definitions.
+       (HAVE_TERMIO): Remove.
+
 2010-08-22  Eli Zaretskii  <address@hidden>
 
        * deps.mk (sysdep.o, msdos.o): Depend on sysselect.h.

=== modified file 'src/doc.c'
--- a/src/doc.c 2010-07-29 05:48:06 +0000
+++ b/src/doc.c 2010-08-22 20:02:16 +0000
@@ -622,24 +622,28 @@
       p = buf;
       end = buf + (filled < 512 ? filled : filled - 128);
       while (p != end && *p != '\037') p++;
-      /* p points to ^_Ffunctionname\n or ^_Vvarname\n.  */
+      /* p points to ^_Ffunctionname\n or ^_Vvarname\n or ^_Sfilename\n.  */
       if (p != end)
        {
          end = strchr (p, '\n');
 
           /* See if this is a file name, and if it is a file in build-files.  
*/
-          if (p[1] == 'S' && end - p > 4 && end[-2] == '.'
-              && (end[-1] == 'o' || end[-1] == 'c'))
+          if (p[1] == 'S')
             {
-              int len = end - p - 2;
-              char *fromfile = alloca (len + 1);
-              strncpy (fromfile, &p[2], len);
-              fromfile[len] = 0;
-              if (fromfile[len-1] == 'c')
-                fromfile[len-1] = 'o';
+              skip_file = 0;
+              if (end - p > 4 && end[-2] == '.'
+                  && (end[-1] == 'o' || end[-1] == 'c'))
+                {
+                  int len = end - p - 2;
+                  char *fromfile = alloca (len + 1);
+                  strncpy (fromfile, &p[2], len);
+                  fromfile[len] = 0;
+                  if (fromfile[len-1] == 'c')
+                    fromfile[len-1] = 'o';
 
-             skip_file = NILP (Fmember (build_string (fromfile),
-                                        Vbuild_files));
+                  skip_file = NILP (Fmember (build_string (fromfile),
+                                             Vbuild_files));
+                }
             }
 
          sym = oblookup (Vobarray, p + 2,

=== modified file 'src/eval.c'
--- a/src/eval.c        2010-08-18 10:21:43 +0000
+++ b/src/eval.c        2010-08-22 20:02:16 +0000
@@ -1011,12 +1011,13 @@
   int count = SPECPDL_INDEX ();
   register int argnum;
   struct gcpro gcpro1, gcpro2;
+  USE_SAFE_ALLOCA;
 
   varlist = Fcar (args);
 
   /* Make space to hold the values to give the bound variables */
   elt = Flength (varlist);
-  temps = (Lisp_Object *) alloca (XFASTINT (elt) * sizeof (Lisp_Object));
+  SAFE_ALLOCA_LISP (temps, XFASTINT (elt));
 
   /* Compute the values and store them in `temps' */
 
@@ -1049,6 +1050,7 @@
     }
 
   elt = Fprogn (Fcdr (args));
+  SAFE_FREE ();
   return unbind_to (count, elt);
 }
 
@@ -2301,8 +2303,9 @@
          /* Pass a vector of evaluated arguments */
          Lisp_Object *vals;
          register int argnum = 0;
+         USE_SAFE_ALLOCA;
 
-         vals = (Lisp_Object *) alloca (XINT (numargs) * sizeof (Lisp_Object));
+         SAFE_ALLOCA_LISP (vals, XINT (numargs));
 
          GCPRO3 (args_left, fun, fun);
          gcpro3.var = vals;
@@ -2320,6 +2323,7 @@
 
          val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals);
          UNGCPRO;
+         SAFE_FREE ();
          goto done;
        }
 
@@ -2430,8 +2434,9 @@
   register int i, numargs;
   register Lisp_Object spread_arg;
   register Lisp_Object *funcall_args;
-  Lisp_Object fun;
+  Lisp_Object fun, retval;
   struct gcpro gcpro1;
+  USE_SAFE_ALLOCA;
 
   fun = args [0];
   funcall_args = 0;
@@ -2470,8 +2475,7 @@
        {
          /* Avoid making funcall cons up a yet another new vector of arguments
             by explicitly supplying nil's for optional values */
-         funcall_args = (Lisp_Object *) alloca ((1 + XSUBR (fun)->max_args)
-                                                * sizeof (Lisp_Object));
+         SAFE_ALLOCA_LISP (funcall_args, 1 + XSUBR (fun)->max_args);
          for (i = numargs; i < XSUBR (fun)->max_args;)
            funcall_args[++i] = Qnil;
          GCPRO1 (*funcall_args);
@@ -2483,8 +2487,7 @@
      function itself as well as its arguments.  */
   if (!funcall_args)
     {
-      funcall_args = (Lisp_Object *) alloca ((1 + numargs)
-                                            * sizeof (Lisp_Object));
+      SAFE_ALLOCA_LISP (funcall_args, 1 + numargs);
       GCPRO1 (*funcall_args);
       gcpro1.nvars = 1 + numargs;
     }
@@ -2500,7 +2503,11 @@
     }
 
   /* By convention, the caller needs to gcpro Ffuncall's args.  */
-  RETURN_UNGCPRO (Ffuncall (gcpro1.nvars, funcall_args));
+  retval = Ffuncall (gcpro1.nvars, funcall_args);
+  UNGCPRO;
+  SAFE_FREE ();
+
+  return retval;
 }
 
 /* Run hook variables in various ways.  */
@@ -3065,9 +3072,10 @@
   struct gcpro gcpro1, gcpro2, gcpro3;
   register int i;
   register Lisp_Object tem;
+  USE_SAFE_ALLOCA;
 
   numargs = Flength (args);
-  arg_vector = (Lisp_Object *) alloca (XINT (numargs) * sizeof (Lisp_Object));
+  SAFE_ALLOCA_LISP (arg_vector, XINT (numargs));
   args_left = args;
 
   GCPRO3 (*arg_vector, args_left, fun);
@@ -3096,6 +3104,7 @@
     tem = call_debugger (Fcons (Qexit, Fcons (tem, Qnil)));
   /* Don't do it again when we return to eval.  */
   backtrace_list->debug_on_exit = 0;
+  SAFE_FREE ();
   return tem;
 }
 

=== modified file 'src/s/hpux10-20.h'
--- a/src/s/hpux10-20.h 2010-07-29 03:25:08 +0000
+++ b/src/s/hpux10-20.h 2010-08-22 20:02:16 +0000
@@ -35,9 +35,10 @@
    if system supports pty's.  'p' means it is /dev/ptym/ptyp0  */
 #define FIRST_PTY_LETTER 'p'
 
-/* Define HAVE_TERMIO if the system provides sysV-style ioctls
-   for terminal control.  */
-#define HAVE_TERMIO
+#define HAVE_TERMIOS
+#define NO_TERMIO
+
+#define ORDINARY_LINK
 
 /* Define HAVE_PTYS if the system supports pty devices.  */
 #define HAVE_PTYS


reply via email to

[Prev in Thread] Current Thread [Next in Thread]