aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2010-08-22 16:02:16 -0400
committerChong Yidong2010-08-22 16:02:16 -0400
commitb0126eac41487b9bca5af5cbb2212ff5b2c58b80 (patch)
tree680ba932d259776ebfdb6d424fa8f668e1001f7c
parentb613941ba003bbf5024415ac4f8c2a0e12434751 (diff)
parentbc7d7ea63ba9d98b3ecc3b6decf4392a651dcbfb (diff)
downloademacs-b0126eac41487b9bca5af5cbb2212ff5b2c58b80.tar.gz
emacs-b0126eac41487b9bca5af5cbb2212ff5b2c58b80.zip
Merge changes from emacs-23 branch.
-rw-r--r--doc/emacs/ChangeLog4
-rw-r--r--doc/emacs/misc.texi9
-rw-r--r--doc/lispref/ChangeLog8
-rw-r--r--doc/lispref/modes.texi12
-rw-r--r--doc/lispref/objects.texi4
-rw-r--r--leim/ChangeLog23
-rw-r--r--leim/quail/arabic.el4
-rw-r--r--leim/quail/georgian.el10
-rw-r--r--leim/quail/greek.el11
-rw-r--r--leim/quail/latin-ltx.el4
-rw-r--r--leim/quail/vntelex.el2
-rw-r--r--lisp/ChangeLog73
-rw-r--r--lisp/align.el6
-rw-r--r--lisp/calendar/diary-lib.el4
-rw-r--r--lisp/emacs-lisp/easy-mmode.el30
-rw-r--r--lisp/files.el1
-rw-r--r--lisp/ido.el65
-rw-r--r--lisp/iswitchb.el10
-rw-r--r--lisp/mail/rmail.el13
-rw-r--r--lisp/menu-bar.el3
-rw-r--r--lisp/progmodes/flymake.el3
-rw-r--r--lisp/progmodes/make-mode.el8
-rw-r--r--lisp/simple.el3
-rw-r--r--lisp/subr.el9
-rw-r--r--lisp/woman.el5
-rw-r--r--src/ChangeLog25
-rw-r--r--src/doc.c28
-rw-r--r--src/eval.c27
-rw-r--r--src/s/hpux10-20.h7
29 files changed, 295 insertions, 116 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 8285a313191..55ec7b75cce 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,7 @@
12010-08-21 Glenn Morris <rgm@gnu.org>
2
3 * misc.texi (Amusements): Mention bubbles and animate.
4
12010-07-31 Eli Zaretskii <eliz@gnu.org> 52010-07-31 Eli Zaretskii <eliz@gnu.org>
2 6
3 * files.texi (Visiting): Add more index entries for 7 * files.texi (Visiting): Add more index entries for
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 387e1be715a..029cf410664 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -2784,6 +2784,10 @@ bored, try an argument of 9. Sit back and watch.
2784 If you want a little more personal involvement, try @kbd{M-x gomoku}, 2784 If you want a little more personal involvement, try @kbd{M-x gomoku},
2785which plays the game Go Moku with you. 2785which plays the game Go Moku with you.
2786 2786
2787@findex bubbles
2788 @kbd{M-x bubbles} is a game in which the object is to remove as many
2789bubbles as you can in the smallest number of moves.
2790
2787@findex blackbox 2791@findex blackbox
2788@findex mpuz 2792@findex mpuz
2789@findex 5x5 2793@findex 5x5
@@ -2832,6 +2836,11 @@ bats.
2832@kbd{M-x solitaire} plays a game of solitaire in which you jump pegs 2836@kbd{M-x solitaire} plays a game of solitaire in which you jump pegs
2833across other pegs. 2837across other pegs.
2834 2838
2839@findex animate-birthday-present
2840@cindex animate
2841The @code{animate} package makes text dance. For an example, try
2842@kbd{M-x animate-birthday-present}.
2843
2835@findex studlify-region 2844@findex studlify-region
2836@cindex StudlyCaps 2845@cindex StudlyCaps
2837@kbd{M-x studlify-region} studlify-cases the region, producing 2846@kbd{M-x studlify-region} studlify-cases the region, producing
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 459bd925cf4..9c09410c849 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,11 @@
12010-08-22 Chong Yidong <cyd@stupidchicken.com>
2
3 * modes.texi (Defining Minor Modes): Doc fix (Bug#6880).
4
52010-08-22 Chong Yidong <cyd@stupidchicken.com>
6
7 * objects.texi (Bool-Vector Type): Minor definition tweak (Bug#6878).
8
12010-08-20 Eli Zaretskii <eliz@gnu.org> 92010-08-20 Eli Zaretskii <eliz@gnu.org>
2 10
3 * commands.texi (Misc Events): Add cross-references to where 11 * commands.texi (Misc Events): Add cross-references to where
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 3953da59b93..12f16b67663 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1411,14 +1411,20 @@ The string @var{lighter} says what to display in the mode line
1411when the mode is enabled; if it is @code{nil}, the mode is not displayed 1411when the mode is enabled; if it is @code{nil}, the mode is not displayed
1412in the mode line. 1412in the mode line.
1413 1413
1414The optional argument @var{keymap} specifies the keymap for the minor mode. 1414The optional argument @var{keymap} specifies the keymap for the minor
1415It can be a variable name, whose value is the keymap, or it can be an alist 1415mode. If non-@code{nil}, it should be a variable name (whose value is
1416specifying bindings in this form: 1416a keymap), a keymap, or an alist of the form
1417 1417
1418@example 1418@example
1419(@var{key-sequence} . @var{definition}) 1419(@var{key-sequence} . @var{definition})
1420@end example 1420@end example
1421 1421
1422@noindent
1423where each @var{key-sequence} and @var{definition} are arguments
1424suitable for passing to @code{define-key} (@pxref{Changing Key
1425Bindings}). If @var{keymap} is a keymap or an alist, this also
1426defines the variable @code{@var{mode}-map}.
1427
1422The above three arguments @var{init-value}, @var{lighter}, and 1428The above three arguments @var{init-value}, @var{lighter}, and
1423@var{keymap} can be (partially) omitted when @var{keyword-args} are 1429@var{keymap} can be (partially) omitted when @var{keyword-args} are
1424used. The @var{keyword-args} consist of keywords followed by 1430used. The @var{keyword-args} consist of keywords followed by
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index 5c3ac13cdaf..c8ccb15a2d3 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -1189,8 +1189,8 @@ Syntax tables (@pxref{Syntax Tables}).
1189@node Bool-Vector Type 1189@node Bool-Vector Type
1190@subsection Bool-Vector Type 1190@subsection Bool-Vector Type
1191 1191
1192 A @dfn{bool-vector} is a one-dimensional array of elements that 1192 A @dfn{bool-vector} is a one-dimensional array whose elements must
1193must be @code{t} or @code{nil}. 1193be @code{t} or @code{nil}.
1194 1194
1195 The printed representation of a bool-vector is like a string, except 1195 The printed representation of a bool-vector is like a string, except
1196that it begins with @samp{#&} followed by the length. The string 1196that it begins with @samp{#&} followed by the length. The string
diff --git a/leim/ChangeLog b/leim/ChangeLog
index 174102b7817..36788bbd5e7 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -1,3 +1,26 @@
12010-08-15 Andreas Schwab <schwab@linux-m68k.org>
2
3 * quail/vntelex.el ("vietnamese-telex"): Doc fix.
4
5 * quail/georgian.el: Remove extra backslashes.
6
72010-08-14 Andreas Schwab <schwab@linux-m68k.org>
8
9 * quail/arabic.el: Quote [ and ].
10 * quail/latin-ltx.el: Likewise.
11
12 * quail/greek.el ("greek", "greek-postfix"): Change string to
13 character.
14
152010-08-13 Kenichi Handa <handa@m17n.org>
16
17 * quail/greek.el ("greek-postfix"): Add rules for Greek style
18 quotes.
19
202010-08-09 Kenichi Handa <handa@m17n.org>
21
22 * quail/greek.el ("greek"): Add rules for Greek style quotes.
23
12010-05-15 Glenn Morris <rgm@gnu.org> 242010-05-15 Glenn Morris <rgm@gnu.org>
2 25
3 * Makefile.in (install): Remove references to CVS-related files. 26 * Makefile.in (install): Remove references to CVS-related files.
diff --git a/leim/quail/arabic.el b/leim/quail/arabic.el
index 4e613cad16e..cb77183bc96 100644
--- a/leim/quail/arabic.el
+++ b/leim/quail/arabic.el
@@ -57,8 +57,8 @@ Based on Arabic table in X Keyboard Configuration DB.
57 57
58 ("A" ?ِ) 58 ("A" ?ِ)
59 ("S" ?ٍ) 59 ("S" ?ٍ)
60 ("D" ?]) 60 ("D" ?\])
61 ("F" ?[) 61 ("F" ?\[)
62 ("G" ["لأ"]) 62 ("G" ["لأ"])
63 ("H" ?أ) 63 ("H" ?أ)
64 ("J" ?ـ) 64 ("J" ?ـ)
diff --git a/leim/quail/georgian.el b/leim/quail/georgian.el
index 0101a930d37..a063d126667 100644
--- a/leim/quail/georgian.el
+++ b/leim/quail/georgian.el
@@ -51,7 +51,7 @@
51 ("n" ?ნ) 51 ("n" ?ნ)
52 ("o" ?ო) 52 ("o" ?ო)
53 (".p" ?პ) 53 (".p" ?პ)
54 ("\+z" ?ჟ) 54 ("+z" ?ჟ)
55 ("r" ?რ) 55 ("r" ?რ)
56 ("s" ?ს) 56 ("s" ?ს)
57 (".t" ?ტ) 57 (".t" ?ტ)
@@ -60,14 +60,14 @@
60 ("k" ?ქ) 60 ("k" ?ქ)
61 (".g" ?ღ) 61 (".g" ?ღ)
62 ("q" ?ყ) 62 ("q" ?ყ)
63 ("\+s" ?შ) 63 ("+s" ?შ)
64 ("\+c" ?ჩ) 64 ("+c" ?ჩ)
65 ("c" ?ც) 65 ("c" ?ც)
66 ("j" ?ძ) 66 ("j" ?ძ)
67 (".c" ?წ) 67 (".c" ?წ)
68 (".\+c" ?ჭ) 68 (".+c" ?ჭ)
69 ("x" ?ხ) 69 ("x" ?ხ)
70 ("\+j" ?ჯ) 70 ("+j" ?ჯ)
71 ("h" ?ჰ) 71 ("h" ?ჰ)
72 ("q1" ?ჴ) 72 ("q1" ?ჴ)
73 ("e0" ?ჱ) 73 ("e0" ?ჱ)
diff --git a/leim/quail/greek.el b/leim/quail/greek.el
index 1085ca229cf..688b247b0b5 100644
--- a/leim/quail/greek.el
+++ b/leim/quail/greek.el
@@ -1279,7 +1279,9 @@ e.g.
1279 (";:i" ?,F@(B) 1279 (";:i" ?,F@(B)
1280 (":;i" ?,F@(B) 1280 (":;i" ?,F@(B)
1281 (";:y" ?,F`(B) 1281 (";:y" ?,F`(B)
1282 (":;y" ?,F`(B)) 1282 (":;y" ?,F`(B)
1283 (";<" ?$(Q)((B)
1284 (";>" ?$(Q)2(B))
1283 1285
1284(quail-define-package 1286(quail-define-package
1285 "greek-postfix" "GreekPost" ",FX(B" nil 1287 "greek-postfix" "GreekPost" ",FX(B" nil
@@ -1419,7 +1421,12 @@ e.g.
1419 ("i:;" ?,F@(B) 1421 ("i:;" ?,F@(B)
1420 ("i;:" ?,F@(B) 1422 ("i;:" ?,F@(B)
1421 ("y:;" ?,F`(B) 1423 ("y:;" ?,F`(B)
1422 ("y;:" ?,F`(B)) 1424 ("y;:" ?,F`(B)
1425 ;; These two are asymmetric with ";<" and ";>" in "greek" input
1426 ;; method. But, as the other Latin postfix methods adopt "<<" and
1427 ;; ">>", it may be better to follow them.
1428 ("<<" ?$(Q)((B)
1429 (">>" ?$(Q)2(B))
1423 1430
1424 1431
1425;; arch-tag: 2a37e042-db1b-4ecf-b755-117775a3c150 1432;; arch-tag: 2a37e042-db1b-4ecf-b755-117775a3c150
diff --git a/leim/quail/latin-ltx.el b/leim/quail/latin-ltx.el
index 5001c4dd0ef..8b58bf39d54 100644
--- a/leim/quail/latin-ltx.el
+++ b/leim/quail/latin-ltx.el
@@ -653,7 +653,7 @@ system, including many technical ones. Examples:
653 ("\\lambda" ?λ) 653 ("\\lambda" ?λ)
654 ("\\langle" ?〈) 654 ("\\langle" ?〈)
655 ("\\lbrace" ?{) 655 ("\\lbrace" ?{)
656 ("\\lbrack" ?[) 656 ("\\lbrack" ?\[)
657 ("\\lceil" ?⌈) 657 ("\\lceil" ?⌈)
658 ("\\ldots" ?…) 658 ("\\ldots" ?…)
659 ("\\le" ?≤) 659 ("\\le" ?≤)
@@ -788,7 +788,7 @@ system, including many technical ones. Examples:
788 ("\\quad" ? ) 788 ("\\quad" ? )
789 ("\\rangle" ?〉) 789 ("\\rangle" ?〉)
790 ("\\rbrace" ?}) 790 ("\\rbrace" ?})
791 ("\\rbrack" ?]) 791 ("\\rbrack" ?\])
792 ("\\rceil" ?⌉) 792 ("\\rceil" ?⌉)
793 ("\\rfloor" ?⌋) 793 ("\\rfloor" ?⌋)
794 ("\\rightarrow" ?→) 794 ("\\rightarrow" ?→)
diff --git a/leim/quail/vntelex.el b/leim/quail/vntelex.el
index 8af020b093c..4a94a4be59c 100644
--- a/leim/quail/vntelex.el
+++ b/leim/quail/vntelex.el
@@ -53,7 +53,7 @@ Other diacritics:
53 acute s as -> ,1a(B 53 acute s as -> ,1a(B
54 grave f af -> ,1`(B 54 grave f af -> ,1`(B
55 hook above r ar -> ,1d(B 55 hook above r ar -> ,1d(B
56 tilde x ax -> ,1c(B 56 tilde x ax -> ,1c(B
57 dot below j aj -> ,1U(B 57 dot below j aj -> ,1U(B
58 58
59 d bar dd -> ,1p(B 59 d bar dd -> ,1p(B
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fa5c117be83..12a2ffce5bd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,74 @@
12010-08-22 Chong Yidong <cyd@stupidchicken.com>
2
3 * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880).
4
52010-08-22 Leo <sdl.web@gmail.com>
6
7 Fix buffer-list rename&refresh after after killing a buffer in ido.
8 * lisp/ido.el: Revert Óscar's.
9 (ido-kill-buffer-at-head): Exit the minibuffer with ido-exit=refresh.
10 Remember the buffers at head, rather than their name.
11 * lisp/iswitchb.el (iswitchb-kill-buffer): Re-make the list.
12
132010-08-22 Kirk Kelsey <kirk.kelsey@0x4b.net> (tiny change)
14 Stefan Monnier <monnier@iro.umontreal.ca>
15
16 * progmodes/make-mode.el (makefile-fill-paragraph): Account for the
17 extra backslash added to each line (bug#6890).
18
192010-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
20
21 * subr.el (read-key): Don't echo keystrokes (bug#6883).
22
232010-08-22 Glenn Morris <rgm@gnu.org>
24
25 * menu-bar.el (menu-bar-games-menu): Add landmark.
26
272010-08-22 Glenn Morris <rgm@gnu.org>
28
29 * align.el (align-regexp): Make group and spacing arguments
30 use the interactive defaults when non-interactive. (Bug#6698)
31
32 * mail/rmail.el (rmail-forward): Replace mail-text-start with its
33 expansion, so as not to need sendmail.
34 (mail-text-start): Remove declaration.
35 (rmail-retry-failure): Require sendmail.
36
372010-08-22 Chong Yidong <cyd@stupidchicken.com>
38
39 * subr.el (read-key): Don't hide the menu-bar entries (bug#6881).
40
412010-08-22 Michael Albinus <michael.albinus@gmx.de>
42
43 * progmodes/flymake.el (flymake-start-syntax-check-process):
44 Use `start-file-process' in order to let it run also on remote hosts.
45
462010-08-22 Kenichi Handa <handa@m17n.org>
47
48 * files.el: Add `word-wrap' as safe local variable.
49
502010-08-22 Glenn Morris <rgm@gnu.org>
51
52 * woman.el (woman-translate): Case matters. (Bug#6849)
53
542010-08-22 Chong Yidong <cyd@stupidchicken.com>
55
56 * simple.el (kill-region): Doc fix (Bug#6787).
57
582010-08-22 Glenn Morris <rgm@gnu.org>
59
60 * calendar/diary-lib.el (diary-header-line-format):
61 Fit it to the window, not the frame.
62
632010-08-22 Andreas Schwab <schwab@linux-m68k.org>
64
65 * subr.el (ignore-errors): Add debug declaration.
66
672010-08-22 Geoff Gole <geoffgole@gmail.com> (tiny change)
68
69 * whitespace.el (whitespace-color-off): Remove post-command-hook
70 locally.
71
12010-08-21 Stefan Monnier <monnier@iro.umontreal.ca> 722010-08-21 Stefan Monnier <monnier@iro.umontreal.ca>
2 73
3 * vc/add-log.el (add-log-file-name): Don't get confused by symlinks. 74 * vc/add-log.el (add-log-file-name): Don't get confused by symlinks.
@@ -346,7 +417,7 @@
346 (ctext-standard-encodings): New variable. 417 (ctext-standard-encodings): New variable.
347 (ctext-non-standard-encodings-table): List only elements for 418 (ctext-non-standard-encodings-table): List only elements for
348 non-standard encodings. 419 non-standard encodings.
349 (ctext-pre-write-conversion): Adjusted for the above change. 420 (ctext-pre-write-conversion): Adjust for the above change.
350 Check ctext-standard-encodings. 421 Check ctext-standard-encodings.
351 422
352 * international/mule-conf.el (compound-text): Doc fix. 423 * international/mule-conf.el (compound-text): Doc fix.
diff --git a/lisp/align.el b/lisp/align.el
index 9d811327021..0812d362875 100644
--- a/lisp/align.el
+++ b/lisp/align.el
@@ -1,7 +1,7 @@
1;;; align.el --- align text to a specific column, by regexp 1;;; align.el --- align text to a specific column, by regexp
2 2
3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6;; Author: John Wiegley <johnw@gnu.org> 6;; Author: John Wiegley <johnw@gnu.org>
7;; Maintainer: FSF 7;; Maintainer: FSF
@@ -944,6 +944,8 @@ region, call `align-regexp' and type in that regular expression."
944 (list (concat "\\(\\s-*\\)" 944 (list (concat "\\(\\s-*\\)"
945 (read-string "Align regexp: ")) 945 (read-string "Align regexp: "))
946 1 align-default-spacing nil)))) 946 1 align-default-spacing nil))))
947 (or group (setq group 1))
948 (or spacing (setq spacing align-default-spacing))
947 (let ((rule 949 (let ((rule
948 (list (list nil (cons 'regexp regexp) 950 (list (list nil (cons 'regexp regexp)
949 (cons 'group (abs group)) 951 (cons 'group (abs group))
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index 8fb464aa7e6..39354bd31e3 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -383,14 +383,14 @@ The format of the header is specified by `diary-header-line-format'."
383 "Some text is hidden - press \"s\" in calendar \ 383 "Some text is hidden - press \"s\" in calendar \
384before edit/copy" 384before edit/copy"
385 "Diary")) 385 "Diary"))
386 ?\s (frame-width))) 386 ?\s (window-width)))
387 "Format of the header line displayed by `diary-simple-display'. 387 "Format of the header line displayed by `diary-simple-display'.
388Only used if `diary-header-line-flag' is non-nil." 388Only used if `diary-header-line-flag' is non-nil."
389 :group 'diary 389 :group 'diary
390 :type 'sexp 390 :type 'sexp
391 :initialize 'custom-initialize-default 391 :initialize 'custom-initialize-default
392 :set 'diary-set-header 392 :set 'diary-set-header
393 :version "22.1") 393 :version "23.3") ; frame-width -> window-width
394 394
395;; The first version of this also checked for diary-selective-display 395;; The first version of this also checked for diary-selective-display
396;; in the non-fancy case. This was an attempt to distinguish between 396;; in the non-fancy case. This was an attempt to distinguish between
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 5a21946183e..337f1d6c402 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -86,25 +86,23 @@ replacing its case-insensitive matches with the literal string in LIGHTER."
86;;;###autoload 86;;;###autoload
87(defmacro define-minor-mode (mode doc &optional init-value lighter keymap &rest body) 87(defmacro define-minor-mode (mode doc &optional init-value lighter keymap &rest body)
88 "Define a new minor mode MODE. 88 "Define a new minor mode MODE.
89This function defines the associated control variable MODE, keymap MODE-map, 89This defines the control variable MODE and the toggle command MODE.
90and toggle command MODE.
91
92DOC is the documentation for the mode toggle command. 90DOC is the documentation for the mode toggle command.
91
93Optional INIT-VALUE is the initial value of the mode's variable. 92Optional INIT-VALUE is the initial value of the mode's variable.
94Optional LIGHTER is displayed in the modeline when the mode is on. 93Optional LIGHTER is displayed in the modeline when the mode is on.
95Optional KEYMAP is the default (defvar) keymap bound to the mode keymap. 94Optional KEYMAP is the default keymap bound to the mode keymap.
96 If it is a list, it is passed to `easy-mmode-define-keymap' 95 If non-nil, it should be a variable name (whose value is a keymap),
97 in order to build a valid keymap. It's generally better to use 96 a keymap, or a list of arguments for `easy-mmode-define-keymap'.
98 a separate MODE-map variable than to use this argument. 97 If KEYMAP is a keymap or list, this also defines the variable MODE-map.
99The above three arguments can be skipped if keyword arguments are 98
100used (see below). 99BODY contains code to execute each time the mode is enabled or disabled.
101 100 It is executed after toggling the mode, and before running MODE-hook.
102BODY contains code to execute each time the mode is activated or deactivated. 101 Before the actual body code, you can write keyword arguments, i.e.
103 It is executed after toggling the mode, 102 alternating keywords and values. These following special keywords
104 and before running the hook variable `MODE-hook'. 103 are supported (other keywords are passed to `defcustom' if the minor
105 Before the actual body code, you can write keyword arguments (alternating 104 mode is global):
106 keywords and values). These following keyword arguments are supported (other 105
107 keywords will be passed to `defcustom' if the minor mode is global):
108:group GROUP Custom group name to use in all generated `defcustom' forms. 106:group GROUP Custom group name to use in all generated `defcustom' forms.
109 Defaults to MODE without the possible trailing \"-mode\". 107 Defaults to MODE without the possible trailing \"-mode\".
110 Don't use this default group name unless you have written a 108 Don't use this default group name unless you have written a
diff --git a/lisp/files.el b/lisp/files.el
index 9a07509ed8b..3d9dd9065c2 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2805,6 +2805,7 @@ asking you for confirmation."
2805 (no-update-autoloads . booleanp) 2805 (no-update-autoloads . booleanp)
2806 (tab-width . integerp) ;; C source code 2806 (tab-width . integerp) ;; C source code
2807 (truncate-lines . booleanp) ;; C source code 2807 (truncate-lines . booleanp) ;; C source code
2808 (word-wrap . booleanp) ;; C source code
2808 (bidi-display-reordering . booleanp))) ;; C source code 2809 (bidi-display-reordering . booleanp))) ;; C source code
2809 2810
2810(put 'bidi-paragraph-direction 'safe-local-variable 2811(put 'bidi-paragraph-direction 'safe-local-variable
diff --git a/lisp/ido.el b/lisp/ido.el
index d34893d708b..ad6c48c01e9 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1070,11 +1070,11 @@ Only used if `ido-use-virtual-buffers' is non-nil.")
1070;; Stores the current list of items that will be searched through. 1070;; Stores the current list of items that will be searched through.
1071;; The list is ordered, so that the most interesting item comes first, 1071;; The list is ordered, so that the most interesting item comes first,
1072;; although by default, the files visible in the current frame are put 1072;; although by default, the files visible in the current frame are put
1073;; at the end of the list. 1073;; at the end of the list. Created by `ido-make-item-list'.
1074(defvar ido-cur-list nil) 1074(defvar ido-cur-list)
1075 1075
1076;; Stores the choice list for ido-completing-read 1076;; Stores the choice list for ido-completing-read
1077(defvar ido-choice-list nil) 1077(defvar ido-choice-list)
1078 1078
1079;; Stores the list of items which are ignored when building 1079;; Stores the list of items which are ignored when building
1080;; `ido-cur-list'. It is in no specific order. 1080;; `ido-cur-list'. It is in no specific order.
@@ -3400,11 +3400,9 @@ for first matching file."
3400 (if ido-temp-list 3400 (if ido-temp-list
3401 (nconc ido-temp-list ido-current-buffers) 3401 (nconc ido-temp-list ido-current-buffers)
3402 (setq ido-temp-list ido-current-buffers)) 3402 (setq ido-temp-list ido-current-buffers))
3403 (when (and default (buffer-live-p (get-buffer default))) 3403 (if default
3404 (setq ido-temp-list 3404 (setq ido-temp-list
3405 (cons default (delete default ido-temp-list)))) 3405 (cons default (delete default ido-temp-list))))
3406 (if ido-use-virtual-buffers
3407 (ido-add-virtual-buffers-to-list))
3408 (run-hooks 'ido-make-buffer-list-hook) 3406 (run-hooks 'ido-make-buffer-list-hook)
3409 ido-temp-list)) 3407 ido-temp-list))
3410 3408
@@ -3672,7 +3670,6 @@ This is to make them appear as if they were \"virtual buffers\"."
3672 ;; Used by `ido-get-buffers-in-frames' to walk through all windows 3670 ;; Used by `ido-get-buffers-in-frames' to walk through all windows
3673 (let ((buf (buffer-name (window-buffer win)))) 3671 (let ((buf (buffer-name (window-buffer win))))
3674 (unless (or (member buf ido-bufs-in-frame) 3672 (unless (or (member buf ido-bufs-in-frame)
3675 (minibufferp buf)
3676 (member buf ido-ignore-item-temp-list)) 3673 (member buf ido-ignore-item-temp-list))
3677 ;; Only add buf if it is not already in list. 3674 ;; Only add buf if it is not already in list.
3678 ;; This prevents same buf in two different windows being 3675 ;; This prevents same buf in two different windows being
@@ -3913,27 +3910,6 @@ This is to make them appear as if they were \"virtual buffers\"."
3913 ;;(add-hook 'completion-setup-hook 'completion-setup-function) 3910 ;;(add-hook 'completion-setup-hook 'completion-setup-function)
3914 (display-completion-list completion-list))))))) 3911 (display-completion-list completion-list)))))))
3915 3912
3916(defun ido-kill-buffer-internal (buf)
3917 "Kill buffer BUF and rebuild ido's buffer list if needed."
3918 (if (not (kill-buffer buf))
3919 ;; buffer couldn't be killed.
3920 (setq ido-rescan t)
3921 ;; else buffer was killed so remove name from list.
3922 (setq ido-cur-list (delq buf ido-cur-list))
3923 ;; Some packages, like uniquify.el, may rename buffers when one
3924 ;; is killed, so we need to test this condition to avoid using
3925 ;; an outdated list of buffer names. We don't want to always
3926 ;; rebuild the list of buffers, as this alters the previous
3927 ;; buffer order that the user was seeing on the prompt. However,
3928 ;; when we rebuild the list, we try to keep the previous second
3929 ;; buffer as the first one.
3930 (catch 'update
3931 (dolist (b ido-cur-list)
3932 (unless (get-buffer b)
3933 (setq ido-cur-list (ido-make-buffer-list (cadr ido-matches)))
3934 (setq ido-rescan t)
3935 (throw 'update nil))))))
3936
3937;;; KILL CURRENT BUFFER 3913;;; KILL CURRENT BUFFER
3938(defun ido-kill-buffer-at-head () 3914(defun ido-kill-buffer-at-head ()
3939 "Kill the buffer at the head of `ido-matches'. 3915 "Kill the buffer at the head of `ido-matches'.
@@ -3942,15 +3918,26 @@ If cursor is not at the end of the user input, delete to end of input."
3942 (if (not (eobp)) 3918 (if (not (eobp))
3943 (delete-region (point) (line-end-position)) 3919 (delete-region (point) (line-end-position))
3944 (let ((enable-recursive-minibuffers t) 3920 (let ((enable-recursive-minibuffers t)
3945 (buf (ido-name (car ido-matches)))) 3921 (buf (ido-name (car ido-matches)))
3946 (when buf 3922 (nextbuf (cadr ido-matches)))
3947 (ido-kill-buffer-internal buf) 3923 (when (get-buffer buf)
3948 ;; Check if buffer still exists. 3924 ;; If next match names a buffer use the buffer object; buffer
3949 (if (get-buffer buf) 3925 ;; name may be changed by packages such as uniquify; mindful
3950 ;; buffer couldn't be killed. 3926 ;; of virtual buffers.
3927 (when (and nextbuf (get-buffer nextbuf))
3928 (setq nextbuf (get-buffer nextbuf)))
3929 (if (null (kill-buffer buf))
3930 ;; Buffer couldn't be killed.
3951 (setq ido-rescan t) 3931 (setq ido-rescan t)
3952 ;; else buffer was killed so remove name from list. 3932 ;; Else `kill-buffer' succeeds so re-make the buffer list
3953 (setq ido-cur-list (delq buf ido-cur-list))))))) 3933 ;; taking into account packages like uniquify may rename
3934 ;; buffers.
3935 (if (bufferp nextbuf)
3936 (setq nextbuf (buffer-name nextbuf)))
3937 (setq ido-default-item nextbuf
3938 ido-text-init ido-text
3939 ido-exit 'refresh)
3940 (exit-minibuffer))))))
3954 3941
3955;;; DELETE CURRENT FILE 3942;;; DELETE CURRENT FILE
3956(defun ido-delete-file-at-head () 3943(defun ido-delete-file-at-head ()
@@ -3988,7 +3975,7 @@ Record command in `command-history' if optional RECORD is non-nil."
3988 ((eq method 'kill) 3975 ((eq method 'kill)
3989 (if record 3976 (if record
3990 (ido-record-command 'kill-buffer buffer)) 3977 (ido-record-command 'kill-buffer buffer))
3991 (ido-kill-buffer-internal buffer)) 3978 (kill-buffer buffer))
3992 3979
3993 ((eq method 'other-window) 3980 ((eq method 'other-window)
3994 (if record 3981 (if record
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el
index ea4b00dc90d..081897a89b3 100644
--- a/lisp/iswitchb.el
+++ b/lisp/iswitchb.el
@@ -1027,8 +1027,8 @@ Return the modified list with the last element prepended to it."
1027(defun iswitchb-kill-buffer () 1027(defun iswitchb-kill-buffer ()
1028 "Kill the buffer at the head of `iswitchb-matches'." 1028 "Kill the buffer at the head of `iswitchb-matches'."
1029 (interactive) 1029 (interactive)
1030 (let ( (enable-recursive-minibuffers t) 1030 (let ((enable-recursive-minibuffers t)
1031 buf) 1031 buf)
1032 1032
1033 (setq buf (car iswitchb-matches)) 1033 (setq buf (car iswitchb-matches))
1034 ;; check to see if buf is non-nil. 1034 ;; check to see if buf is non-nil.
@@ -1042,8 +1042,10 @@ Return the modified list with the last element prepended to it."
1042 (if (get-buffer buf) 1042 (if (get-buffer buf)
1043 ;; buffer couldn't be killed. 1043 ;; buffer couldn't be killed.
1044 (setq iswitchb-rescan t) 1044 (setq iswitchb-rescan t)
1045 ;; else buffer was killed so remove name from list. 1045 ;; Else `kill-buffer' succeeds so re-make the buffer list
1046 (setq iswitchb-buflist (delq buf iswitchb-buflist))))))) 1046 ;; taking into account packages like uniquify may rename
1047 ;; buffers
1048 (iswitchb-make-buflist iswitchb-default))))))
1047 1049
1048;;; VISIT CHOSEN BUFFER 1050;;; VISIT CHOSEN BUFFER
1049(defun iswitchb-visit-buffer (buffer) 1051(defun iswitchb-visit-buffer (buffer)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index fbf5c534a28..fa0b7bef207 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -191,8 +191,6 @@ please report it with \\[report-emacs-bug].")
191 :group 'rmail-retrieve 191 :group 'rmail-retrieve
192 :type '(repeat (directory))) 192 :type '(repeat (directory)))
193 193
194(declare-function mail-position-on-field "sendmail" (field &optional soft))
195(declare-function mail-text-start "sendmail" ())
196(declare-function rmail-dont-reply-to "mail-utils" (destinations)) 194(declare-function rmail-dont-reply-to "mail-utils" (destinations))
197(declare-function rmail-update-summary "rmailsum" (&rest ignore)) 195(declare-function rmail-update-summary "rmailsum" (&rest ignore))
198 196
@@ -1643,8 +1641,6 @@ The duplicate copy goes into the Rmail file just after the original."
1643(declare-function rmail-summary-mark-deleted "rmailsum" (&optional n undel)) 1641(declare-function rmail-summary-mark-deleted "rmailsum" (&optional n undel))
1644(declare-function rfc822-addresses "rfc822" (header-text)) 1642(declare-function rfc822-addresses "rfc822" (header-text))
1645(declare-function mail-abbrev-make-syntax-table "mailabbrev.el" ()) 1643(declare-function mail-abbrev-make-syntax-table "mailabbrev.el" ())
1646(declare-function mail-sendmail-delimit-header "sendmail" ())
1647(declare-function mail-header-end "sendmail" ())
1648 1644
1649;; RLK feature not added in this version: 1645;; RLK feature not added in this version:
1650;; argument specifies inbox file or files in various ways. 1646;; argument specifies inbox file or files in various ways.
@@ -3686,7 +3682,8 @@ see the documentation of `rmail-resend'."
3686 ;; The mail buffer is now current. 3682 ;; The mail buffer is now current.
3687 (save-excursion 3683 (save-excursion
3688 ;; Insert after header separator--before signature if any. 3684 ;; Insert after header separator--before signature if any.
3689 (goto-char (mail-text-start)) 3685 (rfc822-goto-eoh)
3686 (forward-line 1)
3690 (if (or rmail-enable-mime rmail-enable-mime-composing) 3687 (if (or rmail-enable-mime rmail-enable-mime-composing)
3691 (funcall rmail-insert-mime-forwarded-message-function 3688 (funcall rmail-insert-mime-forwarded-message-function
3692 forward-buffer) 3689 forward-buffer)
@@ -3841,6 +3838,10 @@ The message should be narrowed to just the headers."
3841 (1- (point)) 3838 (1- (point))
3842 (point-max))))))) 3839 (point-max)))))))
3843 3840
3841(declare-function mail-sendmail-delimit-header "sendmail" ())
3842(declare-function mail-header-end "sendmail" ())
3843(declare-function mail-position-on-field "sendmail" (field &optional soft))
3844
3844(defun rmail-retry-failure () 3845(defun rmail-retry-failure ()
3845 "Edit a mail message which is based on the contents of the current message. 3846 "Edit a mail message which is based on the contents of the current message.
3846For a message rejected by the mail system, extract the interesting headers and 3847For a message rejected by the mail system, extract the interesting headers and
@@ -3932,6 +3933,8 @@ specifying headers which should not be copied into the new message."
3932 (goto-char (point-min)) 3933 (goto-char (point-min))
3933 (if bounce-indent 3934 (if bounce-indent
3934 (indent-rigidly (point-min) (point-max) bounce-indent)) 3935 (indent-rigidly (point-min) (point-max) bounce-indent))
3936 ;; FIXME better to replace sendmail functions.
3937 (require 'sendmail)
3935 (mail-sendmail-delimit-header) 3938 (mail-sendmail-delimit-header)
3936 (save-restriction 3939 (save-restriction
3937 (narrow-to-region (point-min) (mail-header-end)) 3940 (narrow-to-region (point-min) (mail-header-end))
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 3c1241237f1..ed5c189252b 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1272,6 +1272,9 @@ mail status in mode line"))
1272(define-key menu-bar-games-menu [life] 1272(define-key menu-bar-games-menu [life]
1273 `(menu-item ,(purecopy "Life") life 1273 `(menu-item ,(purecopy "Life") life
1274 :help ,(purecopy "Watch how John Conway's cellular automaton evolves"))) 1274 :help ,(purecopy "Watch how John Conway's cellular automaton evolves")))
1275(define-key menu-bar-games-menu [land]
1276 `(menu-item ,(purecopy "Landmark") landmark
1277 :help ,(purecopy "Watch a neural-network robot learn landmarks")))
1275(define-key menu-bar-games-menu [hanoi] 1278(define-key menu-bar-games-menu [hanoi]
1276 `(menu-item ,(purecopy "Towers of Hanoi") hanoi 1279 `(menu-item ,(purecopy "Towers of Hanoi") hanoi
1277 :help ,(purecopy "Watch Towers-of-Hanoi puzzle solved by Emacs"))) 1280 :help ,(purecopy "Watch Towers-of-Hanoi puzzle solved by Emacs")))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 2a198215536..712af6fd288 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1152,7 +1152,8 @@ For the format of LINE-ERR-INFO, see `flymake-ler-make-ler'."
1152 (when dir 1152 (when dir
1153 (let ((default-directory dir)) 1153 (let ((default-directory dir))
1154 (flymake-log 3 "starting process on dir %s" default-directory))) 1154 (flymake-log 3 "starting process on dir %s" default-directory)))
1155 (setq process (apply 'start-process "flymake-proc" (current-buffer) cmd args)) 1155 (setq process (apply 'start-file-process
1156 "flymake-proc" (current-buffer) cmd args))
1156 (set-process-sentinel process 'flymake-process-sentinel) 1157 (set-process-sentinel process 'flymake-process-sentinel)
1157 (set-process-filter process 'flymake-process-filter) 1158 (set-process-filter process 'flymake-process-filter)
1158 (push process flymake-processes) 1159 (push process flymake-processes)
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index 15664c8e56d..362a1db6c10 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -1300,7 +1300,9 @@ definition and conveniently use this command."
1300 (save-restriction 1300 (save-restriction
1301 (narrow-to-region beginning end) 1301 (narrow-to-region beginning end)
1302 (makefile-backslash-region (point-min) (point-max) t) 1302 (makefile-backslash-region (point-min) (point-max) t)
1303 (let ((fill-paragraph-function nil)) 1303 (let ((fill-paragraph-function nil)
1304 ;; Adjust fill-column to allow space for the backslash.
1305 (fill-column (- fill-column 1)))
1304 (fill-paragraph nil)) 1306 (fill-paragraph nil))
1305 (makefile-backslash-region (point-min) (point-max) nil) 1307 (makefile-backslash-region (point-min) (point-max) nil)
1306 (goto-char (point-max)) 1308 (goto-char (point-max))
@@ -1314,7 +1316,9 @@ definition and conveniently use this command."
1314 ;; resulting region. 1316 ;; resulting region.
1315 (save-restriction 1317 (save-restriction
1316 (narrow-to-region (point) (line-beginning-position 2)) 1318 (narrow-to-region (point) (line-beginning-position 2))
1317 (let ((fill-paragraph-function nil)) 1319 (let ((fill-paragraph-function nil)
1320 ;; Adjust fill-column to allow space for the backslash.
1321 (fill-column (- fill-column 1)))
1318 (fill-paragraph nil)) 1322 (fill-paragraph nil))
1319 (makefile-backslash-region (point-min) (point-max) nil)) 1323 (makefile-backslash-region (point-min) (point-max) nil))
1320 ;; Return non-nil to indicate it's been filled. 1324 ;; Return non-nil to indicate it's been filled.
diff --git a/lisp/simple.el b/lisp/simple.el
index b998eef88a0..5f62b9d9e73 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3103,7 +3103,8 @@ If the buffer is read-only, Emacs will beep and refrain from deleting
3103the text, but put the text in the kill ring anyway. This means that 3103the text, but put the text in the kill ring anyway. This means that
3104you can use the killing commands to copy text from a read-only buffer. 3104you can use the killing commands to copy text from a read-only buffer.
3105 3105
3106This is the primitive for programs to kill text (as opposed to deleting it). 3106Lisp programs should use this function for killing text.
3107 (To delete text, use `delete-region'.)
3107Supply two arguments, character positions indicating the stretch of text 3108Supply two arguments, character positions indicating the stretch of text
3108 to be killed. 3109 to be killed.
3109Any command that calls this function is a \"kill command\". 3110Any command that calls this function is a \"kill command\".
diff --git a/lisp/subr.el b/lisp/subr.el
index 9fb737fd038..90480ea0e7f 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -219,6 +219,7 @@ Treated as a declaration when used at the right place in a
219(defmacro ignore-errors (&rest body) 219(defmacro ignore-errors (&rest body)
220 "Execute BODY; if an error occurs, return nil. 220 "Execute BODY; if an error occurs, return nil.
221Otherwise, return result of last form in BODY." 221Otherwise, return result of last form in BODY."
222 (declare (debug t) (indent 0))
222 `(condition-case nil (progn ,@body) (error nil))) 223 `(condition-case nil (progn ,@body) (error nil)))
223 224
224;;;; Basic Lisp functions. 225;;;; Basic Lisp functions.
@@ -1818,6 +1819,7 @@ When there's an ambiguity because the key looks like the prefix of
1818some sort of escape sequence, the ambiguity is resolved via `read-key-delay'." 1819some sort of escape sequence, the ambiguity is resolved via `read-key-delay'."
1819 (let ((overriding-terminal-local-map read-key-empty-map) 1820 (let ((overriding-terminal-local-map read-key-empty-map)
1820 (overriding-local-map nil) 1821 (overriding-local-map nil)
1822 (echo-keystrokes 0)
1821 (old-global-map (current-global-map)) 1823 (old-global-map (current-global-map))
1822 (timer (run-with-idle-timer 1824 (timer (run-with-idle-timer
1823 ;; Wait long enough that Emacs has the time to receive and 1825 ;; Wait long enough that Emacs has the time to receive and
@@ -1842,7 +1844,12 @@ some sort of escape sequence, the ambiguity is resolved via `read-key-delay'."
1842 (throw 'read-key keys))))))) 1844 (throw 'read-key keys)))))))
1843 (unwind-protect 1845 (unwind-protect
1844 (progn 1846 (progn
1845 (use-global-map read-key-empty-map) 1847 (use-global-map
1848 (let ((map (make-sparse-keymap)))
1849 ;; Don't hide the menu-bar and tool-bar entries.
1850 (define-key map [menu-bar] (lookup-key global-map [menu-bar]))
1851 (define-key map [tool-bar] (lookup-key global-map [tool-bar]))
1852 map))
1846 (aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0)) 1853 (aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0))
1847 (cancel-timer timer) 1854 (cancel-timer timer)
1848 (use-global-map old-global-map)))) 1855 (use-global-map old-global-map))))
diff --git a/lisp/woman.el b/lisp/woman.el
index 291ebcee740..1a9d512d302 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -3388,7 +3388,10 @@ Format paragraphs upto TO. Supports special chars.
3388 "Translate up to marker TO. Do this last of all transformations." 3388 "Translate up to marker TO. Do this last of all transformations."
3389 (if translations 3389 (if translations
3390 (let ((matches (car translations)) 3390 (let ((matches (car translations))
3391 (alist (cdr translations))) 3391 (alist (cdr translations))
3392 ;; Translations are case-sensitive, eg ".tr ab" does not
3393 ;; affect "A" (bug#6849).
3394 (case-fold-search nil))
3392 (while (re-search-forward matches to t) 3395 (while (re-search-forward matches to t)
3393 ;; Done like this to retain text properties and 3396 ;; Done like this to retain text properties and
3394 ;; support translation of special characters: 3397 ;; support translation of special characters:
diff --git a/src/ChangeLog b/src/ChangeLog
index 58941cc39ba..485099c7bf1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,28 @@
12010-08-22 Andreas Schwab <schwab@linux-m68k.org>
2
3 * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP
4 instead of SAFE_ALLOCA.
5
62010-08-22 Chong Yidong <cyd@stupidchicken.com>
7
8 * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA
9 (Bug#6214).
10
112010-08-22 Jan Djärv <jan.h.d@swipnet.se>
12
13 * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
14
152010-08-22 Jan Djärv <jan.h.d@swipnet.se>
16
17 * doc.c (Fsnarf_documentation): Initialize skip_file before
18 build-files test.
19
202010-08-22 Peter O'Gorman <pogma@thewrittenword.com> (tiny change)
21
22 * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK): New
23 definitions.
24 (HAVE_TERMIO): Remove.
25
12010-08-22 Eli Zaretskii <eliz@gnu.org> 262010-08-22 Eli Zaretskii <eliz@gnu.org>
2 27
3 * deps.mk (sysdep.o, msdos.o): Depend on sysselect.h. 28 * deps.mk (sysdep.o, msdos.o): Depend on sysselect.h.
diff --git a/src/doc.c b/src/doc.c
index 9a7001eb01d..a8601d930d0 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -622,24 +622,28 @@ the same file name is found in the `doc-directory'. */)
622 p = buf; 622 p = buf;
623 end = buf + (filled < 512 ? filled : filled - 128); 623 end = buf + (filled < 512 ? filled : filled - 128);
624 while (p != end && *p != '\037') p++; 624 while (p != end && *p != '\037') p++;
625 /* p points to ^_Ffunctionname\n or ^_Vvarname\n. */ 625 /* p points to ^_Ffunctionname\n or ^_Vvarname\n or ^_Sfilename\n. */
626 if (p != end) 626 if (p != end)
627 { 627 {
628 end = strchr (p, '\n'); 628 end = strchr (p, '\n');
629 629
630 /* See if this is a file name, and if it is a file in build-files. */ 630 /* See if this is a file name, and if it is a file in build-files. */
631 if (p[1] == 'S' && end - p > 4 && end[-2] == '.' 631 if (p[1] == 'S')
632 && (end[-1] == 'o' || end[-1] == 'c'))
633 { 632 {
634 int len = end - p - 2; 633 skip_file = 0;
635 char *fromfile = alloca (len + 1); 634 if (end - p > 4 && end[-2] == '.'
636 strncpy (fromfile, &p[2], len); 635 && (end[-1] == 'o' || end[-1] == 'c'))
637 fromfile[len] = 0; 636 {
638 if (fromfile[len-1] == 'c') 637 int len = end - p - 2;
639 fromfile[len-1] = 'o'; 638 char *fromfile = alloca (len + 1);
640 639 strncpy (fromfile, &p[2], len);
641 skip_file = NILP (Fmember (build_string (fromfile), 640 fromfile[len] = 0;
642 Vbuild_files)); 641 if (fromfile[len-1] == 'c')
642 fromfile[len-1] = 'o';
643
644 skip_file = NILP (Fmember (build_string (fromfile),
645 Vbuild_files));
646 }
643 } 647 }
644 648
645 sym = oblookup (Vobarray, p + 2, 649 sym = oblookup (Vobarray, p + 2,
diff --git a/src/eval.c b/src/eval.c
index 5c6b268187b..89d353cf7cb 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1011,12 +1011,13 @@ usage: (let VARLIST BODY...) */)
1011 int count = SPECPDL_INDEX (); 1011 int count = SPECPDL_INDEX ();
1012 register int argnum; 1012 register int argnum;
1013 struct gcpro gcpro1, gcpro2; 1013 struct gcpro gcpro1, gcpro2;
1014 USE_SAFE_ALLOCA;
1014 1015
1015 varlist = Fcar (args); 1016 varlist = Fcar (args);
1016 1017
1017 /* Make space to hold the values to give the bound variables */ 1018 /* Make space to hold the values to give the bound variables */
1018 elt = Flength (varlist); 1019 elt = Flength (varlist);
1019 temps = (Lisp_Object *) alloca (XFASTINT (elt) * sizeof (Lisp_Object)); 1020 SAFE_ALLOCA_LISP (temps, XFASTINT (elt));
1020 1021
1021 /* Compute the values and store them in `temps' */ 1022 /* Compute the values and store them in `temps' */
1022 1023
@@ -1049,6 +1050,7 @@ usage: (let VARLIST BODY...) */)
1049 } 1050 }
1050 1051
1051 elt = Fprogn (Fcdr (args)); 1052 elt = Fprogn (Fcdr (args));
1053 SAFE_FREE ();
1052 return unbind_to (count, elt); 1054 return unbind_to (count, elt);
1053} 1055}
1054 1056
@@ -2301,8 +2303,9 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
2301 /* Pass a vector of evaluated arguments */ 2303 /* Pass a vector of evaluated arguments */
2302 Lisp_Object *vals; 2304 Lisp_Object *vals;
2303 register int argnum = 0; 2305 register int argnum = 0;
2306 USE_SAFE_ALLOCA;
2304 2307
2305 vals = (Lisp_Object *) alloca (XINT (numargs) * sizeof (Lisp_Object)); 2308 SAFE_ALLOCA_LISP (vals, XINT (numargs));
2306 2309
2307 GCPRO3 (args_left, fun, fun); 2310 GCPRO3 (args_left, fun, fun);
2308 gcpro3.var = vals; 2311 gcpro3.var = vals;
@@ -2320,6 +2323,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
2320 2323
2321 val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals); 2324 val = (XSUBR (fun)->function.aMANY) (XINT (numargs), vals);
2322 UNGCPRO; 2325 UNGCPRO;
2326 SAFE_FREE ();
2323 goto done; 2327 goto done;
2324 } 2328 }
2325 2329
@@ -2430,8 +2434,9 @@ usage: (apply FUNCTION &rest ARGUMENTS) */)
2430 register int i, numargs; 2434 register int i, numargs;
2431 register Lisp_Object spread_arg; 2435 register Lisp_Object spread_arg;
2432 register Lisp_Object *funcall_args; 2436 register Lisp_Object *funcall_args;
2433 Lisp_Object fun; 2437 Lisp_Object fun, retval;
2434 struct gcpro gcpro1; 2438 struct gcpro gcpro1;
2439 USE_SAFE_ALLOCA;
2435 2440
2436 fun = args [0]; 2441 fun = args [0];
2437 funcall_args = 0; 2442 funcall_args = 0;
@@ -2470,8 +2475,7 @@ usage: (apply FUNCTION &rest ARGUMENTS) */)
2470 { 2475 {
2471 /* Avoid making funcall cons up a yet another new vector of arguments 2476 /* Avoid making funcall cons up a yet another new vector of arguments
2472 by explicitly supplying nil's for optional values */ 2477 by explicitly supplying nil's for optional values */
2473 funcall_args = (Lisp_Object *) alloca ((1 + XSUBR (fun)->max_args) 2478 SAFE_ALLOCA_LISP (funcall_args, 1 + XSUBR (fun)->max_args);
2474 * sizeof (Lisp_Object));
2475 for (i = numargs; i < XSUBR (fun)->max_args;) 2479 for (i = numargs; i < XSUBR (fun)->max_args;)
2476 funcall_args[++i] = Qnil; 2480 funcall_args[++i] = Qnil;
2477 GCPRO1 (*funcall_args); 2481 GCPRO1 (*funcall_args);
@@ -2483,8 +2487,7 @@ usage: (apply FUNCTION &rest ARGUMENTS) */)
2483 function itself as well as its arguments. */ 2487 function itself as well as its arguments. */
2484 if (!funcall_args) 2488 if (!funcall_args)
2485 { 2489 {
2486 funcall_args = (Lisp_Object *) alloca ((1 + numargs) 2490 SAFE_ALLOCA_LISP (funcall_args, 1 + numargs);
2487 * sizeof (Lisp_Object));
2488 GCPRO1 (*funcall_args); 2491 GCPRO1 (*funcall_args);
2489 gcpro1.nvars = 1 + numargs; 2492 gcpro1.nvars = 1 + numargs;
2490 } 2493 }
@@ -2500,7 +2503,11 @@ usage: (apply FUNCTION &rest ARGUMENTS) */)
2500 } 2503 }
2501 2504
2502 /* By convention, the caller needs to gcpro Ffuncall's args. */ 2505 /* By convention, the caller needs to gcpro Ffuncall's args. */
2503 RETURN_UNGCPRO (Ffuncall (gcpro1.nvars, funcall_args)); 2506 retval = Ffuncall (gcpro1.nvars, funcall_args);
2507 UNGCPRO;
2508 SAFE_FREE ();
2509
2510 return retval;
2504} 2511}
2505 2512
2506/* Run hook variables in various ways. */ 2513/* Run hook variables in various ways. */
@@ -3065,9 +3072,10 @@ apply_lambda (Lisp_Object fun, Lisp_Object args, int eval_flag)
3065 struct gcpro gcpro1, gcpro2, gcpro3; 3072 struct gcpro gcpro1, gcpro2, gcpro3;
3066 register int i; 3073 register int i;
3067 register Lisp_Object tem; 3074 register Lisp_Object tem;
3075 USE_SAFE_ALLOCA;
3068 3076
3069 numargs = Flength (args); 3077 numargs = Flength (args);
3070 arg_vector = (Lisp_Object *) alloca (XINT (numargs) * sizeof (Lisp_Object)); 3078 SAFE_ALLOCA_LISP (arg_vector, XINT (numargs));
3071 args_left = args; 3079 args_left = args;
3072 3080
3073 GCPRO3 (*arg_vector, args_left, fun); 3081 GCPRO3 (*arg_vector, args_left, fun);
@@ -3096,6 +3104,7 @@ apply_lambda (Lisp_Object fun, Lisp_Object args, int eval_flag)
3096 tem = call_debugger (Fcons (Qexit, Fcons (tem, Qnil))); 3104 tem = call_debugger (Fcons (Qexit, Fcons (tem, Qnil)));
3097 /* Don't do it again when we return to eval. */ 3105 /* Don't do it again when we return to eval. */
3098 backtrace_list->debug_on_exit = 0; 3106 backtrace_list->debug_on_exit = 0;
3107 SAFE_FREE ();
3099 return tem; 3108 return tem;
3100} 3109}
3101 3110
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h
index ee0fa9abe02..d34ff16104b 100644
--- a/src/s/hpux10-20.h
+++ b/src/s/hpux10-20.h
@@ -35,9 +35,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
35 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */ 35 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
36#define FIRST_PTY_LETTER 'p' 36#define FIRST_PTY_LETTER 'p'
37 37
38/* Define HAVE_TERMIO if the system provides sysV-style ioctls 38#define HAVE_TERMIOS
39 for terminal control. */ 39#define NO_TERMIO
40#define HAVE_TERMIO 40
41#define ORDINARY_LINK
41 42
42/* Define HAVE_PTYS if the system supports pty devices. */ 43/* Define HAVE_PTYS if the system supports pty devices. */
43#define HAVE_PTYS 44#define HAVE_PTYS