diff options
-rw-r--r-- | lisp/ChangeLog | 14 | ||||
-rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 4 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 19 | ||||
-rw-r--r-- | lisp/gnus/gnus-srvr.el | 41 | ||||
-rw-r--r-- | lisp/gnus/mm-util.el | 34 | ||||
-rw-r--r-- | lisp/gnus/nnrss.el | 7 | ||||
-rw-r--r-- | lisp/gnus/rfc2047.el | 11 | ||||
-rw-r--r-- | lisp/pcvs-info.el | 4 | ||||
-rw-r--r-- | lisp/progmodes/gdb-ui.el | 2 | ||||
-rw-r--r-- | lisp/replace.el | 2 | ||||
-rw-r--r-- | lispref/ChangeLog | 4 | ||||
-rw-r--r-- | lispref/display.texi | 5 | ||||
-rw-r--r-- | nt/ChangeLog | 6 | ||||
-rw-r--r-- | nt/gmake.defs | 3 | ||||
-rw-r--r-- | nt/nmake.defs | 3 | ||||
-rw-r--r-- | src/ChangeLog | 17 | ||||
-rw-r--r-- | src/makefile.w32-in | 3 | ||||
-rw-r--r-- | src/w32fns.c | 12 |
18 files changed, 129 insertions, 62 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 526d7d021e8..6a568afe055 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -31,6 +31,15 @@ * subr.el (when, unless): Doc fix. +2007-07-13 Dan Nicolaescu <dann@ics.uci.edu> + + * replace.el (match): Use yellow1 instead of yellow. + + * progmodes/gdb-ui.el (breakpoint-enabled): Use red1 instead of + red. + + * pcvs-info.el (cvs-unknown): Likewise. + 2007-07-13 Eli Zaretskii <eliz@gnu.org> * makefile.w32-in (install-lisp-SH, install-lisp-CMD): New targets. @@ -140,6 +149,11 @@ * menu-bar.el (vc-menu-map): New defalias. +2007-07-10 Richard Stallman <rms@gnu.org> + + * emacs-lisp/lisp-mode.el (eval-defun): + Explain special handling of `defface'. + 2007-07-10 Jim Meyering <jim@meyering.net> (tiny change) * emacs-lisp/copyright.el (copyright-current-gpl-version): Set to 3. diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 73379a816d7..374d3ae2327 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -730,7 +730,9 @@ If the current defun is actually a call to `defvar' or `defcustom', evaluating it this way resets the variable using its initial value expression even if the variable already has some other value. \(Normally `defvar' and `defcustom' do not alter the value if there -already is one.) +already is one.) In an analogous way, evaluating a `defface' +overrides any customizations of the face, so that it becomes +defined exactly as the `defface' expression says. If `eval-expression-debug-on-error' is non-nil, which is the default, this command arranges for all errors to enter the debugger. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 30b787acf41..6a66ebbf756 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -3,6 +3,25 @@ * gnus-art.el (gnus-mime-delete-part): Don't go through article-edit finishing actions if we did not edit the article. +2007-07-13 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus-srvr.el (gnus-server-agent-face, gnus-server-opened-face) + (gnus-server-closed-face, gnus-server-denied-face) + (gnus-server-offline-face): Remove variable. + (gnus-server-font-lock-keywords): Use faces that are not aliases. + + * mm-util.el (mm-decode-coding-string, mm-encode-coding-string) + (mm-decode-coding-region, mm-encode-coding-region): Don't modify string + if the coding-system argument is nil for XEmacs. + + * nnrss.el (nnrss-compatible-encoding-alist): Inherit the value of + mm-charset-override-alist. + + * rfc2047.el: Don't require base64; require rfc2045 for the function + rfc2045-encode-string. + (rfc2047-encode-parameter): Use rfc2045-encode-string to quote or not + to quote the parameter value. + 2007-07-04 Katsumi Yamaoka <yamaoka@jpl.org> * gnus-sum.el (gnus-summary-catchup): Don't recognize cached articles diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el index f6804f3b114..0d5443f576c 100644 --- a/lisp/gnus/gnus-srvr.el +++ b/lisp/gnus/gnus-srvr.el @@ -214,43 +214,12 @@ If nil, a faster, but more primitive, buffer is used instead." ;; backward-compatibility alias (put 'gnus-server-offline-face 'face-alias 'gnus-server-offline) -(defcustom gnus-server-agent-face 'gnus-server-agent - "Face name to use on AGENTIZED servers." - :version "22.1" - :group 'gnus-server-visual - :type 'face) - -(defcustom gnus-server-opened-face 'gnus-server-opened - "Face name to use on OPENED servers." - :version "22.1" - :group 'gnus-server-visual - :type 'face) - -(defcustom gnus-server-closed-face 'gnus-server-closed - "Face name to use on CLOSED servers." - :version "22.1" - :group 'gnus-server-visual - :type 'face) - -(defcustom gnus-server-denied-face 'gnus-server-denied - "Face name to use on DENIED servers." - :version "22.1" - :group 'gnus-server-visual - :type 'face) - -(defcustom gnus-server-offline-face 'gnus-server-offline - "Face name to use on OFFLINE servers." - :version "22.1" - :group 'gnus-server-visual - :type 'face) - (defvar gnus-server-font-lock-keywords - (list - '("(\\(agent\\))" 1 gnus-server-agent-face) - '("(\\(opened\\))" 1 gnus-server-opened-face) - '("(\\(closed\\))" 1 gnus-server-closed-face) - '("(\\(offline\\))" 1 gnus-server-offline-face) - '("(\\(denied\\))" 1 gnus-server-denied-face))) + '(("(\\(agent\\))" 1 gnus-server-agent) + ("(\\(opened\\))" 1 gnus-server-opened) + ("(\\(closed\\))" 1 gnus-server-closed) + ("(\\(offline\\))" 1 gnus-server-offline) + ("(\\(denied\\))" 1 gnus-server-denied))) (defun gnus-server-mode () "Major mode for listing and editing servers. diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index 742bbc223ae..8933edaf42c 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el @@ -36,11 +36,7 @@ (if (fboundp (car elem)) (defalias nfunc (car elem)) (defalias nfunc (cdr elem))))) - '((decode-coding-string . (lambda (s a) s)) - (encode-coding-string . (lambda (s a) s)) - (encode-coding-region . ignore) - (coding-system-list . ignore) - (decode-coding-region . ignore) + '((coding-system-list . ignore) (char-int . identity) (coding-system-equal . equal) (annotationp . ignore) @@ -97,6 +93,34 @@ (multibyte-char-to-unibyte . identity)))) (eval-and-compile + (if (featurep 'xemacs) + (if (featurep 'file-coding) + ;; Don't modify string if CODING-SYSTEM is nil. + (progn + (defun mm-decode-coding-string (str coding-system) + (if coding-system + (decode-coding-string str coding-system) + str)) + (defun mm-encode-coding-string (str coding-system) + (if coding-system + (encode-coding-string str coding-system) + str)) + (defun mm-decode-coding-region (start end coding-system) + (if coding-system + (decode-coding-region start end coding-system))) + (defun mm-encode-coding-region (start end coding-system) + (if coding-system + (encode-coding-region start end coding-system)))) + (defun mm-decode-coding-string (str coding-system) str) + (defun mm-encode-coding-string (str coding-system) str) + (defalias 'mm-decode-coding-region 'ignore) + (defalias 'mm-encode-coding-region 'ignore)) + (defalias 'mm-decode-coding-string 'decode-coding-string) + (defalias 'mm-encode-coding-string 'encode-coding-string) + (defalias 'mm-decode-coding-region 'decode-coding-region) + (defalias 'mm-encode-coding-region 'encode-coding-region))) + +(eval-and-compile (cond ((fboundp 'replace-in-string) (defalias 'mm-replace-in-string 'replace-in-string)) diff --git a/lisp/gnus/nnrss.el b/lisp/gnus/nnrss.el index 996783e69b6..1f7e5ba1de9 100644 --- a/lisp/gnus/nnrss.el +++ b/lisp/gnus/nnrss.el @@ -85,7 +85,12 @@ ARTICLE is the article number of the current headline.") (defvar nnrss-file-coding-system mm-universal-coding-system "Coding system used when reading and writing files.") -(defvar nnrss-compatible-encoding-alist '((iso-8859-1 . windows-1252)) +(defvar nnrss-compatible-encoding-alist + (delq nil (mapcar (lambda (elem) + (if (and (mm-coding-system-p (car elem)) + (mm-coding-system-p (cdr elem))) + elem)) + mm-charset-override-alist)) "Alist of encodings and those supersets. The cdr of each element is used to decode data if it is available when the car is what the data specify as the encoding. Or, the car is used diff --git a/lisp/gnus/rfc2047.el b/lisp/gnus/rfc2047.el index 6dc432daf79..3cf2940e031 100644 --- a/lisp/gnus/rfc2047.el +++ b/lisp/gnus/rfc2047.el @@ -55,7 +55,7 @@ Value is what BODY returns." (require 'ietf-drums) ;; Fixme: Avoid this (used for mail-parse-charset) mm dependence on gnus. (require 'mail-prsvr) -(require 'base64) +(require 'rfc2045) ;; rfc2045-encode-string (autoload 'mm-body-7-or-8 "mm-bodies") (eval-and-compile @@ -832,12 +832,9 @@ it, put the following line in your ~/.gnus.el file: \(defalias 'mail-header-encode-parameter 'rfc2047-encode-parameter) " - (let* ((rfc2047-encoding-type 'mime) - (rfc2047-encode-max-chars nil) - (string (rfc2047-encode-string value))) - (if (string-match (concat "[" ietf-drums-tspecials "]") string) - (format "%s=%S" param string) - (concat param "=" string)))) + (let ((rfc2047-encoding-type 'mime) + (rfc2047-encode-max-chars nil)) + (rfc2045-encode-string param (rfc2047-encode-string value)))) ;;; ;;; Functions for decoding RFC2047 messages diff --git a/lisp/pcvs-info.el b/lisp/pcvs-info.el index 6e36b5a93e3..880972bff9d 100644 --- a/lisp/pcvs-info.el +++ b/lisp/pcvs-info.el @@ -85,9 +85,9 @@ to confuse some users sometimes." (defface cvs-unknown '((((class color) (background dark)) - (:foreground "red")) + (:foreground "red1")) (((class color) (background light)) - (:foreground "red")) + (:foreground "red1")) (t (:slant italic))) "PCL-CVS face used to highlight unknown file status." :group 'pcl-cvs) diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 4dbc9893f61..7bc904f8319 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -1765,7 +1765,7 @@ static char *magick[] = { (defface breakpoint-enabled '((t - :foreground "red" + :foreground "red1" :weight bold)) "Face for enabled breakpoint icon in fringe." :group 'gud) diff --git a/lisp/replace.el b/lisp/replace.el index ed1fa9a6b59..5d4c2a2eba6 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -860,7 +860,7 @@ Compatibility function for \\[next-error] invocations." (defface match '((((class color) (min-colors 88) (background light)) - :background "yellow") + :background "yellow1") (((class color) (min-colors 88) (background dark)) :background "RoyalBlue3") (((class color) (min-colors 8) (background light)) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 6a824f8deaf..5102e723566 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -2,6 +2,10 @@ * control.texi (Handling Errors): Document `debug' in handler list. +2007-07-10 Richard Stallman <rms@gnu.org> + + * display.texi (Defining Faces): Explain C-M-x feature for defface. + 2007-07-09 Richard Stallman <rms@gnu.org> * files.texi (Magic File Names): Rewrite previous change. diff --git a/lispref/display.texi b/lispref/display.texi index 664ad1d2c15..f4d7a5dbcdb 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -1760,6 +1760,11 @@ When @code{defface} executes, it defines the face according to @var{spec}, then uses any customizations that were read from the init file (@pxref{Init File}) to override that specification. +When you evaluate a @code{defcustom} form with @kbd{C-M-x} in Emacs +Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun} +overrides any customizations of the face. This way, the face reflects +exactly what the @code{defcustom} says. + The purpose of @var{spec} is to specify how the face should appear on different kinds of terminals. It should be an alist whose elements have the form @code{(@var{display} @var{atts})}. Each element's diff --git a/nt/ChangeLog b/nt/ChangeLog index c23d65d48e5..df2344dc3af 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -3,6 +3,12 @@ * inc/sys/socket.h: Include winsock2.h and ws2tcpip.h instead of winsock.h. +2007-07-11 Jason Rumney <jasonr@gnu.org> + + * gmake.defs (OLE32): New library to link. + + * nmake.defs (OLE32): Likewise. + 2007-06-25 Jason Rumney <jasonr@gnu.org> * cmdproxy.c (main): Set console codepages to "ANSI". diff --git a/nt/gmake.defs b/nt/gmake.defs index 15ec2bf0ea3..c08ca32200f 100644 --- a/nt/gmake.defs +++ b/nt/gmake.defs @@ -176,8 +176,9 @@ MPR = -lmpr SHELL32 = -lshell32 USER32 = -luser32 WSOCK32 = -lwsock32 -WINMM = -lwinmm +WINMM = -lwinmm WINSPOOL = -lwinspool +OLE32 = -lole32 ifdef NOOPT DEBUG_CFLAGS = -DEMACSDEBUG diff --git a/nt/nmake.defs b/nt/nmake.defs index 5f52bc18c62..03ae2f851fa 100644 --- a/nt/nmake.defs +++ b/nt/nmake.defs @@ -123,8 +123,9 @@ MPR = mpr.lib SHELL32 = shell32.lib
USER32 = user32.lib
WSOCK32 = wsock32.lib
-WINMM = winmm.lib
+WINMM = winmm.lib
WINSPOOL = winspool.lib
+OLE32 = ole32.lib
!ifdef NOOPT
DEBUG_CFLAGS = -DEMACSDEBUG
diff --git a/src/ChangeLog b/src/ChangeLog index 4694c984f2d..a707d884454 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -36,6 +36,13 @@ * term.c: Include unistd.h only if HAVE_UNISTD_H. +2007-07-11 Jason Rumney <jasonr@gnu.org> + + * makefile.w32-in (LIBS): Include OLE32. + + * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM. + (w32_msg_pump) <WM_DESTROY>: Uninitialize COM. + 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca> * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer. @@ -1206,13 +1213,13 @@ when popup menu finishes. * w32fns.c (menubar_in_use): New flag. - (w32_wnd_proc) [WM_INITMENU, WM_EXITMENULOOP, WM_TIMER, WM_COMMAND]: + (w32_wnd_proc) <WM_INITMENU, WM_EXITMENULOOP, WM_TIMER, WM_COMMAND>: Use it. * w32menu.c (Fx_popup_menu): Don't free menu strings here. (w32_menu_show): Do it here instead. - * w32fns.c (w32_wnd_proc) [WM_INITMENU]: Set menubar_active frame + * w32fns.c (w32_wnd_proc) <WM_INITMENU>: Set menubar_active frame parameter. * w32menu.c (current_popup_menu): Make available globally. @@ -1220,7 +1227,7 @@ menu event into the keyboard buffer. Remove menu_command_in_progress. * w32fns.c (current_popup_menu): Use from w32menu.c. - (w32_wnd_proc) [WM_EXITMENULOOP, WM_TIMER]: Use menubar_active + (w32_wnd_proc) <WM_EXITMENULOOP, WM_TIMER>: Use menubar_active and current_popup_menu to determine whether a menubar menu has been cancelled. @@ -10331,7 +10338,7 @@ * w32term.h (x_output): Add focus_state. * w32term.c (x_focus_changed, w32_detect_focus_change): New functions. - (w32_read_socket) [WM_SETFOCUS]: Call w32_detect_focus_change. + (w32_read_socket) <WM_SETFOCUS>: Call w32_detect_focus_change. 2005-03-25 Stefan Monnier <monnier@iro.umontreal.ca> @@ -13624,7 +13631,7 @@ * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c. - * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]: + * w32fns.c (w32_wnd_proc) <WM_MEASUREITEM, WM_DRAWITEM>: Handle Unicode menu titles. 2004-09-07 Kim F. Storm <storm@cua.dk> diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 4dad03f4c0c..ccb0dcf9f5f 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in @@ -138,7 +138,7 @@ LIBS = $(TLIB0) \ $(TLIB1) \ $(TLIBW32) \ $(TLASTLIB) \ - $(WINMM) \ + $(WINMM) \ $(ADVAPI32) \ $(GDI32) \ $(COMDLG32) \ @@ -146,6 +146,7 @@ LIBS = $(TLIB0) \ $(MPR) \ $(SHELL32) \ $(WINSPOOL) \ + $(OLE32) \ $(libc) # diff --git a/src/w32fns.c b/src/w32fns.c index fd8df29affa..47ca9157623 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -52,6 +52,7 @@ Boston, MA 02110-1301, USA. */ #include <shellapi.h> #include <ctype.h> #include <winspool.h> +#include <objbase.h> #include <dlgs.h> #define FILE_NAME_TEXT_FIELD edt1 @@ -2514,6 +2515,13 @@ w32_msg_pump (deferred_msg * msg_buf) /* Produced by complete_deferred_msg; just ignore. */ break; case WM_EMACS_CREATEWINDOW: + /* Initialize COM for this window. Even though we don't use it, + some third party shell extensions can cause it to be used in + system dialogs, which causes a crash if it is not initialized. + This is a known bug in Windows, which was fixed long ago, but + the patch for XP is not publically available until XP SP3, + and older versions will never be patched. */ + CoInitialize (NULL); w32_createwindow ((struct frame *) msg.wParam); if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0)) abort (); @@ -3660,6 +3668,10 @@ w32_wnd_proc (hwnd, msg, wParam, lParam) my_post_msg (&wmsg, hwnd, msg, wParam, lParam); goto dflt; + case WM_DESTROY: + CoUninitialize (); + return 0; + case WM_CLOSE: wmsg.dwModifiers = w32_get_modifiers (); my_post_msg (&wmsg, hwnd, msg, wParam, lParam); |