aboutsummaryrefslogtreecommitdiffstats
path: root/src/keyboard.c
diff options
context:
space:
mode:
authorKaroly Lorentey2003-12-28 16:05:28 +0000
committerKaroly Lorentey2003-12-28 16:05:28 +0000
commit8ed48c277afad174675b3d6dcb8e7b00a4bcc97d (patch)
tree53d9baa35f9420264e2f53ad4db850c400c3e2c6 /src/keyboard.c
parent2e7f2ec031f1708b80df9dc1f60f6b1cb24a5c02 (diff)
parent69348b2a71cbabeb23e3b7d5dce354c5bc4bd311 (diff)
downloademacs-8ed48c277afad174675b3d6dcb8e7b00a4bcc97d.tar.gz
emacs-8ed48c277afad174675b3d6dcb8e7b00a4bcc97d.zip
Merged in changes from CVS HEAD
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-1 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-2 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-3 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-17
Diffstat (limited to 'src/keyboard.c')
-rw-r--r--src/keyboard.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index f1e19079733..20b7242cbcb 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -579,7 +579,7 @@ Lisp_Object Qvertical_scroll_bar;
579Lisp_Object Qmenu_bar; 579Lisp_Object Qmenu_bar;
580extern Lisp_Object Qleft_margin, Qright_margin; 580extern Lisp_Object Qleft_margin, Qright_margin;
581extern Lisp_Object Qleft_fringe, Qright_fringe; 581extern Lisp_Object Qleft_fringe, Qright_fringe;
582extern Lisp_Object Qimage; 582extern Lisp_Object QCmap;
583 583
584Lisp_Object recursive_edit_unwind (), command_loop (); 584Lisp_Object recursive_edit_unwind (), command_loop ();
585Lisp_Object Fthis_command_keys (); 585Lisp_Object Fthis_command_keys ();
@@ -5016,6 +5016,19 @@ make_lispy_position (f, x, y, time)
5016 string = marginal_area_string (w, &rx, &ry, &dx, &dy, part, &charpos); 5016 string = marginal_area_string (w, &rx, &ry, &dx, &dy, part, &charpos);
5017 if (STRINGP (string)) 5017 if (STRINGP (string))
5018 object = Fcons (string, make_number (charpos)); 5018 object = Fcons (string, make_number (charpos));
5019#ifdef HAVE_WINDOW_SYSTEM
5020 else if (IMAGEP (string))
5021 {
5022 Lisp_Object image_map, hotspot;
5023 object = string;
5024 if ((image_map = Fplist_get (XCDR (object), QCmap),
5025 !NILP (image_map))
5026 && (hotspot = find_hot_spot (image_map, dx, dy),
5027 CONSP (hotspot))
5028 && (hotspot = XCDR (hotspot), CONSP (hotspot)))
5029 posn = XCAR (hotspot);
5030 }
5031#endif
5019 } 5032 }
5020 else if (part == ON_LEFT_FRINGE || part == ON_RIGHT_FRINGE) 5033 else if (part == ON_LEFT_FRINGE || part == ON_RIGHT_FRINGE)
5021 { 5034 {
@@ -5051,8 +5064,19 @@ make_lispy_position (f, x, y, time)
5051 if (STRINGP (string)) 5064 if (STRINGP (string))
5052 object = Fcons (string, 5065 object = Fcons (string,
5053 make_number (CHARPOS (p.string_pos))); 5066 make_number (CHARPOS (p.string_pos)));
5054 else if (CONSP (string) && EQ (XCAR (string), Qimage)) 5067#ifdef HAVE_WINDOW_SYSTEM
5055 object = string; 5068 else if (IMAGEP (string))
5069 {
5070 Lisp_Object image_map, hotspot;
5071 object = string;
5072 if ((image_map = Fplist_get (XCDR (object), QCmap),
5073 !NILP (image_map))
5074 && (hotspot = find_hot_spot (image_map, dx, dy),
5075 CONSP (hotspot))
5076 && (hotspot = XCDR (hotspot), CONSP (hotspot)))
5077 posn = XCAR (hotspot);
5078 }
5079#endif
5056 } 5080 }
5057 } 5081 }
5058 5082