Commit graph

876 commits

Author SHA1 Message Date
Stefan Monnier
034086489c Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.

* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.

* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.

* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el: 
* lisp/newcomment.el: 
* lisp/reveal.el: 
* lisp/server.el: 
* lisp/mpc.el: 
* lisp/emacs-lisp/smie.el: 
* lisp/doc-view.el: 
* lisp/dired.el: 
* lisp/abbrev.el: Use lexical binding.

* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.

* lisp/files.el (lexical-binding): Declare safe.

* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.

* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.

* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.

* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.

* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.

* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.

* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.

* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix.  Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions.  Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.

* lisp/emacs-lisp/cconv.el: New file.

* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.

* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.

* lisp/emacs-lisp/cl.el (pushnew): Silence warning.

* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.

* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.

* lisp/emacs-lisp/eieio-comp.el: Remove.

* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.

* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.

* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.

* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros.  Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.

* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize.  Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.

* src/alloc.c (Fmake_symbol): Init new `declared_special' field.

* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.

* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions.  Add new byte-codes.

* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.

* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.

* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval.  Use it almost
everywhere where Feval was used.  Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.

* src/fns.c (concat, mapcar1): Accept byte-code-functions.

* src/image.c (parse_image_spec): Use Ffunctionp.

* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.

* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.

* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.

* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 13:19:52 -04:00
Stefan Monnier
7200d79c65 Miscellanous cleanups in preparation for the merge.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Remove debug statement.
* lisp/emacs-lisp/bytecomp.el (byte-compile-single-version)
(byte-compile-version-cond, byte-compile-delay-out)
(byte-compile-delayed-out): Remove, unused.
* src/bytecode.c (Fbyte_code): Revert to old calling convention.
* src/lisp.h (COMPILED_PUSH_ARGS): Remove, unused.
2011-04-01 11:16:50 -04:00
Stefan Monnier
40d83b412f Merge from trunk 2011-03-31 00:24:03 -04:00
Juanma Barranquero
e4cc2dfc38 src/xdisp.c: Remove unused parameters.
* dispextern.h (move_it_by_lines):
* xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
  since 2000-12-29T14:24:09Z!gerd@gnu.org.  All callers changed.
  (message_log_check_duplicate): Remove parameters `prev_bol' and
  `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org.  All callers changed.
  (redisplay_internal): Remove parameter `preserve_echo_area',
  unused since 1999-07-21T21:43:52Z!gerd@gnu.org.  All callers changed.
* indent.c (Fvertical_motion):
* window.c (window_scroll_pixel_based, Frecenter):
  Don't pass `need_y_p' to `move_it_by_lines'.
2011-03-31 03:37:51 +02:00
Paul Eggert
c499e55717 * window.c (shrink_windows): Omit unused local var. 2011-03-28 23:59:27 -07:00
Julien Danjou
dee091a37f Use Frun_hooks rather than calling Vrun_hooks manually 2011-03-23 11:06:57 +01:00
Stefan Monnier
cafdcef32d Merge from trunk 2011-03-21 12:42:16 -04:00
Paul Eggert
d6550a9f30 2011-03-08 Paul Eggert <eggert@cs.ucla.edu>
* window.c (size_window): Mark variables that gcc -Wuninitialized
does not deduce are never used uninitialized.
2011-03-07 16:06:36 -08:00
Paul Eggert
7e5cf29773 * window.c (display_buffer): Now static. 2011-03-06 23:06:05 -08:00
Paul Eggert
4554d21363 * window.c (window_loop, size_window):
(run_window_configuration_change_hook, enlarge_window):
Rename locals to avoid shadowing.
2011-03-06 22:58:49 -08:00
Stefan Monnier
0d6459dfb5 Merge from trunk 2011-03-06 16:22:16 -05:00
Michael Shields
aa248733c5 Doc fixes for bug#5567 (tiny change)
* lisp/window.el (one-window-p, walk-windows, display-buffer): Doc fixes.
* src/window.c (Fnext_window): Doc (and comment) fixes.
2011-03-05 18:14:43 -08:00
Stefan Monnier
f619ad4ca2 Merge from trunk 2011-02-21 17:34:51 -05:00
Stefan Monnier
3e21b6a72b Use offsets relative to top rather than bottom for stack refs
* lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-and-error-free-ops):
Remove interactive-p.
(byte-optimize-lapcode): Update optimizations now that stack-refs are
relative to the top rather than to the bottom.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
Turn stack-ref-0 into dup.
(byte-compile-form): Don't indirect-function since it can signal
errors.
(byte-compile-stack-ref, byte-compile-stack-set): Adjust to stack-refs
being relative to top rather than to bottom in the byte-code.
(with-output-to-temp-buffer): Remove.
(byte-compile-with-output-to-temp-buffer): Remove.
* lisp/emacs-lisp/cconv.el: Use lexical-binding.
(cconv--lookup-let): Rename from cconv-lookup-let.
(cconv-closure-convert-rec): Fix handling of captured+mutated
arguments in defun/defmacro.
* lisp/emacs-lisp/eieio-comp.el (eieio-byte-compile-file-form-defmethod):
Rename from byte-compile-file-form-defmethod.
Don't byte-compile-lambda.
(eieio-byte-compile-defmethod-param-convert): Rename from
byte-compile-defmethod-param-convert.
* lisp/emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one):
Call byte-compile rather than byte-compile-lambda.
* src/alloc.c (Fgarbage_collect): Don't mark the byte-stack redundantly.
* src/bytecode.c (exec_byte_code): Change stack_ref and stack_set to use
offsets relative to top rather than to bottom.
* lisp/subr.el (with-output-to-temp-buffer): New macro.
* lisp/simple.el (count-words-region): Don't use interactive-p.
2011-02-21 15:12:44 -05:00
Stefan Monnier
e0f57e6569 * lisp/subr.el (save-window-excursion): New macro, moved from C.
* lisp/emacs-lisp/lisp-mode.el (save-window-excursion): Don't touch.
* lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec, cconv-analyse-form):
Don't handle save-window-excursion any more.
* lisp/emacs-lisp/bytecomp.el (interactive-p, save-window-excursion):
Don't use the byte-code any more.
(byte-compile-form): Check macro expansion was done.
(byte-compile-save-window-excursion): Remove.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Ignore save-window-excursion.  Don't macroepand any more.

* src/window.c (Fsave_window_excursion): Remove.  Moved to Lisp.
(syms_of_window): Don't defsubr it.
* src/window.h (Fsave_window_excursion): Don't declare it.
* src/bytecode.c (exec_byte_code): Inline Fsave_window_excursion.
2011-02-19 00:10:33 -05:00
Tom Tromey
1344aad491 Hide implementation of `struct kboard'
* callint.c (Fcall_interactively): Update.
	* doc.c (Fsubstitute_command_keys): Update.
	* cmds.c (Fself_insert_command): Update.
	* keymap.c (Fcurrent_active_maps, Fkey_binding)
	(Fdescribe_buffer_bindings): Update.
	* macros.c (Fstart_kbd_macro, end_kbd_macro, Fend_kbd_macro)
	(store_kbd_macro_char, Fcall_last_kbd_macro, Fexecute_kbd_macro):
	Update.
	* keyboard.c (echo_char, echo_dash, echo_now, cancel_echoing)
	(echo_length, echo_truncate, cmd_error, command_loop_1)
	(read_char, kbd_buffer_store_event_hold, make_lispy_event)
	(menu_bar_items, tool_bar_items, read_char_minibuf_menu_prompt)
	(read_key_sequence, Fcommand_execute, Fexecute_extended_command)
	(Fdiscard_input, init_kboard, init_keyboard, mark_kboards):
	Update.
	* xfns.c (Fx_create_frame): Update.
	* xterm.c (x_connection_closed, x_term_init): Update.
	* term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN, init_tty):
	Update.
	* window.c (window_scroll_pixel_based, window_scroll_line_based):
	Update.
	* frame.c (make_frame_without_minibuffer, Fhandle_switch_frame)
	(delete_frame): Update.
	* lisp.h (DEFVAR_KBOARD): Update for change to field names.
	* keyboard.h (struct kboard): Rename all Lisp_Object fields.
	(KBOARD_INTERNAL_FIELD, KVAR): New macros.
