aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2006-03-10 23:46:54 +0000
committerMiles Bader2006-03-10 23:46:54 +0000
commit57216976c5a20643ba59f8436e1177f66eb17cb7 (patch)
treed8210e4d5d8e8502635922addf9355ccd6bf21e2
parentd959f5123e8ac52035c899704954dfcf426529c9 (diff)
parentea8ae7654a60bf4598a6b6269fe75fb859b91651 (diff)
downloademacs-57216976c5a20643ba59f8436e1177f66eb17cb7.tar.gz
emacs-57216976c5a20643ba59f8436e1177f66eb17cb7.zip
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-42
Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 144-147) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 56) - Update from CVS
-rw-r--r--etc/ChangeLog4
-rw-r--r--etc/TODO7
-rw-r--r--etc/TUTORIAL.de10
-rw-r--r--lisp/ChangeLog29
-rw-r--r--lisp/calendar/calendar.el12
-rw-r--r--lisp/calendar/holidays.el8
-rw-r--r--lisp/gnus/ChangeLog24
-rw-r--r--lisp/gnus/gnus-group.el5
-rw-r--r--lisp/gnus/gnus-nocem.el18
-rw-r--r--lisp/gnus/gnus-start.el9
-rw-r--r--lisp/gnus/gnus.el18
-rw-r--r--lisp/gnus/smiley.el42
-rw-r--r--lisp/image.el74
-rw-r--r--lisp/mh-e/ChangeLog5
-rw-r--r--lisp/mh-e/mh-e.el4
-rw-r--r--lisp/progmodes/gdb-ui.el27
-rw-r--r--man/ChangeLog9
-rw-r--r--man/gnus.texi51
-rw-r--r--src/ChangeLog35
-rw-r--r--src/alloc.c12
20 files changed, 324 insertions, 79 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 22558d050e8..4e45799c5fc 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12006-03-09 Reiner Steib <Reiner.Steib@gmx.de>
2
3 * TUTORIAL.de: Replace "Schreiben" by "Dr,A|(Bcken" where appropriate.
4
12006-03-07 Carsten Dominik <dominik@science.uva.nl> 52006-03-07 Carsten Dominik <dominik@science.uva.nl>
2 6
3 * orgcard.tex: Version number change only. 7 * orgcard.tex: Version number change only.
diff --git a/etc/TODO b/etc/TODO
index 28ea7742f99..3fa8f15e6d1 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -437,11 +437,16 @@ but which can also be used as a modifier).
437 e.g auto-mode-alist, the right face. [nickrob@snap.net.nz has a patch 437 e.g auto-mode-alist, the right face. [nickrob@snap.net.nz has a patch
438 for this for inclusion after 22.1]. 438 for this for inclusion after 22.1].
439 439
440** Possibly make `list-holidays' eval items in the calendar-holidays variable.
441 See thread
442 <http://lists.gnu.org/archive/html/emacs-devel/2006-02/msg01034.html>.
443 [rgm@gnu.org will look at this after 22.1]
444
440* Internal changes 445* Internal changes
441 446
442** Replace gmalloc.c with the modified Doug Lea code from the current 447** Replace gmalloc.c with the modified Doug Lea code from the current
443 GNU libc so that the special mmapping of buffers can be removed -- 448 GNU libc so that the special mmapping of buffers can be removed --
444 that apparently loses under Solaris, at least. [fx has mostly done 449 that apparently loses under Solaris, at least. [fx has mostly done
445 this.] 450 this.]
446 451
447** Rewrite make-docfile to be clean and maintainable. 452** Rewrite make-docfile to be clean and maintainable.
diff --git a/etc/TUTORIAL.de b/etc/TUTORIAL.de
index a571b15c545..4ccdd88523c 100644
--- a/etc/TUTORIAL.de
+++ b/etc/TUTORIAL.de
@@ -1090,9 +1090,9 @@ als ein Fenster zur gleichen Zeit auf dem Bildschirm darzustellen.
1090 1090
1091>> Bewegen Sie den Cursor zu dieser Zeile und geben Sie C-u 0 C-l ein. 1091>> Bewegen Sie den Cursor zu dieser Zeile und geben Sie C-u 0 C-l ein.
1092 1092
1093>> Schreiben Sie nun C-x 2, um den Bildschirm in zwei Fenster zu 1093>> Drücken Sie nun C-x 2, um den Bildschirm in zwei Fenster zu teilen.
1094 teilen. Beide Fenster zeigen diese Einführung an, und der Cursor 1094 Beide Fenster zeigen diese Einführung an, und der Cursor bleibt im
1095 bleibt im oberen. 1095 oberen.
1096 1096
1097>> Verwenden Sie C-M-v, um im unteren Fenster zu blättern (Sie können 1097>> Verwenden Sie C-M-v, um im unteren Fenster zu blättern (Sie können
1098 statt dessen auch ESC C-v verwenden, falls Sie keine META-Taste 1098 statt dessen auch ESC C-v verwenden, falls Sie keine META-Taste
@@ -1355,8 +1355,8 @@ Emacs-Befehle ist, haben Sie einen wirklichen Grund, sich in diesem
1355Fall beim Systemadministrator zu beschweren. Alternativen zu C-h sind 1355Fall beim Systemadministrator zu beschweren. Alternativen zu C-h sind
1356die F1-Taste und der lange Befehl M-x help <Return>.) 1356die F1-Taste und der lange Befehl M-x help <Return>.)
1357 1357
1358Die elementarste Hilfestellung gibt C-h c. Schreiben Sie C-h, dann 1358Die elementarste Hilfestellung gibt C-h c. Drücken Sie C-h, dann das
1359das Zeichen c, und dann einen Befehl: Emacs zeigt daraufhin eine kurze 1359Zeichen c, und dann einen Befehl: Emacs zeigt daraufhin eine kurze
1360Beschreibung des Befehls an. 1360Beschreibung des Befehls an.
1361 1361
1362>> Geben Sie C-h c C-p ein. 1362>> Geben Sie C-h c C-p ein.
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 989f803b7fd..bb70c0820a3 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,32 @@
12006-03-10 Bill Wohler <wohler@newt.com>
2
3 * image.el (image-load-path-for-library): Merge at least three
4 functions from Gnus and MH-E into this one function that can now
5 be shared.
6
72006-03-11 Nick Roberts <nickrob@snap.net.nz>
8
9 * progmodes/gdb-ui.el (gdb-remove-text-properties): Rename from
10 gdb-remove-mouse-face and remove help-echo too.
11 (gdb-enqueue-input): Correct conditional clause.
12
132006-03-10 Glenn Morris <rgm@gnu.org>
14
15 * calendar/calendar.el (calendar-holidays): Doc fix.
16 * calendar/holidays.el (list-holidays): Doc fix.
17
182006-03-10 Nick Roberts <nickrob@snap.net.nz>
19
20 * progmodes/gdb-ui.el (gdba): Don't call gdb-init-1 explicitly as
21 it gets called in gdb-prompt anyway.
22 (gdb-use-separate-io-buffer): Only restore window arrangement for
23 gdb-many-windows.
24 (gdb-enqueue-input): Make it harder to send GDB input when program
25 is running.
26 (gdb-buffer-list): New variable.
27 (gdb-remove-mouse-face): New function.
28 (gdb-starting): Use it when GDB input won't get sent.
29
12006-03-08 Juanma Barranquero <lekktu@gmail.com> 302006-03-08 Juanma Barranquero <lekktu@gmail.com>
2 31
3 * help.el (view-lossage): Remove trailing whitespace before 32 * help.el (view-lossage): Remove trailing whitespace before
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 9516e02c5e1..1383b8bac16 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -1192,10 +1192,14 @@ of `general-holidays', `local-holidays' `christian-holidays',
1192`oriental-holidays', or `solar-holidays' to nil in your .emacs file, 1192`oriental-holidays', or `solar-holidays' to nil in your .emacs file,
1193you can eliminate unwanted categories of holidays. 1193you can eliminate unwanted categories of holidays.
1194 1194
1195Note that these variables are only used to initialize the default 1195The aforementioned variables control the holiday choices offered
1196value of `calendar-holidays'. In other words, they only have an 1196by the function `list-holidays' when it is called interactively.
1197effect on the displayed holidays if set before the calendar is 1197
1198loaded. After the calendar has been loaded, you must customize 1198They also initialize the default value of `calendar-holidays',
1199which is the default list of holidays used by the function
1200`list-holidays' in the non-interactive case. Note that these
1201variables have no effect on `calendar-holidays' after it has been
1202set (e.g. after the calendar is loaded). In that case, customize
1199`calendar-holidays' directly. 1203`calendar-holidays' directly.
1200 1204
1201The intention is that (in the US) `local-holidays' be set in 1205The intention is that (in the US) `local-holidays' be set in
diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el
index c9a1a0f17e5..1aaf226d21d 100644
--- a/lisp/calendar/holidays.el
+++ b/lisp/calendar/holidays.el
@@ -119,8 +119,12 @@ This function is suitable for execution in a .emacs file."
119(defun list-holidays (y1 y2 &optional l label) 119(defun list-holidays (y1 y2 &optional l label)
120 "Display holidays for years Y1 to Y2 (inclusive). 120 "Display holidays for years Y1 to Y2 (inclusive).
121 121
122The optional list of holidays L defaults to `calendar-holidays'. See the 122The optional list of holidays L defaults to `calendar-holidays'.
123documentation for that variable for a description of holiday lists. 123When called interactively, this command offers a choice of
124holidays, based on the variables `solar-holidays' etc. See the
125documentation of `calendar-holidays' for a list of the variables
126that control the choices, as well as a description of the format
127of a holiday list.
124 128
125The optional LABEL is used to label the buffer created." 129The optional LABEL is used to label the buffer created."
126 (interactive 130 (interactive
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 374c3da2994..8023af47bfd 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,27 @@
12006-03-10 Reiner Steib <Reiner.Steib@gmx.de>
2
3 * smiley.el: Add more test smileys.
4 (smiley-data-directory, smiley-regexp-alist)
5 (gnus-smiley-file-types): Fix doc strings.
6 (smiley-update-cache): Clear smiley-cached-regexp-alist before
7 adding new elements.
8 (smiley-mouse-map): Unused code. Make it a comment.
9
102006-03-10 Katsumi Yamaoka <yamaoka@jpl.org>
11
12 * gnus-nocem.el (gnus-nocem-scan-groups): Add autoload cookie;
13 scan latest NoCeM messages instead of old ones.
14 (gnus-nocem-check-article): Fix regexps so as to match to PGP
15 delimiters that are recently used.
16 (gnus-nocem-load-cache): Add autoload cookie.
17
18 * gnus.el (gnus-use-nocem): Enable it to be set to also a number.
19
20 * gnus-start.el (gnus-setup-news): Scan NoCeM messages if a group
21 level which is larger than gnus-use-nocem is specified.
22
23 * gnus-group.el (gnus-group-get-new-news): Ditto.
24
12006-03-08 Reiner Steib <Reiner.Steib@gmx.de> 252006-03-08 Reiner Steib <Reiner.Steib@gmx.de>
2 26
3 * gnus-util.el (gnus-tool-bar-update): New function. 27 * gnus-util.el (gnus-tool-bar-update): New function.
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 3d20af8b0df..0ed72433115 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -3622,7 +3622,10 @@ re-scanning. If ARG is non-nil and not a number, this will force
3622 3622
3623 ;; We might read in new NoCeM messages here. 3623 ;; We might read in new NoCeM messages here.
3624 (when (and gnus-use-nocem 3624 (when (and gnus-use-nocem
3625 (null arg)) 3625 (or (and (numberp gnus-use-nocem)
3626 (numberp arg)
3627 (>= arg gnus-use-nocem))
3628 (not arg)))
3626 (gnus-nocem-scan-groups)) 3629 (gnus-nocem-scan-groups))
3627 ;; If ARG is not a number, then we read the active file. 3630 ;; If ARG is not a number, then we read the active file.
3628 (when (and arg (not (numberp arg))) 3631 (when (and arg (not (numberp arg)))
diff --git a/lisp/gnus/gnus-nocem.el b/lisp/gnus/gnus-nocem.el
index b17c33a5d7f..e75b25282b0 100644
--- a/lisp/gnus/gnus-nocem.el
+++ b/lisp/gnus/gnus-nocem.el
@@ -136,6 +136,7 @@ valid issuer, which is much faster if you are selective about the issuers."
136 (gnus-sethash group t gnus-nocem-real-group-hashtb)) 136 (gnus-sethash group t gnus-nocem-real-group-hashtb))
137 gnus-newsrc-alist)) 137 gnus-newsrc-alist))
138 138
139;;;###autoload
139(defun gnus-nocem-scan-groups () 140(defun gnus-nocem-scan-groups ()
140 "Scan all NoCeM groups for new NoCeM messages." 141 "Scan all NoCeM groups for new NoCeM messages."
141 (interactive) 142 (interactive)
@@ -206,10 +207,10 @@ valid issuer, which is much faster if you are selective about the issuers."
206 (not (member (mail-header-message-id header) 207 (not (member (mail-header-message-id header)
207 gnus-nocem-seen-message-ids)))) 208 gnus-nocem-seen-message-ids))))
208 (push header check-headers))) 209 (push header check-headers)))
209 (let* ((i 0) 210 (setq check-headers (last (nreverse check-headers)
210 (check-headers 211 gnus-nocem-check-article-limit))
211 (last check-headers gnus-nocem-check-article-limit)) 212 (let ((i 0)
212 (len (length check-headers))) 213 (len (length check-headers)))
213 (dolist (h check-headers) 214 (dolist (h check-headers)
214 (gnus-message 215 (gnus-message
215 7 "Checking article %d in %s for NoCeM (%d of %d)..." 216 7 "Checking article %d in %s for NoCeM (%d of %d)..."
@@ -235,9 +236,13 @@ valid issuer, which is much faster if you are selective about the issuers."
235 (days-to-time gnus-nocem-expiry-wait))) 236 (days-to-time gnus-nocem-expiry-wait)))
236 (gnus-request-article-this-buffer (mail-header-number header) group) 237 (gnus-request-article-this-buffer (mail-header-number header) group)
237 (goto-char (point-min)) 238 (goto-char (point-min))
238 (when (re-search-forward "-----BEGIN PGP MESSAGE-----" nil t) 239 (when (re-search-forward
240 "-----BEGIN PGP\\( SIGNED\\)? MESSAGE-----"
241 nil t)
239 (delete-region (point-min) (match-beginning 0))) 242 (delete-region (point-min) (match-beginning 0)))
240 (when (re-search-forward "-----END PGP MESSAGE-----\n?" nil t) 243 (when (re-search-forward
244 "-----END PGP \\(MESSAGE\\|SIGNATURE\\)-----\n?"
245 nil t)
241 (delete-region (match-end 0) (point-max))) 246 (delete-region (match-end 0) (point-max)))
242 (goto-char (point-min)) 247 (goto-char (point-min))
243 ;; The article has to have proper NoCeM headers. 248 ;; The article has to have proper NoCeM headers.
@@ -334,6 +339,7 @@ valid issuer, which is much faster if you are selective about the issuers."
334 gnus-nocem-alist)) 339 gnus-nocem-alist))
335 t))) 340 t)))
336 341
342;;;###autoload
337(defun gnus-nocem-load-cache () 343(defun gnus-nocem-load-cache ()
338 "Load the NoCeM cache." 344 "Load the NoCeM cache."
339 (interactive) 345 (interactive)
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 6d82d554365..0f56e40ae15 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -1049,9 +1049,12 @@ If LEVEL is non-nil, the news will be set up at level LEVEL."
1049 (gnus-check-bogus-newsgroups)) 1049 (gnus-check-bogus-newsgroups))
1050 1050
1051 ;; We might read in new NoCeM messages here. 1051 ;; We might read in new NoCeM messages here.
1052 (when (and gnus-use-nocem 1052 (when (and (not dont-connect)
1053 (not level) 1053 gnus-use-nocem
1054 (not dont-connect)) 1054 (or (and (numberp gnus-use-nocem)
1055 (numberp level)
1056 (>= level gnus-use-nocem))
1057 (not level)))
1055 (gnus-nocem-scan-groups)) 1058 (gnus-nocem-scan-groups))
1056 1059
1057 ;; Read any slave files. 1060 ;; Read any slave files.
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 2caccc0b70e..7a04c61151a 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -1580,9 +1580,23 @@ articles. This is not a good idea."
1580 :value t))) 1580 :value t)))
1581 1581
1582(defcustom gnus-use-nocem nil 1582(defcustom gnus-use-nocem nil
1583 "*If non-nil, Gnus will read NoCeM cancel messages." 1583 "*If non-nil, Gnus will read NoCeM cancel messages.
1584You can also set this variable to a positive number as a group level.
1585In that case, Gnus scans NoCeM messages when checking new news if this
1586value is not exceeding a group level that you specify as the prefix
1587argument to some commands, e.g. `gnus', `gnus-group-get-new-news', etc.
1588Otherwise, Gnus does not scan NoCeM messages if you specify a group
1589level to those commands."
1584 :group 'gnus-meta 1590 :group 'gnus-meta
1585 :type 'boolean) 1591 :type '(choice
1592 (const :tag "off" nil)
1593 (const :tag "on" t)
1594 (list :convert-widget
1595 (lambda (widget)
1596 (list 'integer :tag "group level"
1597 :value (if (boundp 'gnus-level-default-subscribed)
1598 gnus-level-default-subscribed
1599 3))))))
1586 1600
1587(defcustom gnus-suppress-duplicates nil 1601(defcustom gnus-suppress-duplicates nil
1588 "*If non-nil, Gnus will mark duplicate copies of the same article as read." 1602 "*If non-nil, Gnus will mark duplicate copies of the same article as read."
diff --git a/lisp/gnus/smiley.el b/lisp/gnus/smiley.el
index d7657e444b8..e8afe9dd10d 100644
--- a/lisp/gnus/smiley.el
+++ b/lisp/gnus/smiley.el
@@ -31,8 +31,21 @@
31;; I'm not sure we need that degree of rococoness and defaults like a 31;; I'm not sure we need that degree of rococoness and defaults like a
32;; yellow background. Also, using PBM means we can display the images 32;; yellow background. Also, using PBM means we can display the images
33;; more generally. -- fx 33;; more generally. -- fx
34 34;; `smiley.el' was replaced by `smiley-ems.el' on 2002-01-26 (after fx'
35;;; Test smileys: :-) :-\ :-( :-/ 35;; comment).
36
37;; Test smileys:
38;; smile ^:-) ^:)
39;; blink ;-) ;)
40;; forced :-]
41;; braindamaged 8-)
42;; indifferent :-|
43;; wry :-/ :-\
44;; sad :-(
45;; evil >:-)
46;; cry ;-(
47;; dead X-)
48;; grin :-D
36 49
37;;; Code: 50;;; Code:
38 51
@@ -45,8 +58,9 @@
45 :group 'gnus-visual) 58 :group 'gnus-visual)
46 59
47;; Maybe this should go. 60;; Maybe this should go.
48(defcustom smiley-data-directory (nnheader-find-etc-directory "images/smilies") 61(defcustom smiley-data-directory
49 "*Location of the smiley faces files." 62 (nnheader-find-etc-directory "images/smilies")
63 "Location of the smiley faces files."
50 :type 'directory 64 :type 'directory
51 :group 'smiley) 65 :group 'smiley)
52 66
@@ -61,8 +75,8 @@
61 ("\\(:-(\\)\\W" 1 "sad") 75 ("\\(:-(\\)\\W" 1 "sad")
62 ("\\(:-{\\)\\W" 1 "frown")) 76 ("\\(:-{\\)\\W" 1 "frown"))
63 "*A list of regexps to map smilies to images. 77 "*A list of regexps to map smilies to images.
64The elements are (REGEXP MATCH FILE), where MATCH is the submatch in 78The elements are (REGEXP MATCH IMAGE), where MATCH is the submatch in
65regexp to replace with IMAGE. IMAGE is the name of a PBM file in 79regexp to replace with IMAGE. IMAGE is the name of an image file in
66`smiley-data-directory'." 80`smiley-data-directory'."
67 :type '(repeat (list regexp 81 :type '(repeat (list regexp
68 (integer :tag "Regexp match number") 82 (integer :tag "Regexp match number")
@@ -78,7 +92,7 @@ regexp to replace with IMAGE. IMAGE is the name of a PBM file in
78 (when (gnus-image-type-available-p 'xpm) 92 (when (gnus-image-type-available-p 'xpm)
79 (push "xpm" types)) 93 (push "xpm" types))
80 types) 94 types)
81 "*List of suffixes on picon file names to try." 95 "*List of suffixes on smiley file names to try."
82 :version "22.1" 96 :version "22.1"
83 :type '(repeat string) 97 :type '(repeat string)
84 :group 'smiley) 98 :group 'smiley)
@@ -86,6 +100,7 @@ regexp to replace with IMAGE. IMAGE is the name of a PBM file in
86(defvar smiley-cached-regexp-alist nil) 100(defvar smiley-cached-regexp-alist nil)
87 101
88(defun smiley-update-cache () 102(defun smiley-update-cache ()
103 (setq smiley-cached-regexp-alist nil)
89 (dolist (elt (if (symbolp smiley-regexp-alist) 104 (dolist (elt (if (symbolp smiley-regexp-alist)
90 (symbol-value smiley-regexp-alist) 105 (symbol-value smiley-regexp-alist)
91 smiley-regexp-alist)) 106 smiley-regexp-alist))
@@ -104,12 +119,13 @@ regexp to replace with IMAGE. IMAGE is the name of a PBM file in
104 (push (list (car elt) (cadr elt) image) 119 (push (list (car elt) (cadr elt) image)
105 smiley-cached-regexp-alist))))))) 120 smiley-cached-regexp-alist)))))))
106 121
107(defvar smiley-mouse-map 122;; Not implemented:
108 (let ((map (make-sparse-keymap))) 123;; (defvar smiley-mouse-map
109 (define-key map [down-mouse-2] 'ignore) ; override widget 124;; (let ((map (make-sparse-keymap)))
110 (define-key map [mouse-2] 125;; (define-key map [down-mouse-2] 'ignore) ; override widget
111 'smiley-mouse-toggle-buffer) 126;; (define-key map [mouse-2]
112 map)) 127;; 'smiley-mouse-toggle-buffer)
128;; map))
113 129
114;;;###autoload 130;;;###autoload
115(defun smiley-region (start end) 131(defun smiley-region (start end)
diff --git a/lisp/image.el b/lisp/image.el
index 316896cabce..4acff8d251b 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -77,6 +77,80 @@ value is used as a list of directories to search.")
77 (list (file-name-as-directory (expand-file-name "images" data-directory)) 77 (list (file-name-as-directory (expand-file-name "images" data-directory))
78 'data-directory 'load-path))) 78 'data-directory 'load-path)))
79 79
80(defun image-load-path-for-library (library image &optional path)
81 "Return a suitable search path for images relative to LIBRARY.
82
83Images for LIBRARY are searched for in \"../../etc/images\" and
84\"../etc/images\" relative to the files in \"lisp/LIBRARY\" as
85well as in `image-load-path' and `load-path'.
86
87This function returns the value of `load-path' augmented with the
88path to IMAGE. If PATH is given, it is used instead of
89`load-path'.
90
91Here is an example that uses a common idiom to provide
92compatibility with versions of Emacs that lack the variable
93`image-load-path':
94
95 (let ((load-path
96 (image-load-path-for-library \"mh-e\" \"mh-logo.xpm\"))
97 (image-load-path
98 (image-load-path-for-library \"mh-e\" \"mh-logo.xpm\" 'image-load-path)))
99 (mh-tool-bar-folder-buttons-init))"
100 (unless library (error "No library specified"))
101 (unless image (error "No image specified"))
102 (let ((image-directory))
103 (cond
104 ;; Try relative setting.
105 ((let (library-name d1ei d2ei)
106 ;; First, find library in the load-path.
107 (setq library-name (locate-library library))
108 (if (not library-name)
109 (error "Cannot find library %s in load-path" library))
110 ;; And then set image-directory relative to that.
111 (setq
112 ;; Go down 2 levels.
113 d2ei (expand-file-name
114 (concat (file-name-directory library-name) "../../etc/images"))
115 ;; Go down 1 level.
116 d1ei (expand-file-name
117 (concat (file-name-directory library-name) "../etc/images")))
118 (setq image-directory
119 ;; Set it to nil if image is not found.
120 (cond ((file-exists-p (expand-file-name image d2ei)) d2ei)
121 ((file-exists-p (expand-file-name image d1ei)) d1ei)))))
122 ;; Check for images in image-load-path or load-path.
123 ((let ((img image)
124 (dir (or
125 ;; Images in image-load-path.
126 (image-search-load-path image)
127 ;; Images in load-path.
128 (locate-library image)))
129 parent)
130 ;; Since the image might be in a nested directory (for
131 ;; example, mail/attach.pbm), adjust `image-directory'
132 ;; accordingly.
133 (and dir
134 (setq dir (file-name-directory dir))
135 (progn
136 (while (setq parent (file-name-directory img))
137 (setq img (directory-file-name parent)
138 dir (expand-file-name "../" dir)))
139 (setq image-directory dir)))))
140 (t
141 (error "Could not find image %s for library %s" image library)))
142
143 ;; Return augmented `image-load-path' or `load-path'.
144 (cond ((and path (symbolp path))
145 (nconc (list image-directory)
146 (delete image-directory
147 (if (boundp path)
148 (copy-sequence (symbol-value path))
149 nil))))
150 (t
151 (nconc (list image-directory)
152 (delete image-directory (copy-sequence load-path)))))))
153
80(defun image-jpeg-p (data) 154(defun image-jpeg-p (data)
81 "Value is non-nil if DATA, a string, consists of JFIF image data. 155 "Value is non-nil if DATA, a string, consists of JFIF image data.
82We accept the tag Exif because that is the same format." 156We accept the tag Exif because that is the same format."
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 0a097cb2f02..35a1b1495f1 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,8 @@
12006-03-10 Bill Wohler <wohler@newt.com>
2
3 * mh-e.el (mh-profile-component): Drop `s' from mhparam
4 -components for Mailutils compatibility (closes SF #1446985).
5
12006-03-06 Bill Wohler <wohler@newt.com> 62006-03-06 Bill Wohler <wohler@newt.com>
2 7
3 * mh-e.el (Version, mh-version): Add +cvs to version. 8 * mh-e.el (Version, mh-version): Add +cvs to version.
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index 64b625f3ab6..0b8961470a7 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -808,7 +808,9 @@ Currently known variants are 'MH, 'nmh, and 'mu-mh."
808(defun mh-profile-component (component) 808(defun mh-profile-component (component)
809 "Return COMPONENT value from mhparam, or nil if unset." 809 "Return COMPONENT value from mhparam, or nil if unset."
810 (save-excursion 810 (save-excursion
811 (mh-exec-cmd-quiet nil "mhparam" "-components" component) 811 ;; MH and nmh use -components, Mailutils uses -component. Since MH
812 ;; and nmh work with an unambiguous prefix, the `s' is dropped here.
813 (mh-exec-cmd-quiet nil "mhparam" "-component" component)
812 (mh-profile-component-value component))) 814 (mh-profile-component-value component)))
813 815
814(defun mh-profile-component-value (component) 816(defun mh-profile-component-value (component)
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 4340892a9cc..e3e2e2f23c1 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -257,8 +257,7 @@ detailed description of this mode.
257 (interactive (list (gud-query-cmdline 'gdba))) 257 (interactive (list (gud-query-cmdline 'gdba)))
258 ;; 258 ;;
259 ;; Let's start with a basic gud-gdb buffer and then modify it a bit. 259 ;; Let's start with a basic gud-gdb buffer and then modify it a bit.
260 (gdb command-line) 260 (gdb command-line))
261 (gdb-init-1))
262 261
263(defcustom gdb-debug-ring-max 128 262(defcustom gdb-debug-ring-max 128
264 "Maximum size of `gdb-debug-ring'." 263 "Maximum size of `gdb-debug-ring'."
@@ -322,7 +321,7 @@ With arg, use separate IO iff arg is positive."
322 (buffer-name gud-comint-buffer)) 321 (buffer-name gud-comint-buffer))
323 (condition-case nil 322 (condition-case nil
324 (if gdb-use-separate-io-buffer 323 (if gdb-use-separate-io-buffer
325 (gdb-restore-windows) 324 (if gdb-many-windows (gdb-restore-windows))
326 (kill-buffer (gdb-inferior-io-name))) 325 (kill-buffer (gdb-inferior-io-name)))
327 (error nil)))) 326 (error nil))))
328 327
@@ -1037,11 +1036,12 @@ This filter may simply queue input for a later time."
1037;; is a query, or other non-top-level prompt. 1036;; is a query, or other non-top-level prompt.
1038 1037
1039(defun gdb-enqueue-input (item) 1038(defun gdb-enqueue-input (item)
1040 (if gdb-prompting 1039 (if (not gud-running)
1041 (progn 1040 (if gdb-prompting
1042 (gdb-send-item item) 1041 (progn
1042 (gdb-send-item item)
1043 (setq gdb-prompting nil)) 1043 (setq gdb-prompting nil))
1044 (push item gdb-input-queue))) 1044 (push item gdb-input-queue))))
1045 1045
1046(defun gdb-dequeue-input () 1046(defun gdb-dequeue-input ()
1047 (let ((queue gdb-input-queue)) 1047 (let ((queue gdb-input-queue))
@@ -1192,6 +1192,7 @@ not GDB."
1192 ((eq sink 'user) 1192 ((eq sink 'user)
1193 (progn 1193 (progn
1194 (setq gud-running t) 1194 (setq gud-running t)
1195 (gdb-remove-text-properties)
1195 (if gdb-use-separate-io-buffer 1196 (if gdb-use-separate-io-buffer
1196 (setq gdb-output-sink 'inferior)))) 1197 (setq gdb-output-sink 'inferior))))
1197 (t 1198 (t
@@ -1299,6 +1300,18 @@ happens to be appropriate."
1299 (gdb-resync) 1300 (gdb-resync)
1300 (error "Phase error in gdb-post-prompt (got %s)" sink))))) 1301 (error "Phase error in gdb-post-prompt (got %s)" sink)))))
1301 1302
1303(defconst gdb-buffer-list
1304'(gdb-stack-buffer gdb-locals-buffer gdb-registers-buffer gdb-threads-buffer))
1305
1306(defun gdb-remove-text-properties ()
1307 (dolist (buffertype gdb-buffer-list)
1308 (let ((buffer (gdb-get-buffer buffertype)))
1309 (if buffer
1310 (with-current-buffer buffer
1311 (let ((inhibit-read-only t))
1312 (remove-text-properties
1313 (point-min) (point-max) '(mouse-face nil help-echo nil))))))))
1314
1302;; GUD displays the selected GDB frame. This might might not be the current 1315;; GUD displays the selected GDB frame. This might might not be the current
1303;; GDB frame (after up, down etc). If no GDB frame is visible but the last 1316;; GDB frame (after up, down etc). If no GDB frame is visible but the last
1304;; visited breakpoint is, use that window. 1317;; visited breakpoint is, use that window.
diff --git a/man/ChangeLog b/man/ChangeLog
index c0060317a5c..ca301d27c03 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,12 @@
12006-03-10 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus.texi (NoCeM): Mention gnus-use-nocem can also be a number.
4
52006-03-10 Reiner Steib <Reiner.Steib@gmx.de>
6
7 * gnus.texi (Fancy Mail Splitting): Improve sentences so as to be
8 easy to understand.
9
12006-03-09 Katsumi Yamaoka <yamaoka@jpl.org> 102006-03-09 Katsumi Yamaoka <yamaoka@jpl.org>
2 11
3 * gnus.texi: Markup fix. 12 * gnus.texi: Markup fix.
diff --git a/man/gnus.texi b/man/gnus.texi
index 72596ed26ce..c64305a3a66 100644
--- a/man/gnus.texi
+++ b/man/gnus.texi
@@ -14007,18 +14007,21 @@ If the split is a string, that will be taken as a group name. Normal
14007regexp match expansion will be done. See below for examples. 14007regexp match expansion will be done. See below for examples.
14008 14008
14009@c Don't fold this line. 14009@c Don't fold this line.
14010@item (@var{field} @var{value} [- @var{restrict} [@dots{}] ] @var{split} [@var{invert-match-partial-words}]) 14010@item (@var{field} @var{value} [- @var{restrict} [@dots{}] ] @var{split} [@var{invert-partial}])
14011If the split is a list, the first element of which is a string, then 14011The split can be a list containing at least three elements. If the
14012store the message as specified by @var{split}, if header @var{field} 14012first element @var{field} (a regexp matching a header) contains
14013(a regexp) contains @var{value} (also a regexp). If @var{restrict} 14013@var{value} (also a regexp) then store the message as specified by
14014(yet another regexp) matches some string after @var{field} and before 14014@var{split}.
14015the end of the matched @var{value}, the @var{split} is ignored. If 14015
14016none of the @var{restrict} clauses match, @var{split} is processed. 14016If @var{restrict} (yet another regexp) matches some string after
14017 14017@var{field} and before the end of the matched @var{value}, the
14018The last element @var{invert-match-partial-words} is optional. If it is 14018@var{split} is ignored. If none of the @var{restrict} clauses match,
14019not omitted and the value is non-@code{nil}, the match-partial-words 14019@var{split} is processed.
14020behavior controlled by the @code{nnmail-split-fancy-match-partial-words} 14020
14021variable (see below) will be inverted. (New in Gnus 5.10.7) 14021The last element @var{invert-partial} is optional. If it is
14022non-@code{nil}, the match-partial-words behavior controlled by the
14023variable @code{nnmail-split-fancy-match-partial-words} (see below) is
14024be inverted. (New in Gnus 5.10.7)
14022 14025
14023@item (| @var{split} @dots{}) 14026@item (| @var{split} @dots{})
14024If the split is a list, and the first element is @code{|} (vertical 14027If the split is a list, and the first element is @code{|} (vertical
@@ -14108,14 +14111,13 @@ in the rear of a word will be ignored. For example, the @var{value}
14108@code{".*@@example\\.com"} does. 14111@code{".*@@example\\.com"} does.
14109 14112
14110@item 14113@item
14111You can set the @var{invert-match-partial-words} flag in your split 14114You can set the @var{invert-partial} flag in your split rules of the
14112rules of the @samp{(@var{field} @var{value} @dots{})} types, 14115@samp{(@var{field} @var{value} @dots{})} types, aforementioned in this
14113aforementioned in this section. If the flag is set, word boundaries on 14116section. If the flag is set, word boundaries on both sides of a word
14114both sides of a word are ignored even if 14117are ignored even if @code{nnmail-split-fancy-match-partial-words} is
14115@code{nnmail-split-fancy-match-partial-words} is @code{nil}. 14118@code{nil}. Contrarily, if the flag is set, word boundaries are not
14116Contrarily, if the flag is set, word boundaries are not ignored even if 14119ignored even if @code{nnmail-split-fancy-match-partial-words} is
14117@code{nnmail-split-fancy-match-partial-words} is non-@code{nil}. (New 14120non-@code{nil}. (New in Gnus 5.10.7)
14118in Gnus 5.10.7)
14119@end enumerate 14121@end enumerate
14120 14122
14121@vindex nnmail-split-abbrev-alist 14123@vindex nnmail-split-abbrev-alist
@@ -21793,6 +21795,15 @@ There are some variables to customize, of course:
21793Set this variable to @code{t} to set the ball rolling. It is @code{nil} 21795Set this variable to @code{t} to set the ball rolling. It is @code{nil}
21794by default. 21796by default.
21795 21797
21798You can also set this variable to a positive number as a group level.
21799In that case, Gnus scans NoCeM messages when checking new news if this
21800value is not exceeding a group level that you specify as the prefix
21801argument to some commands, e.g. @code{gnus},
21802@code{gnus-group-get-new-news}, etc. Otherwise, Gnus does not scan
21803NoCeM messages if you specify a group level to those commands. For
21804example, if you use 1 or 2 on the mail groups and the levels on the news
21805groups remain the default, 3 is the best choice.
21806
21796@item gnus-nocem-groups 21807@item gnus-nocem-groups
21797@vindex gnus-nocem-groups 21808@vindex gnus-nocem-groups
21798Gnus will look for NoCeM messages in the groups in this list. The 21809Gnus will look for NoCeM messages in the groups in this list. The
diff --git a/src/ChangeLog b/src/ChangeLog
index a72b3fc7956..9ecb6e0ace1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,9 +1,23 @@
12006-03-10 Kim F. Storm <storm@cua.dk>
2
3 * alloc.c (USE_POSIX_MEMALIGN): Fix last change.
4
52006-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
6
7 * alloc.c (USE_POSIX_MEMALIGN): New macro.
8 (ABLOCKS_BASE, lisp_align_malloc, lisp_align_free): Use it.
9
102006-03-09 Kenichi Handa <handa@m17n.org>
11
12 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Fix decoding
13 ASCII component of a composition.
14
12006-03-08 Luc Teirlinck <teirllm@auburn.edu> 152006-03-08 Luc Teirlinck <teirllm@auburn.edu>
2 16
3 * window.c: Declare preserve_y as a static global variable. 17 * window.c: Declare preserve_y as a static global variable.
4 (window_scroll_pixel_based): No longer declare preserve_y; 18 (window_scroll_pixel_based): No longer declare preserve_y;
5 it is global now. 19 it is global now.
6 (syms_of_window): set preserve_y to -1. 20 (syms_of_window): Set preserve_y to -1.
7 21
82006-03-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 222006-03-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9 23
@@ -23,10 +37,10 @@
23 (MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH): New defines. 37 (MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH): New defines.
24 38
25 * macfns.c (x_default_scroll_bar_color_parameter) 39 * macfns.c (x_default_scroll_bar_color_parameter)
26 (x_set_scroll_bar_foreground, x_set_scroll_bar_background): Remove 40 (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
27 unnecessary prototypes. 41 Remove unnecessary prototypes.
28 (x_set_scroll_bar_default_width): Use 42 (x_set_scroll_bar_default_width):
29 MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH. 43 Use MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH.
30 (mac_set_scroll_bar_width): New function. 44 (mac_set_scroll_bar_width): New function.
31 (mac_frame_parm_handlers): Set it as handler for scroll-bar-width. 45 (mac_frame_parm_handlers): Set it as handler for scroll-bar-width.
32 46
@@ -38,7 +52,7 @@
38 (mac_handle_command_event, mac_handle_window_event) 52 (mac_handle_command_event, mac_handle_window_event)
39 (mac_handle_mouse_event): Check error code of GetEventParameter. 53 (mac_handle_mouse_event): Check error code of GetEventParameter.
40 (convert_fn_keycode) [MAC_OSX]: Likewise. 54 (convert_fn_keycode) [MAC_OSX]: Likewise.
41 55
422006-03-05 Andreas Schwab <schwab@suse.de> 562006-03-05 Andreas Schwab <schwab@suse.de>
43 57
44 * xselect.c (x_catch_errors_unwind): Fix missing return value. 58 * xselect.c (x_catch_errors_unwind): Fix missing return value.
@@ -52,9 +66,9 @@
52 lines, by distributing the rows evenly over the tool-bar screen area. 66 lines, by distributing the rows evenly over the tool-bar screen area.
53 (Vtool_bar_border): New variable. 67 (Vtool_bar_border): New variable.
54 (syms_of_xdisp): DEFVAR_LISP it. 68 (syms_of_xdisp): DEFVAR_LISP it.
55 (display_tool_bar_line): Add HEIGHT arg for desired row height. Make 69 (display_tool_bar_line): Add HEIGHT arg for desired row height.
56 tool-bar row the desired height. Use default face for border below 70 Make tool-bar row the desired height. Use default face for border
57 tool-bar. 71 below tool-bar.
58 (tool_bar_lines_needed): Add N_ROWS arg. Use it to return number of 72 (tool_bar_lines_needed): Add N_ROWS arg. Use it to return number of
59 actual tool-bar rows. 73 actual tool-bar rows.
60 (redisplay_tool_bar): Calculate f->n_tool_bar_rows initially. 74 (redisplay_tool_bar): Calculate f->n_tool_bar_rows initially.
@@ -81,8 +95,7 @@
81 95
822006-02-26 Chong Yidong <cyd@stupidchicken.com> 962006-02-26 Chong Yidong <cyd@stupidchicken.com>
83 97
84 * xterm.h, xterm.c (x_uncatch_errors): Delete unneccessary 98 * xterm.h, xterm.c (x_uncatch_errors): Delete unneccessary argument.
85 argument.
86 99
87 * xterm.c: (x_load_font, x_term_init, XTmouse_position) 100 * xterm.c: (x_load_font, x_term_init, XTmouse_position)
88 (handle_one_xevent, x_connection_closed, x_list_fonts): No arg for 101 (handle_one_xevent, x_connection_closed, x_list_fonts): No arg for
diff --git a/src/alloc.c b/src/alloc.c
index ea52c98fd24..549f14625e6 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -883,6 +883,12 @@ lisp_free (block)
883/* The entry point is lisp_align_malloc which returns blocks of at most */ 883/* The entry point is lisp_align_malloc which returns blocks of at most */
884/* BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */ 884/* BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */
885 885
886/* Use posix_memalloc if the system has it and we're using the system's
887 malloc (because our gmalloc.c routines don't have posix_memalign although
888 its memalloc could be used). */
889#if defined (HAVE_POSIX_MEMALIGN) && defined (SYSTEM_MALLOC)
890#define USE_POSIX_MEMALIGN 1
891#endif
886 892
887/* BLOCK_ALIGN has to be a power of 2. */ 893/* BLOCK_ALIGN has to be a power of 2. */
888#define BLOCK_ALIGN (1 << 10) 894#define BLOCK_ALIGN (1 << 10)
@@ -948,7 +954,7 @@ struct ablocks
948#define ABLOCKS_BUSY(abase) ((abase)->blocks[0].abase) 954#define ABLOCKS_BUSY(abase) ((abase)->blocks[0].abase)
949 955
950/* Pointer to the (not necessarily aligned) malloc block. */ 956/* Pointer to the (not necessarily aligned) malloc block. */
951#ifdef HAVE_POSIX_MEMALIGN 957#ifdef USE_POSIX_MEMALIGN
952#define ABLOCKS_BASE(abase) (abase) 958#define ABLOCKS_BASE(abase) (abase)
953#else 959#else
954#define ABLOCKS_BASE(abase) \ 960#define ABLOCKS_BASE(abase) \
@@ -989,7 +995,7 @@ lisp_align_malloc (nbytes, type)
989 mallopt (M_MMAP_MAX, 0); 995 mallopt (M_MMAP_MAX, 0);
990#endif 996#endif
991 997
992#ifdef HAVE_POSIX_MEMALIGN 998#ifdef USE_POSIX_MEMALIGN
993 { 999 {
994 int err = posix_memalign (&base, BLOCK_ALIGN, ABLOCKS_BYTES); 1000 int err = posix_memalign (&base, BLOCK_ALIGN, ABLOCKS_BYTES);
995 if (err) 1001 if (err)
@@ -1105,7 +1111,7 @@ lisp_align_free (block)
1105 } 1111 }
1106 eassert ((aligned & 1) == aligned); 1112 eassert ((aligned & 1) == aligned);
1107 eassert (i == (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1)); 1113 eassert (i == (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1));
1108#ifdef HAVE_POSIX_MEMALIGN 1114#ifdef USE_POSIX_MEMALIGN
1109 eassert ((unsigned long)ABLOCKS_BASE (abase) % BLOCK_ALIGN == 0); 1115 eassert ((unsigned long)ABLOCKS_BASE (abase) % BLOCK_ALIGN == 0);
1110#endif 1116#endif
1111 free (ABLOCKS_BASE (abase)); 1117 free (ABLOCKS_BASE (abase));