aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2011-08-20 10:47:09 +0200
committerJoakim Verona2011-08-20 10:47:09 +0200
commit636890f209ede9cd3e058b0d26127a379e274073 (patch)
treec0e11708994f7d55f182ed3618d84b4c460dd22d
parenta6df1daab828f67f244af22a24bd19cf7d0f1c1b (diff)
parentb911cc52c93288b12c04cc5ad658a7ce01fe4991 (diff)
downloademacs-636890f209ede9cd3e058b0d26127a379e274073.tar.gz
emacs-636890f209ede9cd3e058b0d26127a379e274073.zip
upstream
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/files.el8
-rw-r--r--lisp/gnus/ChangeLog31
-rw-r--r--lisp/gnus/gnus-art.el9
-rw-r--r--lisp/gnus/gnus-group.el15
-rw-r--r--lisp/gnus/gnus-sum.el3
-rw-r--r--lisp/gnus/gnus-util.el59
-rw-r--r--lisp/gnus/message.el8
-rw-r--r--lisp/gnus/nnimap.el3
-rw-r--r--lisp/gnus/nnmail.el4
-rw-r--r--lisp/gnus/starttls.el4
-rw-r--r--lisp/minibuffer.el22
-rw-r--r--src/ChangeLog11
-rw-r--r--src/xdisp.c19
-rw-r--r--src/xfaces.c15
15 files changed, 134 insertions, 82 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 38c536af62c..fcccc802203 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12011-08-19 Glenn Morris <rgm@gnu.org>
2
3 * files.el (hack-local-variables-prop-line, hack-local-variables):
4 Downcase "Mode:". (Bug#9331)
5
12011-08-18 Chong Yidong <cyd@stupidchicken.com> 62011-08-18 Chong Yidong <cyd@stupidchicken.com>
2 7
3 * international/characters.el: Add L and R categories. 8 * international/characters.el: Add L and R categories.
diff --git a/lisp/files.el b/lisp/files.el
index 6b8a352f20c..8c7e63dda14 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3003,9 +3003,10 @@ mode, if there is one, otherwise nil."
3003 "-mode")))) 3003 "-mode"))))
3004 (or (equal keyname "coding") 3004 (or (equal keyname "coding")
3005 (condition-case nil 3005 (condition-case nil
3006 (push (cons (if (eq key 'eval) 3006 (push (cons (cond ((eq key 'eval) 'eval)
3007 'eval 3007 ;; Downcase "Mode:".
3008 (indirect-variable key)) 3008 ((equal keyname "mode") 'mode)
3009 (t (indirect-variable key)))
3009 val) result) 3010 val) result)
3010 (error nil)))) 3011 (error nil))))
3011 (skip-chars-forward " \t;"))) 3012 (skip-chars-forward " \t;")))
@@ -3153,6 +3154,7 @@ major-mode."
3153 (var (let ((read-circle nil)) 3154 (var (let ((read-circle nil))
3154 (read str))) 3155 (read str)))
3155 val val2) 3156 val val2)
3157 (and (eq var 'Mode) (setq var 'mode))
3156 ;; Read the variable value. 3158 ;; Read the variable value.
3157 (skip-chars-forward "^:") 3159 (skip-chars-forward "^:")
3158 (forward-char 1) 3160 (forward-char 1)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 230bd8a6508..744817e68f2 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,13 @@
12011-08-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * nnimap.el (nnimap-transform-headers): Protect against (NIL ...)
4 bodystructures (bug#9314).
5
62011-08-19 Katsumi Yamaoka <yamaoka@jpl.org>
7
8 * gnus-art.el (gnus-insert-mime-button, gnus-mime-display-alternative):
9 Make button keymap non-sticky after buttons.
10
12011-08-18 David Engster <dengste@eml.cc> 112011-08-18 David Engster <dengste@eml.cc>
2 12
3 * nnmairix.el (nnmairix-request-set-mark) 13 * nnmairix.el (nnmairix-request-set-mark)
@@ -7,8 +17,29 @@
7 `gnus-registry-get-id-key' since `gnus-registry-fetch-groups' isn't 17 `gnus-registry-get-id-key' since `gnus-registry-fetch-groups' isn't
8 available anymore. 18 available anymore.
9 19
202011-08-12 Simon Josefsson <simon@josefsson.org>
21
22 * starttls.el (starttls-any-program-available): Define as obsolete
23 function.
24
252011-08-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
26
27 * gnus-util.el (gnus-y-or-n-p): Reinstate the message-clearing y-or-n-p
28 versions which Gnus use when appropriate.
29
30 * gnus-group.el (gnus-group-clear-data): Add a y-or-n query, since it's
31 a pretty destructive command.
32
33 * nnmail.el (nnmail-extra-headers): Clarify slightly (bug#9302).
34
102011-08-17 Lars Magne Ingebrigtsen <larsi@gnus.org> 352011-08-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
11 36
37 * message.el (message-fix-before-sending): Make a different warning
38 about NUL characters (bug#9270).
39
40 * gnus-sum.el (gnus-auto-select-subject): Allow specifying a function
41 from custom (bug#9260).
42
12 * gnus-spec.el (gnus-lrm-string): Use 8206 instead of ?\x200e to make 43 * gnus-spec.el (gnus-lrm-string): Use 8206 instead of ?\x200e to make
13 things work in Emacs 22 and XEmacs, too. 44 things work in Emacs 22 and XEmacs, too.
14 45
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 28c6aca367c..c6e0180dadc 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -5700,7 +5700,8 @@ all parts."
5700 gnus-callback gnus-mm-display-part 5700 gnus-callback gnus-mm-display-part
5701 gnus-part ,gnus-tmp-id 5701 gnus-part ,gnus-tmp-id
5702 article-type annotation 5702 article-type annotation
5703 gnus-data ,handle)) 5703 gnus-data ,handle
5704 rear-nonsticky t))
5704 (setq e (if (bolp) 5705 (setq e (if (bolp)
5705 ;; Exclude a newline. 5706 ;; Exclude a newline.
5706 (1- (point)) 5707 (1- (point))
@@ -6013,7 +6014,8 @@ If displaying \"text/html\" is discouraged \(see
6013 ,gnus-mouse-face-prop ,gnus-article-mouse-face 6014 ,gnus-mouse-face-prop ,gnus-article-mouse-face
6014 face ,gnus-article-button-face 6015 face ,gnus-article-button-face
6015 gnus-part ,id 6016 gnus-part ,id
6016 article-type multipart)) 6017 article-type multipart
6018 rear-nonsticky t))
6017 (widget-convert-button 'link from (point) 6019 (widget-convert-button 'link from (point)
6018 :action 'gnus-widget-press-button 6020 :action 'gnus-widget-press-button
6019 :button-keymap gnus-widget-button-keymap) 6021 :button-keymap gnus-widget-button-keymap)
@@ -6037,7 +6039,8 @@ If displaying \"text/html\" is discouraged \(see
6037 ,gnus-mouse-face-prop ,gnus-article-mouse-face 6039 ,gnus-mouse-face-prop ,gnus-article-mouse-face
6038 face ,gnus-article-button-face 6040 face ,gnus-article-button-face
6039 gnus-part ,id 6041 gnus-part ,id
6040 gnus-data ,handle)) 6042 gnus-data ,handle
6043 rear-nonsticky t))
6041 (widget-convert-button 'link from (point) 6044 (widget-convert-button 'link from (point)
6042 :action 'gnus-widget-press-button 6045 :action 'gnus-widget-press-button
6043 :button-keymap gnus-widget-button-keymap) 6046 :button-keymap gnus-widget-button-keymap)
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 2a31ccd34f0..5ae29053b6f 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -3471,13 +3471,14 @@ sort in reverse order."
3471 "Clear all marks and read ranges from the current group. 3471 "Clear all marks and read ranges from the current group.
3472Obeys the process/prefix convention." 3472Obeys the process/prefix convention."
3473 (interactive "P") 3473 (interactive "P")
3474 (gnus-group-iterate arg 3474 (when (gnus-y-or-n-p "Really clear data? ")
3475 (lambda (group) 3475 (gnus-group-iterate arg
3476 (let (info) 3476 (lambda (group)
3477 (gnus-info-clear-data (setq info (gnus-get-info group))) 3477 (let (info)
3478 (gnus-get-unread-articles-in-group info (gnus-active group) t) 3478 (gnus-info-clear-data (setq info (gnus-get-info group)))
3479 (when (gnus-group-goto-group group) 3479 (gnus-get-unread-articles-in-group info (gnus-active group) t)
3480 (gnus-group-update-group-line)))))) 3480 (when (gnus-group-goto-group group)
3481 (gnus-group-update-group-line)))))))
3481 3482
3482(defun gnus-group-clear-data-on-native-groups () 3483(defun gnus-group-clear-data-on-native-groups ()
3483 "Clear all marks and read ranges from all native groups." 3484 "Clear all marks and read ranges from all native groups."
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index cd4699e6107..73ecffb090e 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -375,7 +375,8 @@ place point on some subject line."
375 (const unread) 375 (const unread)
376 (const first) 376 (const first)
377 (const unseen) 377 (const unseen)
378 (const unseen-or-unread))) 378 (const unseen-or-unread)
379 (function :tag "Function to call")))
379 380
380(defcustom gnus-auto-select-next t 381(defcustom gnus-auto-select-next t
381 "*If non-nil, offer to go to the next group from the end of the previous. 382 "*If non-nil, offer to go to the next group from the end of the previous.
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 7155c7f9607..03ff4a2ea4b 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -388,57 +388,14 @@ TIME defaults to the current time."
388 (define-key keymap key (pop plist)) 388 (define-key keymap key (pop plist))
389 (pop plist))))) 389 (pop plist)))))
390 390
391;; Two silly functions to ensure that all `y-or-n-p' questions clear 391(defun gnus-y-or-n-p (prompt)
392;; the echo area. 392 (prog1
393;; 393 (y-or-n-p prompt)
394;; Do we really need these functions? Workarounds for bugs in the corresponding 394 (message "")))
395;; Emacs functions? Maybe these bugs are no longer present in any supported 395(defun gnus-yes-or-no-p (prompt)
396;; (X)Emacs version? Alias them to the original functions and see if anyone 396 (prog1
397;; reports a problem. If not, replace with original functions. --rsteib, 397 (yes-or-no-p prompt)
398;; 2007-12-14 398 (message "")))
399;;
400;; All supported Emacsen clear the echo area after `yes-or-no-p', so we can
401;; remove `yes-or-no-p'. RMS says that not clearing after `y-or-n-p' is
402;; intentional (see below), so we could remove `gnus-y-or-n-p' too.
403;; Objections? --rsteib, 2008-02-16
404;;
405;; ,----[ http://thread.gmane.org/gmane.emacs.gnus.general/65099/focus=66070 ]
406;; | From: Richard Stallman
407;; | Subject: Re: Do we need gnus-yes-or-no-p and gnus-y-or-n-p?
408;; | To: Katsumi Yamaoka [...]
409;; | Cc: emacs-devel@[...], xemacs-beta@[...], ding@[...]
410;; | Date: Mon, 07 Jan 2008 12:16:05 -0500
411;; | Message-ID: <E1JBva1-000528-VY@fencepost.gnu.org>
412;; |
413;; | The behavior of `y-or-n-p' that it doesn't clear the question
414;; | and the answer is not serious of course, but I feel it is not
415;; | cool.
416;; |
417;; | It is intentional.
418;; |
419;; | Currently, it is commented out in the trunk by Reiner Steib. He
420;; | also wrote the benefit of leaving the question and the answer in
421;; | the echo area as follows:
422;; |
423;; | (http://article.gmane.org/gmane.emacs.gnus.general/66061)
424;; | > In contrast to yes-or-no-p it is much easier to type y, n,
425;; | > SPC, DEL, etc accidentally, so it might be useful for the user
426;; | > to see what he has typed.
427;; |
428;; | Yes, that is the reason.
429;; `----
430
431;; (defun gnus-y-or-n-p (prompt)
432;; (prog1
433;; (y-or-n-p prompt)
434;; (message "")))
435;; (defun gnus-yes-or-no-p (prompt)
436;; (prog1
437;; (yes-or-no-p prompt)
438;; (message "")))
439
440(defalias 'gnus-y-or-n-p 'y-or-n-p)
441(defalias 'gnus-yes-or-no-p 'yes-or-no-p)
442 399
443;; By Frank Schmitt <ich@Frank-Schmitt.net>. Allows to have 400;; By Frank Schmitt <ich@Frank-Schmitt.net>. Allows to have
444;; age-depending date representations. (e.g. just the time if it's 401;; age-depending date representations. (e.g. just the time if it's
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index a157afe2ce6..52cef1925a2 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4254,8 +4254,10 @@ conformance."
4254 "Invisible text found and made visible; continue sending? ") 4254 "Invisible text found and made visible; continue sending? ")
4255 (error "Invisible text found and made visible"))))) 4255 (error "Invisible text found and made visible")))))
4256 (message-check 'illegible-text 4256 (message-check 'illegible-text
4257 (let (char found choice) 4257 (let (char found choice nul-chars)
4258 (message-goto-body) 4258 (message-goto-body)
4259 (setq nul-chars (save-excursion
4260 (search-forward "\000" nil t)))
4259 (while (progn 4261 (while (progn
4260 (skip-chars-forward mm-7bit-chars) 4262 (skip-chars-forward mm-7bit-chars)
4261 (when (get-text-property (point) 'no-illegible-text) 4263 (when (get-text-property (point) 'no-illegible-text)
@@ -4281,7 +4283,9 @@ conformance."
4281 (when found 4283 (when found
4282 (setq choice 4284 (setq choice
4283 (gnus-multiple-choice 4285 (gnus-multiple-choice
4284 "Non-printable characters found. Continue sending?" 4286 (if nul-chars
4287 "NUL characters found, which may cause problems. Continue sending?"
4288 "Non-printable characters found. Continue sending?")
4285 `((?d "Remove non-printable characters and send") 4289 `((?d "Remove non-printable characters and send")
4286 (?r ,(format 4290 (?r ,(format
4287 "Replace non-printable characters with \"%s\" and send" 4291 "Replace non-printable characters with \"%s\" and send"
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index c940e06fbb6..2dbc465f8c9 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -216,9 +216,10 @@ textual parts.")
216 (let ((structure (ignore-errors 216 (let ((structure (ignore-errors
217 (read (current-buffer))))) 217 (read (current-buffer)))))
218 (while (and (consp structure) 218 (while (and (consp structure)
219 (not (stringp (car structure)))) 219 (not (atom (car structure))))
220 (setq structure (car structure))) 220 (setq structure (car structure)))
221 (setq lines (if (and 221 (setq lines (if (and
222 (stringp (car structure))
222 (equal (upcase (nth 0 structure)) "MESSAGE") 223 (equal (upcase (nth 0 structure)) "MESSAGE")
223 (equal (upcase (nth 1 structure)) "RFC822")) 224 (equal (upcase (nth 1 structure)) "RFC822"))
224 (nth 9 structure) 225 (nth 9 structure)
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index 8906a036779..dc2080dee1a 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -554,7 +554,9 @@ parameter. It should return nil, `warn' or `delete'."
554 (const delete))) 554 (const delete)))
555 555
556(defcustom nnmail-extra-headers '(To Newsgroups) 556(defcustom nnmail-extra-headers '(To Newsgroups)
557 "*Extra headers to parse." 557 "Extra headers to parse.
558In addition to the standard headers, these extra headers will be
559included in NOV headers (and the like) when backends parse headers."
558 :version "21.1" 560 :version "21.1"
559 :group 'nnmail 561 :group 'nnmail
560 :type '(repeat symbol)) 562 :type '(repeat symbol))
diff --git a/lisp/gnus/starttls.el b/lisp/gnus/starttls.el
index c1caca90cf0..b995f7478ce 100644
--- a/lisp/gnus/starttls.el
+++ b/lisp/gnus/starttls.el
@@ -301,6 +301,10 @@ GNUTLS requires a port number."
301 starttls-gnutls-program 301 starttls-gnutls-program
302 starttls-program))) 302 starttls-program)))
303 303
304(defalias 'starttls-any-program-available 'starttls-available-p)
305(make-obsolete 'starttls-any-program-available 'starttls-available-p
306 "2011-08-02")
307
304(provide 'starttls) 308(provide 'starttls)
305 309
306;;; starttls.el ends here 310;;; starttls.el ends here
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 313298de97e..b82147b97f1 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -1119,13 +1119,27 @@ It also eliminates runs of equal strings."
1119 `(display (space :align-to ,column))) 1119 `(display (space :align-to ,column)))
1120 nil)))) 1120 nil))))
1121 (if (not (consp str)) 1121 (if (not (consp str))
1122 (put-text-property (point) (progn (insert str) (point)) 1122 (put-text-property (point)
1123 (progn
1124 (insert (bidi-string-mark-left-to-right
1125 str))
1126 (point))
1123 'mouse-face 'highlight) 1127 'mouse-face 'highlight)
1124 (put-text-property (point) (progn (insert (car str)) (point)) 1128 (put-text-property (point)
1129 (progn
1130 (insert
1131 (bidi-string-mark-left-to-right
1132 (car str)))
1133 (point))
1125 'mouse-face 'highlight) 1134 'mouse-face 'highlight)
1126 (add-text-properties (point) (progn (insert (cadr str)) (point)) 1135 (add-text-properties (point)
1136 (progn
1137 (insert
1138 (bidi-string-mark-left-to-right
1139 (cadr str)))
1140 (point))
1127 '(mouse-face nil 1141 '(mouse-face nil
1128 face completions-annotations))) 1142 face completions-annotations)))
1129 (cond 1143 (cond
1130 ((eq completions-format 'vertical) 1144 ((eq completions-format 'vertical)
1131 ;; Vertical format 1145 ;; Vertical format
diff --git a/src/ChangeLog b/src/ChangeLog
index 2b5b6fd0602..85a55b2b7c9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
12011-08-19 Eli Zaretskii <eliz@gnu.org>
2
3 * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
4 face ID by FACE_FROM_ID, and avoid a crash when mouse is moved
5 from an Org mode buffer to a Speedbar frame.
6
7 * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from
8 a composition, take its buffer position from IT->cmp_it.charpos.
9 Fixes cursor positioning at the beginning of a line that begins
10 with a composed character.
11
12011-08-18 Eli Zaretskii <eliz@gnu.org> 122011-08-18 Eli Zaretskii <eliz@gnu.org>
2 13
3 * bidi.c (bidi_get_type): If bidi_type_table reports zero as the 14 * bidi.c (bidi_get_type): If bidi_type_table reports zero as the
diff --git a/src/xdisp.c b/src/xdisp.c
index b26d844cdf2..2cd1bb9bfdb 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -18491,15 +18491,22 @@ display_line (struct it *it)
18491#define RECORD_MAX_MIN_POS(IT) \ 18491#define RECORD_MAX_MIN_POS(IT) \
18492 do \ 18492 do \
18493 { \ 18493 { \
18494 if (IT_CHARPOS (*(IT)) < min_pos) \ 18494 int composition_p = (IT)->what == IT_COMPOSITION; \
18495 EMACS_INT current_pos = \
18496 composition_p ? (IT)->cmp_it.charpos \
18497 : IT_CHARPOS (*(IT)); \
18498 EMACS_INT current_bpos = \
18499 composition_p ? CHAR_TO_BYTE (current_pos) \
18500 : IT_BYTEPOS (*(IT)); \
18501 if (current_pos < min_pos) \
18495 { \ 18502 { \
18496 min_pos = IT_CHARPOS (*(IT)); \ 18503 min_pos = current_pos; \
18497 min_bpos = IT_BYTEPOS (*(IT)); \ 18504 min_bpos = current_bpos; \
18498 } \ 18505 } \
18499 if (IT_CHARPOS (*(IT)) > max_pos) \ 18506 if (current_pos > max_pos) \
18500 { \ 18507 { \
18501 max_pos = IT_CHARPOS (*(IT)); \ 18508 max_pos = current_pos; \
18502 max_bpos = IT_BYTEPOS (*(IT)); \ 18509 max_bpos = current_bpos; \
18503 } \ 18510 } \
18504 } \ 18511 } \
18505 while (0) 18512 while (0)
diff --git a/src/xfaces.c b/src/xfaces.c
index 83c92cdbc52..52b86638a50 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -6008,9 +6008,18 @@ face_at_buffer_position (struct window *w, EMACS_INT pos,
6008 6008
6009 *endptr = endpos; 6009 *endptr = endpos;
6010 6010
6011 default_face = FACE_FROM_ID (f, base_face_id >= 0 ? base_face_id 6011 {
6012 : NILP (Vface_remapping_alist) ? DEFAULT_FACE_ID 6012 int face_id;
6013 : lookup_basic_face (f, DEFAULT_FACE_ID)); 6013
6014 if (base_face_id >= 0)
6015 face_id = base_face_id;
6016 else if (NILP (Vface_remapping_alist))
6017 face_id = DEFAULT_FACE_ID;
6018 else
6019 face_id = lookup_basic_face (f, DEFAULT_FACE_ID);
6020
6021 default_face = FACE_FROM_ID (f, face_id);
6022 }
6014 6023
6015 /* Optimize common cases where we can use the default face. */ 6024 /* Optimize common cases where we can use the default face. */
6016 if (noverlays == 0 6025 if (noverlays == 0