Chong Yidong [Wed, 17 Nov 2010 02:37:45 +0000 (21:37 -0500)]
Cleanup of window coordinate positioning code.
Now, text area click input events measure Y from the top of the text
area, excluding the header line if any.
* src/dispnew.c (buffer_posn_from_coords): Assume that X counts from
the start of the text area.
* src/keyboard.c (make_lispy_position): For text area clicks, record Y
pixel position relative to the text area, excluding header line.
Also change X and Y to Lisp_Objects, not pointers; don't return
coordinate values via pointers. Pass ON_TEXT_AREA coordinate to
buffer_posn_from_coords counting from the start of the text area.
(Fposn_at_x_y, make_lispy_event): Callers changed.
* src/window.c (coordinates_in_window): Change X and Y to ints rather
than pointers; don't return coordinates via pointers.
(struct check_window_data): Change X and Y from pointers to ints.
(window_from_coordinates): Remove args WX and WY; don't return
coordinates via pointers.
(Fcoordinates_in_window_p, window_from_coordinates):
(check_window_containing, Fwindow_at): Callers changed.
(window_relative_x_coord): New function.
Daniel Dehennin [Tue, 16 Nov 2010 23:05:02 +0000 (23:05 +0000)]
mml2015-epg-sign: Use From header.
mml2015.el (mml2015-epg-sign): New variable 'sender' is
(message-options-get 'message-sender) and append it to mml2015-signers.
If mm-sign-option is not 'guided, mml2015-signers and sender sign the mail.
Stefan Monnier [Tue, 16 Nov 2010 21:14:46 +0000 (16:14 -0500)]
* lisp/electric.el (electric-layout-mode): New minor mode.
(electric--after-char-pos): New function.
(electric-indent-post-self-insert-function): Use it.
(electric-layout-rules): New var.
(electric-layout-post-self-insert-function): New function.
(electric-indent-mode): Make them interact better.
Chong Yidong [Tue, 16 Nov 2010 19:59:24 +0000 (14:59 -0500)]
Cleanup of window coordinate positioning code.
Now, text area click input events measure Y from the top of the text
area, excluding the header line if any.
* src/dispnew.c (buffer_posn_from_coords): Assume that X counts from
the start of the text area.
* src/keyboard.c (make_lispy_position): For text area clicks, record Y
pixel position relative to the text area, excluding header line.
Also change X and Y to Lisp_Objects, not pointers; don't return
coordinate values via pointers. Pass ON_TEXT_AREA coordinate to
buffer_posn_from_coords counting from the start of the text area.
(Fposn_at_x_y, make_lispy_event): Callers changed.
* src/window.c (coordinates_in_window): Change X and Y to ints rather
than pointers; don't return coordinates via pointers.
(struct check_window_data): Change X and Y from pointers to ints.
(window_from_coordinates): Remove args WX and WY; don't return
coordinates via pointers.
(Fcoordinates_in_window_p, window_from_coordinates):
(check_window_containing, Fwindow_at): Callers changed.
(window_relative_x_coord): New function.
Dan Nicolaescu [Tue, 16 Nov 2010 06:44:51 +0000 (22:44 -0800)]
Convert definitions to standard C.
* src/strftime.c (LOCALE_PARAM_DECL): Update for standard C.
(LOCALE_PARAM, LOCALE_PARAM_PROTO): Remove, unused.
(memcpy_lowcase, so_week_days, extra_args_spec, emacs_strftimeu):
Convert definitions to standard C.
* src/regex.c: Do not include <stdlib.h>, config.h does it.
Include unistd.h.
(xrealloc, init_syntax_once, re_match, regcomp, regexec)
(regerror, regfree): Convert definitions to standard C.
* src/mktime.c (my_mktime_localtime_r, ydhms_tm_diff, ranged_convert)
(__mktime_internal): Convert definitions to standard C.
Rework how Gnus is supposed to be able to display all the images in HTML.
shr.el (shr-tag-img): Put a displayer in the text property.
gnus-util.el (gnus-find-text-property-region): New utility function.
gnus-html.el (gnus-html-display-image): Make the alt optional.
gnus-html.el (gnus-html-show-images): Remove.
gnus-art.el (gnus-article-show-images): New, more general function.
gnus-html.el, shr.el: Use image-url instead of gnus-image-url to unify the image url text properties.
* keyboard.c (modify_event_symbol) : Add const to array elements of arg NAME_TABLE.
(lispy_accent_keys, lispy_function_keys, lispy_multimedia_keys)
(lispy_kana_keys, iso_lispy_function_keys, lispy_wheel_names)
(lispy_wheel_names, lispy_drag_n_drop_names, modifier_names):
Add const to array elements.
(scroll_bar_parts): Make static. Fix position of const.
* w32fns.c (lispy_function_keys): Add const to extern.
Ken Manheimer [Sat, 13 Nov 2010 22:30:10 +0000 (17:30 -0500)]
(allout-keybindings), (allout-bind-keys), (allout-keybindings-binding),
allout-prefixed-keybindings, allout-unprefixed-keybindings,
allout-preempt-trailing-ctrl-h, allout-keybindings-list,
allout-mode-map-adjustments, (allout-setup-mode-map):
Establish allout-mode keymaps as user customizable settings, and also
establish a customizable setting which regulates whether or not a trailing
control-h is reserved for use with describe-prefix-bindings - and inihibit
it by default, so that control-h *is* reserved for
describe-prefix-bindings unless the user changes this setting.
(allout-hotspot-key-handler): Distinguish more explicitly and accurately
between modified and unmodified events, and handle modified events more
comprehensively.
(allout-substring-no-properties): Alias to use or provide version of
'substring-no-properties'.
(allout-solicit-alternate-bullet): Use 'allout-substring-no-properties'.
(allout-next-single-char-property-change): Alias to use or provide version
of 'next-single-char-property-change'.
(allout-annotate-hidden), (allout-hide-by-annotation): Use 'allout-next-single-char-property-change'.
(allout-select-safe-coding-system): Alias to use or provide version of
'select-safe-coding-system'.
(allout-toggle-subtree-encryption): Use 'allout-select-safe-coding-system'.
(allout-set-buffer-multibyte): Alias to use or provide version of
'set-buffer-multibyte'.
(allout-encrypt-string): Use 'allout-set-buffer-multibyte'.
(allout-called-interactively-p): Macro for using the different versions of
called-interactively-p identically, depending on the subroutine's argument
signature.
(allout-back-to-current-heading), (allout-beginning-of-current-entry)
- use '(interactive "p")' instead of '(called-interactively-p)'.
(allout-init), (allout-ascend), (allout-end-of-level),
(allout-previous-visible-heading), (allout-forward-current-level),
(allout-backward-current-level), (allout-show-children)
- use '(allout-called-interactively-p)' instead of '(called-interactively-p)'.
(allout-before-change-handler): Exempt edits to the (overlaid) character
after the allout outline bullet from edit confirmation prompt.
(allout-add-resumptions): Ensure that it respects correct buffer for
keybindings.
(allout-beginning-of-line): Use
'allout-previous-single-char-property-change' alias for the sake of diverse
compatibility.
(allout-end-of-line): Use 'allout-mark-active-p' to encapsulate respect
for mark activity.
substitute "???" for "XXX" for non-urgent comment remarks.
Jan D [Sat, 13 Nov 2010 18:59:28 +0000 (19:59 +0100)]
Fix Atoms and Lisp_Object mixup and related bugs.
* src/xselect.c (x_send_client_event): Move CHECK_STRING ...
(Fx_send_client_event): to here.
* src/xterm.c (set_wm_state): Don't put Atom in cons, call
make_fixnum_or_float on them first.
(x_term_init): Initialize Xatom_net_supporting_wm_check and
Xatom_net_supported correctly.
Chong Yidong [Sat, 13 Nov 2010 18:34:02 +0000 (13:34 -0500)]
Fix background-color setting in initial frame (Bug#7373).
* lisp/frame.el (frame-notice-user-settings): Don't clobber other
user-set parameters when calling face-set-after-frame-default in
response to background-color parameter (Bug#7373).
Eli Zaretskii [Sat, 13 Nov 2010 13:29:31 +0000 (15:29 +0200)]
Fix and document display of glyphless characters.
src/xdisp.c (set_cursor_from_row): Fix cursor positioning on
zero-width characters.
(syms_of_xdisp) <glyphless-char-display>: Doc fix.
src/.gdbinit (pgx): Adapt to latest changes in `struct glyph'.
src/w32term.c (x_draw_glyphless_glyph_string_foreground): Draw the
box before drawing the glyphs inside it.
src/dispextern.h (enum glyphless_display_method): Rename
GLYPHLESS_DISPLAY_HEXA_CODE to GLYPHLESS_DISPLAY_HEX_CODE. All
users changed.
src/term.c (append_glyphless_glyph, produce_glyphless_glyph): Fix
comments.
(produce_glyphless_glyph): Enclose "U+nnnn" and "empty box"
whitespace in "[]", to simulate a box. Don't use uninitialized
variable `width'.
lisp/international/characters.el (glyphless-char-display-control):
Renamed from glyphless-char-control; all users changed. Doc fix.
Signal an error if display method is not one of the recognized
symbols.
doc/emacs/rmail.texi (Rmail Coding): Characters with no fonts are not
necessarily displayed as empty boxes.
doc/emacs/mule.texi (Language Environments, Fontsets): Characters with no
fonts are not necessarily displayed as empty boxes.
doc/emacs/display.texi (Text Display): Document display of glyphless
characters.
doc/lispref/display.texi (Usual Display): Characters with no fonts are not
necessarily displayed as empty boxes.
etc/NEWS: Document display of glyphless characters.
* net/tramp-sh.el (tramp-sh-handle-insert-directory) Use
`point-at-bol'.
(tramp-remote-coding-commands): Add an alternative using "base64
-d -i". This is needed for older base64 versions from GNU
coreutils. Reported by Klaus Reichl
<Klaus.Reichl@thalesgroup.com>.
Stefan Monnier [Fri, 12 Nov 2010 13:33:44 +0000 (08:33 -0500)]
* lisp/skeleton.el (skeleton-newline): New function.
(skeleton-internal-1): Use it.
(skeleton-read): Don't use `newline' since it may strip trailing space.
Jan Djärv [Fri, 12 Nov 2010 09:31:44 +0000 (10:31 +0100)]
Apply XAtom revork patches from Julien Danjou.
* xsettings.c (init_xsettings): Use already fetch atoms.
* xsmfns.c (create_client_leader_window): Use SM_CLIENT_ID atom
from dpyinfo.
* xselect.c (Fx_send_client_event): Split and create
x_send_client_event.
* lisp.h: Do not EXFUN Fx_send_client_event.
* xterm.c (x_set_frame_alpha): Use _NET_WM_WINDOW_OPACITY atom
from dpyinfo.
(wm_supports): Use atoms from dpyinfo.
(do_ewmh_fullscreen): Use atoms from dpyinfo.
(x_ewmh_activate_frame): Use atoms from dpyinfo.
(xembed_set_info): Use atoms from dpyinfo.
(x_term_init): Fetch _XEMBED_INFO, _NET_SUPPORTED,
_NET_SUPPORTING_WM_CHECK, _NET_WM_WINDOW_OPACITY and
_NET_ACTIVE_WINDOW, XSETTINGS atoms.
Get all atoms in one round-trip.
(set_wm_state): Use x_send_client_event rather than
Fx_send_client_event, using Atom directly.
(x_ewmh_activate_frame): Ditto.
(x_set_sticky): Pass atoms to set_wm_state.
(do_ewmh_fullscreen): Ditto.
Katsumi Yamaoka [Thu, 11 Nov 2010 23:51:05 +0000 (23:51 +0000)]
Make mm-dissect-buffer pass sender's mail address to smime-decrypt-region.
mm-decode.el (mm-dissect-buffer): Pass sender's mail address to smime-decrypt-region using function argument.
mm-decode.el (mm-possibly-verify-or-decrypt, mm-dissect-multipart): Relay it.
mm-view.el (mm-view-pkcs7, mm-view-pkcs7-decrypt): Relay it.
smime.el (smime-decrypt-region): Catch it.
Andrew Cohen [Thu, 11 Nov 2010 02:10:07 +0000 (02:10 +0000)]
nnir.el (nnir-request-move-article): fix to provide original group and subject.
nnir.el (nnir-warp-to-article): don't fail on articles whose headers haven't been retrieved.
gnus-sum.el (gnus-summary-move-article): use original group and subject for virtual articles such as those in an nnir summary buffer.