Paul Eggert [Fri, 27 May 2011 19:32:01 +0000 (12:32 -0700)]
* xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings.
(x_handle_selection_request, frame_for_x_selection): Remove unused vars.
(x_clipboard_manager_save): Now static.
(Fx_clipboard_manager_save): Rename local to avoid shadowing.
Chong Yidong [Fri, 27 May 2011 16:17:59 +0000 (12:17 -0400)]
Support X clipboard managers.
* lisp/select.el (xselect-convert-to-targets): Add MULTIPLE target to list.
(xselect-convert-to-save-targets): New function.
* src/xselect.c: Support for clipboard managers.
(Vselection_alist): Move to termhooks.h as terminal-local var.
(LOCAL_SELECTION): New macro.
(x_atom_to_symbol): Handle x_display_info_for_display fail case.
(symbol_to_x_atom): Remove gratuitous arg.
(x_handle_selection_request, lisp_data_to_selection_data)
(x_get_foreign_selection, Fx_register_dnd_atom): Callers changed.
(x_own_selection, x_get_local_selection, x_convert_selection): New
arg, specifying work frame. Use terminal-local Vselection_alist.
(some_frame_on_display): Delete unused function.
(Fx_own_selection_internal, Fx_get_selection_internal)
(Fx_disown_selection_internal, Fx_selection_owner_p)
(Fx_selection_exists_p): New optional frame arg.
(frame_for_x_selection, Fx_clipboard_manager_save): New functions.
(x_handle_selection_clear): Don't treat other terminals with the
same keyboard specially. Use the terminal-local Vselection_alist.
(x_clear_frame_selections): Use Frun_hook_with_args.
* src/termhooks.h (Vselection_alist): Make it terminal-local.
* src/terminal.c (create_terminal): Initialize it.
* src/xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms.
Chong Yidong [Thu, 26 May 2011 17:42:32 +0000 (13:42 -0400)]
* src/xselect.c: ICCCM-compliant handling of MULTIPLE targets.
(converted_selections, conversion_fail_tag): New global variables.
(x_selection_request_lisp_error): Free the above.
(x_get_local_selection): Remove unnecessary code.
(x_reply_selection_request): Args changed; handle arbitrary array
of converted selections stored in converted_selections. Separate
the XChangeProperty and SelectionNotify steps.
(x_handle_selection_request): Rewrite to handle MULTIPLE target.
(x_convert_selection): New function.
(x_handle_selection_event): Simplify.
(x_get_foreign_selection): Don't ignore incoming requests while
waiting for an answer; this will fail when we implement
SAVE_TARGETS, and seems unnecessary anyway.
(selection_data_to_lisp_data): Recognize ATOM_PAIR type.
(Vx_sent_selection_functions): Doc fix.
Take account of periodic fringe bitmap's dependency on y-position in redrawing.
* dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p.
* dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row
for fringe update if it has periodic bitmap.
(row_equal_p): Also compare left_fringe_offset, right_fringe_offset,
and fringe_bitmap_periodic_p.
* fringe.c (get_fringe_bitmap_data): New function.
(draw_fringe_bitmap_1, update_window_fringes): Use it.
(update_window_fringes): Record periodicity of fringe bitmap in glyph
row. Mark glyph row for fringe update if periodicity changed.
* xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row
for fringe update unless it has periodic bitmap.
Glenn Morris [Wed, 25 May 2011 02:33:35 +0000 (19:33 -0700)]
Small further clean-up in lib-src/Makefile.in
* lib-src/Makefile.in (.c.o): Remove (every .o file has an explicit rule).
(insrcdir): New.
(stamp-rcs2log, stamp-rcs-checkin, stamp-grep-changelog, stamp-vcdiff):
Use $insrcdir to suppress unaesthetic ignored errors.
(clean): Simplify list of things to delete.
Vincent Belaïche [Tue, 24 May 2011 18:22:09 +0000 (15:22 -0300)]
* lisp/play/5x5.el (5x5-new-game, 5x5-randomize):
Reset 5x5-solver-output to nil when a new grid is cast.
(5x5-log-init, 5x5-log): Use defsubst instead of defmacro to shunt
these debugging traces, as defmacro breaks the compiled code.
Glenn Morris [Tue, 24 May 2011 17:23:15 +0000 (13:23 -0400)]
Reimplement trunk 2011-05-24T08:02:58Z!rgm@gnu.org in a way visible to automake.
* configure.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES): New variable, passed to AC_CONFIG_FILES.
(SUBDIR_MAKEFILES_IN): New output variable.
* Makefile.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES_IN): Let configure set it.
Glenn Morris [Tue, 24 May 2011 08:02:58 +0000 (01:02 -0700)]
Define the list of subdir Makefiles only in configure.in.
* configure.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES): New variable, passed to AC_CONFIG_FILES.
(SUBDIR_MAKEFILES_IN): New output variable.
* Makefile.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES_IN): Let configure set it.
Glenn Morris [Tue, 24 May 2011 04:00:56 +0000 (21:00 -0700)]
Restore test/ to its non-distributed state (bug#8107)
* make-dist: Don't distribute test/.
* configure.in (OPT_MAKEFILES_IN): New output variable.
(AC_CONFIG_FILES): Conditionally include test/automated/Makefile.
* Makefile.in (OPT_MAKEFILES_IN): New, set by configure.
(SUBDIR_MAKEFILES_IN): Use $OPT_MAKEFILES_IN.
(check): Give an explicit error if test/ is not present.
Stefan Monnier [Tue, 24 May 2011 02:45:50 +0000 (23:45 -0300)]
Add an :exit-function for completion-at-point.
* lisp/minibuffer.el (completion--done): New fun.
(completion--do-completion): Use it. New arg `expect-exact'.
(minibuffer-complete, minibuffer-complete-word): Don't output message,
since completion--do-completion does it for us now.
(minibuffer-force-complete): Use completion--done and
completion--replace. Handle sole-completion case with more care.
(minibuffer-complete-and-exit): Use new `expect-exact' arg.
(completion-extra-properties): New var.
(completion-annotate-function): Make obsolete.
(minibuffer-completion-help): Adjust accordingly.
Use completion-list-insert-choice-function.
(completion-at-point, completion-help-at-point):
Bind completion-extra-properties.
(completion-pcm-word-delimiters): Add | (for uniquify, for example).
* lisp/simple.el (completion-list-insert-choice-function): New var.
(completion-setup-function): Preserve it.
(choose-completion): Pay attention to it, shuffle the code a bit.
(choose-completion-string): New arg `insert-function'.
* lisp/textmodes/bibtex.el: Convert to lexical binding.
(bibtex-mode-map): Use completion-at-point.
(bibtex-mode): Use define-derived-mode&completion-at-point-functions.
(bibtex-completion-at-point-function): New fun, from bibtex-complete.
(bibtex-complete): Define as obsolete alias.
(bibtex-complete-internal): Remove.
(bibtex-format-entry): Remove unused sub-group in regexp.
* lisp/shell.el (shell--command-completion-data)
(shell-environment-variable-completion):
* lisp/pcomplete.el (pcomplete-completions-at-point):
* lisp/comint.el (comint--complete-file-name-data): Use :exit-function
instead of completion-table-with-terminator so it also works for
choose-completion.
Ken Manheimer [Mon, 23 May 2011 15:03:04 +0000 (11:03 -0400)]
* allout.el (allout-inhibit-auto-fill-on-headline): Create new
customization variable and implement: If non-nil, auto-fill will be
inhibited while on topic's header line.
Vincent Belaïche [Mon, 23 May 2011 14:46:41 +0000 (11:46 -0300)]
* lisp/play/5x5.el: I/ Add an arithmetic solver to suggest positions to
click on. II/ Make 5x5 multisession. III/ Ensure that random grids
always have a solution in grid size = 5 cases.
(5x5-mode-map): Add keybinding to function `5x5-solve-suggest'.
(5x5-solver-output, 5x5-log-buffer): New vars.
(5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking):
Make these variables buffer local to achieve 5x5 multi-session-ness.
(5x5): Set 5x5-grid-size only if SIZE is non-negative.
(5x5-grid-to-vec, 5x5-vec-to-grid, 5x5-log-init, 5x5-log, 5x5-solver)
(5x5-solve-suggest): New funs.
(5x5-randomize): Use 5x5-make-move instead of 5x5-flip-cell to
randomize a grid so that we ensure that there is always a solution.
(5x5-make-random-grid): Allow other movement than flipping.
Paul Eggert [Mon, 23 May 2011 00:03:40 +0000 (17:03 -0700)]
* gnutls.c: Remove unused macros.
(fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function):
(fn_gnutls_transport_set_push_function) [!WINDOWSNT]:
Remove macros that are defined and never used.
Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14).
Chong Yidong [Sun, 22 May 2011 21:57:43 +0000 (17:57 -0400)]
Remove var mistakenly introduced in 2011-05-22T19:46:47Z!cyd@stupidchicken.com.
* src/xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS.
(Fx_get_selection_internal): Minor cleanup.
(Fx_own_selection_internal): Rename arguments for consistency with
select.el.
Stefan Monnier [Sun, 22 May 2011 18:22:30 +0000 (15:22 -0300)]
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for
funcall as well. Warn when performing those conversions.
* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix error report.
Glenn Morris [Sun, 22 May 2011 00:04:49 +0000 (17:04 -0700)]
More small hack-local-variables tweaks for MODE-ONLY case.
* lisp/files.el (hack-local-variables-prop-line): Small simplifications.
(hack-local-variables, hack-local-variables-prop-line):
If MODE-ONLY, return the mode, rather than just `t'.