2011-02-16 09:35:16 -07:00
Tom Tromey
4b4deea229 Change B_ to BVAR
* xfns.c (x_create_tip_frame, Fx_show_tip): Replace B_ with BVAR.
	* xfaces.c (compute_char_face): Replace B_ with BVAR.
	* xdisp.c (pos_visible_p, init_iterator, reseat_1)
	(message_dolog, update_echo_area, ensure_echo_area_buffers)
	(with_echo_area_buffer, setup_echo_area_for_printing)
	(set_message_1, update_menu_bar, update_tool_bar)
	(text_outside_line_unchanged_p, redisplay_internal)
	(try_scrolling, try_cursor_movement, redisplay_window)
	(try_window_reusing_current_matrix, row_containing_pos)
	(try_window_id, get_overlay_arrow_glyph_row, display_line)
	(Fcurrent_bidi_paragraph_direction, display_mode_lines)
	(decode_mode_spec_coding, decode_mode_spec, display_count_lines)
	(get_window_cursor_type, note_mouse_highlight): Replace B_ with
	BVAR.
	* window.c (window_display_table, unshow_buffer, window_loop)
	(window_min_size_2, set_window_buffer, Fset_window_buffer)
	(select_window, Fforce_window_update, temp_output_buffer_show)
	(Fset_window_configuration, save_window_save): Replace B_ with
	BVAR.
	* w32fns.c (x_create_tip_frame, Fx_show_tip, Fw32_shell_execute):
	Replace B_ with BVAR.
	* undo.c (record_point, record_insert, record_delete)
	(record_marker_adjustment, record_first_change)
	(record_property_change, Fundo_boundary, truncate_undo_list)
	(Fprimitive_undo): Replace B_ with BVAR.
	* syntax.h (Vstandard_syntax_table, CURRENT_SYNTAX_TABLE)
	(SETUP_BUFFER_SYNTAX_TABLE): Replace B_ with BVAR.
	* syntax.c (update_syntax_table, dec_bytepos, Fsyntax_table)
	(Fset_syntax_table, Fmodify_syntax_entry, skip_chars)
	(skip_syntaxes, scan_lists): Replace B_ with BVAR.
	* search.c (compile_pattern_1, compile_pattern, looking_at_1)
	(string_match_1, fast_looking_at, newline_cache_on_off)
	(search_command, search_buffer, simple_search, boyer_moore)
	(Freplace_match): Replace B_ with BVAR.
	* process.c (get_process, list_processes_1, Fstart_process)
	(Fmake_serial_process, Fmake_network_process)
	(read_process_output, send_process, exec_sentinel)
	(status_notify, setup_process_coding_systems): Replace B_ with
	BVAR.
	* print.c (PRINTDECLARE, PRINTPREPARE, PRINTFINISH, printchar)
	(strout, print_string, temp_output_buffer_setup, print_object):
	Replace B_ with BVAR.
	* msdos.c (IT_frame_up_to_date): Replace B_ with BVAR.
	* minibuf.c (read_minibuf, get_minibuffer, Fread_buffer): Replace
	B_ with BVAR.
	* marker.c (Fmarker_buffer, Fset_marker, set_marker_restricted)
	(set_marker_both, set_marker_restricted_both, unchain_marker):
	Replace B_ with BVAR.
	* lread.c (readchar, unreadchar, openp, readevalloop)
	(Feval_buffer, Feval_region): Replace B_ with BVAR.
	* lisp.h (DOWNCASE_TABLE, UPCASE_TABLE): Replace B_ with BVAR.
	* keymap.c (Flocal_key_binding, Fuse_local_map)
	(Fcurrent_local_map, push_key_description)
	(Fdescribe_buffer_bindings): Replace B_ with BVAR.
	* keyboard.c (command_loop_1, read_char_minibuf_menu_prompt)
	(read_key_sequence): Replace B_ with BVAR.
	* intervals.h (TEXT_PROP_MEANS_INVISIBLE): Replace B_ with BVAR.
	* intervals.c (set_point_both, get_local_map): Replace B_ with
	BVAR.
	* insdel.c (check_markers, insert_char, insert_1_both)
	(insert_from_string_1, insert_from_gap, insert_from_buffer_1)
	(adjust_after_replace, replace_range, del_range_2)
	(modify_region, prepare_to_modify_buffer)
	(Fcombine_after_change_execute): Replace B_ with BVAR.
	* indent.c (buffer_display_table, recompute_width_table)
	(width_run_cache_on_off, current_column, scan_for_column)
	(Findent_to, position_indentation, compute_motion, vmotion):
	Replace B_ with BVAR.
	* fringe.c (get_logical_cursor_bitmap)
	(get_logical_fringe_bitmap, update_window_fringes): Replace B_
	with BVAR.
	* frame.c (make_frame_visible_1): Replace B_ with BVAR.
	* font.c (font_at): Replace B_ with BVAR.
	* fns.c (Fbase64_encode_region, Fbase64_decode_region, Fmd5):
	Replace B_ with BVAR.
	* filelock.c (unlock_all_files, Flock_buffer, Funlock_buffer)
	(unlock_buffer): Replace B_ with BVAR.
	* fileio.c (Fexpand_file_name, Ffile_directory_p)
	(Ffile_regular_p, Ffile_selinux_context)
	(Fset_file_selinux_context, Ffile_modes, Fset_file_modes)
	(Fset_file_times, Ffile_newer_than_file_p, decide_coding_unwind)
	(Finsert_file_contents, choose_write_coding_system)
	(Fwrite_region, build_annotations, Fverify_visited_file_modtime)
	(Fset_visited_file_modtime, auto_save_error, auto_save_1)
	(Fdo_auto_save, Fset_buffer_auto_saved): Replace B_ with BVAR.
	* editfns.c (region_limit, Fmark_marker, save_excursion_save)
	(save_excursion_restore, Fprevious_char, Fchar_before)
	(general_insert_function, Finsert_char, Finsert_byte)
	(make_buffer_string_both, Finsert_buffer_substring)
	(Fcompare_buffer_substrings, subst_char_in_region_unwind)
	(subst_char_in_region_unwind_1, Fsubst_char_in_region)
	(Ftranslate_region_internal, save_restriction_restore)
	(Fchar_equal): Replace B_ with BVAR.
	* dispnew.c (Fframe_or_buffer_changed_p): Replace B_ with BVAR.
	* dispextern.h (WINDOW_WANTS_MODELINE_P)
	(WINDOW_WANTS_HEADER_LINE_P): Replace B_ with BVAR.
	* dired.c (directory_files_internal): Replace B_ with BVAR.
	* data.c (swap_in_symval_forwarding, set_internal)
	(Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
	Replace B_ with BVAR.
	* composite.c (fill_gstring_header)
	(composition_compute_stop_pos, composition_adjust_point)
	(Ffind_composition_internal): Replace B_ with BVAR.
	* coding.c (decode_coding, encode_coding)
	(make_conversion_work_buffer, decode_coding_gap)
	(decode_coding_object, encode_coding_object)
	(Fdetect_coding_region, Ffind_coding_systems_region_internal)
	(Funencodable_char_position, Fcheck_coding_systems_region):
	Replace B_ with BVAR.
	* cmds.c (Fself_insert_command, internal_self_insert): Replace B_
	with BVAR.
	* charset.c (Ffind_charset_region): Replace B_ with BVAR.
	* character.h (FETCH_CHAR_ADVANCE, INC_BOTH, DEC_BOTH)
	(ASCII_CHAR_WIDTH): Replace B_ with BVAR.
	* character.c (chars_in_text, Fget_byte): Replace B_ with BVAR.
	* category.h (Vstandard_category_table): Replace B_ with BVAR.
	* category.c (check_category_table, Fcategory_table)
	(Fset_category_table, char_category_set): Replace B_ with BVAR.
	* casetab.c (Fcurrent_case_table, set_case_table): Replace B_ with
	BVAR.
	* casefiddle.c (casify_object, casify_region): Replace B_ with
	BVAR.
	* callproc.c (Fcall_process, Fcall_process_region): Replace B_
	with BVAR.
	* callint.c (check_mark, Fcall_interactively): Replace B_ with
	BVAR.
	* bytecode.c (Fbyte_code): Replace B_ with BVAR.
	* buffer.h (FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE, BVAR): Replace B_
	with BVAR.
	* buffer.c (Fbuffer_live_p, Fget_file_buffer)
	(get_truename_buffer, Fget_buffer_create)
	(clone_per_buffer_values, Fmake_indirect_buffer, reset_buffer)
	(reset_buffer_local_variables, Fbuffer_name, Fbuffer_file_name)
	(Fbuffer_local_value, buffer_lisp_local_variables)
	(Fset_buffer_modified_p, Frestore_buffer_modified_p)
	(Frename_buffer, Fother_buffer, Fbuffer_enable_undo)
	(Fkill_buffer, Fset_buffer_major_mode, set_buffer_internal_1)
	(set_buffer_temp, Fset_buffer, set_buffer_if_live)
	(Fbarf_if_buffer_read_only, Fbury_buffer, Ferase_buffer)
	(Fbuffer_swap_text, swapfield_, Fbuffer_swap_text)
	(Fset_buffer_multibyte, swap_out_buffer_local_variables)
	(record_overlay_string, overlay_strings, init_buffer_once)
	(init_buffer, syms_of_buffer): Replace B_ with BVAR.
2011-02-16 08:02:50 -07:00
Tom Tromey
5d8ea1203d Hide implementation of `struct buffer'
* composite.c (fill_gstring_header)
	(composition_compute_stop_pos, composition_adjust_point)
	(Ffind_composition_internal): Use B_.
	* intervals.c (set_point_both, get_local_map): Use B_.
	* callproc.c (Fcall_process, Fcall_process_region): Use B_.
	* process.c (get_process, list_processes_1, Fstart_process)
	(Fmake_serial_process, Fmake_network_process)
	(read_process_output, send_process, exec_sentinel)
	(status_notify, setup_process_coding_systems): Use B_.
	* bytecode.c (Fbyte_code): Use B_.
	* syntax.c (update_syntax_table, dec_bytepos, Fsyntax_table)
	(Fset_syntax_table, Fmodify_syntax_entry, skip_chars)
	(skip_syntaxes, scan_lists): Use B_.
	* lread.c (readchar, unreadchar, openp, readevalloop)
	(Feval_buffer, Feval_region): Use B_.
	* print.c (printchar, strout, print_string, PRINTDECLARE)
	(PRINTPREPARE, PRINTFINISH, temp_output_buffer_setup)
	(print_object): Use B_.
	* font.c (font_at): Use B_.
	* fns.c (Fbase64_encode_region, Fbase64_decode_region, Fmd5): Use
	B_.
	* callint.c (check_mark, Fcall_interactively): Use B_.
	* editfns.c (region_limit, Fmark_marker, save_excursion_save)
	(save_excursion_restore, Fprevious_char, Fchar_before)
	(general_insert_function, Finsert_char, Finsert_byte)
	(make_buffer_string_both, Finsert_buffer_substring)
	(Fcompare_buffer_substrings, subst_char_in_region_unwind)
	(subst_char_in_region_unwind_1, Fsubst_char_in_region)
	(Ftranslate_region_internal, save_restriction_restore)
	(Fchar_equal): Use B_.
	* data.c (swap_in_symval_forwarding, set_internal)
	(Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
	Use B_.
	* undo.c (record_point, record_insert, record_delete)
	(record_marker_adjustment, record_first_change)
	(record_property_change, Fundo_boundary, truncate_undo_list)
	(Fprimitive_undo): Use B_.
	* search.c (compile_pattern_1, compile_pattern, looking_at_1)
	(string_match_1, fast_looking_at, newline_cache_on_off)
	(search_command, search_buffer, simple_search, boyer_moore)
	(Freplace_match): Use B_.
	* indent.c (buffer_display_table, recompute_width_table)
	(width_run_cache_on_off, current_column, scan_for_column)
	(Findent_to, position_indentation, compute_motion, vmotion): Use
	B_.
	* casefiddle.c (casify_object, casify_region): Use B_.
	* casetab.c (Fcurrent_case_table, set_case_table): Use B_.
	* cmds.c (Fself_insert_command, internal_self_insert): Use B_.
	* fileio.c (Fexpand_file_name, Ffile_directory_p)
	(Ffile_regular_p, Ffile_selinux_context)
	(Fset_file_selinux_context, Ffile_modes, Fset_file_modes)
	(Fset_file_times, Ffile_newer_than_file_p, decide_coding_unwind)
	(Finsert_file_contents, choose_write_coding_system)
	(Fwrite_region, build_annotations, Fverify_visited_file_modtime)
	(Fset_visited_file_modtime, auto_save_error, auto_save_1)
	(Fdo_auto_save, Fset_buffer_auto_saved): Use B_.
	* minibuf.c (read_minibuf, get_minibuffer, Fread_buffer): Use B_.
	* marker.c (Fmarker_buffer, Fset_marker, set_marker_restricted)
	(set_marker_both, set_marker_restricted_both, unchain_marker): Use
	B_.
	* insdel.c (check_markers, insert_char, insert_1_both)
	(insert_from_string_1, insert_from_gap, insert_from_buffer_1)
	(adjust_after_replace, replace_range, del_range_2)
	(modify_region, prepare_to_modify_buffer)
	(Fcombine_after_change_execute): Use B_.
	* filelock.c (unlock_all_files, Flock_buffer, Funlock_buffer)
	(unlock_buffer): Use B_.
	* keymap.c (Flocal_key_binding, Fuse_local_map)
	(Fcurrent_local_map, push_key_description)
	(Fdescribe_buffer_bindings): Use B_.
	* keyboard.c (command_loop_1, read_char_minibuf_menu_prompt)
	(read_key_sequence): Use B_.
	* fringe.c (get_logical_cursor_bitmap)
	(get_logical_fringe_bitmap, update_window_fringes): Use B_.
	* xfns.c (x_create_tip_frame, Fx_show_tip): Use B_.
	* xfaces.c (compute_char_face): Use B_.
	* character.c (chars_in_text, Fget_byte): Use B_.
	* category.c (check_category_table, Fcategory_table)
	(Fset_category_table, char_category_set): Use B_.
	* coding.c (decode_coding, encode_coding)
	(make_conversion_work_buffer, decode_coding_gap)
	(decode_coding_object, encode_coding_object)
	(Fdetect_coding_region, Ffind_coding_systems_region_internal)
	(Funencodable_char_position, Fcheck_coding_systems_region): Use
	B_.
	* charset.c (Ffind_charset_region): Use B_.
	* window.c (window_display_table, unshow_buffer, window_loop)
	(window_min_size_2, set_window_buffer, Fset_window_buffer)
	(select_window, Fforce_window_update, temp_output_buffer_show)
	(Fset_window_configuration, save_window_save): Use B_.
	* xdisp.c (pos_visible_p, init_iterator, reseat_1)
	(message_dolog, update_echo_area, ensure_echo_area_buffers)
	(with_echo_area_buffer, setup_echo_area_for_printing)
	(set_message_1, update_menu_bar, update_tool_bar)
	(text_outside_line_unchanged_p, redisplay_internal)
	(try_scrolling, try_cursor_movement, redisplay_window)
	(try_window_reusing_current_matrix, row_containing_pos)
	(try_window_id, get_overlay_arrow_glyph_row, display_line)
	(Fcurrent_bidi_paragraph_direction, display_mode_lines)
	(decode_mode_spec_coding, decode_mode_spec, display_count_lines)
	(get_window_cursor_type, note_mouse_highlight): Use B_.
	* frame.c (make_frame_visible_1): Use B_.
	* dispnew.c (Fframe_or_buffer_changed_p): Use B_.
	* dispextern.h (WINDOW_WANTS_HEADER_LINE_P)
	(WINDOW_WANTS_MODELINE_P): Use B_.
	* syntax.h (Vstandard_syntax_table): Update.
	(CURRENT_SYNTAX_TABLE, SETUP_BUFFER_SYNTAX_TABLE): Use B_.
	* intervals.h (TEXT_PROP_MEANS_INVISIBLE): Update.
	(TEXT_PROP_MEANS_INVISIBLE): Use B_.
	* character.h (FETCH_CHAR_ADVANCE): Update.
	(INC_BOTH, ASCII_CHAR_WIDTH, DEC_BOTH): Use B_.
	* category.h (Vstandard_category_table): Update.
	* lisp.h (DEFVAR_BUFFER_DEFAULTS): Update for change to field
	names.
	(DOWNCASE_TABLE, UPCASE_TABLE): Use B_.
	* buffer.c (swapfield_): New macro.
	(Fbuffer_swap_text): Use swapfield_ where appropriate.
	(Fbuffer_live_p, Fget_file_buffer, get_truename_buffer)
	(Fget_buffer_create, clone_per_buffer_values)
	(Fmake_indirect_buffer, reset_buffer)
	(reset_buffer_local_variables, Fbuffer_name, Fbuffer_file_name)
	(Fbuffer_local_value, buffer_lisp_local_variables)
	(Fset_buffer_modified_p, Frestore_buffer_modified_p)
	(Frename_buffer, Fother_buffer, Fbuffer_enable_undo)
	(Fkill_buffer, Fset_buffer_major_mode, set_buffer_internal_1)
	(set_buffer_temp, Fset_buffer, set_buffer_if_live)
	(Fbarf_if_buffer_read_only, Fbury_buffer, Ferase_buffer)
	(Fbuffer_swap_text, Fset_buffer_multibyte)
	(swap_out_buffer_local_variables, record_overlay_string)
	(overlay_strings, init_buffer_once, init_buffer, syms_of_buffer):
	Use B_.
	* buffer.h (struct buffer): Rename all Lisp_Object fields.
	(BUFFER_INTERNAL_FIELD, B_): New macro.
	(FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE): Use B_.
2011-02-14 08:39:19 -07:00
Chong Yidong
84eb0351d8 Merge changes from emacs-23 branch 2011-02-12 18:40:43 -05:00
Martin Rudalics
bae1fa42dc Fix to select_window.
http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg00346.html

* window.c (select_window): Check inhibit_point_swap argument when
deciding whether to return immediately.
2011-02-08 19:11:15 -05:00
Glenn Morris
233ba4d924 Merge from emacs-23; up to 2010-05-26T14:19:15Z!monnier@iro.umontreal.ca. 2011-02-05 14:30:14 -08:00
Andreas Schwab
29feb0e9b5 * src/window.c (Fselect_window): Add missing return value. 2011-02-01 20:01:25 +01:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
7c82f3e23e Merge from emacs-23 2011-01-22 11:36:45 -08:00
Chong Yidong
bd2a4b24c4 Fix last change. 2011-01-22 10:55:08 -05:00
Martin Rudalics
e6b84b30bc Rework 2011-01-15 changes to window.c.
* src/window.c (select_window): New function.
(Fselect_window): Call it.
(inhibit_point_swap): Variable deleted.
(Fset_window_configuration): Call select_window directly.
2011-01-21 21:44:53 -05:00
Tom Tromey
ef79d2fac2 * window.c: Fix error introduced by previous patch. 2011-01-19 08:06:24 -07:00
Tom Tromey
29208e8237 Move all DEFVAR'd globals into a structure -- threading infrastructure
* globals.h: New file.
	* xterm.h (Vx_pixel_size_width_font_regexp): Remove declaration.
	* window.h (Vinitial_window_system, Vminibuf_scroll_window)
	(Vwindow_system_version): Remove declaration.
	* w32term.h (Vw32_enable_palette)
	(Vx_pixel_size_width_font_regexp): Remove declaration.
	* w32menu.c (Voverriding_local_map)
	(Voverriding_local_map_menu_flag): Remove declaration.
	* w32inevt.c (Vw32_alt_is_meta, Vw32_apps_modifier)
	(Vw32_capslock_is_shiftlock, Vw32_enable_caps_lock)
	(Vw32_enable_num_lock, Vw32_lwindow_modifier)
	(Vw32_pass_lwindow_to_system, Vw32_pass_rwindow_to_system)
	(Vw32_phantom_key_code, Vw32_recognize_altgr)
	(Vw32_rwindow_modifier, Vw32_scroll_lock_modifier)
	(w32_use_full_screen_buffer): Remove declaration.
	* w32.c (Vsystem_configuration, Vw32_downcase_file_names)
	(Vw32_generate_fake_inodes, Vw32_get_true_file_attributes)
	(w32_num_mouse_buttons, w32_pipe_read_delay): Remove declaration.
	* termopts.h (Vtruncate_partial_width_windows, inverse_video)
	(no_redraw_on_reenter, visible_bell): Remove declaration.
	* sysdep.c (Vsystem_name): Remove declaration.
	* syntax.h (parse_sexp_lookup_properties): Remove declaration.
	* menu.h (Vmenu_updating_frame): Remove declaration.
	* macros.h (Vexecuting_kbd_macro, executing_kbd_macro_index):
	Remove declaration.
	* lisp.h (Vafter_init_time, Vafter_load_alist)
	(Vauto_save_list_file_name, Vbefore_init_time, Vcommand_history)
	(Vcompletion_regexp_list, Vcurrent_load_list)
	(Vcurrent_prefix_arg, Vdata_directory, Vdebug_on_error)
	(Vdoc_directory, Vdoc_file_name, Vdynamic_library_alist)
	(Vexec_directory, Vexec_path, Vexec_suffixes)
	(Vface_font_rescale_alist, Vface_ignored_fonts, Vfeatures)
	(Vhelp_form, Vhistory_length, Vinhibit_field_text_motion)
	(Vinhibit_quit, Vinhibit_read_only, Vinhibit_redisplay)
	(Vinstallation_directory, Vinvocation_directory)
	(Vinvocation_name, Vload_file_rep_suffixes, Vload_history)
	(Vload_suffixes, Vmark_even_if_inactive, Vmemory_full)
	(Vmessage_log_max, Vobarray, Vprint_length, Vprint_level)
	(Vpurify_flag, Vquit_flag, Vsaved_region_selection)
	(Vscalable_fonts_allowed, Vselect_active_regions)
	(Vshell_file_name, Vstandard_input, Vstandard_output)
	(Vsystem_name, Vtemporary_file_directory, Vthrow_on_input)
	(Vtop_level, Vtty_erase_char, Vundo_outer_limit)
	(Vuser_login_name, Vwindow_scroll_functions)
	(Vwindow_system_version, Vx_no_window_manager)
	(Vx_resource_class, Vx_resource_name, baud_rate)
	(completion_ignore_case, debug_on_next_call, gc_cons_threshold)
	(history_delete_duplicates, inhibit_x_resources)
	(last_nonmenu_event, load_in_progress, max_specpdl_size)
	(minibuffer_auto_raise, print_escape_newlines, scroll_margin)
	(use_dialog_box, use_file_dialog): Remove declaration.  Include
	globals.h.
	* keymap.h (Voverriding_local_map)
	(Voverriding_local_map_menu_flag, meta_prefix_char): Remove
	declaration.
	* keyboard.h (Vdouble_click_time, Vfunction_key_map)
	(Vinput_method_function, Vkey_translation_map)
	(Vlucid_menu_bar_dirty_flag, Vthis_original_command)
	(do_mouse_tracking, extra_keyboard_modifiers)
	(num_nonmacro_input_events): Remove declaration.
	* intervals.h (Vchar_property_alias_alist)
	(Vdefault_text_properties, Vinhibit_point_motion_hooks)
	(Vtext_property_default_nonsticky): Remove declaration.
	* gtkutil.h (x_gtk_file_dialog_help_text)
	(x_gtk_show_hidden_files, x_gtk_use_old_file_dialog)
	(x_gtk_whole_detached_tool_bar): Remove declaration.
	* frame.h (Vdefault_frame_alist, Vframe_alpha_lower_limit)
	(Vmenu_bar_mode, Vmouse_highlight, Vterminal_frame)
	(Vtool_bar_mode, Vx_resource_class, Vx_resource_name)
	(focus_follows_mouse): Remove declaration.
	* fontset.h (Valternate_fontname_alist, Vfontset_alias_alist)
	(Vignore_relative_composition, Votf_script_alist)
	(Vuse_default_ascent, Vvertical_centering_font_regexp): Remove
	declaration.
	* font.h (Vfont_log): Remove declaration.
	* dosfns.h (Vdos_display_scancodes, Vdos_version)
	(Vdos_windows_version, dos_codepage, dos_country_code)
	(dos_decimal_point, dos_hyper_key, dos_keyboard_layout)
	(dos_keypad_mode, dos_super_key, dos_timezone_offset): Remove
	declaration.
	* disptab.h (Vglyph_table, Vstandard_display_table): Remove
	declaration.
	* dispextern.h (Vface_remapping_alist, Vglyphless_char_display)
	(Vmouse_autoselect_window, Voverflow_newline_into_fringe)
	(Vshow_trailing_whitespace, Vtool_bar_button_margin)
	(Vtool_bar_style, cursor_in_echo_area, display_hourglass_p)
	(inverse_video, mode_line_in_non_selected_windows)
	(tool_bar_button_relief, tool_bar_max_label_size)
	(underline_minimum_offset)
	(unibyte_display_via_language_environment, x_stretch_cursor_p):
	Remove declaration.
	* composite.h (Vauto_composition_function)
	(Vcomposition_function_table): Remove declaration.
	* commands.h (Vexecuting_kbd_macro)
	(Vminibuffer_local_completion_map)
	(Vminibuffer_local_filename_completion_map)
	(Vminibuffer_local_filename_must_match_map)
	(Vminibuffer_local_map, Vminibuffer_local_must_match_map)
	(Vminibuffer_local_ns_map, Vthis_command)
	(Vunread_command_events, cursor_in_echo_area)
	(last_command_event, last_nonmenu_event, unread_command_char):
	Remove declaration.
	* coding.h (Vcoding_system_for_read, Vcoding_system_for_write)
	(Vdefault_file_name_coding_system)
	(Vdefault_process_coding_system, Vfile_name_coding_system)
	(Vlast_coding_system_used, Vlocale_coding_system)
	(Vselect_safe_coding_system_function)
	(Vtranslation_table_for_input, coding_system_require_warning)
	(eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided)
	(eol_mnemonic_unix, inherit_process_coding_system): Remove
	declaration.
	* charset.h (Vcharset_list, Vcurrent_iso639_language): Remove
	declaration.
	* character.h (Vauto_fill_chars, Vchar_direction_table)
	(Vchar_script_table, Vchar_width_table, Vprintable_chars)
	(Vscript_representative_chars, Vtranslation_table_vector)
	(Vunicode_category_table): Remove declaration.
	* ccl.h (Vfont_ccl_encoder_alist): Remove declaration.
	* buffer.h (Vafter_change_functions, Vbefore_change_functions)
	(Vdeactivate_mark, Vfirst_change_hook, Vtransient_mark_mode)
	(inhibit_modification_hooks): Remove declaration.
	* xterm.c (syms_of_xterm): Update.
	(Vx_alt_keysym, Vx_hyper_keysym, Vx_keysym_table)
	(Vx_meta_keysym, Vx_super_keysym, Vx_toolkit_scroll_bars)
	(x_mouse_click_focus_ignore_position)
	(x_underline_at_descent_line)
	(x_use_underline_position_properties): Remove.
	* xsmfns.c (syms_of_xsmfns): Update.
	(Vx_session_id, Vx_session_previous_id): Remove.
	* xsettings.c (syms_of_xsettings): Update.
	(Vxft_settings, use_system_font): Remove.
	* xselect.c (syms_of_xselect): Update.
	(Vselection_converter_alist, Vx_lost_selection_functions)
	(Vx_sent_selection_functions, x_selection_timeout): Remove.
	* xfns.c (syms_of_xfns): Update.
	(Vgtk_version_string, Vmotif_version_string)
	(Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape)
	(Vx_max_tooltip_size, Vx_mode_pointer_shape)
	(Vx_no_window_manager, Vx_nontext_pointer_shape)
	(Vx_pixel_size_width_font_regexp, Vx_pointer_shape)
	(Vx_sensitive_text_pointer_shape)
	(Vx_window_horizontal_drag_shape, x_gtk_file_dialog_help_text)
	(x_gtk_show_hidden_files, x_gtk_use_old_file_dialog)
	(x_gtk_use_system_tooltips, x_gtk_whole_detached_tool_bar):
	Remove.
	* xfaces.c (syms_of_xfaces): Update.
	(Vface_default_stipple, Vface_font_rescale_alist)
	(Vface_ignored_fonts, Vface_new_frame_defaults)
	(Vface_remapping_alist, Vfont_list_limit)
	(Vscalable_fonts_allowed, Vtty_defined_color_alist): Remove.
	* xdisp.c (syms_of_xdisp): Update.
	(Vauto_resize_tool_bars, Vblink_cursor_alist)
	(Vdisplay_pixels_per_inch, Vfontification_functions)
	(Vframe_title_format, Vglobal_mode_string)
	(Vglyphless_char_display, Vhourglass_delay, Vhscroll_step)
	(Vicon_title_format, Vinhibit_redisplay)
	(Vline_number_display_limit, Vline_prefix)
	(Vmax_mini_window_height, Vmenu_bar_update_hook)
	(Vmenu_updating_frame, Vmessage_log_max)
	(Vmouse_autoselect_window, Vnobreak_char_display)
	(Voverlay_arrow_position, Voverlay_arrow_string)
	(Voverlay_arrow_variable_list, Vredisplay_end_trigger_functions)
	(Vresize_mini_windows, Vshow_trailing_whitespace)
	(Vtool_bar_border, Vtool_bar_button_margin, Vtool_bar_style)
	(Vtruncate_partial_width_windows, Vvoid_text_area_pointer)
	(Vwindow_scroll_functions, Vwindow_size_change_functions)
	(Vwindow_text_change_functions, Vwrap_prefix)
	(auto_raise_tool_bar_buttons_p, automatic_hscrolling_p)
	(debug_end_pos, display_hourglass_p, emacs_scroll_step)
	(highlight_nonselected_windows, hscroll_margin)
	(inhibit_eval_during_redisplay, inhibit_free_realized_faces)
	(inhibit_menubar_update, inhibit_try_cursor_movement)
	(inhibit_try_window_id, inhibit_try_window_reusing)
	(line_number_display_limit_width)
	(make_cursor_line_fully_visible_p, message_truncate_lines)
	(mode_line_inverse_video, multiple_frames, overline_margin)
	(scroll_conservatively, scroll_margin, tool_bar_button_relief)
	(tool_bar_max_label_size, underline_minimum_offset)
	(unibyte_display_via_language_environment, x_stretch_cursor_p):
	Remove.
	* window.c (syms_of_window): Update.
	(Vminibuf_scroll_window, Vother_window_scroll_buffer)
	(Vrecenter_redisplay, Vscroll_preserve_screen_position)
	(Vtemp_buffer_show_function, Vwindow_configuration_change_hook)
	(Vwindow_point_insertion_type, auto_window_vscroll_p)
	(mode_line_in_non_selected_windows, next_screen_context_lines)
	(window_min_height, window_min_width): Remove.
	(scroll_margin): Remove declaration.
	* w32term.c (syms_of_w32term): Update.
	(Vw32_capslock_is_shiftlock, Vw32_grab_focus_on_raise)
	(Vw32_recognize_altgr, Vw32_swap_mouse_buttons)
	(Vx_toolkit_scroll_bars, w32_num_mouse_buttons)
	(w32_use_visible_system_caret, x_underline_at_descent_line)
	(x_use_underline_position_properties): Remove.
	(Vcommand_line_args, Vsystem_name, extra_keyboard_modifiers):
	Remove declaration.
	* w32select.c (syms_of_w32select): Update.
	(Vnext_selection_coding_system, Vselection_coding_system): Remove.
	* w32proc.c (syms_of_ntproc): Update.
	(Vw32_downcase_file_names, Vw32_generate_fake_inodes)
	(Vw32_get_true_file_attributes, Vw32_quote_process_args)
	(Vw32_start_process_inherit_error_mode)
	(Vw32_start_process_share_console)
	(Vw32_start_process_show_window, w32_pipe_read_delay): Remove.
	(Vsystem_name): Remove declaration.
	* w32font.c (syms_of_w32font): Update.
	(Vw32_charset_info_alist): Remove.
	* w32fns.c (globals_of_w32fns, syms_of_w32fns): Update.
	(Vw32_alt_is_meta, Vw32_apps_modifier, Vw32_bdf_filename_alist)
	(Vw32_color_map, Vw32_enable_caps_lock, Vw32_enable_num_lock)
	(Vw32_enable_palette, Vw32_lwindow_modifier)
	(Vw32_pass_alt_to_system, Vw32_pass_lwindow_to_system)
	(Vw32_pass_rwindow_to_system, Vw32_phantom_key_code)
	(Vw32_rwindow_modifier, Vw32_scroll_lock_modifier)
	(Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape)
	(Vx_max_tooltip_size, Vx_mode_pointer_shape)
	(Vx_no_window_manager, Vx_nontext_pointer_shape)
	(Vx_pixel_size_width_font_regexp, Vx_pointer_shape)
	(Vx_sensitive_text_pointer_shape)
	(Vx_window_horizontal_drag_shape, w32_ansi_code_page)
	(w32_enable_synthesized_fonts, w32_mouse_button_tolerance)
	(w32_mouse_move_interval)
	(w32_pass_extra_mouse_buttons_to_system)
	(w32_pass_multimedia_buttons_to_system, w32_quit_key)
	(w32_strict_fontnames, w32_strict_painting): Remove.
	(Vhourglass_delay, Vmenu_bar_mode, Vtool_bar_mode)
	(Vw32_recognize_altgr, Vwindow_system_version)
	(w32_num_mouse_buttons, w32_use_visible_system_caret): Remove
	declaration.
	* w32console.c (syms_of_ntterm): Update.
	(w32_use_full_screen_buffer): Remove.
	(Vtty_defined_color_alist): Remove declaration.
	* w16select.c (syms_of_win16select): Update.
	(Vnext_selection_coding_system, Vselection_coding_system): Remove.
	* undo.c (syms_of_undo): Update.
	(Vundo_outer_limit, Vundo_outer_limit_function)
	(undo_inhibit_record_point, undo_limit, undo_strong_limit):
	Remove.
	* textprop.c (syms_of_textprop): Update.
	(Vchar_property_alias_alist, Vdefault_text_properties)
	(Vinhibit_point_motion_hooks, Vtext_property_default_nonsticky):
	Remove.
	* terminal.c (syms_of_terminal): Update.
	(Vdelete_terminal_functions, Vring_bell_function): Remove.
	* term.c (syms_of_term): Update.
	(Vresume_tty_functions, Vsuspend_tty_functions)
	(no_redraw_on_reenter, system_uses_terminfo, visible_cursor):
	Remove.
	* syntax.c (syms_of_syntax): Update.
	(Vfind_word_boundary_function_table, multibyte_syntax_as_symbol)
	(open_paren_in_column_0_is_defun_start)
	(parse_sexp_ignore_comments, parse_sexp_lookup_properties)
	(words_include_escapes): Remove.
	* search.c (syms_of_search): Update.
	(Vinhibit_changing_match_data, Vsearch_spaces_regexp): Remove.
	* process.c (syms_of_process): Update.
	(Vprocess_adaptive_read_buffering, Vprocess_connection_type)
	(delete_exited_processes): Remove.
	* print.c (syms_of_print): Update.
	(Vfloat_output_format, Vprint_charset_text_property)
	(Vprint_circle, Vprint_continuous_numbering, Vprint_gensym)
	(Vprint_length, Vprint_level, Vprint_number_table)
	(Vstandard_output, print_escape_multibyte)
	(print_escape_newlines, print_escape_nonascii, print_quoted):
	Remove.
	* msdos.c (syms_of_msdos): Update.
	(Vdos_unsupported_char_glyph): Remove.
	(unibyte_display_via_language_environment): Remove declaration.
	* minibuf.c (syms_of_minibuf): Update.
	(Vcompletion_regexp_list, Vhistory_add_new_input)
	(Vhistory_length, Vminibuffer_completing_file_name)
	(Vminibuffer_completion_confirm)
	(Vminibuffer_completion_predicate, Vminibuffer_completion_table)
	(Vminibuffer_exit_hook, Vminibuffer_help_form)
	(Vminibuffer_history_position, Vminibuffer_history_variable)
	(Vminibuffer_prompt_properties, Vminibuffer_setup_hook)
	(Vread_buffer_function, Vread_expression_map)
	(completion_ignore_case, enable_recursive_minibuffers)
	(history_delete_duplicates, minibuffer_allow_text_properties)
	(minibuffer_auto_raise, read_buffer_completion_ignore_case):
	Remove.
	* marker.c (syms_of_marker): Update.
	(byte_debug_flag): Remove.
	* macros.c (syms_of_macros): Update.
	(Vexecuting_kbd_macro, executing_kbd_macro_index): Remove.
	* lread.c (syms_of_lread): Update.
	(Vafter_load_alist, Vbyte_boolean_vars)
	(Vbytecomp_version_regexp, Vcurrent_load_list)
	(Veval_buffer_list, Vload_file_name, Vload_file_rep_suffixes)
	(Vload_history, Vload_path, Vload_read_function)
	(Vload_source_file_function, Vload_suffixes, Vobarray)
	(Vold_style_backquotes, Vpreloaded_file_list, Vread_circle)
	(Vread_symbol_positions_list, Vread_with_symbol_positions)
	(Vsource_directory, Vstandard_input, Vuser_init_file, Vvalues)
	(force_load_messages, load_convert_to_unibyte)
	(load_dangerous_libraries, load_force_doc_strings)
	(load_in_progress): Remove.
	* keymap.c (syms_of_keymap): Update.
	(Vdefine_key_rebound_commands, Vemulation_mode_map_alists)
	(Vminibuffer_local_completion_map)
	(Vminibuffer_local_filename_completion_map)
	(Vminibuffer_local_filename_must_match_map)
	(Vminibuffer_local_map, Vminibuffer_local_must_match_map)
	(Vminibuffer_local_ns_map, Vminor_mode_map_alist)
	(Vminor_mode_overriding_map_alist, Vwhere_is_preferred_modifier):
	Remove.
	* keyboard.c (syms_of_keyboard): Update.
	(Vauto_save_timeout, Vcommand_error_function)
	(Vcommand_hook_internal, Vdeactivate_mark)
	(Vdeferred_action_function, Vdeferred_action_list)
	(Vdisable_point_adjustment, Vdouble_click_time)
	(Vecho_keystrokes, Venable_disabled_menus_and_buttons)
	(Vfunction_key_map, Vglobal_disable_point_adjustment)
	(Vhelp_char, Vhelp_event_list, Vhelp_form)
	(Vinput_method_function, Vinput_method_previous_message)
	(Vkey_translation_map, Vlast_event_frame)
	(Vlucid_menu_bar_dirty_flag, Vmenu_bar_final_items)
	(Vminibuffer_message_timeout, Voverriding_local_map)
	(Voverriding_local_map_menu_flag, Vpost_command_hook)
	(Vpre_command_hook, Vprefix_help_command)
	(Vsaved_region_selection, Vselect_active_regions)
	(Vshow_help_function, Vspecial_event_map, Vsuggest_key_bindings)
	(Vthis_command, Vthis_command_keys_shift_translated)
	(Vthis_original_command, Vthrow_on_input, Vtimer_idle_list)
	(Vtimer_list, Vtool_bar_separator_image_expression, Vtop_level)
	(Vtty_erase_char, Vunread_command_events)
	(Vunread_input_method_events, Vunread_post_input_method_events)
	(auto_save_interval, cannot_suspend, do_mouse_tracking)
	(double_click_fuzz, extra_keyboard_modifiers)
	(inhibit_local_menu_bar_menus, last_command_event)
	(last_input_event, last_nonmenu_event, menu_prompt_more_char)
	(menu_prompting, meta_prefix_char, num_input_keys)
	(num_nonmacro_input_events, polling_period, unread_command_char):
	Remove.
	* insdel.c (syms_of_insdel): Update.
	(Vcombine_after_change_calls, check_markers_debug_flag): Remove.
	* indent.c (syms_of_indent): Update.
	(indent_tabs_mode): Remove.
	* image.c (syms_of_image): Update.
	(Vimage_cache_eviction_delay, Vimage_types)
	(Vimagemagick_render_type, Vmax_image_size, Vx_bitmap_file_path)
	(cross_disabled_images): Remove.
	* fringe.c (syms_of_fringe): Update.
	(Vfringe_bitmaps, Voverflow_newline_into_fringe): Remove.
	* frame.c (syms_of_frame): Update.
	(Vdefault_frame_alist, Vdefault_frame_scroll_bars)
	(Vdelete_frame_functions, Vframe_alpha_lower_limit)
	(Vmake_pointer_invisible, Vmenu_bar_mode, Vmouse_highlight)
	(Vmouse_position_function, Vterminal_frame, Vtool_bar_mode)
	(Vx_resource_class, Vx_resource_name, focus_follows_mouse):
	Remove.
	* fontset.c (syms_of_fontset): Update.
	(Valternate_fontname_alist, Vfont_encoding_charset_alist)
	(Vfontset_alias_alist, Vignore_relative_composition)
	(Votf_script_alist, Vuse_default_ascent)
	(Vvertical_centering_font_regexp): Remove.
	* font.c (syms_of_font): Update.
	(Vfont_encoding_alist, Vfont_log, Vfont_slant_table)
	(Vfont_weight_table, Vfont_width_table): Remove.
	* fns.c (syms_of_fns): Update.
	(Vfeatures, use_dialog_box, use_file_dialog): Remove.
	* filelock.c (syms_of_filelock): Update.
	(Vtemporary_file_directory): Remove.
	* fileio.c (syms_of_fileio): Update.
	(Vafter_insert_file_functions, Vauto_save_include_big_deletions)
	(Vauto_save_list_file_name, Vauto_save_visited_file_name)
	(Vdefault_file_name_coding_system, Vfile_name_coding_system)
	(Vfile_name_handler_alist, Vinhibit_file_name_handlers)
	(Vinhibit_file_name_operation, Vset_auto_coding_function)
	(Vwrite_region_annotate_functions)
	(Vwrite_region_annotations_so_far)
	(Vwrite_region_post_annotation_function)
	(delete_by_moving_to_trash, write_region_inhibit_fsync): Remove.
	(Vw32_get_true_file_attributes): Remove declaration.
	* eval.c (syms_of_eval): Update.
	(Vdebug_ignored_errors, Vdebug_on_error, Vdebug_on_signal)
	(Vdebugger, Vinhibit_quit, Vmacro_declaration_function)
	(Vquit_flag, Vsignal_hook_function, Vstack_trace_on_error)
	(debug_on_next_call, debug_on_quit, debugger_may_continue)
	(max_lisp_eval_depth, max_specpdl_size): Remove.
	* emacs.c (syms_of_emacs): Update.
	(Vafter_init_time, Vbefore_init_time, Vcommand_line_args)
	(Vdynamic_library_alist, Vemacs_copyright, Vemacs_version)
	(Vinstallation_directory, Vinvocation_directory)
	(Vinvocation_name, Vkill_emacs_hook, Vpath_separator)
	(Vprevious_system_messages_locale, Vprevious_system_time_locale)
	(Vsystem_configuration, Vsystem_configuration_options)
	(Vsystem_messages_locale, Vsystem_time_locale, Vsystem_type)
	(inhibit_x_resources, noninteractive1): Remove.
	* editfns.c (syms_of_editfns): Update.
	(Vbuffer_access_fontified_property)
	(Vbuffer_access_fontify_functions, Vinhibit_field_text_motion)
	(Voperating_system_release, Vsystem_name, Vuser_full_name)
	(Vuser_login_name, Vuser_real_login_name): Remove.
	* dosfns.c (syms_of_dosfns): Update.
	(Vdos_display_scancodes, Vdos_version, Vdos_windows_version)
	(dos_codepage, dos_country_code, dos_decimal_point)
	(dos_hyper_key, dos_keyboard_layout, dos_keypad_mode)
	(dos_super_key, dos_timezone_offset): Remove.
	* doc.c (syms_of_doc): Update.
	(Vbuild_files, Vdoc_file_name): Remove.
	* dispnew.c (syms_of_display): Update.
	(Vglyph_table, Vinitial_window_system)
	(Vredisplay_preemption_period, Vstandard_display_table)
	(Vwindow_system_version, baud_rate, cursor_in_echo_area)
	(inverse_video, redisplay_dont_pause, visible_bell): Remove.
	* dired.c (syms_of_dired): Update.
	(Vcompletion_ignored_extensions): Remove.
	(Vw32_get_true_file_attributes): Remove declaration.
	* dbusbind.c (syms_of_dbusbind): Update.
	(Vdbus_debug, Vdbus_registered_buses)
	(Vdbus_registered_objects_table): Remove.
	* data.c (syms_of_data): Update.
	(Vmost_negative_fixnum, Vmost_positive_fixnum): Remove.
	* composite.c (syms_of_composite): Update.
	(Vauto_composition_function, Vauto_composition_mode)
	(Vcompose_chars_after_function, Vcomposition_function_table):
	Remove.
	* coding.c (syms_of_coding): Update.
	(Vcharset_revision_table, Vcoding_category_list)
	(Vcoding_system_alist, Vcoding_system_for_read)
	(Vcoding_system_for_write, Vcoding_system_list)
	(Vdefault_process_coding_system, Venable_character_translation)
	(Vfile_coding_system_alist, Vlast_code_conversion_error)
	(Vlast_coding_system_used, Vlatin_extra_code_table)
	(Vlocale_coding_system, Vnetwork_coding_system_alist)
	(Vprocess_coding_system_alist)
	(Vselect_safe_coding_system_function)
	(Vstandard_translation_table_for_decode)
	(Vstandard_translation_table_for_encode)
	(Vtranslation_table_for_input, coding_system_require_warning)
	(eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided)
	(eol_mnemonic_unix, inherit_process_coding_system)
	(inhibit_eol_conversion, inhibit_iso_escape_detection)
	(inhibit_null_byte_detection): Remove.
	* cmds.c (syms_of_cmds): Update.
	(Vpost_self_insert_hook): Remove.
	* charset.c (syms_of_charset): Update.
	(Vcharset_list, Vcharset_map_path, Vcurrent_iso639_language)
	(inhibit_load_charset_map): Remove.
	* character.c (syms_of_character): Update.
	(Vauto_fill_chars, Vchar_direction_table, Vchar_script_table)
	(Vchar_width_table, Vprintable_chars)
	(Vscript_representative_chars, Vtranslation_table_vector)
	(Vunicode_category_table): Remove.
	* ccl.c (syms_of_ccl): Update.
	(Vcode_conversion_map_vector, Vfont_ccl_encoder_alist)
	(Vtranslation_hash_table_vector): Remove.
	* category.c (syms_of_category): Update.
	(Vword_combining_categories, Vword_separating_categories): Remove.
	* callproc.c (syms_of_callproc): Update.
	(Vconfigure_info_directory, Vdata_directory, Vdoc_directory)
	(Vexec_directory, Vexec_path, Vexec_suffixes)
	(Vinitial_environment, Vprocess_environment)
	(Vshared_game_score_directory, Vshell_file_name): Remove.
	* callint.c (syms_of_callint): Update.
	(Vcommand_debug_status, Vcommand_history, Vcurrent_prefix_arg)
	(Vmark_even_if_inactive, Vmouse_leave_buffer_hook): Remove.
	* bytecode.c (syms_of_bytecode): Update.
	(Vbyte_code_meter, byte_metering_on): Remove.
	* buffer.c (syms_of_buffer): Update.
	(Vafter_change_functions, Vbefore_change_functions)
	(Vchange_major_mode_hook, Vfirst_change_hook)
	(Vinhibit_read_only, Vkill_buffer_query_functions)
	(Vtransient_mark_mode, inhibit_modification_hooks): Remove.
	* alloc.c (syms_of_alloc): Update.
	(Vgc_cons_percentage, Vgc_elapsed, Vmemory_full)
	(Vmemory_signal_data, Vpost_gc_hook, Vpurify_flag)
	(cons_cells_consed, floats_consed, garbage_collection_messages)
	(gc_cons_threshold, gcs_done, intervals_consed)
	(misc_objects_consed, pure_bytes_used, string_chars_consed)
	(strings_consed, symbols_consed, vector_cells_consed): Remove.

	* lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
	(DEFVAR_INT): Assume global is in `globals'.
	* alloc.c (globals): Define.
2011-01-18 13:45:37 -07:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Glenn Morris
d52969e8af Merge from emacs-23 branch, up to 2010-05-20T21:33:58Z!juri@jurta.org.
Note:
emacs-23 2010-05-20T01:32:08Z!lekktu@gmail.com is rendered unnecessary by pre-existing 2010-05-20
trunk change.
2011-01-15 12:38:27 -08:00
Martin Rudalics
6dc1d2d387 Avoid crash in Fselect_frame due to null selected_window (Bug#7728).
* window.c (inhibit_point_swap): New variable.
(Fselect_window): If inhibit_point_swap is nonzero, avoid swapping
point this time.
(Fset_window_configuration): Set inhibit_point_swap to 1 instead
of setting selected_window to nil (Bug#7728).
2011-01-14 21:55:58 -05:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong
7c420169ba Merge changes from emacs-23 branch 2011-01-02 15:31:19 -05:00
Štěpán Němec
f1aab3ff30 * window.c (syms_of_window): Add missing defsubr for window-use-time. 2010-12-29 19:16:44 +08:00
Andreas Schwab
2f7c71a117 Remove unused declarations
* src/buffer.c: Remove unused declarations.
* src/buffer.h: Likewise.
* src/charset.h: Likewise.
* src/composite.h: Likewise.
* src/dispextern.h: Likewise.
* src/dispnew.c: Likewise.
* src/font.h: Likewise.
* src/fontset.c: Likewise.
* src/fontset.h: Likewise.
* src/intervals.h: Likewise.
* src/keymap.h: Likewise.
* src/lisp.h: Likewise.
* src/syntax.c: Likewise.
* src/syntax.h: Likewise.
* src/termhooks.h: Likewise.
* src/window.h: Likewise.
* src/xsettings.h: Likewise.
* src/xterm.c: Likewise.
* src/xterm.h: Likewise.

* src/chartab.c (sub_char_table_ref): Make static.
* src/dispnew.c (line_hash_code, required_matrix_height)
(required_matrix_width): Likewise.
* src/eval.c (interactive_p, apply_lambda): Likewise.
* src/fns.c (string_make_multibyte, copy_hash_table, hash_clear):
Likewise.
* src/font.c (QCadstyle, QCregistry, font_make_spec)
(font_parse_fcname, font_encode_char, font_at): Likewise.
* src/frame.c (x_frame_get_arg): Likewise.
* src/keymap.c (get_keyelt): Likewise.
* src/lread.c (read_filtered_event): Likewise.
* src/print.c (write_string_1): Likewise.
* src/window.c (delete_window, window_height, window_width)
(foreach_window): Likewise.
* src/xrdb.c (x_get_customization_string, x_get_resource): Likewise.
* src/xterm.c (x_scroll_bar_clear, xembed_set_info)
(xembed_send_message): Likewise.

* src/eval.c (run_hook_list_with_args): Delete.
* src/font.c (font_unparse_gtkname, font_update_lface): Likewise.
* src/terminal.c (get_terminal_param): Likewise.
* src/xterm.c (x_alloc_lighter_color_for_widget): Likewise.
2010-12-27 18:29:38 +01:00
Stefan Monnier
794b75c769 * src/window.c (Fmove_to_window_line): Avoid abort when called in a buffer
different from selected-window's.
2010-12-25 23:04:58 -05:00
Stefan Monnier
ef1b0ba7e5 Minor clean up to silence some gcc warnings.
* src/window.c (Fset_window_buffer):
* src/xterm.c (x_set_frame_alpha): Restructure code to silence
compiler warning.
(handle_one_xevent): Remove unused var `p'.
(do_ewmh_fullscreen): Remove unused var `lval'.
(xembed_set_info): Remove unused var `atom'.
* src/textprop.c (Fremove_list_of_text_properties): Add braces to silence
compiler warning.
* src/fontset.c (fontset_id_valid_p, dump_fontset):
* src/ftfont.c (ftfont_drive_otf): Modernize k&r declaration.
* src/eval.c (Feval, Ffuncall): Avoid unneeded gotos.
* src/dispnew.c (update_frame, update_frame_1): Compile the `do_pause'
label only when it's used.
* src/image.c (x_create_bitmap_from_xpm_data):
* src/dispextern.h (x_create_bitmap_from_xpm_data): Use const char** like
its callers.
* src/coding.c (detect_coding_utf_16): Remove unused vars `src_base' and
`consumed_chars'.
(DECODE_EMACS_MULE_21_COMPOSITION): Remove unused var `charbuf_base'.
(decode_coding_emacs_mule): Remove unused label `retry'.
(detect_eol): Add parens to silence compiler warning.
* src/alloc.c (bytes_used_when_reconsidered): Move to the #ifdef where
it's used to silence the compiler.
(make_number): Modernize k&r declaration.
(mark_char_table): Add parens to silence compiler warning.
2010-12-19 00:43:42 -05:00
Chong Yidong
9173a8fbd7 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/w32term.c (w32_read_socket):
* src/msdos.c (dos_rawgetc):
* src/xterm.c (handle_one_xevent): Likewise.

* 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.

* src/window.h (window_from_coordinates, window_relative_x_coord):
Update prototypes.

* src/xdisp.c (remember_mouse_glyph): Change window_from_coordinates
call.  Use window_relative_x_coord.
(note_mouse_highlight): Change window_from_coordinates call.
2010-11-16 21:37:45 -05:00
Chong Yidong
1985927ce8 Revert changes in 2010-11-16T19:59:24Z!cyd@stupidchicken.com 2010-11-16 16:47:43 -05:00
Chong Yidong
77cd1a622a 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/w32term.c (w32_read_socket):
* src/msdos.c (dos_rawgetc):
* src/xterm.c (handle_one_xevent): Likewise.

* 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.

* src/window.h (window_from_coordinates, window_relative_x_coord):
Update prototypes.

* src/xdisp.c (remember_mouse_glyph): Change window_from_coordinates
call.  Use window_relative_x_coord.
(note_mouse_highlight): Change window_from_coordinates call.
2010-11-16 14:59:24 -05:00
Martin Rudalics
a048073e24 * src/window.c (Fwindow_use_time): New function. 2010-11-13 13:49:22 -05:00
Eli Zaretskii
2452438f0c Fix int/EMACS_INT use in textprop.c and window.c.
window.c (Fpos_visible_in_window_p, Fdelete_other_windows)
 (Fselect_window, window_scroll_pixel_based)
 (window_scroll_line_based, Frecenter, Fset_window_configuration):
 Use EMACS_INT for buffer positions.
 textprop.c (validate_interval_range, interval_of)
 (property_change_between_p, Fadd_text_properties)
 (set_text_properties_1, Fremove_text_properties)
 (Fremove_list_of_text_properties, Ftext_property_any)
 (Ftext_property_not_all, copy_text_properties)
 (text_property_list, extend_property_ranges)
 (verify_interval_modification): Use EMACS_INT for buffer
 positions.
2010-09-25 09:21:20 -04:00
Jan D
4094bf3679 Can't include menu.h in window.c for X targets.
* nsterm.h (x_set_menu_bar_lines): Declare.

* window.c: Don't include menu.h, it depends on lots of other .h-files.
2010-08-06 13:04:29 +02:00
Jan D
3d608a8650 Fix missing prototypes for HAVE_NS (caused crash) and vrious warnings.
* configure.in: Check for util.h.

* src/bidi.c (bidi_dump_cached_states): Fix fprintf warning.

* src/emacs.c: Include src/nsterm.h if HAVE_NS.

* src/image.c (xpm_scan, xpm_make_color_table_v)
(xpm_put_color_table_v, xpm_get_color_table_v)
(xpm_make_color_table_h, xpm_put_color_table_h)
(xpm_get_color_table_h, xpm_str_to_color_key, xpm_load_image)
(xpm_load): Convert to ANSI C prototypes.

* src/lisp.h (fmod_float): Declare.

* src/menu.h (x_set_menu_bar_line): Declare.
(free_menubar_widget_value_tree et.al): Add HAVE_NS for these functions.

* src/window.c: Include menu.h.

* src/nsfns.m (have_menus_p, ns_display_info_for_name)
(x_set_cursor_type, ns_appkit_version_str)
(ns_appkit_version_int, ns_do_applescript)
(x_set_scroll_bar_default_width, x_sync, compute_tip_xy)
(syms_of_nsfns): Convert to ANSI C prototypes.

* src/nsfont.m (ns_fallback_entity, syms_of_nsfont): Convert to ANSI C
prototypes.

* src/nsimage.m (ns_load_image): Move NSTRACE after declarations.

* src/nsmenu.m (popup_activated, name_is_separator)
(syms_of_nsmenu): Convert to ANSI C prototypes.
(runMenuAt): Prototypes and move declarations before code.

* src/nsterm.h : Include sysselect.h.
(x_sync, x_get_focus_frame, x_set_mouse_position)
(x_set_mouse_pixel_position, x_make_frame_visible)
(x_make_frame_invisible, x_iconify_frame, x_char_width, x_char_height)
(x_pixel_width, x_pixel_height, x_set_frame_alpha, x_set_tool_bar_lines)
(x_activate_menubar, free_frame_menubar, ns_init_paths, ns_select)
(syms_of_nsterm, syms_of_nsfns, syms_of_nsmenu, syms_of_nsselect):
Declare

* src/process.c: Check HAVE_UTIL_H. Include src/nsterm.h if HAVE_NS.

* src/nsterm.m (ns_init_paths, ns_alloc_autorelease_pool)
(ns_ring_bell, ns_defined_color, hide_hourglass)
(x_display_pixel_height, x_display_pixel_width, syms_of_nsterm):
Convert to ANSI C prototypes.
(x_set_window_size, ns_draw_fringe_bitmap, judge): Move declarations
before code.

* src/sysdep.c: Check HAVE_TERM_H

* src/term.c: Check HAVE_SYS_IOCTL_H.

* src/unexmacosx.c (print_region_list, print_regions)
(build_region_list, find_emacs_zone_regions)
(unexec_regions_merge, read_load_commands, dump_it)
(unexec_init_emacs_zone): Convert to ANSI C prototypes.

* src/xfaces.c (x_create_gc, x_free_gc): Convert to ANSI C prototypes.
2010-08-06 12:12:41 +02:00
Dan Nicolaescu
04bab72cc6 Remove extern declarations in .c files, .h files have them.
* src/data.c:
* src/dired.c:
* src/editfns.c:
* src/filelock.c:
* src/fns.c:
* src/font.c:
* src/fontset.c:
* src/frame.c:
* src/fringe.c:
* src/ftfont.c:
* src/gtkutil.c:
* src/indent.c:
* src/keyboard.c:
* src/keymap.c:
* src/lread.c:
* src/menu.c:
* src/print.c:
* src/search.c:
* src/sound.c:
* src/window.c:
* src/xdisp.c:
* src/xfaces.c:
* src/xfns.c:
* src/xfont.c:
* src/xftfont.c:
* src/xmenu.c:
* src/xterm.c: Remove declarations.
2010-08-05 16:34:12 -07:00
Jan Djärv
bfeabdc3d7 Add ability to put Gtk+ tool bar on the left/right/bottom or top. Default top.
* lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu-customize-enable-left)
(menu-bar-showhide-tool-bar-menu-customize-disable)
(menu-bar-showhide-tool-bar-menu-customize-enable-right)
(menu-bar-showhide-tool-bar-menu-customize-enable-top)
(menu-bar-showhide-tool-bar-menu-customize-enable-bottom): New functions
(menu-bar-showhide-tool-bar-menu): If tool bar is moveable,
make a menu for Options => toolbar that can move it.

* src/frame.c (Qtool_bar_position): New variable.
(make_frame): Set tool_bar_position to Qtop.
(frame_parms): Add tool-bar-position.
(x_report_frame_params): Store tool_bar_position.
(x_set_fringe_width): Reset wm size hint after fringe changes.

* src/frame.h (struct frame): Add tool_bar_position.
(Qbottom): Declare.

* src/gtkutil.c (FRAME_TOTAL_PIXEL_WIDTH): New macro.
(xg_frame_set_char_size): Add FRAME_TOOLBAR_WIDTH to pixelwidth.
(xg_height_or_width_changed): Use FRAME_TOTAL_PIXEL_WIDTH.
(xg_create_frame_widgets): Create a hobox for placing widgets
vertically.  Use gtk_box_pack_start.
(xg_height_or_width_changed): Renamed from xg_height_changed.
(x_wm_set_size_hint): Add FRAME_TOOLBAR_WIDTH to base_width.
(xg_update_frame_menubar, free_frame_menubar): Change to
xg_height_or_width_changed.
(xg_tool_bar_detach_callback): Update left/right/top/bottom tool bar
size correctly.  Remove hardcoded 4, instead use handlebox size -
toolbar size.
(xg_tool_bar_attach_callback): Update left/right/top/bottom tool bar
size correctly.  Use handlebox size + toolbar size as additional
size.
(xg_pack_tool_bar): POS is a new parameter.
Set orientation of tool bar based on pos.
Only make handlebox_widget if NULL.
Check if tool bar goes to vbox or hbox depending on pos.
(xg_update_tool_bar_sizes): New function.
(update_frame_tool_bar): Remove old_req, new_req. Do not get tool bar
height, call xg_update_tool_bar_sizes instead.
(free_frame_tool_bar): Remove from hbox or vbox depending on
toolbar_in_hbox,  Set all FRAME_TOOLBAR_*_(WIDTH|HEIGHT) to zero.
(xg_change_toolbar_position): New function.

* src/gtkutil.h (xg_change_toolbar_position): Declare.

* src/window.c (calc_absolute_offset): Check for FRAME_TOOLBAR_TOP_HEIGHT
and FRAME_TOOLBAR_LEFT_WIDTH.

* src/xfns.c (x_set_tool_bar_position): New function.
(xic_set_statusarea): Use FRAME_TOOLBAR_TOP_HEIGHT.
(x_frame_parm_handlers): Add x_set_tool_bar_position.
(syms_of_xfns): if USE_GTK, provide move-toolbar.

* src/xterm.c (x_set_window_size_1): Add FRAME_TOOLBAR_WIDTH to pixelwidth.

* src/xterm.h (struct x_output): Add toolbar_top_height,
toolbar_bottom_height, toolbar_left_width, toolbar_right_width.  Remove
toolbar_height.
if USE_GTK: Add hbox_widget and toolbar_in_hbox.
(FRAME_TOOLBAR_TOP_HEIGHT, FRAME_TOOLBAR_BOTTOM_HEIGHT)
(FRAME_TOOLBAR_LEFT_WIDTH, FRAME_TOOLBAR_RIGHT_WIDTH): New macros.
(FRAME_TOOLBAR_HEIGHT): Is now TOP_HEIGHT + BOTTOM_HEIGHT.
2010-07-29 18:49:59 +02:00
Juanma Barranquero
0ed082fedf Merge from emacs-23 2010-07-27 04:10:05 +02:00
Christoph Scholtes
a77cfeaf4b * window.c (Fwindow_height): Doc fix (bug#6518). 2010-07-23 01:57:23 +02:00
Dan Nicolaescu
5842a27bbf Convert DEFUNs to standard C.
* src/alloc.c: Convert DEFUNs to standard C.
* src/buffer.c:
* src/bytecode.c:
* src/callint.c:
* src/callproc.c:
* src/casefiddle.c:
* src/casetab.c:
* src/category.c:
* src/character.c:
* src/charset.c:
* src/chartab.c:
* src/cmds.c:
* src/coding.c:
* src/composite.c:
* src/data.c:
* src/dbusbind.c:
* src/dired.c:
* src/dispnew.c:
* src/doc.c:
* src/dosfns.c:
* src/editfns.c:
* src/emacs.c:
* src/eval.c:
* src/fileio.c:
* src/filelock.c:
* src/floatfns.c:
* src/fns.c:
* src/font.c:
* src/fontset.c:
* src/frame.c:
* src/fringe.c:
* src/image.c:
* src/indent.c:
* src/insdel.c:
* src/keyboard.c:
* src/keymap.c:
* src/lread.c:
* src/macros.c:
* src/marker.c:
* src/menu.c:
* src/minibuf.c:
* src/msdos.c:
* src/nsfns.m:
* src/nsmenu.m:
* src/nsselect.m:
* src/print.c:
* src/process.c:
* src/search.c:
* src/sound.c:
* src/syntax.c:
* src/term.c:
* src/terminal.c:
* src/textprop.c:
* src/undo.c:
* src/w16select.c:
* src/w32console.c:
* src/w32fns.c:
* src/w32font.c:
* src/w32menu.c:
* src/w32proc.c:
* src/w32select.c:
* src/window.c:
* src/xdisp.c:
* src/xfaces.c:
* src/xfns.c:
* src/xmenu.c:
* src/xselect.c:
* src/xsettings.c:
* src/xsmfns.c: Likewise.
2010-07-08 14:25:08 -07:00