]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs-23; up to 2010-06-09T17:54:28Z!albinus@detlef.
authorGlenn Morris <rgm@gnu.org>
Sat, 23 Apr 2011 03:07:16 +0000 (20:07 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 23 Apr 2011 03:07:16 +0000 (20:07 -0700)
29 files changed:
doc/emacs/ChangeLog
doc/emacs/mini.texi
doc/emacs/screen.texi
doc/lispref/ChangeLog
doc/lispref/frames.texi
doc/lispref/windows.texi
lisp/ChangeLog
lisp/ChangeLog.14
lisp/buff-menu.el
lisp/cedet/ChangeLog
lisp/cedet/ede/pconf.el
lisp/cedet/ede/proj-comp.el
lisp/cedet/ede/proj-elisp.el
lisp/cedet/ede/proj-scheme.el
lisp/image-mode.el
lisp/minibuffer.el
lisp/mouse-drag.el
lisp/mouse.el
lisp/play/doctor.el
lisp/play/mpuz.el
lisp/textmodes/page.el
src/ChangeLog
src/buffer.c
src/dispextern.h
src/msdos.c
src/s/ms-w32.h
src/sysdep.c
src/w32.c
src/xdisp.c

index c6405019ddba6efee143858c60e35fef5b582d2b..378253827888aa2c7ba5c8ffa240665e4f7c1520 100644 (file)
@@ -1,3 +1,8 @@
+2011-04-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * mini.texi (Minibuffer Edit):
+       * screen.texi (Mode Line): Fix typo.
+
 2011-04-20  Christoph Scholtes  <cschol2112@googlemail.com>
 
        * maintaining.texi (Old Revisions): Mention new function vc-ediff.
index 20086bd5e4a3924f111df989000adb6518eb414d..dcc1c445e689a7ad4d520ba87b297cb623306ad9 100644 (file)
@@ -164,7 +164,7 @@ however: for instance, you cannot split it.  @xref{Windows}.
 @vindex resize-mini-windows
   Normally, the minibuffer window occupies a single screen line.
 However, if you add two or more lines' worth of text into the
-minibuffer, it expands automatically to accomodate the text.  The
+minibuffer, it expands automatically to accommodate the text.  The
 variable @code{resize-mini-windows} controls the resizing of the
 minibuffer.  The default value is @code{grow-only}, which means the
 behavior we have just described.  If the value is @code{t}, the
index 45cbdac4b442d2904ff9511997409cad06e94505..0bc3ce3db8cd2e8237c71924d76a96e317ccbad5 100644 (file)
@@ -259,7 +259,7 @@ the buffer.  Minor modes are optional editing modes that provide
 additional features on top of the major mode.  @xref{Minor Modes}.
 
   Some features are listed together with the minor modes whenever they
-are turned on, even through they are not really minor modes.
+are turned on, even though they are not really minor modes.
 @samp{Narrow} means that the buffer being displayed has editing
 restricted to only a portion of its text (@pxref{Narrowing}).
 @samp{Def} means that a keyboard macro is currently being defined
index 784f62dc4ccb7b4ad0f935d0b3d6a35d3e27b3bc..0c0583c06abcf1eec01cd8d7cfa75c85dab65f0b 100644 (file)
@@ -1,3 +1,13 @@
+2011-04-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * windows.texi (Choosing Window): Fix typo.
+
+2011-04-23  Chong Yidong  <cyd@stupidchicken.com>
+
+       * frames.texi (Layout Parameters): Note the difference between
+       querying and setting parameters for left-fringe and right-fringe
+       (Bug#6930).
+
 2011-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * minibuf.texi (Basic Completion): Be a bit more precise about the
index 92969d8259c490392cda3c0a579646977750e3c6..06c120cc09daa2afbfc44afc488d9affb96ae1e3 100644 (file)
@@ -681,17 +681,20 @@ use the default width.
 @itemx right-fringe
 The default width of the left and right fringes of windows in this
 frame (@pxref{Fringes}).  If either of these is zero, that effectively
-removes the corresponding fringe.  A value of @code{nil} stands for
-the standard fringe width, which is the width needed to display the
-fringe bitmaps.
+removes the corresponding fringe.
+
+When you use @code{frame-parameter} to query the value of either of
+these two frame parameters, the return value is always an integer.
+When using @code{set-frame-parameter}, passing a @code{nil} value
+imposes an actual default value of 8 pixels.
 
 The combined fringe widths must add up to an integral number of
-columns, so the actual default fringe widths for the frame may be
-larger than the specified values.  The extra width needed to reach an
-acceptable total is distributed evenly between the left and right
-fringe.  However, you can force one fringe or the other to a precise
-width by specifying that width as a negative integer.  If both widths are
-negative, only the left fringe gets the specified width.
+columns, so the actual default fringe widths for the frame, as
+reported by @code{frame-parameter}, may be larger than what you
+specify.  Any extra width is distributed evenly between the left and
+right fringe.  However, you can force one fringe or the other to a
+precise width by specifying that width as a negative integer.  If both
+widths are negative, only the left fringe gets the specified width.
 
 @vindex menu-bar-lines, a frame parameter
 @item menu-bar-lines
index 528930c0ff69c7a9954c9e4deddbb7b634989255..9ce00de4abcaf2a0455d3297ed563ba9421d648d 100644 (file)
@@ -1014,7 +1014,7 @@ a window only if the space taken up by that window can accommodate two
 windows one above the other that are both at least
 @code{window-min-height} lines tall.  Moreover, if the window that shall
 be split has a mode line, @code{split-window-sensibly} does not split
-the window unless the new window can accomodate a mode line too.
+the window unless the new window can accommodate a mode line too.
 @end defopt
 
 @defopt split-width-threshold
index f422a977ebe32cd871f0b97502ae7584a56a93a1..af58ef47b281ef12bd404635c434e62716b7c345 100644 (file)
@@ -1,3 +1,34 @@
+2011-04-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * buff-menu.el (Buffer-menu--buffers): Fix typo in docstring (bug#8535).
+
+       * play/mpuz.el (mpuz-silent): Doc fix.
+       (mpuz-mode-map): Use mapc.
+       (mpuz-put-number-on-board): Rename parameter L to COLUMNS.
+       (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer):
+       Fix typos in docstrings.
+
+       * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token)
+       (doctor-nounp, doctor-pronounp): Fix typos in docstrings.
+
+       * mouse-drag.el (mouse-drag-throw): Fix typo in docstring.
+
+2011-04-23  Chong Yidong  <cyd@stupidchicken.com>
+
+       * minibuffer.el (completion--do-completion): Avoid the "Next char
+       not unique" prompt if icomplete-mode is enabled (Bug#5849).
+
+       * mouse.el (mouse-drag-mode-line-1): Make sure that if we push
+       mouse-2 into unread-command-events, it is interpreted correctly.
+
+       * image-mode.el (image-type, image-mode-map, image-minor-mode-map)
+       (image-toggle-display): Doc fix.
+
+2011-04-23  Stephen Berman <stephen.berman@gmx.net>
+
+       * textmodes/page.el (what-page): Use line-number-at-pos to
+       calculate line number (Bug#6825).
+
 2011-04-22  Juanma Barranquero  <lekktu@gmail.com>
 
        * eshell/esh-mode.el (find-tag-interactive): Declare function.
index 7c32b11ec14621fbddaf1219f4caf58ff1a3779c..c1313cfd16f9c612a7e446e6ff6628568bee3565 100644 (file)
        (proced-descend): New variable.
        (proced-sort): New arg descend.
        (proced-sort-interactive): Repeated calls toggle sort order.
-       (proced-format): Accomodate changes of proced-format-alist.
+       (proced-format): Accommodate changes of proced-format-alist.
        Undefined attributes are displayed as "?".
        (proced-process-attributes): New optional arg pid-list.
        Ignore processes with empty attribute list.
index 70befa11d8be8b37db27412122ddfcb0c09e63f1..9886b30d122a29942525d020b87e1daa3fc43c99 100644 (file)
@@ -117,7 +117,7 @@ Auto Revert Mode.")
 (defvar Buffer-menu--buffers nil
   "If non-nil, list of buffers shown in the current buffer-menu.
 This variable determines whether reverting the buffer lists only
-this buffers.  It affects both manual reverting and reverting by
+these buffers.  It affects both manual reverting and reverting by
 Auto Revert Mode.")
 (make-variable-buffer-local 'Buffer-menu--buffers)
 
index a93806b88760da9db170c6a7c8580cf91d98e37d..b5ecfdd242f6aa52d6c83aa86459e7a6b7e8a864 100644 (file)
@@ -1,3 +1,11 @@
+2011-04-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * ede/pconf.el (ede-proj-tweak-autoconf, ede-proj-flush-autoconf):
+       * ede/proj-comp.el (ede-proj-tweak-autoconf, ede-proj-flush-autoconf):
+       * ede/proj-elisp.el (ede-proj-tweak-autoconf, ede-proj-flush-autoconf)
+       (ede-proj-tweak-autoconf, ede-proj-flush-autoconf):
+       * ede/proj-scheme.el (ede-proj-tweak-autoconf): Fix typos in docstrings.
+
 2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 
        * Version 23.3 released.
index 497806c71a33937d226812d59384ac45c6f45c7e..08fc98728e1ad6d4751d75f2d2a0e17084445228 100644 (file)
@@ -159,7 +159,7 @@ don't do it.  A value of nil means to just do it.")
   (ede-proj-configure-synchronize this))
 
 (defmethod ede-proj-tweak-autoconf ((this ede-proj-target))
-  "Tweak the configure file (current buffer) to accomodate THIS."
+  "Tweak the configure file (current buffer) to accommodate THIS."
   ;; Check the compilers belonging to THIS, and call the autoconf
   ;; setup for those compilers.
   (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.")
   )
 
 (defmethod ede-proj-flush-autoconf ((this ede-proj-target))
-  "Flush the configure file (current buffer) to accomodate THIS.
+  "Flush the configure file (current buffer) to accommodate THIS.
 By flushing, remove any cruft that may be in the file.  Subsequent
 calls to `ede-proj-tweak-autoconf' can restore items removed by flush."
   nil)
index 418e70fd5e9520905392dcc44d83bdb47ea82fdf..401ea15d0d6f0dca77e79c3ef712cf3f5402e01b 100644 (file)
@@ -236,7 +236,7 @@ This will prevent rules from creating duplicate variables or rules."
 
 ;;; Methods:
 (defmethod ede-proj-tweak-autoconf ((this ede-compilation-program))
-  "Tweak the configure file (current buffer) to accomodate THIS."
+  "Tweak the configure file (current buffer) to accommodate THIS."
   (mapcar
    (lambda (obj)
      (cond ((stringp obj)
@@ -248,7 +248,7 @@ This will prevent rules from creating duplicate variables or rules."
    (oref this autoconf)))
 
 (defmethod ede-proj-flush-autoconf ((this ede-compilation-program))
-  "Flush the configure file (current buffer) to accomodate THIS."
+  "Flush the configure file (current buffer) to accommodate THIS."
   nil)
 
 (defmacro proj-comp-insert-variable-once (varname &rest body)
index 17185b19492b49ae6746250ccf9403f56a8812db..42a20cc4a1a1c2ed7d2c8f471af84c9e1b38a887 100644 (file)
@@ -208,7 +208,7 @@ is found, such as a `-version' variable, or the standard header."
       (error "Don't know how to update load path"))))
 
 (defmethod ede-proj-tweak-autoconf ((this ede-proj-target-elisp))
-  "Tweak the configure file (current buffer) to accomodate THIS."
+  "Tweak the configure file (current buffer) to accommodate THIS."
   (call-next-method)
   ;; Ok, now we have to tweak the autoconf provided `elisp-comp' program.
   (let ((ec (ede-expand-filename this "elisp-comp" 'newfile)))
@@ -232,7 +232,7 @@ is found, such as a `-version' variable, or the standard header."
        (save-buffer)) )))
 
 (defmethod ede-proj-flush-autoconf ((this ede-proj-target-elisp))
-  "Flush the configure file (current buffer) to accomodate THIS."
+  "Flush the configure file (current buffer) to accommodate THIS."
   ;; Remove crufty old paths from elisp-compile
   (let ((ec (ede-expand-filename this "elisp-comp" 'newfile))
        )
@@ -372,11 +372,11 @@ Argument THIS is the target which needs to insert an info file."
   )
 
 (defmethod ede-proj-tweak-autoconf ((this ede-proj-target-elisp-autoloads))
-  "Tweak the configure file (current buffer) to accomodate THIS."
+  "Tweak the configure file (current buffer) to accommodate THIS."
   (error "Autoloads not supported in autoconf yet"))
 
 (defmethod ede-proj-flush-autoconf ((this ede-proj-target-elisp-autoloads))
-  "Flush the configure file (current buffer) to accomodate THIS."
+  "Flush the configure file (current buffer) to accommodate THIS."
   nil)
 
 (provide 'ede/proj-elisp)
index 2a3ea039a7a853553aa685b08114fa17ac3efceb..6a08d4fadd185e67e1087199af2c79206dd5f07e 100644 (file)
@@ -41,7 +41,7 @@
   "This target consists of scheme files.")
 
 (defmethod ede-proj-tweak-autoconf ((this ede-proj-target-scheme))
-  "Tweak the configure file (current buffer) to accomodate THIS."
+  "Tweak the configure file (current buffer) to accommodate THIS."
   (autoconf-insert-new-macro "AM_INIT_GUILE_MODULE"))
 
 (provide 'ede/proj-scheme)
index c99689f33ada451335fbeb97199c9bd23c9e9bbd..17f006e81a1ca62b6b33f182f15a9a1aaf6a428b 100644 (file)
@@ -296,8 +296,7 @@ This function assumes the current frame has only one window."
 ;;; Image Mode setup
 
 (defvar image-type nil
-  "Current image type.
-This variable is used to display the current image type in the mode line.")
+  "The image type for the current Image mode buffer.")
 (make-variable-buffer-local 'image-type)
 
 (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.")
     (define-key map [remap beginning-of-buffer] 'image-bob)
     (define-key map [remap end-of-buffer] 'image-eob)
     map)
-  "Major mode keymap for viewing images in Image mode.")
+  "Mode keymap for `image-mode'.")
 
 (defvar image-minor-mode-map
   (let ((map (make-sparse-keymap)))
     (define-key map "\C-c\C-c" 'image-toggle-display)
     map)
-  "Minor mode keymap for viewing images as text in Image mode.")
+  "Mode keymap for `image-minor-mode'.")
 
 (defvar bookmark-make-record-function)
 
@@ -520,9 +519,10 @@ was inserted."
        (message "Repeat this command to go back to displaying the file as text"))))
 
 (defun image-toggle-display ()
-  "Start or stop displaying an image file as the actual image.
-This command toggles between `image-mode-as-text' showing the text of
-the image file and `image-mode' showing the image as an image."
+  "Toggle between image and text display.
+If the current buffer is displaying an image file as an image,
+call `image-mode-as-text' to switch to text.  Otherwise, display
+the image by calling `image-mode'."
   (interactive)
   (if (image-get-display-property)
       (image-mode-as-text)
index e012c32401224ac421f824c95bfc22510dfe384a..4bf06a45238d5ea022f178a6784e2c3cf22b7a17 100644 (file)
@@ -657,7 +657,8 @@ E = after completion we now have an Exact match.
               (minibuffer-hide-completions))
              ;; Show the completion table, if requested.
              ((not exact)
-             (if (cond ((null completion-show-inline-help) t)
+             (if (cond (icomplete-mode t)
+                       ((null completion-show-inline-help) t)
                        ((eq completion-auto-help 'lazy)
                         (eq this-command last-command))
                        (t completion-auto-help))
index 1f16b9935c88b22cff8851e3ec14cc764d1561ff..fb6c8b7470fb618c0e6777c3a062b7dbad2a02d3 100644 (file)
@@ -194,7 +194,7 @@ from the original mouse click to the current mouse location.  Try it;
 you'll like it.  It's easier to observe than to explain.
 
 If the mouse is clicked and released in the same place of time we
-assume that the user didn't want to scdebugroll but wanted to whatever
+assume that the user didn't want to scroll but wanted to whatever
 mouse-2 used to do, so we pass it through.
 
 Throw scrolling was inspired (but is not identical to) the \"hand\"
index 87f9be6bf57fd39d74f466c99640db1769a76c1e..124f84d7d73ad600ff23cf336d5122e16d262cca 100644 (file)
@@ -541,6 +541,9 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line."
         ;; a `drag-mouse-1'.  In any case `on-link' would have been nulled
         ;; above if there had been any significant mouse movement.
         (when (and on-link (eq 'mouse-1 (car-safe event)))
+         ;; If mouse-2 has never been done by the user, it doesn't
+         ;; have the necessary property to be interpreted correctly.
+         (put 'mouse-2 'event-kind 'mouse-click)
           (push (cons 'mouse-2 (cdr event)) unread-command-events))))))
 
 (defun mouse-drag-mode-line (start-event)
index 02d24afb27886fdc5f959b136694b32ecd739303..54a5a4ef6c96cf3cc091f66172b5133d654e8783 100644 (file)
 (defun doc// (x) x)
 
 (defmacro doc$ (what)
-  "quoted arg form of doctor-$"
+  "Quoted arg form of doctor-$."
   `(doctor-$ ',what))
 
 (defun doctor-$ (what)
-  "Return the car of a list, rotating the list each time"
+  "Return the car of a list, rotating the list each time."
   (let* ((vv (symbol-value what))
        (first (car vv))
        (ww (append (cdr vv) (list first))))
@@ -832,7 +832,7 @@ Otherwise call the Doctor to parse preceding sentence."
     (newline arg)))
 
 (defun doctor-read-print nil
-  "top level loop"
+  "Top level loop."
   (interactive)
   (let ((sent (doctor-readin)))
     (insert "\n")
@@ -850,7 +850,7 @@ Otherwise call the Doctor to parse preceding sentence."
     sentence))
 
 (defun doctor-read-token ()
-  "read one word from buffer"
+  "Read one word from buffer."
   (prog1 (intern (downcase (buffer-substring (point)
                                             (progn
                                               (forward-word 1)
@@ -1020,7 +1020,7 @@ the subject noun, and return the portion of the sentence following it."
           nil))))
 
 (defun doctor-nounp (x)
-  "Returns t if the symbol argument is a noun."
+  "Return t if the symbol argument is a noun."
        (or (doctor-pronounp x)
            (not (or (doctor-verbp x)
                     (equal x 'not)
@@ -1028,7 +1028,7 @@ the subject noun, and return the portion of the sentence following it."
                     (doctor-modifierp x) )) ))
 
 (defun doctor-pronounp (x)
-  "Returns t if the symbol argument is a pronoun."
+  "Return t if the symbol argument is a pronoun."
   (memq x '(
        i me mine myself
        we us ours ourselves ourself
index 5f4ecce31ca075cd047f39bb40df18350a3a7354..3e1659628f45ecf1e320e19b909a4969db85ef3f 100644 (file)
@@ -39,7 +39,7 @@
 
 (defcustom mpuz-silent 'error
   "Set this to nil if you want dings on inputs.
-t means never ding, and `error' means only ding on wrong input."
+The value t means never ding, and `error' means only ding on wrong input."
   :type '(choice (const :tag "No" nil)
                 (const :tag "Yes" t)
                 (const :tag "If correct" error))
@@ -88,33 +88,14 @@ t means never ding, and `error' means only ding on wrong input."
 
 (defvar mpuz-mode-map
   (let ((map (make-sparse-keymap)))
-    (define-key map "a" 'mpuz-try-letter)
-    (define-key map "b" 'mpuz-try-letter)
-    (define-key map "c" 'mpuz-try-letter)
-    (define-key map "d" 'mpuz-try-letter)
-    (define-key map "e" 'mpuz-try-letter)
-    (define-key map "f" 'mpuz-try-letter)
-    (define-key map "g" 'mpuz-try-letter)
-    (define-key map "h" 'mpuz-try-letter)
-    (define-key map "i" 'mpuz-try-letter)
-    (define-key map "j" 'mpuz-try-letter)
-    (define-key map "A" 'mpuz-try-letter)
-    (define-key map "B" 'mpuz-try-letter)
-    (define-key map "C" 'mpuz-try-letter)
-    (define-key map "D" 'mpuz-try-letter)
-    (define-key map "E" 'mpuz-try-letter)
-    (define-key map "F" 'mpuz-try-letter)
-    (define-key map "G" 'mpuz-try-letter)
-    (define-key map "H" 'mpuz-try-letter)
-    (define-key map "I" 'mpuz-try-letter)
-    (define-key map "J" 'mpuz-try-letter)
+    (mapc (lambda (ch)
+            (define-key map (char-to-string ch) 'mpuz-try-letter))
+          "abcdefghijABCDEFGHIJ")
     (define-key map "\C-g" 'mpuz-offer-abort)
     (define-key map "?" 'describe-mode)
     map)
   "Local keymap to use in Mult Puzzle.")
 
-
-
 (defun mpuz-mode ()
   "Multiplication puzzle mode.
 
@@ -171,7 +152,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
   "A permutation from [0..9] to [0..9].")
 
 (defvar mpuz-letter-to-digit (make-vector 10 0)
-  "The inverse of mpuz-digit-to-letter.")
+  "The inverse of `mpuz-digit-to-letter'.")
 
 (defmacro mpuz-to-digit (letter)
   (list 'aref 'mpuz-letter-to-digit letter))
@@ -198,17 +179,16 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
 (defvar mpuz-board (make-vector 10 nil)
   "The board associates to any digit the list of squares where it appears.")
 
-(defun mpuz-put-number-on-board (number row &rest l)
+(defun mpuz-put-number-on-board (number row &rest columns)
   "Put (last digit of) NUMBER on ROW and COLUMNS of the puzzle board."
   (let (digit)
-    (while l
+    (dolist (column columns)
       (setq digit (% number 10)
-           number (/ number 10))
-      (aset mpuz-board digit `((,row . ,(car l)) ,@(aref mpuz-board digit)))
-      (setq l (cdr l)))))
+            number (/ number 10))
+      (aset mpuz-board digit `((,row . ,column) ,@(aref mpuz-board digit))))))
 
 (defun mpuz-check-all-solved (&optional row col)
-  "Check whether all digits have been solved. Return t if yes."
+  "Check whether all digits have been solved.  Return t if yes."
   (catch 'solved
     (let (A B1 B2 C D E squares)
       (and mpuz-solve-when-trivial
@@ -294,7 +274,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
   "The general picture of the puzzle screen, as a string.")
 
 (defun mpuz-create-buffer ()
-  "Create (or recreate) the puzzle buffer. Return it."
+  "Create (or recreate) the puzzle buffer.  Return it."
   (let ((buf (get-buffer-create "*Mult Puzzle*"))
        (face '(face mpuz-text))
        buffer-read-only)
index 1de67615252e97e96e18712f7764061850feef5b..95ba7ebd86f337e7326269542ff12c84d2e7aa25 100644 (file)
@@ -156,9 +156,9 @@ thus showing a page other than the one point was originally in."
           (if (= (match-beginning 0) (match-end 0))
               (forward-char 1))
          (setq count (1+ count)))
-       (message "Page %d, line %d"
-                count
-                (1+ (count-lines (point) opoint)))))))
+       (message "Page %d, line %d" count (line-number-at-pos opoint))))))
+
+
 \f
 ;;; Place `provide' at end of file.
 (provide 'page)
index 4a675cc96c68567c7c7a82327f855a94224af6ae..0067163edbf7c086a3bf7c0db13ef4ee0e738b5f 100644 (file)
@@ -1,3 +1,21 @@
+2011-04-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * s/ms-w32.h (localtime): Redirect to sys_localtime.
+
+       * w32.c: Include <time.h>.
+       (sys_localtime): New function.
+
+2011-04-23  Chong Yidong  <cyd@stupidchicken.com>
+
+       * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
+
+       * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
+
+2011-04-23  Samuel Thibault  <sthibault@debian.org>  (tiny change)
+
+       * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
+       zombies (Bug#8467).
+
 2011-04-19  Eli Zaretskii  <eliz@gnu.org>
 
        * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
index c649836adb8f3be4c56f42d4de8741eae8544b41..46e8ddf1538351ffa658bf557970bde63a376097 100644 (file)
@@ -5551,7 +5551,8 @@ Linefeed indents to this column in Fundamental mode.  */);
 
   DEFVAR_PER_BUFFER ("tab-width", &BVAR (current_buffer, tab_width),
                     make_number (LISP_INT_TAG),
-                    doc: /* *Distance between tab stops (for display of tab characters), in columns.  */);
+                    doc: /* *Distance between tab stops (for display of tab characters), in columns.
+This should be an integer greater than zero.  */);
 
   DEFVAR_PER_BUFFER ("ctl-arrow", &BVAR (current_buffer, ctl_arrow), Qnil,
                     doc: /* *Non-nil means display control chars with uparrow.
index 1f2189adeca7fc14ba1bc67a0b6032808c0052ba..72e23e6642a7607fc8955f1de1005d354fcef2c7 100644 (file)
@@ -62,7 +62,7 @@ typedef HDC XImagePtr_or_DC;
 
 #ifdef HAVE_NS
 #include "nsgui.h"
-/* following typedef needed to accomodate the MSDOS port, believe it or not */
+/* Following typedef needed to accommodate the MSDOS port, believe it or not.  */
 typedef struct ns_display_info Display_Info;
 typedef Pixmap XImagePtr;
 typedef XImagePtr XImagePtr_or_DC;
index e02e64b9ece116648ea998128fc1a89adab3a1ba..6bff56b3f82001509d316cf170884d607750ca76 100644 (file)
@@ -842,7 +842,7 @@ IT_set_face (int face)
 
 /* According to RBIL (INTERRUP.A, V-1000), 160 is the maximum possible
    width of a DOS display in any known text mode.  We multiply by 2 to
-   accomodate the screen attribute byte.  */
+   accommodate the screen attribute byte.  */
 #define MAX_SCREEN_BUF 160*2
 
 extern unsigned char *encode_terminal_code (struct glyph *, int,
index 8b189baea46533ded43cf187ac05386e5de3a683..bf6cc66798c75853a7b179e594418d3adb62f29a 100644 (file)
@@ -204,6 +204,7 @@ struct sigaction {
 #define dup2    sys_dup2
 #define fopen   sys_fopen
 #define link    sys_link
+#define localtime sys_localtime
 #define mkdir   sys_mkdir
 #undef mktemp
 #define mktemp  sys_mktemp
index 45e80ac01551f46a7800ee8e123476a43fe439b6..4b3a78e154e1f61cd31c768d4c6ef9adbd0ef1bd 100644 (file)
@@ -304,7 +304,7 @@ wait_for_termination (int pid)
 {
   while (1)
     {
-#if defined (BSD_SYSTEM) || defined (HPUX)
+#if (defined (BSD_SYSTEM) || defined (HPUX)) && !defined(__GNU__)
       /* Note that kill returns -1 even if the process is just a zombie now.
         But inevitably a SIGCHLD interrupt should be generated
         and child_sig will do wait3 and make the process go away. */
index d715c39fa81d10c061d669030215b0061922ff59..85e4a2025b9133ad2b5f9dedde9e6ed9b55369e1 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -34,6 +34,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include <mbstring.h>  /* for _mbspbrk */
 #include <math.h>
 #include <setjmp.h>
+#include <time.h>
 
 /* must include CRT headers *before* config.h */
 
@@ -62,6 +63,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #undef strerror
 
+#undef localtime
+
 #include "lisp.h"
 
 #include <pwd.h>
@@ -1942,6 +1945,12 @@ gettimeofday (struct timeval *tv, struct timezone *tz)
 
   tv->tv_sec = tb.time;
   tv->tv_usec = tb.millitm * 1000L;
+  /* Implementation note: _ftime sometimes doesn't update the dstflag
+     according to the new timezone when the system timezone is
+     changed.  We could fix that by using GetSystemTime and
+     GetTimeZoneInformation, but that doesn't seem necessary, since
+     Emacs always calls gettimeofday with the 2nd argument NULL (see
+     EMACS_GET_TIME).  */
   if (tz)
     {
       tz->tz_minuteswest = tb.timezone;        /* minutes west of Greenwich  */
@@ -5678,6 +5687,19 @@ sys_write (int fd, const void * buffer, unsigned int count)
   return nchars;
 }
 
+/* The Windows CRT functions are "optimized for speed", so they don't
+   check for timezone and DST changes if they were last called less
+   than 1 minute ago (see http://support.microsoft.com/kb/821231).  So
+   all Emacs features that repeatedly call time functions (e.g.,
+   display-time) are in real danger of missing timezone and DST
+   changes.  Calling tzset before each localtime call fixes that.  */
+struct tm *
+sys_localtime (const time_t *t)
+{
+  tzset ();
+  return localtime (t);
+}
+
 static void
 check_windows_init_file (void)
 {
index 574c84fc0867b946022b9f34240fba1c98a1fa85..19fef35fce86c59cb32f0c745a509e942779f3c5 100644 (file)
@@ -26997,6 +26997,7 @@ init_xdisp (void)
 
   mini_w = XWINDOW (minibuf_window);
   root_window = FRAME_ROOT_WINDOW (XFRAME (WINDOW_FRAME (mini_w)));
+  echo_area_window = minibuf_window;
 
   if (!noninteractive)
     {