aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKenichi Handa2011-05-19 09:37:36 +0900
committerKenichi Handa2011-05-19 09:37:36 +0900
commit23373930daa192623bfda56960ccb04b2703fbe5 (patch)
tree4350ad7774b3d4dc6f2ccf0e6343b505582e0112 /lisp
parenta28d4396018e48479916fd624e2371aa1f75e6e7 (diff)
parent627abcddd1c45a07d58b9c0cbfd6bb62caf256a9 (diff)
downloademacs-23373930daa192623bfda56960ccb04b2703fbe5.tar.gz
emacs-23373930daa192623bfda56960ccb04b2703fbe5.zip
merge trunk
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog53
-rw-r--r--lisp/calendar/cal-html.el13
-rw-r--r--lisp/calendar/calendar.el208
-rw-r--r--lisp/calendar/diary-lib.el39
-rw-r--r--lisp/emacs-lisp/authors.el2
-rw-r--r--lisp/gnus/ChangeLog10
-rw-r--r--lisp/gnus/gnus-registry.el40
-rw-r--r--lisp/gnus/nntp.el5
-rw-r--r--lisp/mail/feedmail.el16
-rw-r--r--lisp/mail/sendmail.el4
-rw-r--r--lisp/net/tramp.el41
-rw-r--r--lisp/progmodes/grep.el1
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 @@
12011-05-18 Michael Albinus <michael.albinus@gmx.de>
2
3 * net/tramp.el (tramp-process-actions): Set "first-password-request"
4 property for the correct connection in case of multihops.
5
62011-05-18 Glenn Morris <rgm@gnu.org>
7
8 * emacs-lisp/authors.el (authors-fixed-entries): Remove fakemail.c.
9 * mail/sendmail.el (sendmail-program): Fall back to just "sendmail".
10
11 Rationalize calendar handling of day and month abbrev-arrays.
12 * calendar/calendar.el (calendar-customized-p): New function.
13 (calendar-abbrev-construct, calendar-make-alist): Change what it does.
14 (calendar-day-name-array, calendar-month-name-array): Doc fix.
15 Add :set function.
16 (calendar-abbrev-length, calendar-day-abbrev-array)
17 (calendar-month-abbrev-array): Make defcustoms, with appropriate :set.
18 (calendar-day-abbrev-array, calendar-month-abbrev-array):
19 Elements may no longer be nil.
20 (calendar-day-name, calendar-month-name):
21 Update for changed nature of abbrev arrays.
22 * calendar/diary-lib.el (diary-name-pattern):
23 Update for changed nature of abbrev arrays.
24 (diary-mark-entries-1): Update calendar-make-alist calls.
25 (diary-font-lock-date-forms): Doc fix for changed abbrev arrays.
26 * calendar/cal-html.el (cal-html-day-abbrev-array):
27 Simply inherit from calendar-day-abbrev-array.
28
292011-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
30
31 * progmodes/grep.el (grep-mode): Disable default
32 compilation-directory-matcher setting (bug#8684).
33
342011-05-17 Michael Albinus <michael.albinus@gmx.de>
35
36 * net/tramp.el (tramp-handle-insert-file-contents): Use "dd"
37 instead of "head" and "tail". There were problems with SunOS 5.9,
38 and it performs better.
39
12011-05-17 Glenn Morris <rgm@gnu.org> 402011-05-17 Glenn Morris <rgm@gnu.org>
2 41
3 * mail/mail-utils.el (mail-dont-reply-to): Silence compiler. 42 * mail/mail-utils.el (mail-dont-reply-to): Silence compiler.
@@ -75,7 +114,7 @@
75 (feedmail-debug-sit-for, feedmail-queue-express-hook): New options. 114 (feedmail-debug-sit-for, feedmail-queue-express-hook): New options.
76 (feedmail-sender-line, feedmail-from-line) 115 (feedmail-sender-line, feedmail-from-line)
77 (feedmail-fiddle-headers-upwardly, feedmail-enable-spray) 116 (feedmail-fiddle-headers-upwardly, feedmail-enable-spray)
78 (feedmail-spray-this-address, ) 117 (feedmail-spray-this-address)
79 (feedmail-spray-address-fiddle-plex-list) 118 (feedmail-spray-address-fiddle-plex-list)
80 (feedmail-queue-use-send-time-for-date) 119 (feedmail-queue-use-send-time-for-date)
81 (feedmail-queue-use-send-time-for-message-id) 120 (feedmail-queue-use-send-time-for-message-id)
@@ -160,20 +199,20 @@
160 199
1612011-05-13 Ulf Jasper <ulf.jasper@web.de> 2002011-05-13 Ulf Jasper <ulf.jasper@web.de>
162 201
163 * net/newst-treeview.el (newsticker-treeview-face): Changed default 202 * net/newst-treeview.el (newsticker-treeview-face): Change default
164 family from helvetica to sans. 203 family from helvetica to sans.
165 (newsticker-treeview-tool-bar-map): Moved tool-bar icons to 204 (newsticker-treeview-tool-bar-map): Move tool-bar icons to
166 etc/images/newsticker. 205 etc/images/newsticker.
167 206
168 * net/newst-reader.el (newsticker-feed-face): Changed default 207 * net/newst-reader.el (newsticker-feed-face): Change default
169 family from helvetica to sans. 208 family from helvetica to sans.
170 209
171 * net/newst-plainview.el (newsticker-new-item-face) 210 * net/newst-plainview.el (newsticker-new-item-face)
172 (newsticker-old-item-face, newsticker-immortal-item-face) 211 (newsticker-old-item-face, newsticker-immortal-item-face)
173 (newsticker-obsolete-item-face, newsticker-date-face) 212 (newsticker-obsolete-item-face, newsticker-date-face)
174 (newsticker-statistics-face): Changed default family from 213 (newsticker-statistics-face): Change default family from
175 helvetica to sans. 214 helvetica to sans.
176 (newsticker--plainview-tool-bar-map): Moved tool-bar icons to 215 (newsticker--plainview-tool-bar-map): Move tool-bar icons to
177 etc/images/newsticker. 216 etc/images/newsticker.
178 217
179 * net/newst-backend.el (newsticker--do-run-auto-mark-filter), 218 * net/newst-backend.el (newsticker--do-run-auto-mark-filter),
@@ -304,7 +343,7 @@
304 * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a 343 * textmodes/reftex-dcr.el (reftex-view-crossref): at at -> at a
305 344
3062011-05-10 Glenn Morris <rgm@gnu.org> 3452011-05-10 Glenn Morris <rgm@gnu.org>
307 Stefan Monnier <monnier@iro.umontreal.ca> 346 Stefan Monnier <monnier@iro.umontreal.ca>
308 347
309 * files.el (hack-one-local-variable-eval-safep): 348 * files.el (hack-one-local-variable-eval-safep):
310 Consider "eval: (foo-mode)" to be safe. (Bug#8613) 349 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 @@
54 :type 'integer 54 :type 'integer
55 :group 'calendar-html) 55 :group 'calendar-html)
56 56
57(defcustom cal-html-day-abbrev-array 57(defcustom cal-html-day-abbrev-array calendar-day-abbrev-array
58 (calendar-abbrev-construct calendar-day-abbrev-array
59 calendar-day-name-array)
60 "Array of seven strings for abbreviated day names (starting with Sunday)." 58 "Array of seven strings for abbreviated day names (starting with Sunday)."
61 :type '(vector string string string string string string string) 59 :set-after '(calendar-day-abbrev-array)
60 :type '(vector (string :tag "Sun")
61 (string :tag "Mon")
62 (string :tag "Tue")
63 (string :tag "Wed")
64 (string :tag "Thu")
65 (string :tag "Fri")
66 (string :tag "Sat"))
62 :group 'calendar-html) 67 :group 'calendar-html)
63 68
64(defcustom cal-html-css-default 69(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."
2034 value)) 2034 value))
2035 2035
2036 2036
2037(defvar calendar-abbrev-length 3 2037(defun calendar-customized-p (symbol)
2038 "*Length of abbreviations to be used for day and month names. 2038 "Return non-nil if SYMBOL has been customized."
2039See also `calendar-day-abbrev-array' and `calendar-month-abbrev-array'.") 2039 (and (default-boundp symbol)
2040 (let ((standard (get symbol 'standard-value)))
2041 (and standard
2042 (not (equal (eval (car standard)) (default-value symbol)))))))
2043
2044(defun calendar-abbrev-construct (full)
2045 "From sequence FULL, return a vector of abbreviations.
2046Each abbreviation is no longer than `calendar-abbrev-length' characters."
2047 (apply 'vector (mapcar
2048 (lambda (f)
2049 (substring f 0 (min calendar-abbrev-length (length f))))
2050 full)))
2040 2051
2041;; FIXME does it have to start from Sunday?
2042(defcustom calendar-day-name-array 2052(defcustom calendar-day-name-array
2043 ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"] 2053 ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]
2044 "Array of capitalized strings giving, in order, the day names. 2054 "Array of capitalized strings giving, in order from Sunday, the day names.
2045The first two characters of each string will be used to head the 2055The first two characters of each string will be used to head the
2046day columns in the calendar. See also the variable 2056day columns in the calendar.
2047`calendar-day-abbrev-array'." 2057If you change this without using customize after the calendar has loaded,
2058then you may also want to change `calendar-day-abbrev-array'."
2048 :group 'calendar 2059 :group 'calendar
2060 :initialize 'custom-initialize-default
2061 :set (lambda (symbol value)
2062 (let ((dcustomized (calendar-customized-p 'calendar-day-abbrev-array))
2063 (hcustomized (calendar-customized-p 'cal-html-day-abbrev-array)))
2064 (set symbol value)
2065 (or dcustomized
2066 (setq calendar-day-abbrev-array
2067 (calendar-abbrev-construct calendar-day-name-array)))
2068 (and (not hcustomized)
2069 (boundp 'cal-html-day-abbrev-array)
2070 (setq cal-html-day-abbrev-array calendar-day-abbrev-array))))
2049 :type '(vector (string :tag "Sunday") 2071 :type '(vector (string :tag "Sunday")
2050 (string :tag "Monday") 2072 (string :tag "Monday")
2051 (string :tag "Tuesday") 2073 (string :tag "Tuesday")
@@ -2054,23 +2076,74 @@ day columns in the calendar. See also the variable
2054 (string :tag "Friday") 2076 (string :tag "Friday")
2055 (string :tag "Saturday"))) 2077 (string :tag "Saturday")))
2056 2078
2057(defvar calendar-day-abbrev-array 2079(defcustom calendar-abbrev-length 3
2058 [nil nil nil nil nil nil nil] 2080 "Default length of abbreviations to use for day and month names.
2059 "*Array of capitalized strings giving the abbreviated day names. 2081If you change this without using customize after the calendar has loaded,
2082then you may also want to change `calendar-day-abbrev-array' and
2083`calendar-month-abbrev-array'."
2084 :group 'calendar
2085 :initialize 'custom-initialize-default
2086 :set (lambda (symbol value)
2087 (let ((dcustomized (calendar-customized-p 'calendar-day-abbrev-array))
2088 (mcustomized (calendar-customized-p
2089 'calendar-month-abbrev-array))
2090 (hcustomized (calendar-customized-p 'cal-html-day-abbrev-array)))
2091 (set symbol value)
2092 (or dcustomized
2093 (setq calendar-day-abbrev-array
2094 (calendar-abbrev-construct calendar-day-name-array)))
2095 (or mcustomized
2096 (setq calendar-month-abbrev-array
2097 (calendar-abbrev-construct calendar-month-name-array)))
2098 (and (not hcustomized)
2099 (boundp 'cal-html-day-abbrev-array)
2100 (setq cal-html-day-abbrev-array calendar-day-abbrev-array))))
2101 :type 'integer)
2102
2103(defcustom calendar-day-abbrev-array
2104 (calendar-abbrev-construct calendar-day-name-array)
2105 "Array of capitalized strings giving the abbreviated day names.
2060The order should be the same as that of the full names specified 2106The order should be the same as that of the full names specified
2061in `calendar-day-name-array'. These abbreviations may be used 2107in `calendar-day-name-array'. These abbreviations may be used
2062instead of the full names in the diary file. Do not include a 2108instead of the full names in the diary file. Do not include a
2063trailing `.' in the strings specified in this variable, though 2109trailing `.' in the strings specified in this variable, though
2064you may use such in the diary file. If any element of this array 2110you may use such in the diary file. By default, each string is
2065is nil, then the abbreviation will be constructed as the first 2111the first `calendar-abbrev-length' characters of the corresponding
2066`calendar-abbrev-length' characters of the corresponding full name.") 2112full name."
2113 :group 'calendar
2114 :initialize 'custom-initialize-default
2115 :set-after '(calendar-abbrev-length calendar-day-name-array)
2116 :set (lambda (symbol value)
2117 (let ((hcustomized (calendar-customized-p 'cal-html-day-abbrev-array)))
2118 (set symbol value)
2119 (and (not hcustomized)
2120 (boundp 'cal-html-day-abbrev-array)
2121 (setq cal-html-day-abbrev-array calendar-day-abbrev-array))))
2122 :type '(vector (string :tag "Sun")
2123 (string :tag "Mon")
2124 (string :tag "Tue")
2125 (string :tag "Wed")
2126 (string :tag "Thu")
2127 (string :tag "Fri")
2128 (string :tag "Sat"))
2129 ;; Made defcustom, changed defaults from nil nil...
2130 :version "24.1")
2067 2131
2068(defcustom calendar-month-name-array 2132(defcustom calendar-month-name-array
2069 ["January" "February" "March" "April" "May" "June" 2133 ["January" "February" "March" "April" "May" "June"
2070 "July" "August" "September" "October" "November" "December"] 2134 "July" "August" "September" "October" "November" "December"]
2071 "Array of capitalized strings giving, in order, the month names. 2135 "Array of capitalized strings giving, in order, the month names.
2072See also the variable `calendar-month-abbrev-array'." 2136If you change this without using customize after the calendar has loaded,
2137then you may also want to change `calendar-month-abbrev-array'."
2073 :group 'calendar 2138 :group 'calendar
2139 :initialize 'custom-initialize-default
2140 :set (lambda (symbol value)
2141 (let ((mcustomized (calendar-customized-p
2142 'calendar-month-abbrev-array)))
2143 (set symbol value)
2144 (or mcustomized
2145 (setq calendar-month-abbrev-array
2146 (calendar-abbrev-construct calendar-month-name-array)))))
2074 :type '(vector (string :tag "January") 2147 :type '(vector (string :tag "January")
2075 (string :tag "February") 2148 (string :tag "February")
2076 (string :tag "March") 2149 (string :tag "March")
@@ -2084,46 +2157,54 @@ See also the variable `calendar-month-abbrev-array'."
2084 (string :tag "November") 2157 (string :tag "November")
2085 (string :tag "December"))) 2158 (string :tag "December")))
2086 2159
2087(defvar calendar-month-abbrev-array 2160(defcustom calendar-month-abbrev-array
2088 [nil nil nil nil nil nil nil nil nil nil nil nil] 2161 (calendar-abbrev-construct calendar-month-name-array)
2089 "*Array of capitalized strings giving the abbreviated month names. 2162 "Array of capitalized strings giving the abbreviated month names.
2090The order should be the same as that of the full names specified 2163The order should be the same as that of the full names specified
2091in `calendar-month-name-array'. These abbreviations are used in 2164in `calendar-month-name-array'. These abbreviations are used in
2092the calendar menu entries, and can also be used in the diary 2165the calendar menu entries, and can also be used in the diary
2093file. Do not include a trailing `.' in the strings specified in 2166file. Do not include a trailing `.' in the strings specified in
2094this variable, though you may use such in the diary file. If any 2167this variable, though you may use such in the diary file. By
2095element of this array is nil, then the abbreviation will be 2168default, each string is the first ``calendar-abbrev-length'
2096constructed as the first `calendar-abbrev-length' characters of the 2169characters of the corresponding full name."
2097corresponding full name.") 2170 :group 'calendar
2098 2171 :set-after '(calendar-abbrev-length calendar-month-name-array)
2099(defun calendar-make-alist (sequence &optional start-index filter abbrevs) 2172 :type '(vector (string :tag "Jan")
2100 "Make an assoc list corresponding to SEQUENCE. 2173 (string :tag "Feb")
2101Each element of sequence will be associated with an integer, starting 2174 (string :tag "Mar")
2102from 1, or from START-INDEX if that is non-nil. If a sequence ABBREVS 2175 (string :tag "Apr")
2103is supplied, the function `calendar-abbrev-construct' is used to 2176 (string :tag "May")
2104construct abbreviations corresponding to the elements in SEQUENCE. 2177 (string :tag "Jun")
2105Each abbreviation is entered into the alist with the same 2178 (string :tag "Jul")
2106association index as the full name it represents. 2179 (string :tag "Aug")
2107If FILTER is provided, apply it to each key in the alist." 2180 (string :tag "Sep")
2108 (let ((index 0) 2181 (string :tag "Oct")
2109 (offset (or start-index 1)) 2182 (string :tag "Nov")
2110 (aseq (if abbrevs (calendar-abbrev-construct abbrevs sequence))) 2183 (string :tag "Dec"))
2111 (aseqp (if abbrevs (calendar-abbrev-construct abbrevs sequence 2184 ;; Made defcustom, changed defaults from nil nil...
2112 'period))) 2185 :version "24.1")
2113 alist elem) 2186
2114 (dotimes (i (length sequence) (reverse alist)) 2187(defun calendar-make-alist (sequence &optional start-index filter
2115 (setq index (+ i offset) 2188 &rest sequences)
2116 elem (elt sequence i) 2189 "Return an association list corresponding to SEQUENCE.
2117 alist 2190Associates each element of SEQUENCE with an incremented integer,
2118 (cons (cons (if filter (funcall filter elem) elem) index) alist)) 2191starting from START-INDEX (default 1). Applies the function FILTER,
2119 (if aseq 2192if provided, to each key in the alist. Repeats the process, with
2120 (setq elem (elt aseq i) 2193indices starting from START-INDEX each time, for any remaining
2121 alist (cons (cons (if filter (funcall filter elem) elem) 2194arguments SEQUENCES."
2122 index) alist))) 2195 (or start-index (setq start-index 1))
2123 (if aseqp 2196 (let (index alist)
2124 (setq elem (elt aseqp i) 2197 (mapc (lambda (seq)
2125 alist (cons (cons (if filter (funcall filter elem) elem) 2198 (setq index start-index)
2126 index) alist)))))) 2199 (mapc (lambda (elem)
2200 (setq alist (cons
2201 (cons (if filter (funcall filter elem) elem)
2202 index)
2203 alist)
2204 index (1+ index)))
2205 seq))
2206 (append (list sequence) sequences))
2207 (reverse alist)))
2127 2208
2128(defun calendar-read-date (&optional noday) 2209(defun calendar-read-date (&optional noday)
2129 "Prompt for Gregorian date. Return a list (month day year). 2210 "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."
2162 (+ (* 12 (- yr2 yr1)) 2243 (+ (* 12 (- yr2 yr1))
2163 (- mon2 mon1))) 2244 (- mon2 mon1)))
2164 2245
2165(defun calendar-abbrev-construct (abbrev full &optional period)
2166 "Internal calendar function to return a complete abbreviation array.
2167ABBREV is an array of abbreviations, FULL the corresponding array
2168of full names. The return value is the ABBREV array, with any nil
2169elements replaced by the first three characters taken from the
2170corresponding element of FULL. If optional argument PERIOD is non-nil,
2171each element returned has a final `.' character."
2172 (let (elem array name)
2173 (dotimes (i (length full))
2174 (setq name (aref full i)
2175 elem (or (aref abbrev i)
2176 (substring name 0
2177 (min calendar-abbrev-length (length name))))
2178 elem (format "%s%s" elem (if period "." ""))
2179 array (append array (list elem))))
2180 (vconcat array)))
2181
2182(defvar calendar-font-lock-keywords 2246(defvar calendar-font-lock-keywords
2183 `((,(concat (regexp-opt (mapcar 'identity calendar-month-name-array) t) 2247 `((,(concat (regexp-opt (mapcar 'identity calendar-month-name-array) t)
2184 " -?[0-9]+") 2248 " -?[0-9]+")
@@ -2204,10 +2268,7 @@ be an integer in the range 0 to 6 corresponding to the day of the
2204week. Day names are taken from the variable `calendar-day-name-array', 2268week. Day names are taken from the variable `calendar-day-name-array',
2205unless the optional argument ABBREV is non-nil, in which case 2269unless the optional argument ABBREV is non-nil, in which case
2206the variable `calendar-day-abbrev-array' is used." 2270the variable `calendar-day-abbrev-array' is used."
2207 (aref (if abbrev 2271 (aref (if abbrev calendar-day-abbrev-array calendar-day-name-array)
2208 (calendar-abbrev-construct calendar-day-abbrev-array
2209 calendar-day-name-array)
2210 calendar-day-name-array)
2211 (if absolute date (calendar-day-of-week date)))) 2272 (if absolute date (calendar-day-of-week date))))
2212 2273
2213(defun calendar-month-name (month &optional abbrev) 2274(defun calendar-month-name (month &optional abbrev)
@@ -2216,10 +2277,7 @@ Months are numbered from one. Month names are taken from the
2216variable `calendar-month-name-array', unless the optional 2277variable `calendar-month-name-array', unless the optional
2217argument ABBREV is non-nil, in which case 2278argument ABBREV is non-nil, in which case
2218`calendar-month-abbrev-array' is used." 2279`calendar-month-abbrev-array' is used."
2219 (aref (if abbrev 2280 (aref (if abbrev calendar-month-abbrev-array calendar-month-name-array)
2220 (calendar-abbrev-construct calendar-month-abbrev-array
2221 calendar-month-name-array)
2222 calendar-month-name-array)
2223 (1- month))) 2281 (1- month)))
2224 2282
2225(defun calendar-day-of-week (date) 2283(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.
1250 1250
1251(defun diary-name-pattern (string-array &optional abbrev-array paren) 1251(defun diary-name-pattern (string-array &optional abbrev-array paren)
1252 "Return a regexp matching the strings in the array STRING-ARRAY. 1252 "Return a regexp matching the strings in the array STRING-ARRAY.
1253If the optional argument ABBREV-ARRAY is present, then the function 1253If the optional argument ABBREV-ARRAY is present, the regexp
1254`calendar-abbrev-construct' is used to construct abbreviations from the 1254also matches the supplied abbreviations, with or without final `.'
1255two supplied arrays. The returned regexp will then also match these 1255characters. If the optional argument PAREN is non-nil, surrounds
1256abbreviations, with or without final `.' characters. If the optional 1256the regexp with parentheses."
1257argument PAREN is non-nil, the regexp is surrounded by parentheses."
1258 (regexp-opt (append string-array 1257 (regexp-opt (append string-array
1258 abbrev-array
1259 (if abbrev-array 1259 (if abbrev-array
1260 (calendar-abbrev-construct abbrev-array 1260 (mapcar (lambda (e) (format "%s." e))
1261 string-array)) 1261 abbrev-array))
1262 (if abbrev-array
1263 (calendar-abbrev-construct abbrev-array
1264 string-array
1265 'period))
1266 nil) 1262 nil)
1267 paren)) 1263 paren))
1268 1264
@@ -1363,7 +1359,11 @@ function that converts absolute dates to dates of the appropriate type. "
1363 (cdr (assoc-string dd-name 1359 (cdr (assoc-string dd-name
1364 (calendar-make-alist 1360 (calendar-make-alist
1365 calendar-day-name-array 1361 calendar-day-name-array
1366 0 nil calendar-day-abbrev-array) t)) marks) 1362 0 nil calendar-day-abbrev-array
1363 (mapcar (lambda (e)
1364 (format "%s." e))
1365 calendar-day-abbrev-array))
1366 t)) marks)
1367 (if mm-name 1367 (if mm-name
1368 (setq mm 1368 (setq mm
1369 (if (string-equal mm-name "*") 0 1369 (if (string-equal mm-name "*") 0
@@ -1372,7 +1372,11 @@ function that converts absolute dates to dates of the appropriate type. "
1372 (if months (calendar-make-alist months) 1372 (if months (calendar-make-alist months)
1373 (calendar-make-alist 1373 (calendar-make-alist
1374 calendar-month-name-array 1374 calendar-month-name-array
1375 1 nil calendar-month-abbrev-array)) t))))) 1375 1 nil calendar-month-abbrev-array
1376 (mapcar (lambda (e)
1377 (format "%s." e))
1378 calendar-month-abbrev-array)))
1379 t)))))
1376 (funcall markfunc mm dd yy marks)))))))) 1380 (funcall markfunc mm dd yy marks))))))))
1377 1381
1378;;;###cal-autoload 1382;;;###cal-autoload
@@ -2307,11 +2311,10 @@ Prefix argument ARG makes the entry nonmarking."
2307 2311
2308(defun diary-font-lock-date-forms (month-array &optional symbol abbrev-array) 2312(defun diary-font-lock-date-forms (month-array &optional symbol abbrev-array)
2309 "Create font-lock patterns for `diary-date-forms' using MONTH-ARRAY. 2313 "Create font-lock patterns for `diary-date-forms' using MONTH-ARRAY.
2310If given, optional SYMBOL must be a prefix to entries. 2314If given, optional SYMBOL must be a prefix to entries. If
2311If optional ABBREV-ARRAY is present, the abbreviations constructed 2315optional ABBREV-ARRAY is present, also matches the abbreviations
2312from this array by the function `calendar-abbrev-construct' are 2316from this array (with or without a final `.'), in addition to the
2313matched (with or without a final `.'), in addition to the full month 2317full month names."
2314names."
2315 (let ((dayname (diary-name-pattern calendar-day-name-array 2318 (let ((dayname (diary-name-pattern calendar-day-name-array
2316 calendar-day-abbrev-array t)) 2319 calendar-day-abbrev-array t))
2317 (monthname (format "\\(%s\\|\\*\\)" 2320 (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.")
437 ;; No longer distributed. 437 ;; No longer distributed.
438;;; "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com" 438;;; "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com"
439;;; "vmsproc.el" :wrote "logout.com" "mailemacs.com") 439;;; "vmsproc.el" :wrote "logout.com" "mailemacs.com")
440 ("Guillermo J. Rozas" :wrote "fakemail.c") 440;;; ("Guillermo J. Rozas" :wrote "fakemail.c")
441 ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el" 441 ("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el"
442 "sort.el" "alloc.c" "callint.c" 442 "sort.el" "alloc.c" "callint.c"
443 ;; config.in renamed from config.h.in; ecrt0.c from crt0.c. 443 ;; 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 @@
12011-05-18 Teodor Zlatanov <tzz@lifelogs.com>
2
3 * gnus-registry.el (gnus-registry-user-format-function-M):
4 Use `mapconcat'.
5 (gnus-registry-user-format-function-M2): Use to see the full text of
6 the marks. Make "," the mark text separator.
7
8 * nntp.el (nntp-send-authinfo): Use the "force" token for NNTP
9 authentication with auth-source.
10
12011-05-17 Glenn Morris <rgm@gnu.org> 112011-05-17 Glenn Morris <rgm@gnu.org>
2 12
3 * gnus-group.el (gnus-import-other-newsrc-file): 13 * 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 @@
57;; You should also consider using the nnregistry backend to look up 57;; You should also consider using the nnregistry backend to look up
58;; articles. See the Gnus manual for more information. 58;; articles. See the Gnus manual for more information.
59 59
60;; Finally, you can put %uM in your summary line format to show the
61;; registry marks if you do this:
62
63;; show the marks as single characters (see the :char property in
64;; `gnus-registry-marks'):
65;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M)
66
67;; show the marks by name (see `gnus-registry-marks'):
68;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M2)
69
60;; TODO: 70;; TODO:
61 71
62;; - get the correct group on spool actions 72;; - get the correct group on spool actions
@@ -887,22 +897,26 @@ Uses `gnus-registry-marks' to find what shortcuts to install."
887 nil 897 nil
888 (cons "Registry Marks" gnus-registry-misc-menus)))))) 898 (cons "Registry Marks" gnus-registry-misc-menus))))))
889 899
890;;; use like this: 900;; use like this:
891;;; (defalias 'gnus-user-format-function-M 901;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M)
892;;; 'gnus-registry-user-format-function-M)
893(defun gnus-registry-user-format-function-M (headers) 902(defun gnus-registry-user-format-function-M (headers)
903 "Show the marks for an article by the :char property"
904 (let* ((id (mail-header-message-id headers))
905 (marks (when id (gnus-registry-get-id-key id 'mark))))
906 (mapconcat (lambda (mark)
907 (plist-get
908 (cdr-safe
909 (assoc mark gnus-registry-marks))
910 :char))
911 marks "")))
912
913;; use like this:
914;; (defalias 'gnus-user-format-function-M 'gnus-registry-user-format-function-M2)
915(defun gnus-registry-user-format-function-M2 (headers)
916 "Show the marks for an article by name"
894 (let* ((id (mail-header-message-id headers)) 917 (let* ((id (mail-header-message-id headers))
895 (marks (when id (gnus-registry-get-id-key id 'mark)))) 918 (marks (when id (gnus-registry-get-id-key id 'mark))))
896 (apply 'concat (mapcar (lambda (mark) 919 (mapconcat (lambda (mark) (symbol-name mark)) marks ",")))
897 (let ((c
898 (plist-get
899 (cdr-safe
900 (assoc mark gnus-registry-marks))
901 :char)))
902 (if c
903 (list c)
904 nil)))
905 marks))))
906 920
907(defun gnus-registry-read-mark () 921(defun gnus-registry-read-mark ()
908 "Read a mark name from the user with completion." 922 "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
1227 (require 'netrc) 1227 (require 'netrc)
1228 (let* ((list (netrc-parse nntp-authinfo-file)) 1228 (let* ((list (netrc-parse nntp-authinfo-file))
1229 (alist (netrc-machine list nntp-address "nntp")) 1229 (alist (netrc-machine list nntp-address "nntp"))
1230 (force (or (netrc-get alist "force") nntp-authinfo-force))
1231 (auth-info 1230 (auth-info
1232 (nth 0 (auth-source-search :max 1 1231 (nth 0 (auth-source-search :max 1
1233 ;; TODO: allow the virtual server name too 1232 ;; TODO: allow the virtual server name too
1234 :host nntp-address 1233 :host nntp-address
1235 :port '("119" "nntp")))) 1234 :port '("119" "nntp"))))
1236 (auth-user (plist-get auth-info :user)) 1235 (auth-user (plist-get auth-info :user))
1236 (auth-force (plist-get auth-info :force))
1237 (auth-passwd (plist-get auth-info :secret)) 1237 (auth-passwd (plist-get auth-info :secret))
1238 (auth-passwd (if (functionp auth-passwd) 1238 (auth-passwd (if (functionp auth-passwd)
1239 (funcall auth-passwd) 1239 (funcall auth-passwd)
1240 auth-passwd)) 1240 auth-passwd))
1241 (force (or (netrc-get alist "force")
1242 nntp-authinfo-force
1243 auth-force))
1241 (user (or 1244 (user (or
1242 ;; this is preferred to netrc-* 1245 ;; this is preferred to netrc-*
1243 auth-user 1246 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 @@
13;; A replacement for parts of Emacs' sendmail.el (specifically, 13;; A replacement for parts of Emacs' sendmail.el (specifically,
14;; it's what handles your outgoing mail after you hit C-c C-c in mail 14;; it's what handles your outgoing mail after you hit C-c C-c in mail
15;; mode). See below for a list of additional features, including the 15;; mode). See below for a list of additional features, including the
16;; ability to queue messages for later sending. If you are using 16;; ability to queue messages for later sending. This replaces
17;; fakemail as a subprocess, you can switch to feedmail and eliminate 17;; the standalone fakemail program that used to be distributed with Emacs.
18;; the use of fakemail.
19 18
20;; feedmail works with recent versions of Emacs (20.x series) and 19;; feedmail works with recent versions of Emacs (20.x series) and
21;; XEmacs (tested with 20.4 and later betas). It probably no longer 20;; XEmacs (tested with 20.4 and later betas). It probably no longer
@@ -90,12 +89,11 @@
90;; This code does in elisp a superset of the stuff that used to be done 89;; This code does in elisp a superset of the stuff that used to be done
91;; by the separate program "fakemail" for processing outbound email. 90;; by the separate program "fakemail" for processing outbound email.
92;; In other words, it takes over after you hit "C-c C-c" in mail mode. 91;; In other words, it takes over after you hit "C-c C-c" in mail mode.
93;; By appropriate setting of options, you can still use "fakemail", 92;; By appropriate setting of options, you can even revert to sendmail
94;; or you can even revert to sendmail (which is not too popular 93;; (which is not too popular locally). See the variables at the top
95;; locally). See the variables at the top of the elisp for how to 94;; of the elisp for how to achieve these effects (there are more
96;; achieve these effects (there are more features than in this bullet 95;; features than in this bullet list, so trolling through the variable
97;; list, so trolling through the variable and function doc strings may 96;; and function doc strings may be worth your while):
98;; be worth your while):
99;; 97;;
100;; --- you can park outgoing messages into a disk-based queue and 98;; --- you can park outgoing messages into a disk-based queue and
101;; stimulate sending them all later (handy for laptop users); 99;; 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 @@
48 ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail") 48 ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
49 ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail") 49 ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
50 ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail") 50 ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail")
51 (t "fakemail"))) ; in lib-src, to interface to /bin/mail 51 (t "sendmail")))
52 "Program used to send messages." 52 "Program used to send messages."
53 :version "24.1" ; added executable-find 53 :version "24.1" ; add executable-find, remove fakemail
54 :group 'mail 54 :group 'mail
55 :type 'file) 55 :type 'file)
56 56
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."
2838 v 2838 v
2839 (cond 2839 (cond
2840 ((and beg end) 2840 ((and beg end)
2841 (format "tail -c +%d %s | head -c +%d >%s" 2841 (format "dd bs=1 skip=%d if=%s count=%d of=%s"
2842 (1+ beg) (tramp-shell-quote-argument localname) 2842 beg (tramp-shell-quote-argument localname)
2843 (- end beg) remote-copy)) 2843 (- end beg) remote-copy))
2844 (beg 2844 (beg
2845 (format "tail -c +%d %s >%s" 2845 (format "dd bs=1 skip=%d if=%s of=%s"
2846 (1+ beg) (tramp-shell-quote-argument localname) 2846 beg (tramp-shell-quote-argument localname)
2847 remote-copy)) 2847 remote-copy))
2848 (end 2848 (end
2849 (format "head -c +%d %s >%s" 2849 (format "dd bs=1 count=%d if=%s of=%s"
2850 (1+ end) (tramp-shell-quote-argument localname) 2850 end (tramp-shell-quote-argument localname)
2851 remote-copy))))) 2851 remote-copy)))))
2852 2852
2853 ;; `insert-file-contents-literally' takes care to avoid 2853 ;; `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
3105connection buffer." 3105connection buffer."
3106 ;; Preserve message for `progress-reporter'. 3106 ;; Preserve message for `progress-reporter'.
3107 (tramp-compat-with-temp-message "" 3107 (tramp-compat-with-temp-message ""
3108 ;; Enable auth-source and password-cache. 3108 ;; Enable auth-source and password-cache. We must use
3109 (tramp-set-connection-property vec "first-password-request" t) 3109 ;; tramp-current-* variables in case we have several hops.
3110 (tramp-set-connection-property
3111 (tramp-dissect-file-name
3112 (tramp-make-tramp-file-name
3113 tramp-current-method tramp-current-user tramp-current-host ""))
3114 "first-password-request" t)
3110 (save-restriction 3115 (save-restriction
3111 (let (exit) 3116 (let (exit)
3112 (while (not exit) 3117 (while (not exit)
@@ -3544,16 +3549,16 @@ Invokes `password-read' if available, `read-passwd' else."
3544 ;; Try with Tramp's current method. 3549 ;; Try with Tramp's current method.
3545 (if (fboundp 'auth-source-search) 3550 (if (fboundp 'auth-source-search)
3546 (setq auth-info 3551 (setq auth-info
3547 (tramp-compat-funcall 3552 (tramp-compat-funcall
3548 'auth-source-search 3553 'auth-source-search
3549 :max 1 3554 :max 1
3550 :user (or tramp-current-user t) 3555 :user (or tramp-current-user t)
3551 :host tramp-current-host 3556 :host tramp-current-host
3552 :port tramp-current-method) 3557 :port tramp-current-method)
3553 auth-passwd (plist-get (nth 0 auth-info) :secret) 3558 auth-passwd (plist-get (nth 0 auth-info) :secret)
3554 auth-passwd (if (functionp auth-passwd) 3559 auth-passwd (if (functionp auth-passwd)
3555 (funcall auth-passwd) 3560 (funcall auth-passwd)
3556 auth-passwd)) 3561 auth-passwd))
3557 (tramp-compat-funcall 3562 (tramp-compat-funcall
3558 'auth-source-user-or-password 3563 'auth-source-user-or-password
3559 "password" tramp-current-host tramp-current-method))) 3564 "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'."
698 grep-hit-face) 698 grep-hit-face)
699 (set (make-local-variable 'compilation-error-regexp-alist) 699 (set (make-local-variable 'compilation-error-regexp-alist)
700 grep-regexp-alist) 700 grep-regexp-alist)
701 (set (make-local-variable 'compilation-directory-matcher) nil)
701 (set (make-local-variable 'compilation-process-setup-function) 702 (set (make-local-variable 'compilation-process-setup-function)
702 'grep-process-setup) 703 'grep-process-setup)
703 (set (make-local-variable 'compilation-disable-input) t) 704 (set (make-local-variable 'compilation-disable-input) t)