diff options
| author | Karoly Lorentey | 2003-12-28 16:05:28 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2003-12-28 16:05:28 +0000 |
| commit | 8ed48c277afad174675b3d6dcb8e7b00a4bcc97d (patch) | |
| tree | 53d9baa35f9420264e2f53ad4db850c400c3e2c6 /src/keyboard.c | |
| parent | 2e7f2ec031f1708b80df9dc1f60f6b1cb24a5c02 (diff) | |
| parent | 69348b2a71cbabeb23e3b7d5dce354c5bc4bd311 (diff) | |
| download | emacs-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.c | 30 |
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; | |||
| 579 | Lisp_Object Qmenu_bar; | 579 | Lisp_Object Qmenu_bar; |
| 580 | extern Lisp_Object Qleft_margin, Qright_margin; | 580 | extern Lisp_Object Qleft_margin, Qright_margin; |
| 581 | extern Lisp_Object Qleft_fringe, Qright_fringe; | 581 | extern Lisp_Object Qleft_fringe, Qright_fringe; |
| 582 | extern Lisp_Object Qimage; | 582 | extern Lisp_Object QCmap; |
| 583 | 583 | ||
| 584 | Lisp_Object recursive_edit_unwind (), command_loop (); | 584 | Lisp_Object recursive_edit_unwind (), command_loop (); |
| 585 | Lisp_Object Fthis_command_keys (); | 585 | Lisp_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 | ||