# HG changeset patch # User Miles Bader # Date 1179972862 0 # Node ID 7489e9d44b854cb7c2409aead37abd0c8a642863 # Parent 188795a4ee84950f9882b41bf3142ebe107082b7# Parent afdc130c86d23f4e1bf6bcde2af8881d3b868a9e Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 762-764) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 22-23) - Update from CVS Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-15 diff -r 188795a4ee84 -r 7489e9d44b85 admin/FOR-RELEASE --- a/admin/FOR-RELEASE Mon May 21 12:16:07 2007 +0000 +++ b/admin/FOR-RELEASE Thu May 24 02:14:22 2007 +0000 @@ -38,22 +38,26 @@ ** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin. (Did we decide that is unreproducible?) +** eliz@gnu.org, May 20: EOL conversion of files in .tar archives + * BUGS -See the copy of this file on the EMACS_22_BASE branch. - -** rcyeske@gmail.com, April 22: Failure to build on OpenBSD macppc. -OpenBSD compilation works on i386. -http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00932.html - -** Spurious redisplay bug not fixed. -http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00443.html -http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00732.html +NB the definitive copy of this file for Emacs 22 is on the +EMACS_22_BASE branch. Any entries below are automatically copied from +that branch. Do not make manual changes to this file on the trunk. ** michael.ewe@arcor.de, Apr 24: 22.0.98 not starting on Solaris 10/I386 http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg01113.html -** coldwell@redhat.com, May 18: 22.0.99 emacs dumper (?) problem +* FIXES FOR EMACS 22.2 + +Here we list small fixes that arrived too late for Emacs 22.1, but +that should be installed on the release branch after 22.1 is released. + +** Changes to six pbm icons in etc/images. +Sync change from trunk 2007-05-19. + +** viper and tramp should not load cl at run time. * DOCUMENTATION diff -r 188795a4ee84 -r 7489e9d44b85 configure --- a/configure Mon May 21 12:16:07 2007 +0000 +++ b/configure Thu May 24 02:14:22 2007 +0000 @@ -412,10 +412,10 @@ fi test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. } diff -r 188795a4ee84 -r 7489e9d44b85 etc/PROBLEMS --- a/etc/PROBLEMS Mon May 21 12:16:07 2007 +0000 +++ b/etc/PROBLEMS Thu May 24 02:14:22 2007 +0000 @@ -144,6 +144,21 @@ } return ret; +** Emacs crashes on startup after a glibc upgrade. + +This is caused by a binary incompatible change to the malloc +implementation in glibc 2.5.90-22. As a result, Emacs binaries built +using prior versions of glibc crash when run under 2.5.90-22. + +This problem was first seen in pre-release versions of Fedora 7, and +may be fixed in the final Fedora 7 release. To stop the crash from +happening, first try upgrading to the newest version of glibc; if this +does not work, rebuild Emacs with the same version of glibc that you +will run it under. For details, see + +https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239344 + + * Crash bugs ** Emacs crashes in x-popup-dialog. diff -r 188795a4ee84 -r 7489e9d44b85 lisp/ChangeLog --- a/lisp/ChangeLog Mon May 21 12:16:07 2007 +0000 +++ b/lisp/ChangeLog Thu May 24 02:14:22 2007 +0000 @@ -1,3 +1,26 @@ +2007-05-22 Katsumi Yamaoka (tiny change) + + * mail/mail-extr.el (mail-extract-address-components): Recognize + non-ASCII characters except for NBSP as words. + +2007-05-21 Trent Buck (tiny change) + + * net/rcirc.el (rcirc-fill-column): Allow `window-width'. + (rcirc-print): Handle `window-width'. + (rcirc-buffer-maximum-lines): Doc fix. + +2007-05-21 Chong Yidong + + * image-mode.el (image-toggle-display): Don't clear image cache. + Only use filename in image spec if the file is readable. Call + image-refresh. + + * image.el (image-type-from-file-name, image-type): Simplify. + (image-type-auto-detected-p): Don't scan auto-mode-alist. + + * files.el (magic-mode-alist): Remove image-type-auto-detected-p. + (magic-fallback-mode-alist): Add image-type-auto-detected-p. + 2007-05-20 Nick Roberts * t-mouse.el (t-mouse-mode): Reset t-mouse-mode to nil if there @@ -183,6 +206,9 @@ (set-auto-mode): Handle file-start-mode-alist. A little cleanup of structure. + * dabbrev.el (dabbrev-eliminate-newlines): + Renamed from dabbrev--eliminate-newlines. All uses changed. + 2007-05-10 Micha,Ak(Bl Cadilhac * man.el (Man-next-section): Don't consider the last line of the page diff -r 188795a4ee84 -r 7489e9d44b85 lisp/files.el --- a/lisp/files.el Mon May 21 12:16:07 2007 +0000 +++ b/lisp/files.el Thu May 24 02:14:22 2007 +0000 @@ -2119,8 +2119,7 @@ of the regular expression. The mode is then determined as the mode associated with that interpreter in `interpreter-mode-alist'.") -(defvar magic-mode-alist - `((image-type-auto-detected-p . image-mode)) +(defvar magic-mode-alist nil "Alist of buffer beginnings vs. corresponding major mode functions. Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION). After visiting a file, if REGEXP matches the text at the beginning of the @@ -2133,7 +2132,8 @@ (put 'magic-mode-alist 'risky-local-variable t) (defvar magic-fallback-mode-alist - `(;; The < comes before the groups (but the first) to reduce backtracking. + `((image-type-auto-detected-p . image-mode) + ;; The < comes before the groups (but the first) to reduce backtracking. ;; TODO: UTF-16 (char-after) ?\177) + (not (eq (char-after) ? ))))))))) (or (eq char ?\() ;; At the end of first address of a multiple address header. (and (eq char ?,) diff -r 188795a4ee84 -r 7489e9d44b85 lisp/net/rcirc.el --- a/lisp/net/rcirc.el Mon May 21 12:16:07 2007 +0000 +++ b/lisp/net/rcirc.el Thu May 24 02:14:22 2007 +0000 @@ -95,9 +95,11 @@ (defcustom rcirc-fill-column nil "*Column beyond which automatic line-wrapping should happen. -If nil, use value of `fill-column'. If 'frame-width, use the -maximum frame width." +If nil, use value of `fill-column'. +If `window-width', use the window's width as maximum. +If `frame-width', use the frame's width as maximum." :type '(choice (const :tag "Value of `fill-column'") + (const :tag "Full window width" window-width) (const :tag "Full frame width" frame-width) (integer :tag "Number of columns")) :group 'rcirc) @@ -143,8 +145,7 @@ :group 'rcirc) (defcustom rcirc-scroll-show-maximum-output t - "*If non-nil, scroll buffer to keep the point at the bottom of -the window." + "*If non-nil, scroll buffer to keep the point at the bottom of the window." :type 'boolean :group 'rcirc) @@ -1245,6 +1246,8 @@ (make-string (- text-start fill-start) ?\s))) (fill-column (cond ((eq rcirc-fill-column 'frame-width) (1- (frame-width))) + ((eq rcirc-fill-column 'window-width) + (1- (window-width))) (rcirc-fill-column rcirc-fill-column) (t fill-column)))) diff -r 188795a4ee84 -r 7489e9d44b85 lisp/paren.el --- a/lisp/paren.el Mon May 21 12:16:07 2007 +0000 +++ b/lisp/paren.el Thu May 24 02:14:22 2007 +0000 @@ -143,7 +143,6 @@ (let ((oldpos (point)) (dir (cond ((eq (syntax-class (syntax-after (1- (point)))) 5) -1) ((eq (syntax-class (syntax-after (point))) 4) 1))) - (window-start (window-start)) pos mismatch face) ;; ;; Find the other end of the sexp. @@ -248,13 +247,7 @@ ;; ;; Always set the overlay face, since it varies. (overlay-put show-paren-overlay 'priority show-paren-priority) - (overlay-put show-paren-overlay 'face face)) - ;; If there are continued lines, the above operations can - ;; force redisplay to recenter the window (since there is no - ;; way for it to know that the overlay changes to the buffer - ;; are harmless). So reset the window-start. - (unless (window-minibuffer-p) - (set-window-start (selected-window) window-start))) + (overlay-put show-paren-overlay 'face face))) ;; show-paren-mode is nil in this buffer. (and show-paren-overlay (delete-overlay show-paren-overlay)) diff -r 188795a4ee84 -r 7489e9d44b85 src/ChangeLog --- a/src/ChangeLog Mon May 21 12:16:07 2007 +0000 +++ b/src/ChangeLog Thu May 24 02:14:22 2007 +0000 @@ -1,3 +1,8 @@ +2007-05-21 Chong Yidong + + * image.c (uncache_image): New function. + (Fimage_refresh): New function. + 2007-05-20 Jan Dj,Ad(Brv * Makefile.in: Move GPM check outside HAVE_X_WINDOWS. diff -r 188795a4ee84 -r 7489e9d44b85 src/image.c --- a/src/image.c Mon May 21 12:16:07 2007 +0000 +++ b/src/image.c Thu May 24 02:14:22 2007 +0000 @@ -1631,6 +1631,27 @@ } +/* Search frame F for an images with spec SPEC, and free it. */ + +static void +uncache_image (f, spec) + struct frame *f; + Lisp_Object spec; +{ + struct image_cache *c = FRAME_X_IMAGE_CACHE (f); + struct image *img = IMAGE_FROM_ID (f, lookup_image (f, spec)); + unsigned hash = sxhash (spec, 0); + int i = hash % IMAGE_CACHE_BUCKETS_SIZE; + + for (img = c->buckets[i]; img; img = img->next) + if (img->hash == hash && !NILP (Fequal (img->spec, spec))) + { + free_image (f, img); + break; + } +} + + /* Free image cache of frame F. Be aware that X frames share images caches. */ @@ -1741,6 +1762,36 @@ } +DEFUN ("image-refresh", Fimage_refresh, Simage_refresh, + 1, 2, 0, + doc: /* Refresh the image with specification SPEC on frame FRAME. +If SPEC specifies an image file, the displayed image is updated with +the current contents of that file. +FRAME nil or omitted means use the selected frame. +FRAME t means refresh the image on all frames. */) + (spec, frame) + Lisp_Object spec, frame; +{ + if (!valid_image_p (spec)) + error ("Invalid image specification"); + + if (EQ (frame, Qt)) + { + Lisp_Object tail; + FOR_EACH_FRAME (tail, frame) + { + struct frame *f = XFRAME (frame); + if (FRAME_WINDOW_P (f)) + uncache_image (f, spec); + } + } + else + uncache_image (check_x_frame (frame), spec); + + return Qnil; +} + + /* Compute masks and transform image IMG on frame F, as specified by the image's specification, */ @@ -8662,6 +8713,7 @@ defsubr (&Sinit_image_library); defsubr (&Sclear_image_cache); + defsubr (&Simage_refresh); defsubr (&Simage_size); defsubr (&Simage_mask_p); defsubr (&Simage_extension_data);