Now on revision 105400. ------------------------------------------------------------ revno: 105400 fixes bug(s): http://debbugs.gnu.org/9181 committer: Jan D. branch nick: trunk timestamp: Thu 2011-08-04 13:06:22 +0200 message: Set _NET_WM_WINDOW_OPACITY on outer window manager window also. * xterm.c (x_find_topmost_parent): New function. (x_set_frame_alpha): Find topmost parent window with x_find_topmost_parent and set the property there also. (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-08-04 03:08:01 +0000 +++ src/ChangeLog 2011-08-04 11:06:22 +0000 @@ -1,3 +1,10 @@ +2011-08-04 Jan Djärv + + * xterm.c (x_find_topmost_parent): New function. + (x_set_frame_alpha): Find topmost parent window with + x_find_topmost_parent and set the property there also (bug#9181). + (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify. + 2011-08-04 Paul Eggert * callproc.c (Fcall_process): Avoid vfork clobbering === modified file 'src/xterm.c' --- src/xterm.c 2011-06-24 21:25:22 +0000 +++ src/xterm.c 2011-08-04 11:06:22 +0000 @@ -442,6 +442,27 @@ return 0; } +static Window +x_find_topmost_parent (struct frame *f) +{ + struct x_output *x = f->output_data.x; + Window win = None, wi = x->parent_desc; + Display *dpy = FRAME_X_DISPLAY (f); + + while (wi != FRAME_X_DISPLAY_INFO (f)->root_window) + { + Window root; + Window *children; + unsigned int nchildren; + + win = wi; + XQueryTree (dpy, win, &root, &wi, &children, &nchildren); + XFree (children); + } + + return win; +} + #define OPAQUE 0xffffffff void @@ -453,6 +474,7 @@ double alpha = 1.0; double alpha_min = 1.0; unsigned long opac; + Window parent; if (dpyinfo->x_highlight_frame == f) alpha = f->alpha[0]; @@ -473,6 +495,19 @@ opac = alpha * OPAQUE; + x_catch_errors (dpy); + + /* If there is a parent from the window manager, put the property there + also, to work around broken window managers that fail to do that. + Do this unconditionally as this function is called on reparent when + alpha has not changed on the frame. */ + + parent = x_find_topmost_parent (f); + if (parent != None) + XChangeProperty (dpy, parent, dpyinfo->Xatom_net_wm_window_opacity, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &opac, 1L); + /* return unless necessary */ { unsigned char *data; @@ -480,7 +515,6 @@ int rc, format; unsigned long n, left; - x_catch_errors (dpy); rc = XGetWindowProperty (dpy, win, dpyinfo->Xatom_net_wm_window_opacity, 0L, 1L, False, XA_CARDINAL, &actual, &format, &n, &left, @@ -6088,6 +6122,8 @@ /* Perhaps reparented due to a WM restart. Reset this. */ FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_UNKNOWN; FRAME_X_DISPLAY_INFO (f)->net_supported_window = 0; + + x_set_frame_alpha (f); } goto OTHER; ------------------------------------------------------------ revno: 105399 committer: Daiki Ueno branch nick: trunk timestamp: Thu 2011-08-04 15:55:53 +0900 message: Make sure GPG keys are usable when composing non-MIME messages (bug#8955). * mml1991.el (mml1991-epg-find-usable-key) (mml1991-epg-find-usable-secret-key): New function. (mml1991-epg-sign): Check if signing key is usable. (mml1991-epg-encrypt): Check if encrypting key is usable (bug#8955). diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-08-03 22:09:04 +0000 +++ lisp/gnus/ChangeLog 2011-08-04 06:55:53 +0000 @@ -1,3 +1,10 @@ +2011-08-04 Daiki Ueno + + * mml1991.el (mml1991-epg-find-usable-key) + (mml1991-epg-find-usable-secret-key): New function. + (mml1991-epg-sign): Check if signing key is usable. + (mml1991-epg-encrypt): Check if encrypting key is usable (bug#8955). + 2011-08-03 Andrew Cohen * nnir.el (nnir-read-server-parm): Add an argument to restrict to === modified file 'lisp/gnus/mml1991.el' --- lisp/gnus/mml1991.el 2011-05-30 17:21:59 +0000 +++ lisp/gnus/mml1991.el 2011-08-04 06:55:53 +0000 @@ -247,6 +247,10 @@ (autoload 'epg-context-set-textmode "epg") (autoload 'epg-context-set-signers "epg") (autoload 'epg-context-set-passphrase-callback "epg") +(autoload 'epg-key-sub-key-list "epg") +(autoload 'epg-sub-key-capability "epg") +(autoload 'epg-sub-key-validity "epg") +(autoload 'epg-sub-key-fingerprint "epg") (autoload 'epg-sign-string "epg") (autoload 'epg-encrypt-string "epg") (autoload 'epg-configuration "epg-config") @@ -274,17 +278,59 @@ (cons key-id mml1991-epg-secret-key-id-list)) (copy-sequence passphrase))))) +(defun mml1991-epg-find-usable-key (keys usage) + (catch 'found + (while keys + (let ((pointer (epg-key-sub-key-list (car keys)))) + (while pointer + (if (and (memq usage (epg-sub-key-capability (car pointer))) + (not (memq 'disabled (epg-sub-key-capability (car pointer)))) + (not (memq (epg-sub-key-validity (car pointer)) + '(revoked expired)))) + (throw 'found (car keys))) + (setq pointer (cdr pointer)))) + (setq keys (cdr keys))))) + +;; XXX: since gpg --list-secret-keys does not return validity of each +;; key, `mml1991-epg-find-usable-key' defined above is not enough for +;; secret keys. The function `mml1991-epg-find-usable-secret-key' +;; below looks at appropriate public keys to check usability. +(defun mml1991-epg-find-usable-secret-key (context name usage) + (let ((secret-keys (epg-list-keys context name t)) + secret-key) + (while (and (not secret-key) secret-keys) + (if (mml1991-epg-find-usable-key + (epg-list-keys context (epg-sub-key-fingerprint + (car (epg-key-sub-key-list + (car secret-keys))))) + usage) + (setq secret-key (car secret-keys) + secret-keys nil) + (setq secret-keys (cdr secret-keys)))) + secret-key)) + (defun mml1991-epg-sign (cont) (let ((context (epg-make-context)) - headers cte signers signature) + headers cte signer-key signers signature) (if (eq mm-sign-option 'guided) (setq signers (epa-select-keys context "Select keys for signing. If no one is selected, default secret key is used. " mml1991-signers t)) (if mml1991-signers - (setq signers (mapcar (lambda (name) - (car (epg-list-keys context name t))) - mml1991-signers)))) + (setq signers (delq nil + (mapcar + (lambda (name) + (setq signer-key + (mml1991-epg-find-usable-secret-key + context name 'sign)) + (unless (or signer-key + (y-or-n-p + (format + "No secret key for %s; skip it? " + name))) + (error "No secret key for %s" name)) + signer-key) + mml1991-signers))))) (epg-context-set-armor context t) (epg-context-set-textmode context t) (epg-context-set-signers context signers) @@ -344,7 +390,11 @@ (split-string (message-options-get 'message-recipients) "[ \f\t\n\r\v,]+"))) - cipher signers config) + recipient-key signer-key cipher signers config) + (when mml1991-encrypt-to-self + (unless mml1991-signers + (error "mml1991-signers is not set")) + (setq recipients (nconc recipients mml1991-signers))) ;; We should remove this check if epg-0.0.6 is released. (if (and (condition-case nil (require 'epg-config) @@ -363,26 +413,32 @@ If no one is selected, symmetric encryption will be performed. " recipients)) (setq recipients - (delq nil (mapcar (lambda (name) - (car (epg-list-keys context name))) - recipients)))) - (if mml1991-encrypt-to-self - (if mml1991-signers - (setq recipients - (nconc recipients - (mapcar (lambda (name) - (car (epg-list-keys context name))) - mml1991-signers))) - (error "mml1991-signers not set"))) + (delq nil (mapcar + (lambda (name) + (setq recipient-key (mml1991-epg-find-usable-key + (epg-list-keys context name) + 'encrypt)) + (unless (or recipient-key + (y-or-n-p + (format "No public key for %s; skip it? " + name))) + (error "No public key for %s" name)) + recipient-key) + recipients))) + (unless recipients + (error "No recipient specified"))) (when sign (if (eq mm-sign-option 'guided) (setq signers (epa-select-keys context "Select keys for signing. If no one is selected, default secret key is used. " mml1991-signers t)) (if mml1991-signers - (setq signers (mapcar (lambda (name) - (car (epg-list-keys context name t))) - mml1991-signers)))) + (setq signers (delq nil + (mapcar + (lambda (name) + (mml1991-epg-find-usable-secret-key + context name 'sign)) + mml1991-signers))))) (epg-context-set-signers context signers)) (epg-context-set-armor context t) (epg-context-set-textmode context t) ------------------------------------------------------------ revno: 105398 committer: Paul Eggert branch nick: trunk timestamp: Wed 2011-08-03 20:08:01 -0700 message: * callproc.c (Fcall_process): Avoid vfork clobbering the local vars buffer, coding_systems, current_dir. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-08-03 21:40:06 +0000 +++ src/ChangeLog 2011-08-04 03:08:01 +0000 @@ -1,3 +1,8 @@ +2011-08-04 Paul Eggert + + * callproc.c (Fcall_process): Avoid vfork clobbering + the local vars buffer, coding_systems, current_dir. + 2011-08-03 Stefan Monnier * keymap.c (Fmake_composed_keymap): Move to subr.el. === modified file 'src/callproc.c' --- src/callproc.c 2011-07-28 01:46:23 +0000 +++ src/callproc.c 2011-08-04 03:08:01 +0000 @@ -603,6 +603,9 @@ /* vfork, and prevent local vars from being clobbered by the vfork. */ { + Lisp_Object volatile buffer_volatile = buffer; + Lisp_Object volatile coding_systems_volatile = coding_systems; + Lisp_Object volatile current_dir_volatile = current_dir; int volatile fd1_volatile = fd1; int volatile fd_error_volatile = fd_error; int volatile fd_output_volatile = fd_output; @@ -611,6 +614,9 @@ pid = vfork (); + buffer = buffer_volatile; + coding_systems = coding_systems_volatile; + current_dir = current_dir_volatile; fd1 = fd1_volatile; fd_error = fd_error_volatile; fd_output = fd_output_volatile; ------------------------------------------------------------ revno: 105397 author: Andrew Cohen committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-08-03 22:09:04 +0000 message: nnir.el (nnir-read-server-parm): Add an argument to restrict to server-variables only. This should fix a bug introduced with commit e1889675b7f4adf057833c5513c9374134c4e053. (nnir-run-query): 'nnir-search-engine should not be set from the global environment. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-08-02 22:16:33 +0000 +++ lisp/gnus/ChangeLog 2011-08-03 22:09:04 +0000 @@ -1,3 +1,11 @@ +2011-08-03 Andrew Cohen + + * nnir.el (nnir-read-server-parm): Add an argument to restrict to + server-variables only. This should fix a bug introduced with commit + e1889675b7f4adf057833c5513c9374134c4e053. + (nnir-run-query): 'nnir-search-engine should not be set from the global + environment. + 2011-08-02 Andrew Cohen * nnir.el (nnir-search-thread): Position point on referring article === modified file 'lisp/gnus/nnir.el' --- lisp/gnus/nnir.el 2011-08-02 22:16:33 +0000 +++ lisp/gnus/nnir.el 2011-08-03 22:09:04 +0000 @@ -1624,7 +1624,7 @@ (let* ((server (car x)) (nnir-search-engine (or (nnir-read-server-parm 'nnir-search-engine - server) + server t) (cdr (assoc (car (gnus-server-to-method server)) nnir-method-default-engines)))) @@ -1643,14 +1643,16 @@ nil))) groups)))) -(defun nnir-read-server-parm (key server) - "Returns the parameter value of key for the given server, where -server is of form 'backend:name'." +(defun nnir-read-server-parm (key server &optional not-global) + "Returns the parameter value corresponding to `key' for +`server'. If no server-specific value is found consult the global +environment unless `not-global' is non-nil." (let ((method (gnus-server-to-method server))) (cond ((and method (assq key (cddr method))) - (nth 1 (assq key (cddr method)))) - ((boundp key) (symbol-value key)) - (t nil)))) + (nth 1 (assq key (cddr method)))) + ((and (not not-global) (boundp key)) (symbol-value key)) + (t nil)))) + (defun nnir-possibly-change-server (server) (unless (and server (nnir-server-opened server)) ------------------------------------------------------------ revno: 105396 committer: Stefan Monnier branch nick: trunk timestamp: Wed 2011-08-03 17:40:06 -0400 message: * src/keymap.c (Fmake_composed_keymap): Move to subr.el. * lisp/subr.el (make-composed-keymap): Move from C. Change calling convention, and improve docstring to bring attention to a subtle point. * lisp/minibuffer.el (completing-read-default): Adjust accordingly. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-03 19:31:18 +0000 +++ lisp/ChangeLog 2011-08-03 21:40:06 +0000 @@ -1,3 +1,9 @@ +2011-08-03 Stefan Monnier + + * subr.el (make-composed-keymap): Move from C. Change calling + convention, and improve docstring to bring attention to a subtle point. + * minibuffer.el (completing-read-default): Adjust accordingly. + 2011-08-03 Michael Albinus * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2011-07-02 16:07:30 +0000 +++ lisp/minibuffer.el 2011-08-03 21:40:06 +0000 @@ -2754,15 +2754,12 @@ base-keymap ;; Layer minibuffer-local-filename-completion-map ;; on top of the base map. - ;; Use make-composed-keymap so that set-keymap-parent - ;; doesn't modify minibuffer-local-filename-completion-map. - (let ((map (make-composed-keymap - minibuffer-local-filename-completion-map))) - ;; Set base-keymap as the parent, so that nil bindings - ;; in minibuffer-local-filename-completion-map can - ;; override bindings in base-keymap. - (set-keymap-parent map base-keymap) - map))) + (make-composed-keymap + minibuffer-local-filename-completion-map + ;; Set base-keymap as the parent, so that nil bindings + ;; in minibuffer-local-filename-completion-map can + ;; override bindings in base-keymap. + base-keymap))) (result (read-from-minibuffer prompt initial-input keymap nil hist def inherit-input-method))) (when (and (equal result "") def) === modified file 'lisp/subr.el' --- lisp/subr.el 2011-07-15 23:59:25 +0000 +++ lisp/subr.el 2011-08-03 21:40:06 +0000 @@ -526,6 +526,20 @@ (define-key map (char-to-string loop) 'digit-argument) (setq loop (1+ loop)))))) +(defun make-composed-keymap (maps &optional parent) + "Construct a new keymap composed of MAPS and inheriting from PARENT. +When looking up a key in the returned map, the key is looked in each +keymap of MAPS in turn until a binding is found. +If no binding is found in MAPS, the lookup continues in PARENT, if non-nil. +As always with keymap inheritance, a nil binding in MAPS overrides +any corresponding binding in PARENT, but it does not override corresponding +bindings in other keymaps of MAPS. +MAPS can be a list of keymaps or a single keymap. +PARENT if non-nil should be a keymap." + `(keymap + ,@(if (keymapp maps) (list maps) maps) + ,@parent)) + (defun define-key-after (keymap key definition &optional after) "Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding. This is like `define-key' except that the binding for KEY is placed === modified file 'src/ChangeLog' --- src/ChangeLog 2011-08-03 19:54:12 +0000 +++ src/ChangeLog 2011-08-03 21:40:06 +0000 @@ -1,3 +1,7 @@ +2011-08-03 Stefan Monnier + + * keymap.c (Fmake_composed_keymap): Move to subr.el. + 2011-08-03 Paul Eggert * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE @@ -19,8 +23,8 @@ non-zero. * bidi.c (bidi_fetch_char): Accept an additional argument - DISP_PROP_P, and pass it to compute_display_string_pos. Only - handle text covered by a display string if DISP_PROP_P is returned + DISP_PROP_P, and pass it to compute_display_string_pos. + Only handle text covered by a display string if DISP_PROP_P is returned non-zero. All callers of bidi_fetch_char changed. 2011-08-02 Stefan Monnier @@ -366,8 +370,8 @@ * xdisp.c (move_it_in_display_line_to): Record the best matching position for TO_CHARPOS while scanning the line, and restore it on - exit if none of the characters scanned was an exact match. Fixes - vertical-motion and pos-visible-in-window-p under bidi redisplay + exit if none of the characters scanned was an exact match. + Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay when exact match is impossible due to invisible text, and the lines are truncated. @@ -552,8 +556,8 @@ (reseat_to_string): Initialize bidi_it->string.s and bidi_it->string.schars. (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to - NULL (avoids a crash in bidi_paragraph_init). Initialize - itb.string.lstring. + NULL (avoids a crash in bidi_paragraph_init). + Initialize itb.string.lstring. (init_iterator): Call bidi_init_it only of a valid buffer position was specified. Initialize paragraph_embedding to L2R. @@ -569,12 +573,12 @@ (init_iterator, reseat_1, reseat_to_string): Initialize the string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS when iterating on a string not from display properties). - (compute_display_string_pos, compute_display_string_end): Fix - calculation of the object to scan. Fixes an error when using + (compute_display_string_pos, compute_display_string_end): + Fix calculation of the object to scan. Fixes an error when using arrow keys. (next_element_from_buffer): Don't abort when IT_CHARPOS is before - base_level_stop; instead, set base_level_stop to BEGV. Fixes - crashes in vertical-motion. + base_level_stop; instead, set base_level_stop to BEGV. + Fixes crashes in vertical-motion. (next_element_from_buffer): Improve commentary for when the iterator is before prev_stop. (init_iterator): Initialize bidi_p from the default value of @@ -587,8 +591,8 @@ (next_element_from_string): Support bidi reordering of Lisp strings. (handle_stop_backwards): Support Lisp strings as well. - (display_string): Support display of R2L glyph rows. Use - IT_STRING_CHARPOS when displaying from a Lisp string. + (display_string): Support display of R2L glyph rows. + Use IT_STRING_CHARPOS when displaying from a Lisp string. (init_iterator): Don't initialize it->bidi_p for strings here. (reseat_to_string): Initialize it->bidi_p for strings here. @@ -670,8 +674,8 @@ displayed in margins. (Bug#8133) (Bug#8867) Return MOVE_POS_MATCH_OR_ZV only if iterator position is past TO_CHARPOS. - (pos_visible_p): Support positions in bidi-reordered lines. Save - and restore bidi cache. + (pos_visible_p): Support positions in bidi-reordered lines. + Save and restore bidi cache. * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int. (bidi_paragraph_info): Delete unused struct. @@ -691,8 +695,8 @@ `len' according to what STRING_CHAR_AND_LENGTH expects. (bidi_paragraph_init, bidi_resolve_explicit_1) (bidi_resolve_explicit, bidi_resolve_weak) - (bidi_level_of_next_char, bidi_move_to_visually_next): Support - iteration over a string. + (bidi_level_of_next_char, bidi_move_to_visually_next): + Support iteration over a string. (bidi_set_sor_type, bidi_resolve_explicit_1) (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit can now be zero (for strings); special values 0 and -1 were @@ -723,20 +727,20 @@ (bidi_cache_fetch_state, bidi_cache_search) (bidi_cache_find_level_change, bidi_cache_ensure_space) (bidi_cache_iterator_state, bidi_cache_find) - (bidi_find_other_level_edge, bidi_cache_start_stack): All - variables related to cache indices are now EMACS_INT. + (bidi_find_other_level_edge, bidi_cache_start_stack): + All variables related to cache indices are now EMACS_INT. * dispextern.h (struct bidi_string_data): New structure. (struct bidi_it): New member `string'. Make flag members be 1-bit fields, and put them last in the struct. - (compute_display_string_pos, compute_display_string_end): Update - prototypes. + (compute_display_string_pos, compute_display_string_end): + Update prototypes. (bidi_push_it, bidi_pop_it): Add prototypes. (struct iterator_stack_entry): New members bidi_p, paragraph_embedding, and from_disp_prop_p. (struct it): Member bidi_p is now a bit field 1 bit wide. - (bidi_shelve_cache, bidi_unshelve_cache): Declare - prototypes. + (bidi_shelve_cache, bidi_unshelve_cache): + Declare prototypes. * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector) (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors @@ -1018,7 +1022,7 @@ (char_table_set_range): Adjuted for the above change. (map_sub_char_table): Delete args default_val and parent. Add arg top. Give decoded values to a Lisp function. - (map_char_table): Adjusted for the above change. Give decoded + (map_char_table): Adjust for the above change. Give decoded values to a Lisp function. Gcpro more variables. (uniprop_table_uncompress) (uniprop_decode_value_run_length): New functions. @@ -1035,10 +1039,10 @@ and Sput_unicode_property_internal. Defvar_lisp char-code-property-alist. - * composite.c (CHAR_COMPOSABLE_P): Adjusted for the change of + * composite.c (CHAR_COMPOSABLE_P): Adjust for the change of Vunicode_category_table. - * font.c (font_range): Adjusted for the change of + * font.c (font_range): Adjust for the change of Vunicode_category_table. 2011-07-07 Dan Nicolaescu @@ -1067,14 +1071,14 @@ (store_monospaced_changed): Add comment. Call dpyinfo_valid. (struct xsettings): Move font inside HAVE_XFT. (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines. - (GSETTINGS_MONO_FONT): Renamed from SYSTEM_MONO_FONT. + (GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT. Move inside HAVE_XFT. - (something_changed_gsettingsCB): Renamed from something_changedCB. + (something_changed_gsettingsCB): Rename from something_changedCB. Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME also. (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines. - (GCONF_MONO_FONT): Renamed from SYSTEM_MONO_FONT. Move inside HAVE_XFT. - (something_changed_gconfCB): Renamed from something_changedCB. + (GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT. Move inside HAVE_XFT. + (something_changed_gconfCB): Rename from something_changedCB. Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also. (parse_settings): Move check for font inside HAVE_XFT. (read_settings, apply_xft_settings): Add comment. @@ -1087,8 +1091,8 @@ (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT. (xsettings_initialize): Call init_gsettings last. - (xsettings_get_system_font, xsettings_get_system_normal_font): Add - comment. + (xsettings_get_system_font, xsettings_get_system_normal_font): + Add comment. 2011-07-05 Paul Eggert @@ -1271,7 +1275,7 @@ (syms_of_xsettings): Initialize gsettings_client, gsettings_obj to NULL. - * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Renamed from + * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from GCONF_CFLAGS/LIBS. 2011-06-29 Martin Rudalics @@ -2018,7 +2022,7 @@ * character.c, coding.c, doprnt.c, editfns.c, eval.c: All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND. - * lisp.h (STRING_BYTES_BOUND): Renamed from STRING_BYTES_MAX. + * lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX. * character.c (string_escape_byte8): Fix nbytes/nchars typo. @@ -2127,8 +2131,8 @@ Qclone_number. Remove external declaration of Qdelete_window. (Fbuffer_list): Rewrite doc-string. Minor restructuring of code. - (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run - Qbuffer_list_update_hook if allowed. + (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): + Run Qbuffer_list_update_hook if allowed. (Fother_buffer): Rewrite doc-string. Major rewrite for new buffer list implementation. (other_buffer_safely): New function. @@ -2139,8 +2143,8 @@ (record_buffer): Inhibit quitting and rewrite using quittable functions. Run Qbuffer_list_update_hook if allowed. (Frecord_buffer, Funrecord_buffer): New functions. - (switch_to_buffer_1, Fswitch_to_buffer): Remove. Move - switch-to-buffer to window.el. + (switch_to_buffer_1, Fswitch_to_buffer): Remove. + Move switch-to-buffer to window.el. (bury-buffer): Move to window.el. (Vbuffer_list_update_hook): New variable. @@ -2168,8 +2172,8 @@ (select_window_norecord, select_frame_norecord): Move in front of run_window_configuration_change_hook. Remove now obsolete declarations. - (Fset_window_buffer): Rewrite doc-string. Call - Qrecord_window_buffer. + (Fset_window_buffer): Rewrite doc-string. + Call Qrecord_window_buffer. (keys_of_window): Move binding for other-window to window.el. 2011-06-11 Chong Yidong @@ -2251,8 +2255,8 @@ orig_total_lines. (Fdelete_window, delete_window): Remove. Window deletion is handled by window.el. - (window_loop): Remove DELETE_OTHER_WINDOWS case. Replace - Fdelete_window calls with calls to Qdelete_window. + (window_loop): Remove DELETE_OTHER_WINDOWS case. + Replace Fdelete_window calls with calls to Qdelete_window. (Fdelete_other_windows): Remove. Deleting other windows is handled by window.el. (window_fixed_size_p): Remove. Fixed-sizeness of windows is @@ -2275,8 +2279,8 @@ (grow_mini_window, shrink_mini_window): Implement by calling Qresize_root_window_vertically, resize_window_check and resize_window_apply. - (saved_window, Fset_window_configuration, save_window_save): Do - not handle orig_top_line, orig_total_lines, and + (saved_window, Fset_window_configuration, save_window_save): + Do not handle orig_top_line, orig_total_lines, and resize_proportionally. (window_min_height, window_min_width): Move to window.el. (keys_of_window): Move bindings for delete-other-windows, @@ -2296,8 +2300,8 @@ * xdisp.c (init_xdisp): Don't use set_window_height but set heights directly. - * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Use - resize_frame_windows instead of change_window_heights and run + * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): + Use resize_frame_windows instead of change_window_heights and run run_window_configuration_change_hook. * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows @@ -2319,8 +2323,8 @@ (Frun_window_configuration_change_hook, make_parent_window) (resize_window_check, resize_window_apply, Fresize_window_apply) (resize_frame_windows, Fsplit_window_internal) - (Fdelete_window_internal, Fresize_mini_window_internal): New - functions. + (Fdelete_window_internal, Fresize_mini_window_internal): + New functions. (syms_of_window): New variables Vwindow_splits and Vwindow_nest. 2011-06-08 Martin Rudalics @@ -2340,8 +2344,8 @@ (Fwindow_nest, Fset_window_nest, Fwindow_new_total) (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers) (Fset_window_prev_buffers, Fwindow_next_buffers) - (Fset_window_next_buffers, Fset_window_clone_number): New - functions. + (Fset_window_next_buffers, Fset_window_clone_number): + New functions. (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start) (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p): Doc-string fixes. @@ -2367,10 +2371,10 @@ (Fwindow_top_line, window_body_lines, Fwindow_body_size) (Fwindow_list_1): New functions. (window_box_text_cols): Replace with window_body_cols. - (Fwindow_width, Fscroll_left, Fscroll_right): Use - window_body_cols instead of window_box_text_cols. - (delete_window, Fset_window_configuration): Call - delete_all_subwindows with window as argument. + (Fwindow_width, Fscroll_left, Fscroll_right): + Use window_body_cols instead of window_box_text_cols. + (delete_window, Fset_window_configuration): + Call delete_all_subwindows with window as argument. (delete_all_subwindows): Take a window as argument and not a structure. Rewrite. (window_loop): Remove handling of GET_LRU_WINDOW and @@ -2381,8 +2385,8 @@ window_box_text_cols. delete_all_subwindows now takes a Lisp_Object as argument. - * indent.c (compute_motion, Fcompute_motion): Use - window_body_cols instead of window_box_text_cols. + * indent.c (compute_motion, Fcompute_motion): + Use window_body_cols instead of window_box_text_cols. * frame.c (delete_frame): Call delete_all_subwindows with root window as argument. === modified file 'src/keymap.c' --- src/keymap.c 2011-08-02 16:02:52 +0000 +++ src/keymap.c 2011-08-03 21:40:06 +0000 @@ -150,17 +150,6 @@ return Fcons (Qkeymap, Qnil); } -DEFUN ("make-composed-keymap", Fmake_composed_keymap, Smake_composed_keymap, - 0, MANY, 0, - doc: /* Construct and return a new keymap composed of KEYMAPS. -When looking up a key in the returned map, the key is looked in each -keymap in turn until a binding is found. -usage: (make-composed-keymap &rest KEYMAPS) */) - (ptrdiff_t nargs, Lisp_Object *args) -{ - return Fcons (Qkeymap, Flist (nargs, args)); -} - /* This function is used for installing the standard key bindings at initialization time. @@ -3761,7 +3750,6 @@ defsubr (&Sset_keymap_parent); defsubr (&Smake_keymap); defsubr (&Smake_sparse_keymap); - defsubr (&Smake_composed_keymap); defsubr (&Smap_keymap_internal); defsubr (&Smap_keymap); defsubr (&Scopy_keymap); ------------------------------------------------------------ revno: 105395 committer: Paul Eggert branch nick: trunk timestamp: Wed 2011-08-03 12:54:12 -0700 message: * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE so that it is not optimized away. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-08-03 05:24:30 +0000 +++ src/ChangeLog 2011-08-03 19:54:12 +0000 @@ -1,5 +1,8 @@ 2011-08-03 Paul Eggert + * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE + so that it is not optimized away. + * xdisp.c (compute_display_string_pos): Remove unused local. 2011-08-02 Eli Zaretskii === modified file 'src/fontset.c' --- src/fontset.c 2011-06-13 04:55:03 +0000 +++ src/fontset.c 2011-08-03 19:54:12 +0000 @@ -2100,6 +2100,8 @@ #ifdef FONTSET_DEBUG +Lisp_Object dump_fontset (Lisp_Object) EXTERNALLY_VISIBLE; + Lisp_Object dump_fontset (Lisp_Object fontset) { ------------------------------------------------------------ revno: 105394 committer: Michael Albinus branch nick: trunk timestamp: Wed 2011-08-03 21:33:50 +0200 message: * trampver.texi: Update release number. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2011-07-30 14:59:27 +0000 +++ doc/misc/ChangeLog 2011-08-03 19:33:50 +0000 @@ -1,3 +1,7 @@ +2011-08-03 Michael Albinus + + * trampver.texi: Update release number. + 2011-07-30 Michael Albinus Sync with Tramp 2.2.2. === modified file 'doc/misc/trampver.texi' --- doc/misc/trampver.texi 2011-07-30 14:59:27 +0000 +++ doc/misc/trampver.texi 2011-08-03 19:33:50 +0000 @@ -8,7 +8,7 @@ @c In the Tramp CVS, the version number is auto-frobbed from @c configure.ac, so you should edit that file and run @c "autoconf && ./configure" to change the version number. -@set trampver 2.2.2 +@set trampver 2.2.3-pre @c Other flags from configuration @set instprefix /usr/local ------------------------------------------------------------ revno: 105393 committer: Michael Albinus branch nick: trunk timestamp: Wed 2011-08-03 21:31:18 +0200 message: * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) (tramp-open-shell): Use `tramp-shell-quote-argument'. * net/trampver.el: Update release number. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-08-03 02:00:22 +0000 +++ lisp/ChangeLog 2011-08-03 19:31:18 +0000 @@ -1,3 +1,10 @@ +2011-08-03 Michael Albinus + + * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell) + (tramp-open-shell): Use `tramp-shell-quote-argument'. + + * net/trampver.el: Update release number. + 2011-08-03 Stefan Monnier * progmodes/sh-script.el (sh-font-lock-paren): Don't mistake "main" for === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2011-07-27 11:22:22 +0000 +++ lisp/net/tramp-sh.el 2011-08-03 19:31:18 +0000 @@ -3640,11 +3640,11 @@ (when extra-args (setq shell (concat shell " " extra-args))) (tramp-send-command vec (format "exec env ENV='' PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s" - (shell-quote-argument tramp-end-of-output) shell) + (tramp-shell-quote-argument tramp-end-of-output) shell) t)) ;; Setting prompts. (tramp-send-command - vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) + vec (format "PS1=%s" (tramp-shell-quote-argument tramp-end-of-output)) t) (tramp-send-command vec "PS2=''" t) (tramp-send-command vec "PS3=''" t) (tramp-send-command vec "PROMPT_COMMAND=''" t))) @@ -3736,7 +3736,7 @@ (tramp-message vec 5 "Setting shell prompt") (tramp-send-command - vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) + vec (format "PS1=%s" (tramp-shell-quote-argument tramp-end-of-output)) t) (tramp-send-command vec "PS2=''" t) (tramp-send-command vec "PS3=''" t) (tramp-send-command vec "PROMPT_COMMAND=''" t) === modified file 'lisp/net/trampver.el' --- lisp/net/trampver.el 2011-07-30 14:57:12 +0000 +++ lisp/net/trampver.el 2011-08-03 19:31:18 +0000 @@ -31,7 +31,7 @@ ;; should be changed only there. ;;;###tramp-autoload -(defconst tramp-version "2.2.2" +(defconst tramp-version "2.2.3-pre" "This version of Tramp.") ;;;###tramp-autoload @@ -44,7 +44,7 @@ (= emacs-major-version 21) (>= emacs-minor-version 4))) "ok" - (format "Tramp 2.2.2 is not fit for %s" + (format "Tramp 2.2.3-pre is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version))))))) (unless (string-match "\\`ok\\'" x) (error "%s" x))) ------------------------------------------------------------ revno: 105392 committer: Glenn Morris branch nick: trunk timestamp: Wed 2011-08-03 06:20:59 -0400 message: Auto-commit of loaddefs files. diff: === modified file 'lisp/emacs-lisp/cl-loaddefs.el' --- lisp/emacs-lisp/cl-loaddefs.el 2011-07-17 10:26:13 +0000 +++ lisp/emacs-lisp/cl-loaddefs.el 2011-08-03 10:20:59 +0000 @@ -282,7 +282,7 @@ ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist ;;;;;; do* do loop return-from return block etypecase typecase ecase ;;;;;; case load-time-value eval-when destructuring-bind function* -;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "9452c0e16fd960fce5c19e5c067a7160") +;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "21df83d6106cb0c3d037e75ad79359dc") ;;; Generated autoloads from cl-macs.el (autoload 'gensym "cl-macs" "\ @@ -426,6 +426,7 @@ Loop over a list. Evaluate BODY with VAR bound to each `car' from LIST, in turn. Then evaluate RESULT to get return value, default nil. +An implicit nil block is established around the loop. \(fn (VAR LIST [RESULT]) BODY...)" nil (quote macro))