diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 53 | ||||
-rw-r--r-- | lisp/calendar/cal-html.el | 13 | ||||
-rw-r--r-- | lisp/calendar/calendar.el | 208 | ||||
-rw-r--r-- | lisp/calendar/diary-lib.el | 39 | ||||
-rw-r--r-- | lisp/emacs-lisp/authors.el | 2 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 10 | ||||
-rw-r--r-- | lisp/gnus/gnus-registry.el | 40 | ||||
-rw-r--r-- | lisp/gnus/nntp.el | 5 | ||||
-rw-r--r-- | lisp/mail/feedmail.el | 16 | ||||
-rw-r--r-- | lisp/mail/sendmail.el | 4 | ||||
-rw-r--r-- | lisp/net/tramp.el | 41 | ||||
-rw-r--r-- | lisp/progmodes/grep.el | 1 |
12 files changed, 284 insertions, 148 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 844fcaad833..15bd4b190b2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,42 @@ +2011-05-18 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-process-actions): Set "first-password-request" + property for the correct connection in case of multihops. + +2011-05-18 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/authors.el (authors-fixed-entries): Remove fakemail.c. + * mail/sendmail.el (sendmail-program): Fall back to just "sendmail". + + Rationalize calendar handling of day and month abbrev-arrays. + * calendar/calendar.el (calendar-customized-p): New function. + (calendar-abbrev-construct, calendar-make-alist): Change what it does. + (calendar-day-name-array, calendar-month-name-array): Doc fix. + Add :set function. + (calendar-abbrev-length, calendar-day-abbrev-array) + (calendar-month-abbrev-array): Make defcustoms, with appropriate :set. + (calendar-day-abbrev-array, calendar-month-abbrev-array): + Elements may no longer be nil. + (calendar-day-name, calendar-month-name): + Update for changed nature of abbrev arrays. + * calendar/diary-lib.el (diary-name-pattern): + Update for changed nature of abbrev arrays. + (diary-mark-entries-1): Update calendar-make-alist calls. + (diary-font-lock-date-forms): Doc fix for changed abbrev arrays. + * calendar/cal-html.el (cal-html-day-abbrev-array): + Simply inherit from calendar-day-abbrev-array. + +2011-05-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/grep.el (grep-mode): Disable default + compilation-directory-matcher setting (bug#8684). + +2011-05-17 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-handle-insert-file-contents): Use "dd" + instead of "head" and "tail". There were problems with SunOS 5.9, + and it performs better. + 2011-05-17 Glenn Morris <rgm@gnu.org> * mail/mail-utils.el (mail-dont-reply-to): Silence compiler. @@ -75,7 +114,7 @@ (feedmail-debug-sit-for, feedmail-queue-express-hook): New options. (feedmail-sender-line, feedmail-from-line) (feedmail-fiddle-headers-upwardly, feedmail-enable-spray) - (feedmail-spray-this-address, ) + (feedmail-spray-this-address) (feedmail-spray-address-fiddle-plex-list) (feedmail-queue-use-send-time-for-date) (feedmail-queue-use-send-time-for-message-id) @@ -160,20 +199,20 @@ 2011-05-13 Ulf Jasper <ulf.jasper@web.de> - * net/newst-treeview.el (newsticker-treeview-face): Changed default + * net/newst-treeview.el (newsticker-treeview-face): Change default family from helvetica to sans. - (newsticker-treeview-tool-bar-map): Moved tool-bar icons to + (newsticker-treeview-tool-bar-map): Move tool-bar icons to etc/images/newsticker. - * net/newst-reader.el (newsticker-feed-face): Changed default + * net/newst-reader.el (newsticker-feed-face): Change default family from helvetica to sans. * net/newst-plainview.el (newsticker-new-item-face) (newsticker-old-item-face, newsticker-immortal-item-face) (newsticker-obsolete-item-face, newsticker-date-face) - (newsticker-statistics-face): Changed default family from + (newsticker-statistics-face): Change default family from helvetica to sans. - (newsticker--plainview-tool-bar-map): Moved tool-bar icons to + (newsticker--plainview-tool-bar-map): Move tool-bar icons to etc/images/newsticker. * net/newst-backend.el (newsticker--do-run-auto-mark-filter), @@ -304,7 +343,7 @@ * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a 2011-05-10 Glenn Morris <rgm@gnu.org> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * files.el (hack-one-local-variable-eval-safep): Consider "eval: (foo-mode)" to be safe. (Bug#8613) diff --git a/lisp/calendar/cal-html.el b/lisp/calendar/cal-html.el index bcc19ccda0b..580b953170c 100644 --- a/lisp/calendar/cal-html.el +++ b/lisp/calendar/cal-html.el @@ -54,11 +54,16 @@ :type 'integer :group 'calendar-html) -(defcustom cal-html-day-abbrev-array - (calendar-abbrev-construct calendar-day-abbrev-array - calendar-day-name-array) +(defcustom cal-html-day-abbrev-array calendar-day-abbrev-array "Array of seven strings for abbreviated day names (starting with Sunday)." - :type '(vector string string string string string string string) + :set-after '(calendar-day-abbrev-array) + :type '(vector (string :tag "Sun") + (string :tag "Mon") + (string :tag "Tue") + (string :tag "Wed") + (string :tag "Thu") + (string :tag "Fri") + (string :tag "Sat")) :group 'calendar-html) (defcustom cal-html-css-default diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index e81eb554458..fa19d1ffe14 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -2034,18 +2034,40 @@ is a string to insert in the minibuffer before reading." value)) -(defvar calendar-abbrev-length 3 - "*Length of abbreviations to be used for day and month names. -See also `calendar-day-abbrev-array' and `calendar-month-abbrev-array'.") +(defun calendar-customized-p (symbol) + "Return non-nil if SYMBOL has been customized." + (and (default-boundp symbol) + (let ((standard (get symbol 'standard-value))) + (and standard + (not (equal (eval (car standard)) (default-value symbol))))))) + +(defun calendar-abbrev-construct (full) + "From sequence FULL, return a vector of abbreviations. +Each abbreviation is no longer than `calendar-abbrev-length' characters." + (apply 'vector (mapcar + (lambda (f) + (substring f 0 (min calendar-abbrev-length (length f)))) + full))) -;; FIXME does it have to start from Sunday? (defcustom calendar-day-name-array ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"] - "Array of capitalized strings giving, in order, the day names. + "Array of capitalized strings giving, in order from Sunday, the day names. The first two characters of each string will be used to head the -day columns in the calendar. See also the variable -`calendar-day-abbrev-array'." +day columns in the calendar. +If you change this without using customize after the calendar has loaded, +then you may also want to change `calendar-day-abbrev-array'." :group 'calendar + :initialize 'custom-initialize-default + :set (lambda (symbol value) + (let ((dcustomized (calendar-customized-p 'calendar-day-abbrev-array)) + (hcustomized (calendar-customized-p 'cal-html-day-abbrev-array))) + (set symbol value) + (or dcustomized + (setq calendar-day-abbrev-array + (calendar-abbrev-construct calendar-day-name-array))) + (and (not hcustomized) + (boundp 'cal-html-day-abbrev-array) + (setq cal-html-day-abbrev-array calendar-day-abbrev-array)))) :type '(vector (string :tag "Sunday") (string :tag "Monday") (string :tag "Tuesday") @@ -2054,23 +2076,74 @@ day columns in the calendar. See also the variable (string :tag "Friday") (string :tag "Saturday"))) -(defvar calendar-day-abbrev-array - [nil nil nil nil nil nil nil] - "*Array of capitalized strings giving the abbreviated day names. +(defcustom calendar-abbrev-length 3 + "Default length of abbreviations to use for day and month names. +If you change this without using customize after the calendar has loaded, +then you may also want to change `calendar-day-abbrev-array' and +`calendar-month-abbrev-array'." + :group 'calendar + :initialize 'custom-initialize-default + :set (lambda (symbol value) + (let ((dcustomized (calendar-customized-p 'calendar-day-abbrev-array)) + (mcustomized (calendar-customized-p + 'calendar-month-abbrev-array)) + (hcustomized (calendar-customized-p 'cal-html-day-abbrev-array))) + (set symbol value) + (or dcustomized + (setq calendar-day-abbrev-array + (calendar-abbrev-construct calendar-day-name-array))) + (or mcustomized + (setq calendar-month-abbrev-array + (calendar-abbrev-construct calendar-month-name-array))) + (and (not hcustomized) + (boundp 'cal-html-day-abbrev-array) + (setq cal-html-day-abbrev-array calendar-day-abbrev-array)))) + :type 'integer) + +(defcustom calendar-day-abbrev-array + (calendar-abbrev-construct calendar-day-name-array) + "Array of capitalized strings giving the abbreviated day names. The order should be the same as that of the full names specified in `calendar-day-name-array'. These abbreviations may be used instead of the full names in the diary file. Do not include a trailing `.' in the strings specified in this variable, though -you may use such in the diary file. If any element of this array -is nil, then the abbreviation will be constructed as the first -`calendar-abbrev-length' characters of the corresponding full name.") +you may use such in the diary file. By default, each string is +the first `calendar-abbrev-length' characters of the corresponding +full name." + :group 'calendar + :initialize 'custom-initialize-default + :set-after '(calendar-abbrev-length calendar-day-name-array) + :set (lambda (symbol value) + (let ((hcustomized (calendar-customized-p 'cal-html-day-abbrev-array))) + (set symbol value) + (and (not hcustomized) + (boundp 'cal-html-day-abbrev-array) + (setq cal-html-day-abbrev-array calendar-day-abbrev-array)))) + :type '(vector (string :tag "Sun") + (string :tag "Mon") + (string :tag "Tue") + (string :tag "Wed") + (string :tag "Thu") + (string :tag "Fri") + (string :tag "Sat")) + ;; Made defcustom, changed defaults from nil nil... + :version "24.1") (defcustom calendar-month-name-array ["January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December"] "Array of capitalized strings giving, in order, the month names. -See also the variable `calendar-month-abbrev-array'." +If you change this without using customize after the calendar has loaded, +then you may also want to change `calendar-month-abbrev-array'." :group 'calendar + :initialize 'custom-initialize-default + :set (lambda (symbol value) + (let ((mcustomized (calendar-customized-p + 'calendar-month-abbrev-array))) + (set symbol value) + (or mcustomized + (setq calendar-month-abbrev-array + (calendar-abbrev-construct calendar-month-name-array))))) :type '(vector (string :tag "January") (string :tag "February") (string :tag "March") @@ -2084,46 +2157,54 @@ See also the variable `calendar-month-abbrev-array'." (string :tag "November") (string :tag "December"))) -(defvar calendar-month-abbrev-array - [nil nil nil nil nil nil nil nil nil nil nil nil] - "*Array of capitalized strings giving the abbreviated month names. +(defcustom calendar-month-abbrev-array + (calendar-abbrev-construct calendar-month-name-array) + "Array of capitalized strings giving the abbreviated month names. The order should be the same as that of the full names specified in `calendar-month-name-array'. These abbreviations are used in the calendar menu entries, and can also be used in the diary file. Do not include a trailing `.' in the strings specified in -this variable, though you may use such in the diary file. If any -element of this array is nil, then the abbreviation will be -constructed as the first `calendar-abbrev-length' characters of the -corresponding full name.") - -(defun calendar-make-alist (sequence &optional start-index filter abbrevs) - "Make an assoc list corresponding to SEQUENCE. -Each element of sequence will be associated with an integer, starting -from 1, or from START-INDEX if that is non-nil. If a sequence ABBREVS -is supplied, the function `calendar-abbrev-construct' is used to -construct abbreviations corresponding to the elements in SEQUENCE. -Each abbreviation is entered into the alist with the same -association index as the full name it represents. -If FILTER is provided, apply it to each key in the alist." - (let ((index 0) - (offset (or start-index 1)) - (aseq (if abbrevs (calendar-abbrev-construct abbrevs sequence))) - (aseqp (if abbrevs (calendar-abbrev-construct abbrevs sequence - 'period))) - alist elem) - (dotimes (i (length sequence) (reverse alist)) - (setq index (+ i offset) - elem (elt sequence i) - alist - (cons (cons (if filter (funcall filter elem) elem) index) alist)) - (if aseq - (setq elem (elt aseq i) - alist (cons (cons (if filter (funcall filter elem) elem) - index) alist))) - (if aseqp - (setq elem (elt aseqp i) - alist (cons (cons (if filter (funcall filter elem) elem) - index) alist)))))) +this variable, though you may use such in the diary file. By +default, each string is the first ``calendar-abbrev-length' +characters of the corresponding full name." + :group 'calendar + :set-after '(calendar-abbrev-length calendar-month-name-array) + :type '(vector (string :tag "Jan") + (string :tag "Feb") + (string :tag "Mar") + (string :tag "Apr") + (string :tag "May") + (string :tag "Jun") + (string :tag "Jul") + (string :tag "Aug") + (string :tag "Sep") + (string :tag "Oct") + (string :tag "Nov") + (string :tag "Dec")) + ;; Made defcustom, changed defaults from nil nil... + :version "24.1") + +(defun calendar-make-alist (sequence &optional start-index filter + &rest sequences) + "Return an association list corresponding to SEQUENCE. +Associates each element of SEQUENCE with an incremented integer, +starting from START-INDEX (default 1). Applies the function FILTER, +if provided, to each key in the alist. Repeats the process, with +indices starting from START-INDEX each time, for any remaining +arguments SEQUENCES." + (or start-index (setq start-index 1)) + (let (index alist) + (mapc (lambda (seq) + (setq index start-index) + (mapc (lambda (elem) + (setq alist (cons + (cons (if filter (funcall filter elem) elem) + index) + alist) + index (1+ index))) + seq)) + (append (list sequence) sequences)) + (reverse alist))) (defun calendar-read-date (&optional noday) "Prompt for Gregorian date. Return a list (month day year). @@ -2162,23 +2243,6 @@ Negative years are interpreted as years BC; -1 being 1 BC, and so on." (+ (* 12 (- yr2 yr1)) (- mon2 mon1))) -(defun calendar-abbrev-construct (abbrev full &optional period) - "Internal calendar function to return a complete abbreviation array. -ABBREV is an array of abbreviations, FULL the corresponding array -of full names. The return value is the ABBREV array, with any nil -elements replaced by the first three characters taken from the -corresponding element of FULL. If optional argument PERIOD is non-nil, -each element returned has a final `.' character." - (let (elem array name) - (dotimes (i (length full)) - (setq name (aref full i) - elem (or (aref abbrev i) - (substring name 0 - (min calendar-abbrev-length (length name)))) - elem (format "%s%s" elem (if period "." "")) - array (append array (list elem)))) - (vconcat array))) - (defvar calendar-font-lock-keywords `((,(concat (regexp-opt (mapcar 'identity calendar-month-name-array) t) " -?[0-9]+") @@ -2204,10 +2268,7 @@ be an integer in the range 0 to 6 corresponding to the day of the week. Day names are taken from the variable `calendar-day-name-array', unless the optional argument ABBREV is non-nil, in which case the variable `calendar-day-abbrev-array' is used." - (aref (if abbrev - (calendar-abbrev-construct calendar-day-abbrev-array - calendar-day-name-array) - calendar-day-name-array) + (aref (if abbrev calendar-day-abbrev-array calendar-day-name-array) (if absolute date (calendar-day-of-week date)))) (defun calendar-month-name (month &optional abbrev) @@ -2216,10 +2277,7 @@ Months are numbered from one. Month names are taken from the variable `calendar-month-name-array', unless the optional argument ABBREV is non-nil, in which case `calendar-month-abbrev-array' is used." - (aref (if abbrev - (calendar-abbrev-construct calendar-month-abbrev-array - calendar-month-name-array) - calendar-month-name-array) + (aref (if abbrev calendar-month-abbrev-array calendar-month-name-array) (1- month))) (defun calendar-day-of-week (date) diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 62da7579d50..f21247e9c93 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el @@ -1250,19 +1250,15 @@ should ensure that all relevant variables are set. (defun diary-name-pattern (string-array &optional abbrev-array paren) "Return a regexp matching the strings in the array STRING-ARRAY. -If the optional argument ABBREV-ARRAY is present, then the function -`calendar-abbrev-construct' is used to construct abbreviations from the -two supplied arrays. The returned regexp will then also match these -abbreviations, with or without final `.' characters. If the optional -argument PAREN is non-nil, the regexp is surrounded by parentheses." +If the optional argument ABBREV-ARRAY is present, the regexp +also matches the supplied abbreviations, with or without final `.' +characters. If the optional argument PAREN is non-nil, surrounds +the regexp with parentheses." (regexp-opt (append string-array + abbrev-array (if abbrev-array - (calendar-abbrev-construct abbrev-array - string-array)) - (if abbrev-array - (calendar-abbrev-construct abbrev-array - string-array - 'period)) + (mapcar (lambda (e) (format "%s." e)) + abbrev-array)) nil) paren)) @@ -1363,7 +1359,11 @@ function that converts absolute dates to dates of the appropriate type. " (cdr (assoc-string dd-name (calendar-make-alist calendar-day-name-array - 0 nil calendar-day-abbrev-array) t)) marks) + 0 nil calendar-day-abbrev-array + (mapcar (lambda (e) + (format "%s." e)) + calendar-day-abbrev-array)) + t)) marks) (if mm-name (setq mm (if (string-equal mm-name "*") 0 @@ -1372,7 +1372,11 @@ function that converts absolute dates to dates of the appropriate type. " (if months (calendar-make-alist months) (calendar-make-alist calendar-month-name-array - 1 nil calendar-month-abbrev-array)) t))))) + 1 nil calendar-month-abbrev-array + (mapcar (lambda (e) + (format "%s." e)) + calendar-month-abbrev-array))) + t))))) (funcall markfunc mm dd yy marks)))))))) ;;;###cal-autoload @@ -2307,11 +2311,10 @@ Prefix argument ARG makes the entry nonmarking." (defun diary-font-lock-date-forms (month-array &optional symbol abbrev-array) "Create font-lock patterns for `diary-date-forms' using MONTH-ARRAY. -If given, optional SYMBOL must be a prefix to entries. -If optional ABBREV-ARRAY is present, the abbreviations constructed -from this array by the function `calendar-abbrev-construct' are -matched (with or without a final `.'), in addition to the full month -names." +If given, optional SYMBOL must be a prefix to entries. If +optional ABBREV-ARRAY is present, also matches the abbreviations +from this array (with or without a final `.'), in addition to the +full month names." (let ((dayname (diary-name-pattern calendar-day-name-array calendar-day-abbrev-array t)) (monthname (format "\\(%s\\|\\*\\)" diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 163af883334..596b32f24c3 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -437,7 +437,7 @@ Changes to files in this list are not listed.") ;; No longer distributed. ;;; "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com" ;;; "vmsproc.el" :wrote "logout.com" "mailemacs.com") - ("Guillermo J. Rozas" :wrote "fakemail.c") +;;; ("Guillermo J. Rozas" :wrote "fakemail.c") ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el" "sort.el" "alloc.c" "callint.c" ;; config.in renamed from config.h.in; ecrt0.c from crt0.c. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 068093159e3..66f30f03eff 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,13 @@ +2011-05-18 Teodor Zlatanov <tzz@lifelogs.com> + + * gnus-registry.el (gnus-registry-user-format-function-M): + Use `mapconcat'. + (gnus-registry-user-format-function-M2): Use to see the full text of + the marks. Make "," the mark text separator. + + * nntp.el (nntp-send-authinfo): Use the "force" token for NNTP + authentication with auth-source. + 2011-05-17 Glenn Morris <rgm@gnu.org> * gnus-group.el (gnus-import-other-newsrc-file): diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index 25d84b11d41..e0efbaf4f30 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el @@ -57,6 +57,16 @@ ;; You should also consider using the nnregistry backend to look up ;; articles. See the Gnus manual for more information. +;; Finally, you can put %uM in your summary line format to show the +;; registry marks if you do this: + +;; show the marks as single characters (see the :char property in +;; `gnus-registry-marks'): +;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M) + +;; show the marks by name (see `gnus-registry-marks'): +;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M2) + ;; TODO: ;; - get the correct group on spool actions @@ -887,22 +897,26 @@ Uses `gnus-registry-marks' to find what shortcuts to install." nil (cons "Registry Marks" gnus-registry-misc-menus)))))) -;;; use like this: -;;; (defalias 'gnus-user-format-function-M -;;; 'gnus-registry-user-format-function-M) +;; use like this: +;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M) (defun gnus-registry-user-format-function-M (headers) + "Show the marks for an article by the :char property" + (let* ((id (mail-header-message-id headers)) + (marks (when id (gnus-registry-get-id-key id 'mark)))) + (mapconcat (lambda (mark) + (plist-get + (cdr-safe + (assoc mark gnus-registry-marks)) + :char)) + marks ""))) + +;; use like this: +;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M2) +(defun gnus-registry-user-format-function-M2 (headers) + "Show the marks for an article by name" (let* ((id (mail-header-message-id headers)) (marks (when id (gnus-registry-get-id-key id 'mark)))) - (apply 'concat (mapcar (lambda (mark) - (let ((c - (plist-get - (cdr-safe - (assoc mark gnus-registry-marks)) - :char))) - (if c - (list c) - nil))) - marks)))) + (mapconcat (lambda (mark) (symbol-name mark)) marks ","))) (defun gnus-registry-read-mark () "Read a mark name from the user with completion." diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index cdd12abbc06..a8ffc6576ca 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el @@ -1227,17 +1227,20 @@ If SEND-IF-FORCE, only send authinfo to the server if the (require 'netrc) (let* ((list (netrc-parse nntp-authinfo-file)) (alist (netrc-machine list nntp-address "nntp")) - (force (or (netrc-get alist "force") nntp-authinfo-force)) (auth-info (nth 0 (auth-source-search :max 1 ;; TODO: allow the virtual server name too :host nntp-address :port '("119" "nntp")))) (auth-user (plist-get auth-info :user)) + (auth-force (plist-get auth-info :force)) (auth-passwd (plist-get auth-info :secret)) (auth-passwd (if (functionp auth-passwd) (funcall auth-passwd) auth-passwd)) + (force (or (netrc-get alist "force") + nntp-authinfo-force + auth-force)) (user (or ;; this is preferred to netrc-* auth-user diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el index 3ef8a6c4955..b86bdb178f6 100644 --- a/lisp/mail/feedmail.el +++ b/lisp/mail/feedmail.el @@ -13,9 +13,8 @@ ;; A replacement for parts of Emacs' sendmail.el (specifically, ;; it's what handles your outgoing mail after you hit C-c C-c in mail ;; mode). See below for a list of additional features, including the -;; ability to queue messages for later sending. If you are using -;; fakemail as a subprocess, you can switch to feedmail and eliminate -;; the use of fakemail. +;; ability to queue messages for later sending. This replaces +;; the standalone fakemail program that used to be distributed with Emacs. ;; feedmail works with recent versions of Emacs (20.x series) and ;; XEmacs (tested with 20.4 and later betas). It probably no longer @@ -90,12 +89,11 @@ ;; This code does in elisp a superset of the stuff that used to be done ;; by the separate program "fakemail" for processing outbound email. ;; In other words, it takes over after you hit "C-c C-c" in mail mode. -;; By appropriate setting of options, you can still use "fakemail", -;; or you can even revert to sendmail (which is not too popular -;; locally). See the variables at the top of the elisp for how to -;; achieve these effects (there are more features than in this bullet -;; list, so trolling through the variable and function doc strings may -;; be worth your while): +;; By appropriate setting of options, you can even revert to sendmail +;; (which is not too popular locally). See the variables at the top +;; of the elisp for how to achieve these effects (there are more +;; features than in this bullet list, so trolling through the variable +;; and function doc strings may be worth your while): ;; ;; --- you can park outgoing messages into a disk-based queue and ;; stimulate sending them all later (handy for laptop users); diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index ed4270d484c..bbb02d7b978 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el @@ -48,9 +48,9 @@ ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail") ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail") ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail") - (t "fakemail"))) ; in lib-src, to interface to /bin/mail + (t "sendmail"))) "Program used to send messages." - :version "24.1" ; added executable-find + :version "24.1" ; add executable-find, remove fakemail :group 'mail :type 'file) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 693e082ecc8..537ccf6da6a 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2838,16 +2838,16 @@ User is always nil." v (cond ((and beg end) - (format "tail -c +%d %s | head -c +%d >%s" - (1+ beg) (tramp-shell-quote-argument localname) + (format "dd bs=1 skip=%d if=%s count=%d of=%s" + beg (tramp-shell-quote-argument localname) (- end beg) remote-copy)) (beg - (format "tail -c +%d %s >%s" - (1+ beg) (tramp-shell-quote-argument localname) + (format "dd bs=1 skip=%d if=%s of=%s" + beg (tramp-shell-quote-argument localname) remote-copy)) (end - (format "head -c +%d %s >%s" - (1+ end) (tramp-shell-quote-argument localname) + (format "dd bs=1 count=%d if=%s of=%s" + end (tramp-shell-quote-argument localname) remote-copy))))) ;; `insert-file-contents-literally' takes care to avoid @@ -3105,8 +3105,13 @@ set, is the starting point of the region to be deleted in the connection buffer." ;; Preserve message for `progress-reporter'. (tramp-compat-with-temp-message "" - ;; Enable auth-source and password-cache. - (tramp-set-connection-property vec "first-password-request" t) + ;; Enable auth-source and password-cache. We must use + ;; tramp-current-* variables in case we have several hops. + (tramp-set-connection-property + (tramp-dissect-file-name + (tramp-make-tramp-file-name + tramp-current-method tramp-current-user tramp-current-host "")) + "first-password-request" t) (save-restriction (let (exit) (while (not exit) @@ -3544,16 +3549,16 @@ Invokes `password-read' if available, `read-passwd' else." ;; Try with Tramp's current method. (if (fboundp 'auth-source-search) (setq auth-info - (tramp-compat-funcall - 'auth-source-search - :max 1 - :user (or tramp-current-user t) - :host tramp-current-host - :port tramp-current-method) - auth-passwd (plist-get (nth 0 auth-info) :secret) - auth-passwd (if (functionp auth-passwd) - (funcall auth-passwd) - auth-passwd)) + (tramp-compat-funcall + 'auth-source-search + :max 1 + :user (or tramp-current-user t) + :host tramp-current-host + :port tramp-current-method) + auth-passwd (plist-get (nth 0 auth-info) :secret) + auth-passwd (if (functionp auth-passwd) + (funcall auth-passwd) + auth-passwd)) (tramp-compat-funcall 'auth-source-user-or-password "password" tramp-current-host tramp-current-method))) diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 143220ad28a..3b819a149b2 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -698,6 +698,7 @@ This function is called from `compilation-filter-hook'." grep-hit-face) (set (make-local-variable 'compilation-error-regexp-alist) grep-regexp-alist) + (set (make-local-variable 'compilation-directory-matcher) nil) (set (make-local-variable 'compilation-process-setup-function) 'grep-process-setup) (set (make-local-variable 'compilation-disable-input) t) |