aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2011-04-22 20:07:16 -0700
committerGlenn Morris2011-04-22 20:07:16 -0700
commit4ffd0d6b569d252e4e807d4e9c9d6a5bd5b08640 (patch)
tree26c20c7c4da56fae7e041c9345c76cce1224188c
parent81de9236e1daa1fe7dfd0ef9aaaf1e13b6aa74e4 (diff)
parentbe71f8100a71a5b896ef05c32f51a09a3d9e3993 (diff)
downloademacs-4ffd0d6b569d252e4e807d4e9c9d6a5bd5b08640.tar.gz
emacs-4ffd0d6b569d252e4e807d4e9c9d6a5bd5b08640.zip
Merge from emacs-23; up to 2010-06-09T17:54:28Z!albinus@detlef.
-rw-r--r--doc/emacs/ChangeLog5
-rw-r--r--doc/emacs/mini.texi2
-rw-r--r--doc/emacs/screen.texi2
-rw-r--r--doc/lispref/ChangeLog10
-rw-r--r--doc/lispref/frames.texi21
-rw-r--r--doc/lispref/windows.texi2
-rw-r--r--lisp/ChangeLog31
-rw-r--r--lisp/ChangeLog.142
-rw-r--r--lisp/buff-menu.el2
-rw-r--r--lisp/cedet/ChangeLog8
-rw-r--r--lisp/cedet/ede/pconf.el4
-rw-r--r--lisp/cedet/ede/proj-comp.el4
-rw-r--r--lisp/cedet/ede/proj-elisp.el8
-rw-r--r--lisp/cedet/ede/proj-scheme.el2
-rw-r--r--lisp/image-mode.el14
-rw-r--r--lisp/minibuffer.el3
-rw-r--r--lisp/mouse-drag.el2
-rw-r--r--lisp/mouse.el3
-rw-r--r--lisp/play/doctor.el12
-rw-r--r--lisp/play/mpuz.el42
-rw-r--r--lisp/textmodes/page.el6
-rw-r--r--src/ChangeLog18
-rw-r--r--src/buffer.c3
-rw-r--r--src/dispextern.h2
-rw-r--r--src/msdos.c2
-rw-r--r--src/s/ms-w32.h1
-rw-r--r--src/sysdep.c2
-rw-r--r--src/w32.c22
-rw-r--r--src/xdisp.c1
29 files changed, 160 insertions, 76 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index c6405019ddb..37825382788 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
12011-04-23 Juanma Barranquero <lekktu@gmail.com>
2
3 * mini.texi (Minibuffer Edit):
4 * screen.texi (Mode Line): Fix typo.
5
12011-04-20 Christoph Scholtes <cschol2112@googlemail.com> 62011-04-20 Christoph Scholtes <cschol2112@googlemail.com>
2 7
3 * maintaining.texi (Old Revisions): Mention new function vc-ediff. 8 * maintaining.texi (Old Revisions): Mention new function vc-ediff.
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index 20086bd5e4a..dcc1c445e68 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -164,7 +164,7 @@ however: for instance, you cannot split it. @xref{Windows}.
164@vindex resize-mini-windows 164@vindex resize-mini-windows
165 Normally, the minibuffer window occupies a single screen line. 165 Normally, the minibuffer window occupies a single screen line.
166However, if you add two or more lines' worth of text into the 166However, if you add two or more lines' worth of text into the
167minibuffer, it expands automatically to accomodate the text. The 167minibuffer, it expands automatically to accommodate the text. The
168variable @code{resize-mini-windows} controls the resizing of the 168variable @code{resize-mini-windows} controls the resizing of the
169minibuffer. The default value is @code{grow-only}, which means the 169minibuffer. The default value is @code{grow-only}, which means the
170behavior we have just described. If the value is @code{t}, the 170behavior we have just described. If the value is @code{t}, the
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi
index 45cbdac4b44..0bc3ce3db8c 100644
--- a/doc/emacs/screen.texi
+++ b/doc/emacs/screen.texi
@@ -259,7 +259,7 @@ the buffer. Minor modes are optional editing modes that provide
259additional features on top of the major mode. @xref{Minor Modes}. 259additional features on top of the major mode. @xref{Minor Modes}.
260 260
261 Some features are listed together with the minor modes whenever they 261 Some features are listed together with the minor modes whenever they
262are turned on, even through they are not really minor modes. 262are turned on, even though they are not really minor modes.
263@samp{Narrow} means that the buffer being displayed has editing 263@samp{Narrow} means that the buffer being displayed has editing
264restricted to only a portion of its text (@pxref{Narrowing}). 264restricted to only a portion of its text (@pxref{Narrowing}).
265@samp{Def} means that a keyboard macro is currently being defined 265@samp{Def} means that a keyboard macro is currently being defined
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 784f62dc4cc..0c0583c06ab 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,13 @@
12011-04-23 Juanma Barranquero <lekktu@gmail.com>
2
3 * windows.texi (Choosing Window): Fix typo.
4
52011-04-23 Chong Yidong <cyd@stupidchicken.com>
6
7 * frames.texi (Layout Parameters): Note the difference between
8 querying and setting parameters for left-fringe and right-fringe
9 (Bug#6930).
10
12011-03-21 Stefan Monnier <monnier@iro.umontreal.ca> 112011-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
2 12
3 * minibuf.texi (Basic Completion): Be a bit more precise about the 13 * minibuf.texi (Basic Completion): Be a bit more precise about the
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 92969d8259c..06c120cc09d 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -681,17 +681,20 @@ use the default width.
681@itemx right-fringe 681@itemx right-fringe
682The default width of the left and right fringes of windows in this 682The default width of the left and right fringes of windows in this
683frame (@pxref{Fringes}). If either of these is zero, that effectively 683frame (@pxref{Fringes}). If either of these is zero, that effectively
684removes the corresponding fringe. A value of @code{nil} stands for 684removes the corresponding fringe.
685the standard fringe width, which is the width needed to display the 685
686fringe bitmaps. 686When you use @code{frame-parameter} to query the value of either of
687these two frame parameters, the return value is always an integer.
688When using @code{set-frame-parameter}, passing a @code{nil} value
689imposes an actual default value of 8 pixels.
687 690
688The combined fringe widths must add up to an integral number of 691The combined fringe widths must add up to an integral number of
689columns, so the actual default fringe widths for the frame may be 692columns, so the actual default fringe widths for the frame, as
690larger than the specified values. The extra width needed to reach an 693reported by @code{frame-parameter}, may be larger than what you
691acceptable total is distributed evenly between the left and right 694specify. Any extra width is distributed evenly between the left and
692fringe. However, you can force one fringe or the other to a precise 695right fringe. However, you can force one fringe or the other to a
693width by specifying that width as a negative integer. If both widths are 696precise width by specifying that width as a negative integer. If both
694negative, only the left fringe gets the specified width. 697widths are negative, only the left fringe gets the specified width.
695 698
696@vindex menu-bar-lines, a frame parameter 699@vindex menu-bar-lines, a frame parameter
697@item menu-bar-lines 700@item menu-bar-lines
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 528930c0ff6..9ce00de4abc 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -1014,7 +1014,7 @@ a window only if the space taken up by that window can accommodate two
1014windows one above the other that are both at least 1014windows one above the other that are both at least
1015@code{window-min-height} lines tall. Moreover, if the window that shall 1015@code{window-min-height} lines tall. Moreover, if the window that shall
1016be split has a mode line, @code{split-window-sensibly} does not split 1016be split has a mode line, @code{split-window-sensibly} does not split
1017the window unless the new window can accomodate a mode line too. 1017the window unless the new window can accommodate a mode line too.
1018@end defopt 1018@end defopt
1019 1019
1020@defopt split-width-threshold 1020@defopt split-width-threshold
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f422a977ebe..af58ef47b28 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,34 @@
12011-04-23 Juanma Barranquero <lekktu@gmail.com>
2
3 * buff-menu.el (Buffer-menu--buffers): Fix typo in docstring (bug#8535).
4
5 * play/mpuz.el (mpuz-silent): Doc fix.
6 (mpuz-mode-map): Use mapc.
7 (mpuz-put-number-on-board): Rename parameter L to COLUMNS.
8 (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer):
9 Fix typos in docstrings.
10
11 * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token)
12 (doctor-nounp, doctor-pronounp): Fix typos in docstrings.
13
14 * mouse-drag.el (mouse-drag-throw): Fix typo in docstring.
15
162011-04-23 Chong Yidong <cyd@stupidchicken.com>
17
18 * minibuffer.el (completion--do-completion): Avoid the "Next char
19 not unique" prompt if icomplete-mode is enabled (Bug#5849).
20
21 * mouse.el (mouse-drag-mode-line-1): Make sure that if we push
22 mouse-2 into unread-command-events, it is interpreted correctly.
23
24 * image-mode.el (image-type, image-mode-map, image-minor-mode-map)
25 (image-toggle-display): Doc fix.
26
272011-04-23 Stephen Berman <stephen.berman@gmx.net>
28
29 * textmodes/page.el (what-page): Use line-number-at-pos to
30 calculate line number (Bug#6825).
31
12011-04-22 Juanma Barranquero <lekktu@gmail.com> 322011-04-22 Juanma Barranquero <lekktu@gmail.com>
2 33
3 * eshell/esh-mode.el (find-tag-interactive): Declare function. 34 * eshell/esh-mode.el (find-tag-interactive): Declare function.
diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14
index 7c32b11ec14..c1313cfd16f 100644
--- a/lisp/ChangeLog.14
+++ b/lisp/ChangeLog.14
@@ -4287,7 +4287,7 @@
4287 (proced-descend): New variable. 4287 (proced-descend): New variable.
4288 (proced-sort): New arg descend. 4288 (proced-sort): New arg descend.
4289 (proced-sort-interactive): Repeated calls toggle sort order. 4289 (proced-sort-interactive): Repeated calls toggle sort order.
4290 (proced-format): Accomodate changes of proced-format-alist. 4290 (proced-format): Accommodate changes of proced-format-alist.
4291 Undefined attributes are displayed as "?". 4291 Undefined attributes are displayed as "?".
4292 (proced-process-attributes): New optional arg pid-list. 4292 (proced-process-attributes): New optional arg pid-list.
4293 Ignore processes with empty attribute list. 4293 Ignore processes with empty attribute list.
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 70befa11d8b..9886b30d122 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -117,7 +117,7 @@ Auto Revert Mode.")
117(defvar Buffer-menu--buffers nil 117(defvar Buffer-menu--buffers nil
118 "If non-nil, list of buffers shown in the current buffer-menu. 118 "If non-nil, list of buffers shown in the current buffer-menu.
119This variable determines whether reverting the buffer lists only 119This variable determines whether reverting the buffer lists only
120this buffers. It affects both manual reverting and reverting by 120these buffers. It affects both manual reverting and reverting by
121Auto Revert Mode.") 121Auto Revert Mode.")
122(make-variable-buffer-local 'Buffer-menu--buffers) 122(make-variable-buffer-local 'Buffer-menu--buffers)
123 123
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index a93806b8876..b5ecfdd242f 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,11 @@
12011-04-23 Juanma Barranquero <lekktu@gmail.com>
2
3 * ede/pconf.el (ede-proj-tweak-autoconf, ede-proj-flush-autoconf):
4 * ede/proj-comp.el (ede-proj-tweak-autoconf, ede-proj-flush-autoconf):
5 * ede/proj-elisp.el (ede-proj-tweak-autoconf, ede-proj-flush-autoconf)
6 (ede-proj-tweak-autoconf, ede-proj-flush-autoconf):
7 * ede/proj-scheme.el (ede-proj-tweak-autoconf): Fix typos in docstrings.
8
12011-03-07 Chong Yidong <cyd@stupidchicken.com> 92011-03-07 Chong Yidong <cyd@stupidchicken.com>
2 10
3 * Version 23.3 released. 11 * Version 23.3 released.
diff --git a/lisp/cedet/ede/pconf.el b/lisp/cedet/ede/pconf.el
index 497806c71a3..08fc98728e1 100644
--- a/lisp/cedet/ede/pconf.el
+++ b/lisp/cedet/ede/pconf.el
@@ -159,7 +159,7 @@ don't do it. A value of nil means to just do it.")
159 (ede-proj-configure-synchronize this)) 159 (ede-proj-configure-synchronize this))
160 160
161(defmethod ede-proj-tweak-autoconf ((this ede-proj-target)) 161(defmethod ede-proj-tweak-autoconf ((this ede-proj-target))
162 "Tweak the configure file (current buffer) to accomodate THIS." 162 "Tweak the configure file (current buffer) to accommodate THIS."
163 ;; Check the compilers belonging to THIS, and call the autoconf 163 ;; Check the compilers belonging to THIS, and call the autoconf
164 ;; setup for those compilers. 164 ;; setup for those compilers.
165 (mapc 'ede-proj-tweak-autoconf (ede-proj-compilers this)) 165 (mapc 'ede-proj-tweak-autoconf (ede-proj-compilers this))
@@ -167,7 +167,7 @@ don't do it. A value of nil means to just do it.")
167 ) 167 )
168 168
169(defmethod ede-proj-flush-autoconf ((this ede-proj-target)) 169(defmethod ede-proj-flush-autoconf ((this ede-proj-target))
170 "Flush the configure file (current buffer) to accomodate THIS. 170 "Flush the configure file (current buffer) to accommodate THIS.
171By flushing, remove any cruft that may be in the file. Subsequent 171By flushing, remove any cruft that may be in the file. Subsequent
172calls to `ede-proj-tweak-autoconf' can restore items removed by flush." 172calls to `ede-proj-tweak-autoconf' can restore items removed by flush."
173 nil) 173 nil)
diff --git a/lisp/cedet/ede/proj-comp.el b/lisp/cedet/ede/proj-comp.el
index 418e70fd5e9..401ea15d0d6 100644
--- a/lisp/cedet/ede/proj-comp.el
+++ b/lisp/cedet/ede/proj-comp.el
@@ -236,7 +236,7 @@ This will prevent rules from creating duplicate variables or rules."
236 236
237;;; Methods: 237;;; Methods:
238(defmethod ede-proj-tweak-autoconf ((this ede-compilation-program)) 238(defmethod ede-proj-tweak-autoconf ((this ede-compilation-program))
239 "Tweak the configure file (current buffer) to accomodate THIS." 239 "Tweak the configure file (current buffer) to accommodate THIS."
240 (mapcar 240 (mapcar
241 (lambda (obj) 241 (lambda (obj)
242 (cond ((stringp obj) 242 (cond ((stringp obj)
@@ -248,7 +248,7 @@ This will prevent rules from creating duplicate variables or rules."
248 (oref this autoconf))) 248 (oref this autoconf)))
249 249
250(defmethod ede-proj-flush-autoconf ((this ede-compilation-program)) 250(defmethod ede-proj-flush-autoconf ((this ede-compilation-program))
251 "Flush the configure file (current buffer) to accomodate THIS." 251 "Flush the configure file (current buffer) to accommodate THIS."
252 nil) 252 nil)
253 253
254(defmacro proj-comp-insert-variable-once (varname &rest body) 254(defmacro proj-comp-insert-variable-once (varname &rest body)
diff --git a/lisp/cedet/ede/proj-elisp.el b/lisp/cedet/ede/proj-elisp.el
index 17185b19492..42a20cc4a1a 100644
--- a/lisp/cedet/ede/proj-elisp.el
+++ b/lisp/cedet/ede/proj-elisp.el
@@ -208,7 +208,7 @@ is found, such as a `-version' variable, or the standard header."
208 (error "Don't know how to update load path")))) 208 (error "Don't know how to update load path"))))
209 209
210(defmethod ede-proj-tweak-autoconf ((this ede-proj-target-elisp)) 210(defmethod ede-proj-tweak-autoconf ((this ede-proj-target-elisp))
211 "Tweak the configure file (current buffer) to accomodate THIS." 211 "Tweak the configure file (current buffer) to accommodate THIS."
212 (call-next-method) 212 (call-next-method)
213 ;; Ok, now we have to tweak the autoconf provided `elisp-comp' program. 213 ;; Ok, now we have to tweak the autoconf provided `elisp-comp' program.
214 (let ((ec (ede-expand-filename this "elisp-comp" 'newfile))) 214 (let ((ec (ede-expand-filename this "elisp-comp" 'newfile)))
@@ -232,7 +232,7 @@ is found, such as a `-version' variable, or the standard header."
232 (save-buffer)) ))) 232 (save-buffer)) )))
233 233
234(defmethod ede-proj-flush-autoconf ((this ede-proj-target-elisp)) 234(defmethod ede-proj-flush-autoconf ((this ede-proj-target-elisp))
235 "Flush the configure file (current buffer) to accomodate THIS." 235 "Flush the configure file (current buffer) to accommodate THIS."
236 ;; Remove crufty old paths from elisp-compile 236 ;; Remove crufty old paths from elisp-compile
237 (let ((ec (ede-expand-filename this "elisp-comp" 'newfile)) 237 (let ((ec (ede-expand-filename this "elisp-comp" 'newfile))
238 ) 238 )
@@ -372,11 +372,11 @@ Argument THIS is the target which needs to insert an info file."
372 ) 372 )
373 373
374(defmethod ede-proj-tweak-autoconf ((this ede-proj-target-elisp-autoloads)) 374(defmethod ede-proj-tweak-autoconf ((this ede-proj-target-elisp-autoloads))
375 "Tweak the configure file (current buffer) to accomodate THIS." 375 "Tweak the configure file (current buffer) to accommodate THIS."
376 (error "Autoloads not supported in autoconf yet")) 376 (error "Autoloads not supported in autoconf yet"))
377 377
378(defmethod ede-proj-flush-autoconf ((this ede-proj-target-elisp-autoloads)) 378(defmethod ede-proj-flush-autoconf ((this ede-proj-target-elisp-autoloads))
379 "Flush the configure file (current buffer) to accomodate THIS." 379 "Flush the configure file (current buffer) to accommodate THIS."
380 nil) 380 nil)
381 381
382(provide 'ede/proj-elisp) 382(provide 'ede/proj-elisp)
diff --git a/lisp/cedet/ede/proj-scheme.el b/lisp/cedet/ede/proj-scheme.el
index 2a3ea039a7a..6a08d4fadd1 100644
--- a/lisp/cedet/ede/proj-scheme.el
+++ b/lisp/cedet/ede/proj-scheme.el
@@ -41,7 +41,7 @@
41 "This target consists of scheme files.") 41 "This target consists of scheme files.")
42 42
43(defmethod ede-proj-tweak-autoconf ((this ede-proj-target-scheme)) 43(defmethod ede-proj-tweak-autoconf ((this ede-proj-target-scheme))
44 "Tweak the configure file (current buffer) to accomodate THIS." 44 "Tweak the configure file (current buffer) to accommodate THIS."
45 (autoconf-insert-new-macro "AM_INIT_GUILE_MODULE")) 45 (autoconf-insert-new-macro "AM_INIT_GUILE_MODULE"))
46 46
47(provide 'ede/proj-scheme) 47(provide 'ede/proj-scheme)
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index c99689f33ad..17f006e81a1 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -296,8 +296,7 @@ This function assumes the current frame has only one window."
296;;; Image Mode setup 296;;; Image Mode setup
297 297
298(defvar image-type nil 298(defvar image-type nil
299 "Current image type. 299 "The image type for the current Image mode buffer.")
300This variable is used to display the current image type in the mode line.")
301(make-variable-buffer-local 'image-type) 300(make-variable-buffer-local 'image-type)
302 301
303(defvar image-mode-previous-major-mode nil 302(defvar image-mode-previous-major-mode nil
@@ -324,13 +323,13 @@ This variable is used to display the current image type in the mode line.")
324 (define-key map [remap beginning-of-buffer] 'image-bob) 323 (define-key map [remap beginning-of-buffer] 'image-bob)
325 (define-key map [remap end-of-buffer] 'image-eob) 324 (define-key map [remap end-of-buffer] 'image-eob)
326 map) 325 map)
327 "Major mode keymap for viewing images in Image mode.") 326 "Mode keymap for `image-mode'.")
328 327
329(defvar image-minor-mode-map 328(defvar image-minor-mode-map
330 (let ((map (make-sparse-keymap))) 329 (let ((map (make-sparse-keymap)))
331 (define-key map "\C-c\C-c" 'image-toggle-display) 330 (define-key map "\C-c\C-c" 'image-toggle-display)
332 map) 331 map)
333 "Minor mode keymap for viewing images as text in Image mode.") 332 "Mode keymap for `image-minor-mode'.")
334 333
335(defvar bookmark-make-record-function) 334(defvar bookmark-make-record-function)
336 335
@@ -520,9 +519,10 @@ was inserted."
520 (message "Repeat this command to go back to displaying the file as text")))) 519 (message "Repeat this command to go back to displaying the file as text"))))
521 520
522(defun image-toggle-display () 521(defun image-toggle-display ()
523 "Start or stop displaying an image file as the actual image. 522 "Toggle between image and text display.
524This command toggles between `image-mode-as-text' showing the text of 523If the current buffer is displaying an image file as an image,
525the image file and `image-mode' showing the image as an image." 524call `image-mode-as-text' to switch to text. Otherwise, display
525the image by calling `image-mode'."
526 (interactive) 526 (interactive)
527 (if (image-get-display-property) 527 (if (image-get-display-property)
528 (image-mode-as-text) 528 (image-mode-as-text)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index e012c324012..4bf06a45238 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -657,7 +657,8 @@ E = after completion we now have an Exact match.
657 (minibuffer-hide-completions)) 657 (minibuffer-hide-completions))
658 ;; Show the completion table, if requested. 658 ;; Show the completion table, if requested.
659 ((not exact) 659 ((not exact)
660 (if (cond ((null completion-show-inline-help) t) 660 (if (cond (icomplete-mode t)
661 ((null completion-show-inline-help) t)
661 ((eq completion-auto-help 'lazy) 662 ((eq completion-auto-help 'lazy)
662 (eq this-command last-command)) 663 (eq this-command last-command))
663 (t completion-auto-help)) 664 (t completion-auto-help))
diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el
index 1f16b9935c8..fb6c8b7470f 100644
--- a/lisp/mouse-drag.el
+++ b/lisp/mouse-drag.el
@@ -194,7 +194,7 @@ from the original mouse click to the current mouse location. Try it;
194you'll like it. It's easier to observe than to explain. 194you'll like it. It's easier to observe than to explain.
195 195
196If the mouse is clicked and released in the same place of time we 196If the mouse is clicked and released in the same place of time we
197assume that the user didn't want to scdebugroll but wanted to whatever 197assume that the user didn't want to scroll but wanted to whatever
198mouse-2 used to do, so we pass it through. 198mouse-2 used to do, so we pass it through.
199 199
200Throw scrolling was inspired (but is not identical to) the \"hand\" 200Throw scrolling was inspired (but is not identical to) the \"hand\"
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 87f9be6bf57..124f84d7d73 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -541,6 +541,9 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line."
541 ;; a `drag-mouse-1'. In any case `on-link' would have been nulled 541 ;; a `drag-mouse-1'. In any case `on-link' would have been nulled
542 ;; above if there had been any significant mouse movement. 542 ;; above if there had been any significant mouse movement.
543 (when (and on-link (eq 'mouse-1 (car-safe event))) 543 (when (and on-link (eq 'mouse-1 (car-safe event)))
544 ;; If mouse-2 has never been done by the user, it doesn't
545 ;; have the necessary property to be interpreted correctly.
546 (put 'mouse-2 'event-kind 'mouse-click)
544 (push (cons 'mouse-2 (cdr event)) unread-command-events)))))) 547 (push (cons 'mouse-2 (cdr event)) unread-command-events))))))
545 548
546(defun mouse-drag-mode-line (start-event) 549(defun mouse-drag-mode-line (start-event)
diff --git a/lisp/play/doctor.el b/lisp/play/doctor.el
index 02d24afb278..54a5a4ef6c9 100644
--- a/lisp/play/doctor.el
+++ b/lisp/play/doctor.el
@@ -115,11 +115,11 @@
115(defun doc// (x) x) 115(defun doc// (x) x)
116 116
117(defmacro doc$ (what) 117(defmacro doc$ (what)
118 "quoted arg form of doctor-$" 118 "Quoted arg form of doctor-$."
119 `(doctor-$ ',what)) 119 `(doctor-$ ',what))
120 120
121(defun doctor-$ (what) 121(defun doctor-$ (what)
122 "Return the car of a list, rotating the list each time" 122 "Return the car of a list, rotating the list each time."
123 (let* ((vv (symbol-value what)) 123 (let* ((vv (symbol-value what))
124 (first (car vv)) 124 (first (car vv))
125 (ww (append (cdr vv) (list first)))) 125 (ww (append (cdr vv) (list first))))
@@ -832,7 +832,7 @@ Otherwise call the Doctor to parse preceding sentence."
832 (newline arg))) 832 (newline arg)))
833 833
834(defun doctor-read-print nil 834(defun doctor-read-print nil
835 "top level loop" 835 "Top level loop."
836 (interactive) 836 (interactive)
837 (let ((sent (doctor-readin))) 837 (let ((sent (doctor-readin)))
838 (insert "\n") 838 (insert "\n")
@@ -850,7 +850,7 @@ Otherwise call the Doctor to parse preceding sentence."
850 sentence)) 850 sentence))
851 851
852(defun doctor-read-token () 852(defun doctor-read-token ()
853 "read one word from buffer" 853 "Read one word from buffer."
854 (prog1 (intern (downcase (buffer-substring (point) 854 (prog1 (intern (downcase (buffer-substring (point)
855 (progn 855 (progn
856 (forward-word 1) 856 (forward-word 1)
@@ -1020,7 +1020,7 @@ the subject noun, and return the portion of the sentence following it."
1020 nil)))) 1020 nil))))
1021 1021
1022(defun doctor-nounp (x) 1022(defun doctor-nounp (x)
1023 "Returns t if the symbol argument is a noun." 1023 "Return t if the symbol argument is a noun."
1024 (or (doctor-pronounp x) 1024 (or (doctor-pronounp x)
1025 (not (or (doctor-verbp x) 1025 (not (or (doctor-verbp x)
1026 (equal x 'not) 1026 (equal x 'not)
@@ -1028,7 +1028,7 @@ the subject noun, and return the portion of the sentence following it."
1028 (doctor-modifierp x) )) )) 1028 (doctor-modifierp x) )) ))
1029 1029
1030(defun doctor-pronounp (x) 1030(defun doctor-pronounp (x)
1031 "Returns t if the symbol argument is a pronoun." 1031 "Return t if the symbol argument is a pronoun."
1032 (memq x '( 1032 (memq x '(
1033 i me mine myself 1033 i me mine myself
1034 we us ours ourselves ourself 1034 we us ours ourselves ourself
diff --git a/lisp/play/mpuz.el b/lisp/play/mpuz.el
index 5f4ecce31ca..3e1659628f4 100644
--- a/lisp/play/mpuz.el
+++ b/lisp/play/mpuz.el
@@ -39,7 +39,7 @@
39 39
40(defcustom mpuz-silent 'error 40(defcustom mpuz-silent 'error
41 "Set this to nil if you want dings on inputs. 41 "Set this to nil if you want dings on inputs.
42t means never ding, and `error' means only ding on wrong input." 42The value t means never ding, and `error' means only ding on wrong input."
43 :type '(choice (const :tag "No" nil) 43 :type '(choice (const :tag "No" nil)
44 (const :tag "Yes" t) 44 (const :tag "Yes" t)
45 (const :tag "If correct" error)) 45 (const :tag "If correct" error))
@@ -88,33 +88,14 @@ t means never ding, and `error' means only ding on wrong input."
88 88
89(defvar mpuz-mode-map 89(defvar mpuz-mode-map
90 (let ((map (make-sparse-keymap))) 90 (let ((map (make-sparse-keymap)))
91 (define-key map "a" 'mpuz-try-letter) 91 (mapc (lambda (ch)
92 (define-key map "b" 'mpuz-try-letter) 92 (define-key map (char-to-string ch) 'mpuz-try-letter))
93 (define-key map "c" 'mpuz-try-letter) 93 "abcdefghijABCDEFGHIJ")
94 (define-key map "d" 'mpuz-try-letter)
95 (define-key map "e" 'mpuz-try-letter)
96 (define-key map "f" 'mpuz-try-letter)
97 (define-key map "g" 'mpuz-try-letter)
98 (define-key map "h" 'mpuz-try-letter)
99 (define-key map "i" 'mpuz-try-letter)
100 (define-key map "j" 'mpuz-try-letter)
101 (define-key map "A" 'mpuz-try-letter)
102 (define-key map "B" 'mpuz-try-letter)
103 (define-key map "C" 'mpuz-try-letter)
104 (define-key map "D" 'mpuz-try-letter)
105 (define-key map "E" 'mpuz-try-letter)
106 (define-key map "F" 'mpuz-try-letter)
107 (define-key map "G" 'mpuz-try-letter)
108 (define-key map "H" 'mpuz-try-letter)
109 (define-key map "I" 'mpuz-try-letter)
110 (define-key map "J" 'mpuz-try-letter)
111 (define-key map "\C-g" 'mpuz-offer-abort) 94 (define-key map "\C-g" 'mpuz-offer-abort)
112 (define-key map "?" 'describe-mode) 95 (define-key map "?" 'describe-mode)
113 map) 96 map)
114 "Local keymap to use in Mult Puzzle.") 97 "Local keymap to use in Mult Puzzle.")
115 98
116
117
118(defun mpuz-mode () 99(defun mpuz-mode ()
119 "Multiplication puzzle mode. 100 "Multiplication puzzle mode.
120 101
@@ -171,7 +152,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
171 "A permutation from [0..9] to [0..9].") 152 "A permutation from [0..9] to [0..9].")
172 153
173(defvar mpuz-letter-to-digit (make-vector 10 0) 154(defvar mpuz-letter-to-digit (make-vector 10 0)
174 "The inverse of mpuz-digit-to-letter.") 155 "The inverse of `mpuz-digit-to-letter'.")
175 156
176(defmacro mpuz-to-digit (letter) 157(defmacro mpuz-to-digit (letter)
177 (list 'aref 'mpuz-letter-to-digit letter)) 158 (list 'aref 'mpuz-letter-to-digit letter))
@@ -198,17 +179,16 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
198(defvar mpuz-board (make-vector 10 nil) 179(defvar mpuz-board (make-vector 10 nil)
199 "The board associates to any digit the list of squares where it appears.") 180 "The board associates to any digit the list of squares where it appears.")
200 181
201(defun mpuz-put-number-on-board (number row &rest l) 182(defun mpuz-put-number-on-board (number row &rest columns)
202 "Put (last digit of) NUMBER on ROW and COLUMNS of the puzzle board." 183 "Put (last digit of) NUMBER on ROW and COLUMNS of the puzzle board."
203 (let (digit) 184 (let (digit)
204 (while l 185 (dolist (column columns)
205 (setq digit (% number 10) 186 (setq digit (% number 10)
206 number (/ number 10)) 187 number (/ number 10))
207 (aset mpuz-board digit `((,row . ,(car l)) ,@(aref mpuz-board digit))) 188 (aset mpuz-board digit `((,row . ,column) ,@(aref mpuz-board digit))))))
208 (setq l (cdr l)))))
209 189
210(defun mpuz-check-all-solved (&optional row col) 190(defun mpuz-check-all-solved (&optional row col)
211 "Check whether all digits have been solved. Return t if yes." 191 "Check whether all digits have been solved. Return t if yes."
212 (catch 'solved 192 (catch 'solved
213 (let (A B1 B2 C D E squares) 193 (let (A B1 B2 C D E squares)
214 (and mpuz-solve-when-trivial 194 (and mpuz-solve-when-trivial
@@ -294,7 +274,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
294 "The general picture of the puzzle screen, as a string.") 274 "The general picture of the puzzle screen, as a string.")
295 275
296(defun mpuz-create-buffer () 276(defun mpuz-create-buffer ()
297 "Create (or recreate) the puzzle buffer. Return it." 277 "Create (or recreate) the puzzle buffer. Return it."
298 (let ((buf (get-buffer-create "*Mult Puzzle*")) 278 (let ((buf (get-buffer-create "*Mult Puzzle*"))
299 (face '(face mpuz-text)) 279 (face '(face mpuz-text))
300 buffer-read-only) 280 buffer-read-only)
diff --git a/lisp/textmodes/page.el b/lisp/textmodes/page.el
index 1de67615252..95ba7ebd86f 100644
--- a/lisp/textmodes/page.el
+++ b/lisp/textmodes/page.el
@@ -156,9 +156,9 @@ thus showing a page other than the one point was originally in."
156 (if (= (match-beginning 0) (match-end 0)) 156 (if (= (match-beginning 0) (match-end 0))
157 (forward-char 1)) 157 (forward-char 1))
158 (setq count (1+ count))) 158 (setq count (1+ count)))
159 (message "Page %d, line %d" 159 (message "Page %d, line %d" count (line-number-at-pos opoint))))))
160 count 160
161 (1+ (count-lines (point) opoint))))))) 161
162 162
163;;; Place `provide' at end of file. 163;;; Place `provide' at end of file.
164(provide 'page) 164(provide 'page)
diff --git a/src/ChangeLog b/src/ChangeLog
index 4a675cc96c6..0067163edbf 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,21 @@
12011-04-23 Eli Zaretskii <eliz@gnu.org>
2
3 * s/ms-w32.h (localtime): Redirect to sys_localtime.
4
5 * w32.c: Include <time.h>.
6 (sys_localtime): New function.
7
82011-04-23 Chong Yidong <cyd@stupidchicken.com>
9
10 * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
11
12 * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
13
142011-04-23 Samuel Thibault <sthibault@debian.org> (tiny change)
15
16 * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
17 zombies (Bug#8467).
18
12011-04-19 Eli Zaretskii <eliz@gnu.org> 192011-04-19 Eli Zaretskii <eliz@gnu.org>
2 20
3 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of 21 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
diff --git a/src/buffer.c b/src/buffer.c
index c649836adb8..46e8ddf1538 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5551,7 +5551,8 @@ Linefeed indents to this column in Fundamental mode. */);
5551 5551
5552 DEFVAR_PER_BUFFER ("tab-width", &BVAR (current_buffer, tab_width), 5552 DEFVAR_PER_BUFFER ("tab-width", &BVAR (current_buffer, tab_width),
5553 make_number (LISP_INT_TAG), 5553 make_number (LISP_INT_TAG),
5554 doc: /* *Distance between tab stops (for display of tab characters), in columns. */); 5554 doc: /* *Distance between tab stops (for display of tab characters), in columns.
5555This should be an integer greater than zero. */);
5555 5556
5556 DEFVAR_PER_BUFFER ("ctl-arrow", &BVAR (current_buffer, ctl_arrow), Qnil, 5557 DEFVAR_PER_BUFFER ("ctl-arrow", &BVAR (current_buffer, ctl_arrow), Qnil,
5557 doc: /* *Non-nil means display control chars with uparrow. 5558 doc: /* *Non-nil means display control chars with uparrow.
diff --git a/src/dispextern.h b/src/dispextern.h
index 1f2189adeca..72e23e6642a 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -62,7 +62,7 @@ typedef HDC XImagePtr_or_DC;
62 62
63#ifdef HAVE_NS 63#ifdef HAVE_NS
64#include "nsgui.h" 64#include "nsgui.h"
65/* following typedef needed to accomodate the MSDOS port, believe it or not */ 65/* Following typedef needed to accommodate the MSDOS port, believe it or not. */
66typedef struct ns_display_info Display_Info; 66typedef struct ns_display_info Display_Info;
67typedef Pixmap XImagePtr; 67typedef Pixmap XImagePtr;
68typedef XImagePtr XImagePtr_or_DC; 68typedef XImagePtr XImagePtr_or_DC;
diff --git a/src/msdos.c b/src/msdos.c
index e02e64b9ece..6bff56b3f82 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -842,7 +842,7 @@ IT_set_face (int face)
842 842
843/* According to RBIL (INTERRUP.A, V-1000), 160 is the maximum possible 843/* According to RBIL (INTERRUP.A, V-1000), 160 is the maximum possible
844 width of a DOS display in any known text mode. We multiply by 2 to 844 width of a DOS display in any known text mode. We multiply by 2 to
845 accomodate the screen attribute byte. */ 845 accommodate the screen attribute byte. */
846#define MAX_SCREEN_BUF 160*2 846#define MAX_SCREEN_BUF 160*2
847 847
848extern unsigned char *encode_terminal_code (struct glyph *, int, 848extern unsigned char *encode_terminal_code (struct glyph *, int,
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index 8b189baea46..bf6cc66798c 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -204,6 +204,7 @@ struct sigaction {
204#define dup2 sys_dup2 204#define dup2 sys_dup2
205#define fopen sys_fopen 205#define fopen sys_fopen
206#define link sys_link 206#define link sys_link
207#define localtime sys_localtime
207#define mkdir sys_mkdir 208#define mkdir sys_mkdir
208#undef mktemp 209#undef mktemp
209#define mktemp sys_mktemp 210#define mktemp sys_mktemp
diff --git a/src/sysdep.c b/src/sysdep.c
index 45e80ac0155..4b3a78e154e 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -304,7 +304,7 @@ wait_for_termination (int pid)
304{ 304{
305 while (1) 305 while (1)
306 { 306 {
307#if defined (BSD_SYSTEM) || defined (HPUX) 307#if (defined (BSD_SYSTEM) || defined (HPUX)) && !defined(__GNU__)
308 /* Note that kill returns -1 even if the process is just a zombie now. 308 /* Note that kill returns -1 even if the process is just a zombie now.
309 But inevitably a SIGCHLD interrupt should be generated 309 But inevitably a SIGCHLD interrupt should be generated
310 and child_sig will do wait3 and make the process go away. */ 310 and child_sig will do wait3 and make the process go away. */
diff --git a/src/w32.c b/src/w32.c
index d715c39fa81..85e4a2025b9 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -34,6 +34,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
34#include <mbstring.h> /* for _mbspbrk */ 34#include <mbstring.h> /* for _mbspbrk */
35#include <math.h> 35#include <math.h>
36#include <setjmp.h> 36#include <setjmp.h>
37#include <time.h>
37 38
38/* must include CRT headers *before* config.h */ 39/* must include CRT headers *before* config.h */
39 40
@@ -62,6 +63,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
62 63
63#undef strerror 64#undef strerror
64 65
66#undef localtime
67
65#include "lisp.h" 68#include "lisp.h"
66 69
67#include <pwd.h> 70#include <pwd.h>
@@ -1942,6 +1945,12 @@ gettimeofday (struct timeval *tv, struct timezone *tz)
1942 1945
1943 tv->tv_sec = tb.time; 1946 tv->tv_sec = tb.time;
1944 tv->tv_usec = tb.millitm * 1000L; 1947 tv->tv_usec = tb.millitm * 1000L;
1948 /* Implementation note: _ftime sometimes doesn't update the dstflag
1949 according to the new timezone when the system timezone is
1950 changed. We could fix that by using GetSystemTime and
1951 GetTimeZoneInformation, but that doesn't seem necessary, since
1952 Emacs always calls gettimeofday with the 2nd argument NULL (see
1953 EMACS_GET_TIME). */
1945 if (tz) 1954 if (tz)
1946 { 1955 {
1947 tz->tz_minuteswest = tb.timezone; /* minutes west of Greenwich */ 1956 tz->tz_minuteswest = tb.timezone; /* minutes west of Greenwich */
@@ -5678,6 +5687,19 @@ sys_write (int fd, const void * buffer, unsigned int count)
5678 return nchars; 5687 return nchars;
5679} 5688}
5680 5689
5690/* The Windows CRT functions are "optimized for speed", so they don't
5691 check for timezone and DST changes if they were last called less
5692 than 1 minute ago (see http://support.microsoft.com/kb/821231). So
5693 all Emacs features that repeatedly call time functions (e.g.,
5694 display-time) are in real danger of missing timezone and DST
5695 changes. Calling tzset before each localtime call fixes that. */
5696struct tm *
5697sys_localtime (const time_t *t)
5698{
5699 tzset ();
5700 return localtime (t);
5701}
5702
5681static void 5703static void
5682check_windows_init_file (void) 5704check_windows_init_file (void)
5683{ 5705{
diff --git a/src/xdisp.c b/src/xdisp.c
index 574c84fc086..19fef35fce8 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -26997,6 +26997,7 @@ init_xdisp (void)
26997 26997
26998 mini_w = XWINDOW (minibuf_window); 26998 mini_w = XWINDOW (minibuf_window);
26999 root_window = FRAME_ROOT_WINDOW (XFRAME (WINDOW_FRAME (mini_w))); 26999 root_window = FRAME_ROOT_WINDOW (XFRAME (WINDOW_FRAME (mini_w)));
27000 echo_area_window = minibuf_window;
27000 27001
27001 if (!noninteractive) 27002 if (!noninteractive)
27002 { 27003 {