# HG changeset patch # User Katsumi Yamaoka # Date 1264247175 0 # Node ID 365134ccde58ca7cea8c60ac38cad416ec3c7c06 # Parent d3036620c45ebe895e11bbce0eaeea53ba9d7113# Parent 5071660bbec4fe50a3cfdaba04fd54d8cb294955 Merge from mainline. diff -r d3036620c45e -r 365134ccde58 lisp/ChangeLog --- a/lisp/ChangeLog Fri Jan 22 14:50:35 2010 +0000 +++ b/lisp/ChangeLog Sat Jan 23 11:46:15 2010 +0000 @@ -1,3 +1,22 @@ +2010-01-23 Michael Albinus + + * net/tramp-smb.el (tramp-smb-conf): New defcustom. + (tramp-smb-maybe-open-connection): Use it. + +2010-01-22 Michael Albinus + + * net/tramp-imap.el (top): Autoload needed packages. (Bug#5448) + +2010-01-22 Stefan Monnier + + * mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte + just because we see "encoding: 8bit". + * mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes. + +2010-01-22 Chong Yidong + + * isearch.el (isearch-allow-scroll): Doc fix (Bug#5446). + 2010-01-22 Eli Zaretskii * jka-compr.el (jka-compr-load): If load-file is not in diff -r d3036620c45e -r 365134ccde58 lisp/isearch.el --- a/lisp/isearch.el Fri Jan 22 14:50:35 2010 +0000 +++ b/lisp/isearch.el Sat Jan 23 11:46:15 2010 +0000 @@ -1754,7 +1754,10 @@ (put 'digit-argument 'isearch-scroll t) (defcustom isearch-allow-scroll nil - "If non-nil, scrolling commands are allowed during incremental search." + "Whether scrolling is allowed during incremental search. +If non-nil, scrolling commands can be used in Isearch mode. +However, the current match will never scroll offscreen. +If nil, scolling commands will first cancel Isearch mode." :type 'boolean :group 'isearch) diff -r d3036620c45e -r 365134ccde58 lisp/mail/mail-utils.el --- a/lisp/mail/mail-utils.el Fri Jan 22 14:50:35 2010 +0000 +++ b/lisp/mail/mail-utils.el Sat Jan 23 11:46:15 2010 +0000 @@ -133,6 +133,8 @@ If UNIBYTE is non-nil, insert converted characters as unibyte. That is useful if you are going to character code decoding afterward, as Rmail does." + ;; FIXME: `unibyte' should always be non-nil, and the iso-latin-1 + ;; specific handling should be removed (or moved elsewhere and generalized). (interactive "r\nP") (let (failed) (save-match-data diff -r d3036620c45e -r 365134ccde58 lisp/mail/rmail.el --- a/lisp/mail/rmail.el Fri Jan 22 14:50:35 2010 +0000 +++ b/lisp/mail/rmail.el Sat Jan 23 11:46:15 2010 +0000 @@ -2727,7 +2727,8 @@ (insert-buffer-substring mbox-buf body-start end) (cond ((string= character-coding "quoted-printable") - (mail-unquote-printable-region (point-min) (point-max))) + (mail-unquote-printable-region (point-min) (point-max) + nil nil 'unibyte)) ((and (string= character-coding "base64") is-text-message) (base64-decode-region (point-min) (point-max))) ((eq character-coding 'uuencode) diff -r d3036620c45e -r 365134ccde58 lisp/mail/rmailmm.el --- a/lisp/mail/rmailmm.el Fri Jan 22 14:50:35 2010 +0000 +++ b/lisp/mail/rmailmm.el Sat Jan 23 11:46:15 2010 +0000 @@ -361,7 +361,10 @@ (setq content-transfer-encoding nil)) ((string= content-transfer-encoding "8bit") ;; FIXME: Is this the correct way? - (set-buffer-multibyte nil))) + ;; No, of course not, it just means there's no decoding to do. + ;; (set-buffer-multibyte nil) + (setq content-transfer-encoding nil) + )) ;; Inline stuff requires work. Attachments are handled by the bulk ;; handler. (if (string= "inline" (car content-disposition)) diff -r d3036620c45e -r 365134ccde58 lisp/net/tramp-imap.el --- a/lisp/net/tramp-imap.el Fri Jan 22 14:50:35 2010 +0000 +++ b/lisp/net/tramp-imap.el Sat Jan 23 11:46:15 2010 +0000 @@ -55,13 +55,23 @@ (require 'assoc) (require 'tramp) (require 'tramp-compat) -(require 'message) -(require 'imap-hash) -(require 'epa) + (autoload 'auth-source-user-or-password "auth-source") +(autoload 'epg-context-operation "epg") +(autoload 'epg-context-set-armor "epg") +(autoload 'epg-context-set-passphrase-callback "epg") +(autoload 'epg-context-set-progress-callback "epg") +(autoload 'epg-decrypt-string "epg") +(autoload 'epg-encrypt-string "epg") +(autoload 'imap-hash-get "imap-hash") +(autoload 'imap-hash-make "imap-hash") +(autoload 'imap-hash-map "imap-hash") +(autoload 'imap-hash-put "imap-hash") +(autoload 'imap-hash-rem "imap-hash") ;; We use the additional header "X-Size" for encoding the size of a file. -(add-to-list 'imap-hash-headers 'X-Size 'append) +(eval-after-load "imap-hash" + '(add-to-list 'imap-hash-headers 'X-Size 'append)) ;; Define Tramp IMAP method ... (defconst tramp-imap-method "imap" @@ -662,7 +672,8 @@ (read-passwd (if (eq key-id 'PIN) "Tramp-IMAP passphrase for PIN: " - (let ((entry (assoc key-id epg-user-id-alist))) + (let ((entry (assoc key-id + (symbol-value 'epg-user-id-alist)))) (if entry (format "Tramp-IMAP passphrase for %s %s: " key-id (cdr entry)) diff -r d3036620c45e -r 365134ccde58 lisp/net/tramp-smb.el --- a/lisp/net/tramp-smb.el Fri Jan 22 14:50:35 2010 +0000 +++ b/lisp/net/tramp-smb.el Sat Jan 23 11:46:15 2010 +0000 @@ -61,6 +61,13 @@ :group 'tramp :type 'string) +(defcustom tramp-smb-conf "/dev/null" + "*Path of the smb.conf file. +If it is nil, no smb.conf will be added to the `tramp-smb-program' +call, letting the SMB client use the default one." + :group 'tramp + :type '(choice (const nil) (file :must-match t))) + (defvar tramp-smb-version nil "*Version string of the SMB client.") @@ -1281,7 +1288,8 @@ (when domain (setq args (append args (list "-W" domain)))) (when port (setq args (append args (list "-p" port)))) - (setq args (append args (list "-s" "/dev/null"))) + (when tramp-smb-conf + (setq args (append args (list "-s" tramp-smb-conf)))) ;; OK, let's go. (tramp-message diff -r d3036620c45e -r 365134ccde58 src/ChangeLog --- a/src/ChangeLog Fri Jan 22 14:50:35 2010 +0000 +++ b/src/ChangeLog Sat Jan 23 11:46:15 2010 +0000 @@ -1,3 +1,8 @@ +2010-01-23 YAMAMOTO Mitsuharu + + * xdisp.c (draw_glyphs): Update `start' for left_overwritten case + as in Emacs 22. + 2010-01-22 YAMAMOTO Mitsuharu * lisp.h (make_pure_string): String pointer arg now points to const. diff -r d3036620c45e -r 365134ccde58 src/xdisp.c --- a/src/xdisp.c Fri Jan 22 14:50:35 2010 +0000 +++ b/src/xdisp.c Sat Jan 23 11:46:15 2010 +0000 @@ -20401,6 +20401,7 @@ j = i; BUILD_GLYPH_STRINGS (j, start, h, t, overlap_hl, dummy_x, last_x); + start = i; compute_overhangs_and_x (t, head->x, 1); prepend_glyph_string_lists (&head, &tail, h, t); clip_head = head; @@ -20450,6 +20451,8 @@ BUILD_GLYPH_STRINGS (end, i, h, t, overlap_hl, x, last_x); + /* Because BUILD_GLYPH_STRINGS updates the first argument, + we don't have `end = i;' here. */ compute_overhangs_and_x (h, tail->x + tail->width, 0); append_glyph_string_lists (&head, &tail, h, t); clip_tail = tail;