Mercurial > hg > xemacs-beta
annotate man/xemacs/mouse.texi @ 4981:4aebb0131297
Cleanups/renaming of EXTERNAL_TO_C_STRING and friends
-------------------- ChangeLog entries follow: --------------------
modules/ChangeLog addition:
2010-02-05 Ben Wing <ben@xemacs.org>
* postgresql/postgresql.c:
* postgresql/postgresql.c (CHECK_LIVE_CONNECTION):
* postgresql/postgresql.c (Fpq_connectdb):
* postgresql/postgresql.c (Fpq_connect_start):
* postgresql/postgresql.c (Fpq_lo_import):
* postgresql/postgresql.c (Fpq_lo_export):
* ldap/eldap.c (Fldap_open):
* ldap/eldap.c (Fldap_search_basic):
* ldap/eldap.c (Fldap_add):
* ldap/eldap.c (Fldap_modify):
* ldap/eldap.c (Fldap_delete):
* canna/canna_api.c (Fcanna_initialize):
* canna/canna_api.c (Fcanna_store_yomi):
* canna/canna_api.c (Fcanna_parse):
* canna/canna_api.c (Fcanna_henkan_begin):
EXTERNAL_TO_C_STRING returns its argument instead of storing it
in a parameter, and is renamed to EXTERNAL_TO_ITEXT. Similar
things happen to related macros. See entry in src/ChangeLog.
More Mule-izing of postgresql.c. Extract out common code
between `pq-connectdb' and `pq-connect-start'. Fix places
that signal an error string using a formatted string to instead
follow the standard and have a fixed reason followed by the
particular error message stored as one of the frobs.
src/ChangeLog addition:
2010-02-05 Ben Wing <ben@xemacs.org>
* console-msw.c (write_string_to_mswindows_debugging_output):
* console-msw.c (Fmswindows_message_box):
* console-x.c (x_perhaps_init_unseen_key_defaults):
* console.c:
* database.c (dbm_get):
* database.c (dbm_put):
* database.c (dbm_remove):
* database.c (berkdb_get):
* database.c (berkdb_put):
* database.c (berkdb_remove):
* database.c (Fopen_database):
* device-gtk.c (gtk_init_device):
* device-msw.c (msprinter_init_device_internal):
* device-msw.c (msprinter_default_printer):
* device-msw.c (msprinter_init_device):
* device-msw.c (sync_printer_with_devmode):
* device-msw.c (Fmsprinter_select_settings):
* device-x.c (sanity_check_geometry_resource):
* device-x.c (Dynarr_add_validified_lisp_string):
* device-x.c (x_init_device):
* device-x.c (Fx_put_resource):
* device-x.c (Fx_valid_keysym_name_p):
* device-x.c (Fx_set_font_path):
* dialog-msw.c (push_lisp_string_as_unicode):
* dialog-msw.c (handle_directory_dialog_box):
* dialog-msw.c (handle_file_dialog_box):
* dialog-x.c (dbox_descriptor_to_widget_value):
* editfns.c (Fformat_time_string):
* editfns.c (Fencode_time):
* editfns.c (Fset_time_zone_rule):
* emacs.c (make_argc_argv):
* emacs.c (Fdump_emacs):
* emodules.c (emodules_load):
* eval.c:
* eval.c (maybe_signal_error_1):
* event-msw.c (Fdde_alloc_advise_item):
* event-msw.c (mswindows_dde_callback):
* event-msw.c (mswindows_wnd_proc):
* fileio.c (report_error_with_errno):
* fileio.c (Fsysnetunam):
* fileio.c (Fdo_auto_save):
* font-mgr.c (extract_fcapi_string):
* font-mgr.c (Ffc_config_app_font_add_file):
* font-mgr.c (Ffc_config_app_font_add_dir):
* font-mgr.c (Ffc_config_filename):
* frame-gtk.c (gtk_set_frame_text_value):
* frame-gtk.c (gtk_create_widgets):
* frame-msw.c (mswindows_init_frame_1):
* frame-msw.c (mswindows_set_title_from_ibyte):
* frame-msw.c (msprinter_init_frame_3):
* frame-x.c (x_set_frame_text_value):
* frame-x.c (x_set_frame_properties):
* frame-x.c (start_drag_internal_1):
* frame-x.c (x_cde_transfer_callback):
* frame-x.c (x_create_widgets):
* glyphs-eimage.c (my_jpeg_output_message):
* glyphs-eimage.c (jpeg_instantiate):
* glyphs-eimage.c (gif_instantiate):
* glyphs-eimage.c (png_instantiate):
* glyphs-eimage.c (tiff_instantiate):
* glyphs-gtk.c (xbm_instantiate_1):
* glyphs-gtk.c (gtk_xbm_instantiate):
* glyphs-gtk.c (gtk_xpm_instantiate):
* glyphs-gtk.c (gtk_xface_instantiate):
* glyphs-gtk.c (cursor_font_instantiate):
* glyphs-gtk.c (gtk_redisplay_widget):
* glyphs-gtk.c (gtk_widget_instantiate_1):
* glyphs-gtk.c (gtk_add_tab_item):
* glyphs-msw.c (mswindows_xpm_instantiate):
* glyphs-msw.c (bmp_instantiate):
* glyphs-msw.c (mswindows_resource_instantiate):
* glyphs-msw.c (xbm_instantiate_1):
* glyphs-msw.c (mswindows_xbm_instantiate):
* glyphs-msw.c (mswindows_xface_instantiate):
* glyphs-msw.c (mswindows_redisplay_widget):
* glyphs-msw.c (mswindows_widget_instantiate):
* glyphs-msw.c (add_tree_item):
* glyphs-msw.c (add_tab_item):
* glyphs-msw.c (mswindows_combo_box_instantiate):
* glyphs-msw.c (mswindows_widget_query_string_geometry):
* glyphs-x.c (x_locate_pixmap_file):
* glyphs-x.c (xbm_instantiate_1):
* glyphs-x.c (x_xbm_instantiate):
* glyphs-x.c (extract_xpm_color_names):
* glyphs-x.c (x_xpm_instantiate):
* glyphs-x.c (x_xface_instantiate):
* glyphs-x.c (autodetect_instantiate):
* glyphs-x.c (safe_XLoadFont):
* glyphs-x.c (cursor_font_instantiate):
* glyphs-x.c (x_redisplay_widget):
* glyphs-x.c (Fchange_subwindow_property):
* glyphs-x.c (x_widget_instantiate):
* glyphs-x.c (x_tab_control_redisplay):
* glyphs.c (pixmap_to_lisp_data):
* gui-x.c (menu_separator_style_and_to_external):
* gui-x.c (add_accel_and_to_external):
* gui-x.c (button_item_to_widget_value):
* hpplay.c (player_error_internal):
* hpplay.c (play_sound_file):
* hpplay.c (play_sound_data):
* intl.c (Fset_current_locale):
* lisp.h:
* menubar-gtk.c (gtk_xemacs_set_accel_keys):
* menubar-msw.c (populate_menu_add_item):
* menubar-msw.c (populate_or_checksum_helper):
* menubar-x.c (menu_item_descriptor_to_widget_value_1):
* nt.c (init_user_info):
* nt.c (get_long_basename):
* nt.c (nt_get_resource):
* nt.c (init_mswindows_environment):
* nt.c (get_cached_volume_information):
* nt.c (mswindows_readdir):
* nt.c (read_unc_volume):
* nt.c (mswindows_stat):
* nt.c (mswindows_getdcwd):
* nt.c (mswindows_executable_type):
* nt.c (Fmswindows_short_file_name):
* ntplay.c (nt_play_sound_file):
* objects-gtk.c:
* objects-gtk.c (gtk_valid_color_name_p):
* objects-gtk.c (gtk_initialize_font_instance):
* objects-gtk.c (gtk_font_list):
* objects-msw.c (font_enum_callback_2):
* objects-msw.c (parse_font_spec):
* objects-x.c (x_parse_nearest_color):
* objects-x.c (x_valid_color_name_p):
* objects-x.c (x_initialize_font_instance):
* objects-x.c (x_font_instance_truename):
* objects-x.c (x_font_list):
* objects-xlike-inc.c (XFUN):
* objects-xlike-inc.c (xft_find_charset_font):
* process-nt.c (mswindows_report_winsock_error):
* process-nt.c (nt_create_process):
* process-nt.c (get_internet_address):
* process-nt.c (nt_open_network_stream):
* process-unix.c:
* process-unix.c (allocate_pty):
* process-unix.c (get_internet_address):
* process-unix.c (unix_canonicalize_host_name):
* process-unix.c (unix_open_network_stream):
* realpath.c:
* select-common.h (lisp_data_to_selection_data):
* select-gtk.c (symbol_to_gtk_atom):
* select-gtk.c (atom_to_symbol):
* select-msw.c (symbol_to_ms_cf):
* select-msw.c (mswindows_register_selection_data_type):
* select-x.c (symbol_to_x_atom):
* select-x.c (x_atom_to_symbol):
* select-x.c (hack_motif_clipboard_selection):
* select-x.c (Fx_store_cutbuffer_internal):
* sound.c (Fplay_sound_file):
* sound.c (Fplay_sound):
* sound.h (sound_perror):
* sysdep.c:
* sysdep.c (qxe_allocating_getcwd):
* sysdep.c (qxe_execve):
* sysdep.c (copy_in_passwd):
* sysdep.c (qxe_getpwnam):
* sysdep.c (qxe_ctime):
* sysdll.c (dll_open):
* sysdll.c (dll_function):
* sysdll.c (dll_variable):
* sysdll.c (search_linked_libs):
* sysdll.c (dll_error):
* sysfile.h:
* sysfile.h (PATHNAME_CONVERT_OUT_TSTR):
* sysfile.h (PATHNAME_CONVERT_OUT_UTF_8):
* sysfile.h (PATHNAME_CONVERT_OUT):
* sysfile.h (LISP_PATHNAME_CONVERT_OUT):
* syswindows.h (ITEXT_TO_TSTR):
* syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR):
* syswindows.h (TSTR_TO_LOCAL_FILE_FORMAT):
* syswindows.h (LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN):
* syswindows.h (LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR):
* text.h:
* text.h (eicpy_ext_len):
* text.h (enum new_dfc_src_type):
* text.h (EXTERNAL_TO_ITEXT):
* text.h (GET_STRERROR):
* tooltalk.c (check_status):
* tooltalk.c (Fadd_tooltalk_message_arg):
* tooltalk.c (Fadd_tooltalk_pattern_attribute):
* tooltalk.c (Fadd_tooltalk_pattern_arg):
* win32.c (tstr_to_local_file_format):
* win32.c (mswindows_lisp_error_1):
* win32.c (mswindows_report_process_error):
* win32.c (Fmswindows_shell_execute):
* win32.c (mswindows_read_link_1):
Changes involving external/internal format conversion,
mostly code cleanup and renaming.
1. Eliminate the previous macros like LISP_STRING_TO_EXTERNAL
that stored its result in a parameter. The new version of
LISP_STRING_TO_EXTERNAL returns its result through the
return value, same as the previous NEW_LISP_STRING_TO_EXTERNAL.
Use the new-style macros throughout the code.
2. Rename C_STRING_TO_EXTERNAL and friends to ITEXT_TO_EXTERNAL,
in keeping with overall naming rationalization involving
Itext and related types.
Macros involved in previous two:
EXTERNAL_TO_C_STRING -> EXTERNAL_TO_ITEXT
EXTERNAL_TO_C_STRING_MALLOC -> EXTERNAL_TO_ITEXT_MALLOC
SIZED_EXTERNAL_TO_C_STRING -> SIZED_EXTERNAL_TO_ITEXT
SIZED_EXTERNAL_TO_C_STRING_MALLOC -> SIZED_EXTERNAL_TO_ITEXT_MALLOC
C_STRING_TO_EXTERNAL -> ITEXT_TO_EXTERNAL
C_STRING_TO_EXTERNAL_MALLOC -> ITEXT_TO_EXTERNAL_MALLOC
LISP_STRING_TO_EXTERNAL
LISP_STRING_TO_EXTERNAL_MALLOC
LISP_STRING_TO_TSTR
C_STRING_TO_TSTR -> ITEXT_TO_TSTR
TSTR_TO_C_STRING -> TSTR_TO_ITEXT
The following four still return their values through parameters,
since they have more than one value to return:
C_STRING_TO_SIZED_EXTERNAL -> ITEXT_TO_SIZED_EXTERNAL
LISP_STRING_TO_SIZED_EXTERNAL
C_STRING_TO_SIZED_EXTERNAL_MALLOC -> ITEXT_TO_SIZED_EXTERNAL_MALLOC
LISP_STRING_TO_SIZED_EXTERNAL_MALLOC
Sometimes additional casts had to be inserted, since the old
macros played strange games and completely defeated the type system
of the store params.
3. Rewrite many places where direct calls to TO_EXTERNAL_FORMAT
occurred with calls to one of the convenience macros listed above,
or to make_extstring().
4. Eliminate SIZED_C_STRING macros (they were hardly used, anyway)
and use a direct call to TO_EXTERNAL_FORMAT or TO_INTERNAL_FORMAT.
4. Use LISP_PATHNAME_CONVERT_OUT in many places instead of something
like LISP_STRING_TO_EXTERNAL(..., Qfile_name).
5. Eliminate some temporary variables that are no longer necessary
now that we return a value rather than storing it into a variable.
6. Some Mule-izing in database.c.
7. Error functions:
-- A bit of code cleanup in maybe_signal_error_1.
-- Eliminate report_file_type_error; it's just an alias for
signal_error_2 with params in a different order.
-- Fix some places in the hostname-handling code that directly
inserted externally-retrieved error strings into the
supposed ASCII "reason" param instead of doing the right thing
and sticking text descriptive of what was going on in "reason"
and putting the external message in a frob.
8. Use Ascbyte instead of CIbyte in process-unix.c and maybe one
or two other places.
9. Some code cleanup in copy_in_passwd() in sysdep.c.
10. Fix a real bug due to accidental variable shadowing in
tstr_to_local_file_format() in win32.c.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Fri, 05 Feb 2010 11:02:24 -0600 |
parents | 376386a54a3c |
children |
rev | line source |
---|---|
0 | 1 |
2 @node Mouse Selection, Additional Mouse Operations, Mark, Top | |
3 @comment node-name, next, previous, up | |
4 @section Selecting Text with the Mouse | |
5 @cindex mouse selection | |
6 | |
7 @cindex pointer shapes | |
8 If you are using XEmacs under X, you can use the mouse pointer | |
9 to select text. (The normal mouse pointer is an I-beam, the same | |
10 pointer that @code{xterm} uses.) | |
11 | |
12 @vindex modeline-pointer-glyph | |
13 @vindex nontext-pointer-glyph | |
14 @vindex text-pointer-glyph | |
15 The glyph variable @code{text-pointer-glyph} controls the shape of | |
16 the mouse pointer when over text. You can also control the shape | |
17 of the mouse pointer when over nontext using @code{nontext-pointer-glyph}, | |
18 and the shape of the mouse pointer when over the modeline using | |
19 @code{modeline-pointer-glyph}. (Remember, you should use | |
20 @code{set-glyph-image}, not @code{setq}, to set one of these | |
21 variables.) | |
22 | |
23 @cindex pointer face | |
24 If you want to get fancy, you can set the foreground and background | |
25 colors of the mouse pointer by setting the @code{pointer} face. | |
26 | |
27 There are two ways to select a region of text with the mouse: | |
28 | |
29 To select a word in text, double-click with the left mouse button | |
30 while the mouse cursor is over the word. The word is highlighted when | |
31 selected. On monochrome monitors, a stippled background indicates that a | |
32 region of text has been highlighted. On color monitors, a color | |
33 background indicates highlighted text. You can triple-click to select | |
34 whole lines. | |
35 | |
36 To select an arbitrary region of text: | |
37 | |
38 @enumerate | |
39 @item | |
40 Move the mouse cursor over the character at the beginning of the region of | |
41 text you want to select. | |
42 @item | |
43 Press and hold the left mouse button. | |
44 @item | |
45 While holding the left mouse button down, drag the cursor to the | |
46 character at the end of the region of text you want to select. | |
47 @item | |
48 Release the left mouse button. | |
49 @end enumerate | |
50 The selected region of text is highlighted. | |
51 | |
52 Once a region of text is selected, it becomes the primary X selection | |
53 (@pxref{Using X Selections}) as well as the Emacs selected region. You | |
54 can paste it into other X applications and use the options from the | |
55 @b{Edit} pull-down menu on it. Since it is also the Emacs region, you | |
56 can use Emacs region commands on it. | |
57 | |
58 @node Additional Mouse Operations, Killing, Mouse Selection, Top | |
59 @section Additional Mouse Operations | |
60 @cindex mouse operations | |
61 | |
62 XEmacs also provides the following mouse functions. Most of these are | |
63 not bound to mouse gestures by default, but they are provided for your | |
64 customization pleasure. For example, if you wanted @kbd{shift-left} | |
65 (that is, holding down the @key{Shift} key and clicking the left mouse | |
66 button) to delete the character at which you are pointing, then you | |
67 could do this: | |
68 | |
69 @example | |
70 (global-set-key '(shift button1) 'mouse-del-char) | |
71 @end example | |
72 | |
73 @findex mouse-del-char | |
74 @findex mouse-delete-window | |
75 @findex mouse-keep-one-window | |
76 @findex mouse-kill-line | |
77 @findex mouse-line-length | |
78 @findex mouse-scroll | |
79 @findex mouse-select | |
80 @findex mouse-select-and-split | |
81 @findex mouse-set-mark | |
82 @findex mouse-set-point | |
83 @findex mouse-track | |
84 @findex mouse-track-adjust | |
85 @findex mouse-track-and-copy-to-cutbuffer | |
86 @findex mouse-track-delete-and-insert | |
87 | |
88 @table @kbd | |
89 @item mouse-del-char | |
90 Delete the character pointed to by the mouse. | |
91 @item mouse-delete-window | |
92 Delete the Emacs window that the mouse is on. | |
93 @item mouse-keep-one-window | |
94 Select the Emacs window that the mouse is on, then delete all other | |
95 windows on this frame. | |
96 @item mouse-kill-line | |
97 Kill the line pointed to by the mouse. | |
98 @item mouse-line-length | |
99 Print the length of the line indicated by the pointer. | |
100 @item mouse-scroll | |
101 Scroll point to the mouse position. | |
102 @item mouse-select | |
103 Select the Emacs window the mouse is on. | |
104 @item mouse-select-and-split | |
105 Select the Emacs window mouse is on, then split it vertically in half. | |
106 @item mouse-set-mark | |
107 Select the Emacs window the mouse is on and set the mark at the mouse | |
108 position. Display the cursor at that position for a second. | |
109 @item mouse-set-point | |
110 Select the Emacs window that the mouse is on and move point to the | |
111 mouse position. | |
112 @item mouse-track | |
113 Make a selection with the mouse. This is the default binding of | |
114 the left mouse button (@key{button1}). | |
115 @item mouse-track-adjust | |
116 Extend the existing selection. This is the default binding of | |
117 @key{Shift-button1}. | |
118 @item mouse-track-and-copy-to-cutbuffer | |
119 Make a selection like @code{mouse-track}, but also copy it to the cut buffer. | |
120 @item mouse-track-delete-and-insert | |
121 Make a selection with the mouse and insert it at point. This is the | |
122 default binding of @key{control-shift-button1}. | |
123 @item mouse-track-insert | |
124 Make a selection with the mouse and insert it at point. | |
125 This is the default binding of @key{control-button1}. | |
126 @item mouse-window-to-region | |
127 Narrow a window to the region between the cursor and the mouse pointer. | |
128 @end table | |
129 | |
130 The @kbd{M-x mouse-track} command should be bound to a mouse button. If | |
131 you click-and-drag, the selection is set to the region between the | |
132 point of the initial click and the point at which you release the | |
133 button. These positions do not need to be ordered. | |
134 | |
135 If you click-and-release without moving the mouse, the point is moved, | |
136 and the selection is disowned (there will be no selection owner.) The | |
137 mark will be set to the previous position of point. | |
138 | |
139 If you double-click, the selection will extend by symbols instead of by | |
140 characters. If you triple-click, the selection will extend by lines. | |
141 | |
142 If you drag the mouse off the top or bottom of the window, you can | |
143 select pieces of text that are larger than the visible part of the | |
144 buffer; the buffer will scroll as necessary. | |
145 | |
146 The selected text becomes the current X selection, and is also copied to | |
147 the top of the kill ring. Point will be left at the position at | |
148 which you released the button and the mark will be left at the initial | |
149 click position. Bind a mouse click to | |
150 @kbd{mouse-track-and-copy-to-cutbuffer} to copy selections to the cut buffer. | |
151 (See also the @code{mouse-track-adjust} command, on @kbd{Shift-button1}.) | |
152 | |
153 The @kbd{M-x mouse-track-adjust} command should be bound to a mouse | |
154 button. The selection will be enlarged or shrunk so that the point of | |
155 the mouse click is one of its endpoints. This is only meaningful | |
156 after the @code{mouse-track} command (@key{button1}) has been executed. | |
157 | |
158 The @kbd{M-x mouse-track-delete-and-insert} command is exactly the same | |
159 as the @code{mouse-track} command on @key{button1}, except that point is | |
160 not moved; the selected text is immediately inserted after being | |
161 selected; and the text of the selection is deleted. | |
162 | |
163 The @kbd{M-x mouse-track-insert} command is exactly the same as the | |
164 @code{mouse-track} command on @key{button1}, except that point is not moved; | |
165 the selected text is immediately inserted after being selected; and the | |
166 selection is immediately disowned afterwards. |