Now on revision 105530. ------------------------------------------------------------ revno: 105530 committer: Eli Zaretskii branch nick: trunk timestamp: Mon 2011-08-22 15:58:37 +0300 message: Back out inadvertent changes in minibuffer.el. diff: === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2011-08-19 10:18:40 +0000 +++ lisp/minibuffer.el 2011-08-22 12:58:37 +0000 @@ -1119,27 +1119,13 @@ `(display (space :align-to ,column))) nil)))) (if (not (consp str)) - (put-text-property (point) - (progn - (insert (bidi-string-mark-left-to-right - str)) - (point)) + (put-text-property (point) (progn (insert str) (point)) 'mouse-face 'highlight) - (put-text-property (point) - (progn - (insert - (bidi-string-mark-left-to-right - (car str))) - (point)) + (put-text-property (point) (progn (insert (car str)) (point)) 'mouse-face 'highlight) - (add-text-properties (point) - (progn - (insert - (bidi-string-mark-left-to-right - (cadr str))) - (point)) + (add-text-properties (point) (progn (insert (cadr str)) (point)) '(mouse-face nil - face completions-annotations))) + face completions-annotations))) (cond ((eq completions-format 'vertical) ;; Vertical format ------------------------------------------------------------ revno: 105529 committer: Juri Linkov branch nick: trunk timestamp: Mon 2011-08-22 15:46:45 +0300 message: * lisp/progmodes/compile.el (compilation-mode-font-lock-keywords): Revert regexp that highlights output switches to its old pre-2010-10-28 value and remove one `?' from it (bug#9319). diff: === modified file 'etc/compilation.txt' --- etc/compilation.txt 2011-07-12 19:39:01 +0000 +++ etc/compilation.txt 2011-08-22 12:46:45 +0000 @@ -546,9 +546,18 @@ checking whether -lc should be explicitly linked in... (cached) no checking For GLIB - version >= 2.0.0... yes (version 2.1.0) checking FONTCONFIG_CFLAGS... -g++ -o foo.o foo.cc -tool1 -output=foo foo.x -tool2 --outfile foo foo.y +tool -o foo.o foo.c +tool -o=foo.o foo.c +tool -output foo.o foo.c +tool -output=foo.o foo.c +tool -outfile foo.o foo.c +tool -outfile=foo.o foo.c +tool --output foo.o foo.c +tool --output=foo.o foo.c +tool --outfile foo.o foo.c +tool --outfile=foo.o foo.c +tool --omega foo.c +tool --output-html-file foo.c Compilation started at Wed Jul 20 12:20:10 Compilation interrupt at Wed Jul 20 12:20:10 === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-22 09:54:38 +0000 +++ lisp/ChangeLog 2011-08-22 12:46:45 +0000 @@ -1,5 +1,9 @@ 2011-08-22 Juri Linkov + * progmodes/compile.el (compilation-mode-font-lock-keywords): + Revert regexp that highlights output switches to its old + pre-2010-10-28 value and remove one `?' from it (bug#9319). + * progmodes/grep.el (grep-process-setup): Use `buffer-modified-p' to check for empty output (bug#9226). === modified file 'lisp/progmodes/compile.el' --- lisp/progmodes/compile.el 2011-08-21 02:24:07 +0000 +++ lisp/progmodes/compile.el 2011-08-22 12:46:45 +0000 @@ -523,7 +523,7 @@ ;; Command output lines. Recognize `make[n]:' lines too. ("^\\([[:alnum:]_/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ \t]*:" (1 font-lock-function-name-face) (3 compilation-line-face nil t)) - (" -\\(?:o[= ]?\\|-\\(?:outfile\\|output\\)[= ]\\)\\(\\S +\\)" . 1) + (" --?o\\(?:utfile\\|utput\\)?[= ]\\(\\S +\\)" . 1) ("^Compilation \\(finished\\).*" (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) (1 compilation-info-face)) ------------------------------------------------------------ revno: 105528 fixes bug(s): http://debbugs.gnu.org/9226 committer: Juri Linkov branch nick: trunk timestamp: Mon 2011-08-22 12:54:38 +0300 message: * lisp/progmodes/grep.el (grep-process-setup): Use `buffer-modified-p' to check for empty output. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-22 03:38:30 +0000 +++ lisp/ChangeLog 2011-08-22 09:54:38 +0000 @@ -1,3 +1,8 @@ +2011-08-22 Juri Linkov + + * progmodes/grep.el (grep-process-setup): Use `buffer-modified-p' + to check for empty output (bug#9226). + 2011-08-22 Chong Yidong * progmodes/scheme.el (scheme-mode-syntax-table): Don't use === modified file 'lisp/progmodes/grep.el' --- lisp/progmodes/grep.el 2011-08-17 17:11:49 +0000 +++ lisp/progmodes/grep.el 2011-08-22 09:54:38 +0000 @@ -463,9 +463,12 @@ (set (make-local-variable 'compilation-exit-message-function) (lambda (status code msg) (if (eq status 'exit) - (cond ((zerop code) + ;; This relies on the fact that `compilation-start' + ;; sets buffer-modified to nil before running the command, + ;; so the buffer is still unmodified if there is no output. + (cond ((and (zerop code) (buffer-modified-p)) '("finished (matches found)\n" . "matched")) - ((= code 1) + ((or (= code 1) (not (buffer-modified-p))) '("finished with no matches found\n" . "no match")) (t (cons msg code))) ------------------------------------------------------------ revno: 105527 fixes bug(s): http://debbugs.gnu.org/8843 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-08-21 23:38:30 -0400 message: Fix some word/symbol classifications in scheme-mode's syntax table. * lisp/progmodes/scheme.el (scheme-mode-syntax-table): Don't use symbol-constituent as the default, as that stops font-lock from working properly. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-21 20:29:11 +0000 +++ lisp/ChangeLog 2011-08-22 03:38:30 +0000 @@ -1,3 +1,9 @@ +2011-08-22 Chong Yidong + + * progmodes/scheme.el (scheme-mode-syntax-table): Don't use + symbol-constituent as the default, as that stops font-lock from + working properly (Bug#8843). + 2011-08-21 Lars Magne Ingebrigtsen * mail/smtpmail.el (smtpmail-via-smtp): Only bind === modified file 'lisp/progmodes/scheme.el' --- lisp/progmodes/scheme.el 2011-01-26 08:36:39 +0000 +++ lisp/progmodes/scheme.el 2011-08-22 03:38:30 +0000 @@ -55,24 +55,24 @@ (defvar scheme-mode-syntax-table (let ((st (make-syntax-table)) (i 0)) - - ;; Default is atom-constituent. - (while (< i 256) - (modify-syntax-entry i "_ " st) - (setq i (1+ i))) - - ;; Word components. - (setq i ?0) - (while (<= i ?9) - (modify-syntax-entry i "w " st) - (setq i (1+ i))) - (setq i ?A) - (while (<= i ?Z) - (modify-syntax-entry i "w " st) - (setq i (1+ i))) - (setq i ?a) - (while (<= i ?z) - (modify-syntax-entry i "w " st) + ;; Symbol constituents + ;; We used to treat chars 128-256 as symbol-constituent, but they + ;; should be valid word constituents (Bug#8843). Note that valid + ;; identifier characters are Scheme-implementation dependent. + (while (< i ?0) + (modify-syntax-entry i "_ " st) + (setq i (1+ i))) + (setq i (1+ ?9)) + (while (< i ?A) + (modify-syntax-entry i "_ " st) + (setq i (1+ i))) + (setq i (1+ ?Z)) + (while (< i ?a) + (modify-syntax-entry i "_ " st) + (setq i (1+ i))) + (setq i (1+ ?z)) + (while (< i 128) + (modify-syntax-entry i "_ " st) (setq i (1+ i))) ;; Whitespace ------------------------------------------------------------ revno: 105526 fixes bug(s): http://debbugs.gnu.org/9335 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-08-21 22:34:23 -0400 message: Fix animated gif segfault and frame clearing bug. * src/image.c (gif_load): Don't assume that each subimage has the same dimensions as the base image. Handle disposal method that is "undefined" by the gif spec. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-08-20 21:22:46 +0000 +++ src/ChangeLog 2011-08-22 02:34:23 +0000 @@ -1,3 +1,9 @@ +2011-08-22 Chong Yidong + + * image.c (gif_load): Don't assume that each subimage has the same + dimensions as the base image. Handle disposal method that is + "undefined" by the gif spec (Bug#9335). + 2011-08-20 Chong Yidong * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329). === modified file 'src/image.c' --- src/image.c 2011-08-04 00:58:07 +0000 +++ src/image.c 2011-08-22 02:34:23 +0000 @@ -7139,7 +7139,6 @@ ColorMapObject *gif_color_map; unsigned long pixel_colors[256]; GifFileType *gif; - int image_height, image_width; gif_memory_source memsrc; Lisp_Object specified_bg = image_spec_value (img->spec, QCbackground, NULL); Lisp_Object specified_file = image_spec_value (img->spec, QCfile, NULL); @@ -7216,19 +7215,13 @@ } } - img->corners[TOP_CORNER] = gif->SavedImages[idx].ImageDesc.Top; - img->corners[LEFT_CORNER] = gif->SavedImages[idx].ImageDesc.Left; - image_height = gif->SavedImages[idx].ImageDesc.Height; - img->corners[BOT_CORNER] = img->corners[TOP_CORNER] + image_height; - image_width = gif->SavedImages[idx].ImageDesc.Width; - img->corners[RIGHT_CORNER] = img->corners[LEFT_CORNER] + image_width; + width = img->width = gif->SWidth; + height = img->height = gif->SHeight; - width = img->width = max (gif->SWidth, - max (gif->Image.Left + gif->Image.Width, - img->corners[RIGHT_CORNER])); - height = img->height = max (gif->SHeight, - max (gif->Image.Top + gif->Image.Height, - img->corners[BOT_CORNER])); + img->corners[TOP_CORNER] = gif->SavedImages[0].ImageDesc.Top; + img->corners[LEFT_CORNER] = gif->SavedImages[0].ImageDesc.Left; + img->corners[BOT_CORNER] = img->corners[TOP_CORNER] + height; + img->corners[RIGHT_CORNER] = img->corners[LEFT_CORNER] + width; if (!check_image_size (f, width, height)) { @@ -7283,6 +7276,10 @@ unsigned char *raster = (unsigned char *) subimage->RasterBits; int transparency_color_index = -1; int disposal = 0; + int subimg_width = subimage->ImageDesc.Width; + int subimg_height = subimage->ImageDesc.Height; + int subimg_top = subimage->ImageDesc.Top; + int subimg_left = subimage->ImageDesc.Left; /* Find the Graphic Control Extension block for this sub-image. Extract the disposal method and transparency color. */ @@ -7306,6 +7303,13 @@ if (j == 0) disposal = 2; + /* For disposal == 0, the spec says "No disposal specified. The + decoder is not required to take any action." In practice, it + seems we need to treat this like "keep in place", see e.g. + http://upload.wikimedia.org/wikipedia/commons/3/37/Clock.gif */ + if (disposal == 0) + disposal = 1; + /* Allocate subimage colors. */ memset (pixel_colors, 0, sizeof pixel_colors); gif_color_map = subimage->ImageDesc.ColorMap; @@ -7333,34 +7337,34 @@ int row, pass; for (y = 0, row = interlace_start[0], pass = 0; - y < image_height; + y < subimg_height; y++, row += interlace_increment[pass]) { - if (row >= image_height) + if (row >= subimg_height) { row = interlace_start[++pass]; - while (row >= image_height) + while (row >= subimg_height) row = interlace_start[++pass]; } - for (x = 0; x < image_width; x++) + for (x = 0; x < subimg_width; x++) { - int c = raster[y * image_width + x]; + int c = raster[y * subimg_width + x]; if (transparency_color_index != c || disposal != 1) - XPutPixel (ximg, x + img->corners[LEFT_CORNER], - row + img->corners[TOP_CORNER], pixel_colors[c]); + XPutPixel (ximg, x + subimg_left, row + subimg_top, + pixel_colors[c]); } } } else { - for (y = 0; y < image_height; ++y) - for (x = 0; x < image_width; ++x) + for (y = 0; y < subimg_height; ++y) + for (x = 0; x < subimg_width; ++x) { - int c = raster[y * image_width + x]; + int c = raster[y * subimg_width + x]; if (transparency_color_index != c || disposal != 1) - XPutPixel (ximg, x + img->corners[LEFT_CORNER], - y + img->corners[TOP_CORNER], pixel_colors[c]); + XPutPixel (ximg, x + subimg_left, y + subimg_top, + pixel_colors[c]); } } } ------------------------------------------------------------ revno: 105525 author: Lars Magne Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2011-08-21 22:10:49 +0000 message: Merge changes made in Gnus trunk. nnmail.el (nnmail-get-new-mail-1): If one mail source bugs out, continue on and do the clean-up phase (bug#9188). gnus-sum.el (gnus-summary-expire-articles): When expiring articles, just ignore groups that can't be opened instead of erroring out (bug#9225). gnus-art.el (gnus-article-update-date-headers): Flip the default to nil since some many people are fuddy-duddies. gnus-html.el (gnus-html-image-fetched): Don't cache zero-length images. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-08-21 09:39:07 +0000 +++ lisp/gnus/ChangeLog 2011-08-21 22:10:49 +0000 @@ -1,5 +1,18 @@ 2011-08-21 Lars Magne Ingebrigtsen + * nnmail.el (nnmail-get-new-mail-1): If one mail source bugs out, + continue on and do the clean-up phase (bug#9188). + + * gnus-sum.el (gnus-summary-expire-articles): When expiring articles, + just ignore groups that can't be opened instead of erroring out + (bug#9225). + + * gnus-art.el (gnus-article-update-date-headers): Flip the default to + nil since some many people are fuddy-duddies. + + * gnus-html.el (gnus-html-image-fetched): Don't cache zero-length + images. + * nntp.el (nntp-authinfo-file): Mark as obsolete -- use auth-source instead. === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-08-19 08:52:18 +0000 +++ lisp/gnus/gnus-art.el 2011-08-21 22:10:49 +0000 @@ -1039,7 +1039,7 @@ (item :tag "ISO8601 format" :value 'iso8601) (item :tag "User-defined" :value 'user-defined))) -(defcustom gnus-article-update-date-headers 1 +(defcustom gnus-article-update-date-headers nil "A number that says how often to update the date header (in seconds). If nil, don't update it at all." :version "24.1" === modified file 'lisp/gnus/gnus-html.el' --- lisp/gnus/gnus-html.el 2011-07-19 22:19:06 +0000 +++ lisp/gnus/gnus-html.el 2011-08-21 22:10:49 +0000 @@ -399,15 +399,16 @@ (defun gnus-html-image-fetched (status buffer image) "Callback function called when image has been fetched." (unless (plist-get status :error) - (when gnus-html-image-automatic-caching - (url-store-in-cache (current-buffer))) (when (and (or (search-forward "\n\n" nil t) (search-forward "\r\n\r\n" nil t)) - (buffer-live-p buffer)) - (let ((data (buffer-substring (point) (point-max)))) - (with-current-buffer buffer - (let ((inhibit-read-only t)) - (gnus-html-put-image data (car image) (cadr image))))))) + (not (eobp))) + (when gnus-html-image-automatic-caching + (url-store-in-cache (current-buffer))) + (when (buffer-live-p buffer) + (let ((data (buffer-substring (point) (point-max)))) + (with-current-buffer buffer + (let ((inhibit-read-only t)) + (gnus-html-put-image data (car image) (cadr image)))))))) (kill-buffer (current-buffer))) (defun gnus-html-get-image-data (url) === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2011-08-20 00:20:39 +0000 +++ lisp/gnus/gnus-sum.el 2011-08-21 22:10:49 +0000 @@ -10287,34 +10287,33 @@ ;; There are expirable articles in this group, so we run them ;; through the expiry process. (gnus-message 6 "Expiring articles...") - (unless (gnus-check-group gnus-newsgroup-name) - (error "Can't open server for %s" gnus-newsgroup-name)) - ;; The list of articles that weren't expired is returned. - (save-excursion - (if expiry-wait - (let ((nnmail-expiry-wait-function nil) - (nnmail-expiry-wait expiry-wait)) - (setq es (gnus-request-expire-articles - expirable gnus-newsgroup-name))) - (setq es (gnus-request-expire-articles - expirable gnus-newsgroup-name))) - (unless total - (setq gnus-newsgroup-expirable es)) - ;; We go through the old list of expirable, and mark all - ;; really expired articles as nonexistent. - (unless (eq es expirable) ;If nothing was expired, we don't mark. - (let ((gnus-use-cache nil)) - (dolist (article expirable) - (when (and (not (memq article es)) - (gnus-data-find article)) - (gnus-summary-mark-article article gnus-canceled-mark) - (run-hook-with-args 'gnus-summary-article-expire-hook - 'delete - (gnus-data-header - (assoc article (gnus-data-list nil))) - gnus-newsgroup-name - nil - nil)))))) + (when (gnus-check-group gnus-newsgroup-name) + ;; The list of articles that weren't expired is returned. + (save-excursion + (if expiry-wait + (let ((nnmail-expiry-wait-function nil) + (nnmail-expiry-wait expiry-wait)) + (setq es (gnus-request-expire-articles + expirable gnus-newsgroup-name))) + (setq es (gnus-request-expire-articles + expirable gnus-newsgroup-name))) + (unless total + (setq gnus-newsgroup-expirable es)) + ;; We go through the old list of expirable, and mark all + ;; really expired articles as nonexistent. + (unless (eq es expirable) ;If nothing was expired, we don't mark. + (let ((gnus-use-cache nil)) + (dolist (article expirable) + (when (and (not (memq article es)) + (gnus-data-find article)) + (gnus-summary-mark-article article gnus-canceled-mark) + (run-hook-with-args 'gnus-summary-article-expire-hook + 'delete + (gnus-data-header + (assoc article (gnus-data-list nil))) + gnus-newsgroup-name + nil + nil))))))) (gnus-message 6 "Expiring articles...done"))))) (defun gnus-summary-expire-articles-now () === modified file 'lisp/gnus/nnmail.el' --- lisp/gnus/nnmail.el 2011-08-20 00:20:39 +0000 +++ lisp/gnus/nnmail.el 2011-08-21 22:10:49 +0000 @@ -1842,18 +1842,23 @@ ;; and fetch the mail from each. (while (setq source (pop fetching-sources)) (when (setq new - (mail-source-fetch - source - (gnus-byte-compile - `(lambda (file orig-file) - (nnmail-split-incoming - file ',(intern (format "%s-save-mail" method)) - ',spool-func - (or in-group - (if (equal file orig-file) - nil - (nnmail-get-split-group orig-file ',source))) - ',(intern (format "%s-active-number" method))))))) + (condition-case cond + (mail-source-fetch + source + (gnus-byte-compile + `(lambda (file orig-file) + (nnmail-split-incoming + file ',(intern (format "%s-save-mail" method)) + ',spool-func + (or in-group + (if (equal file orig-file) + nil + (nnmail-get-split-group orig-file + ',source))) + ',(intern (format "%s-active-number" method)))))) + ((error quit) + (message "Mail source %s failed: %s" source cond) + 0))) (incf total new) (incf i))) ;; If we did indeed read any incoming spools, we save all info. ------------------------------------------------------------ revno: 105524 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-08-21 22:29:11 +0200 message: (smtpmail-query-smtp-server): Allow `quit'-ing out in case the probe hangs. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-21 20:10:29 +0000 +++ lisp/ChangeLog 2011-08-21 20:29:11 +0000 @@ -4,6 +4,8 @@ `coding-system-for-*' around the process open call to avoid auth-source side effects. (smtpmail-try-auth-methods): Expand the secret password. + (smtpmail-query-smtp-server): Allow `quit'-ing out in case the + probe hangs. 2011-08-21 Chong Yidong === modified file 'lisp/mail/smtpmail.el' --- lisp/mail/smtpmail.el 2011-08-21 20:10:29 +0000 +++ lisp/mail/smtpmail.el 2011-08-21 20:29:11 +0000 @@ -602,8 +602,10 @@ (push smtpmail-smtp-server ports)) (while (and (not smtpmail-smtp-server) (setq port (pop ports))) - (when (setq stream (ignore-errors - (open-network-stream "smtp" nil server port))) + (when (setq stream (condition-case () + (open-network-stream "smtp" nil server port) + (quit nil) + (error nil))) (customize-save-variable 'smtpmail-smtp-server server) (customize-save-variable 'smtpmail-smtp-service port) (delete-process stream))) ------------------------------------------------------------ revno: 105523 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-08-21 22:10:29 +0200 message: (smtpmail-try-auth-methods): Expand the secret password. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-21 19:27:27 +0000 +++ lisp/ChangeLog 2011-08-21 20:10:29 +0000 @@ -3,6 +3,7 @@ * mail/smtpmail.el (smtpmail-via-smtp): Only bind `coding-system-for-*' around the process open call to avoid auth-source side effects. + (smtpmail-try-auth-methods): Expand the secret password. 2011-08-21 Chong Yidong === modified file 'lisp/mail/smtpmail.el' --- lisp/mail/smtpmail.el 2011-08-21 19:27:27 +0000 +++ lisp/mail/smtpmail.el 2011-08-21 20:10:29 +0000 @@ -505,6 +505,8 @@ (save-function (and ask-for-password (plist-get auth-info :save-function))) ret) + (when (functionp password) + (setq password (funcall password))) (when (and user (not password)) ;; The user has stored the user name, but not the password, so ------------------------------------------------------------ revno: 105522 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-08-21 21:27:27 +0200 message: Only bind `coding-system-for-*' around the process open call to avoid auth-source side effects. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-21 17:56:19 +0000 +++ lisp/ChangeLog 2011-08-21 19:27:27 +0000 @@ -1,3 +1,9 @@ +2011-08-21 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-via-smtp): Only bind + `coding-system-for-*' around the process open call to avoid + auth-source side effects. + 2011-08-21 Chong Yidong * term.el (term-mouse-paste): Yank primary selection (Bug#6845). === modified file 'lisp/mail/smtpmail.el' --- lisp/mail/smtpmail.el 2011-08-21 04:11:59 +0000 +++ lisp/mail/smtpmail.el 2011-08-21 19:27:27 +0000 @@ -622,8 +622,6 @@ (and mail-specify-envelope-from (mail-envelope-from)) user-mail-address)) - (coding-system-for-read 'binary) - (coding-system-for-write 'binary) response-code process-buffer result @@ -642,21 +640,23 @@ (erase-buffer)) ;; open the connection to the server - (setq result - (open-network-stream - "smtpmail" process-buffer host port - :type smtpmail-stream-type - :return-list t - :capability-command (format "EHLO %s\r\n" (smtpmail-fqdn)) - :end-of-command "^[0-9]+ .*\r\n" - :success "^2.*\n" - :always-query-capabilities t - :starttls-function - (lambda (capabilities) - (and (string-match "-STARTTLS" capabilities) - "STARTTLS\r\n")) - :client-certificate t - :use-starttls-if-possible t)) + (let ((coding-system-for-read 'binary) + (coding-system-for-write 'binary)) + (setq result + (open-network-stream + "smtpmail" process-buffer host port + :type smtpmail-stream-type + :return-list t + :capability-command (format "EHLO %s\r\n" (smtpmail-fqdn)) + :end-of-command "^[0-9]+ .*\r\n" + :success "^2.*\n" + :always-query-capabilities t + :starttls-function + (lambda (capabilities) + (and (string-match "-STARTTLS" capabilities) + "STARTTLS\r\n")) + :client-certificate t + :use-starttls-if-possible t))) ;; If we couldn't access the server at all, we give up. (unless (setq process (car result)) ------------------------------------------------------------ revno: 105521 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-08-21 13:56:19 -0400 message: * lisp/term.el (term-mouse-paste): Yank primary selection (Bug#6845). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-21 17:43:31 +0000 +++ lisp/ChangeLog 2011-08-21 17:56:19 +0000 @@ -1,5 +1,7 @@ 2011-08-21 Chong Yidong + * term.el (term-mouse-paste): Yank primary selection (Bug#6845). + * emacs-lisp/find-func.el (find-function-noselect): New arg lisp-only. === modified file 'lisp/term.el' --- lisp/term.el 2011-05-23 17:57:17 +0000 +++ lisp/term.el 2011-08-21 17:56:19 +0000 @@ -1227,9 +1227,9 @@ (make-string 1 char) (format "\e%c" char))))) -(defun term-mouse-paste (click arg) - "Insert the last stretch of killed text at the position clicked on." - (interactive "e\nP") +(defun term-mouse-paste (click) + "Insert the primary selection at the position clicked on." + (interactive "e") (if (featurep 'xemacs) (term-send-raw-string (or (condition-case () (x-get-selection) (error ())) @@ -1238,10 +1238,17 @@ (run-hooks 'mouse-leave-buffer-hook) (setq this-command 'yank) (mouse-set-point click) - (term-send-raw-string (current-kill (cond - ((listp arg) 0) - ((eq arg '-) -1) - (t (1- arg))))))) + (term-send-raw-string + (or (cond ; From `mouse-yank-primary': + ((eq system-type 'windows-nt) + (or (x-get-selection 'PRIMARY) + (x-get-selection-value))) + ((fboundp 'x-get-selection-value) + (or (x-get-selection-value) + (x-get-selection 'PRIMARY))) + (t + (x-get-selection 'PRIMARY))) + (error "No selection is available"))))) (defun term-paste () "Insert the last stretch of killed text at point." ------------------------------------------------------------ revno: 105520 fixes bug(s): http://debbugs.gnu.org/6664 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-08-21 13:43:31 -0400 message: Improve Edebug error for attempting to instrument built-in functions. * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use it to signal an error for built-in functions. * lisp/emacs-lisp/find-func.el (find-function-noselect): New arg lisp-only. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-21 04:11:59 +0000 +++ lisp/ChangeLog 2011-08-21 17:43:31 +0000 @@ -1,3 +1,11 @@ +2011-08-21 Chong Yidong + + * emacs-lisp/find-func.el (find-function-noselect): New arg + lisp-only. + + * emacs-lisp/edebug.el (edebug-instrument-function): Use it to + signal an error for built-in functions (Bug#6664). + 2011-08-21 Lars Magne Ingebrigtsen * mail/smtpmail.el (smtpmail-smtp-user): New variable. === modified file 'lisp/emacs-lisp/edebug.el' --- lisp/emacs-lisp/edebug.el 2011-04-01 15:16:50 +0000 +++ lisp/emacs-lisp/edebug.el 2011-08-21 17:43:31 +0000 @@ -3408,7 +3408,7 @@ (message "%s is already instrumented." func) func) (t - (let ((loc (find-function-noselect func))) + (let ((loc (find-function-noselect func t))) (unless (cdr loc) (error "Could not find the definition in its file")) (with-current-buffer (car loc) === modified file 'lisp/emacs-lisp/find-func.el' --- lisp/emacs-lisp/find-func.el 2011-07-01 03:15:02 +0000 +++ lisp/emacs-lisp/find-func.el 2011-08-21 17:43:31 +0000 @@ -312,7 +312,7 @@ (cons (current-buffer) nil)))))))) ;;;###autoload -(defun find-function-noselect (function) +(defun find-function-noselect (function &optional lisp-only) "Return a pair (BUFFER . POINT) pointing to the definition of FUNCTION. Finds the source file containing the definition of FUNCTION @@ -320,6 +320,10 @@ not selected. If the function definition can't be found in the buffer, returns (BUFFER). +If FUNCTION is a built-in function, this function normally +attempts to find it in the Emacs C sources; however, if LISP-ONLY +is non-nil, signal an error instead. + If the file where FUNCTION is defined is not known, then it is searched for in `find-function-source-path' if non-nil, otherwise in `load-path'." @@ -345,6 +349,8 @@ (cond ((eq (car-safe def) 'autoload) (nth 1 def)) ((subrp def) + (if lisp-only + (error "%s is a built-in function" function)) (help-C-file-name def 'subr)) ((symbol-file function 'defun))))) (find-function-search-for-symbol function nil library)))) ------------------------------------------------------------ revno: 105519 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2011-08-21 09:39:07 +0000 message: Merge changes made in Gnus trunk. nntp.el (nntp-authinfo-file): Mark as obsolete -- use auth-source instead. pop3.el (pop3-wait-for-messages): Don't use Gnus functions here. gnus-util.el (gnus-process-live-p): Copy over compat function. pop3.el (pop3-wait-for-messages): If the pop3 process dies, stop processing. nntp.el (nntp-kill-buffer): Kill the process before killing the buffer to avoid warnings. gnus-agent.el (gnus-agent-expire-done-message): Use %.f as format specified to reduce precision. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-08-20 00:27:04 +0000 +++ lisp/gnus/ChangeLog 2011-08-21 09:39:07 +0000 @@ -1,3 +1,23 @@ +2011-08-21 Lars Magne Ingebrigtsen + + * nntp.el (nntp-authinfo-file): Mark as obsolete -- use auth-source + instead. + + * pop3.el (pop3-wait-for-messages): Don't use Gnus functions here. + + * gnus-util.el (gnus-process-live-p): Copy over compat function. + + * pop3.el (pop3-wait-for-messages): If the pop3 process dies, stop + processing. + + * nntp.el (nntp-kill-buffer): Kill the process before killing the + buffer to avoid warnings. + +2011-08-20 Simon Josefsson + + * gnus-agent.el (gnus-agent-expire-done-message): Use %.f as format + specified to reduce precision. + 2011-08-19 Lars Magne Ingebrigtsen * nnimap.el (nnimap-transform-headers): Protect against (NIL ...) === modified file 'lisp/gnus/gnus-agent.el' --- lisp/gnus/gnus-agent.el 2011-06-10 00:10:24 +0000 +++ lisp/gnus/gnus-agent.el 2011-08-21 09:39:07 +0000 @@ -3560,7 +3560,7 @@ units (cdr units))) (format "Expiry recovered %d NOV entries, deleted %d files,\ - and freed %f %s." + and freed %.f %s." (nth 0 stats) (nth 1 stats) size (car units))) === modified file 'lisp/gnus/gnus-util.el' --- lisp/gnus/gnus-util.el 2011-08-20 00:20:39 +0000 +++ lisp/gnus/gnus-util.el 2011-08-21 09:39:07 +0000 @@ -1249,6 +1249,13 @@ (with-current-buffer gnus-group-buffer (eq major-mode 'gnus-group-mode)))) +(defun gnus-process-live-p (process) + "Returns non-nil if PROCESS is alive. +A process is considered alive if its status is `run', `open', +`listen', `connect' or `stop'." + (memq (process-status process) + '(run open listen connect stop))) + (defun gnus-remove-if (predicate sequence &optional hash-table-p) "Return a copy of SEQUENCE with all items satisfying PREDICATE removed. SEQUENCE should be a list, a vector, or a string. Returns always a list. === modified file 'lisp/gnus/nntp.el' --- lisp/gnus/nntp.el 2011-07-01 01:49:43 +0000 +++ lisp/gnus/nntp.el 2011-08-21 09:39:07 +0000 @@ -261,6 +261,8 @@ (const :format "" "password") (string :format "Password: %v"))))))) +(make-obsolete 'nntp-authinfo-file nil "Emacs 24.1") + (defvoo nntp-connection-timeout nil @@ -430,6 +432,9 @@ (defun nntp-kill-buffer (buffer) (when (buffer-name buffer) + (let ((process (get-buffer-process buffer))) + (when process + (delete-process process))) (kill-buffer buffer) (nnheader-init-server-buffer))) === modified file 'lisp/gnus/pop3.el' --- lisp/gnus/pop3.el 2011-07-05 22:27:16 +0000 +++ lisp/gnus/pop3.el 2011-08-21 09:39:07 +0000 @@ -178,6 +178,8 @@ (defun pop3-wait-for-messages (process count total-size) (while (< (pop3-number-of-responses total-size) count) + (unless (memq (process-status process) '(open run)) + (error "pop3 process died")) (when total-size (message "pop3 retrieved %dKB (%d%%)" (truncate (/ (buffer-size) 1000))