Commit 7be1c708 authored by Chong Yidong's avatar Chong Yidong
Browse files

Merge from emacs-23 branch

parents ebb552ed 8d96c9a4
2011-08-09 Chong Yidong <cyd@stupidchicken.com>
* hi-lock.el (hi-lock-unface-buffer): Fix interactive spec
(Bug#7554).
2011-08-09 Andreas Schwab <schwab@linux-m68k.org>
* xt-mouse.el (xterm-mouse-event-read): Try to recover the raw
character. (Bug#6594)
2011-08-08 Chong Yidong <cyd@stupidchicken.com>
* image-dired.el: Don't use find-file for temporary work (Bug#7895).
......
......@@ -461,7 +461,9 @@ interactive functions. \(See `hi-lock-interactive-patterns'.\)
\\<minibuffer-local-must-match-map>Use \\[minibuffer-complete] to complete a partially typed regexp.
\(See info node `Minibuffer History'.\)"
(interactive
(if (and (display-popup-menus-p) (not last-nonmenu-event))
(if (and (display-popup-menus-p)
(listp last-nonmenu-event)
use-dialog-box)
(catch 'snafu
(or
(x-popup-menu
......
......@@ -120,10 +120,17 @@
;; read xterm sequences above ascii 127 (#x7f)
(defun xterm-mouse-event-read ()
;; We get the characters decoded by the keyboard coding system. Try
;; to recover the raw character.
(let ((c (read-char)))
(if (> c #x3FFF80)
(+ 128 (- c #x3FFF80))
c)))
(cond ;; If meta-flag is t we get a meta character
((>= c ?\M-\^@)
(- c (- ?\M-\^@ 128)))
;; Reencode the character in the keyboard coding system, if
;; this is a non-ASCII character.
((>= c #x80)
(aref (encode-coding-string (string c) (keyboard-coding-system)) 0))
(t c))))
(defun xterm-mouse-truncate-wrap (f)
"Truncate with wrap-around."
......
2011-08-09 Andreas Schwab <schwab@linux-m68k.org>
* fontset.c (fontset_get_font_group): Add proper type checks.
(Bug#9172)
2011-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS
and LC_VERSION_MIN_MACOSX.
(copy_linkedit_data) [LC_FUNCTION_STARTS]: New function.
(dump_it) [LC_FUNCTION_STARTS]: Use it.
2011-08-08 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (forward_to_next_line_start): Allow to use the
......
......@@ -447,7 +447,7 @@ reorder_font_vector (Lisp_Object font_group, struct font *font)
/* Return a font-group (actually a cons (-1 . FONT-GROUP-VECTOR)) for
character C in FONTSET. If C is -1, return a fallback font-group.
If C is not -1, the value may be Qt (FONTSET doesn't have a font
for C even in the fallback group, or 0 (a font for C may be found
for C even in the fallback group), or 0 (a font for C may be found
only in the fallback group). */
static Lisp_Object
......@@ -465,7 +465,9 @@ fontset_get_font_group (Lisp_Object fontset, int c)
if (! NILP (font_group))
return font_group;
base_fontset = FONTSET_BASE (fontset);
if (c >= 0)
if (NILP (base_fontset))
font_group = Qnil;
else if (c >= 0)
font_group = char_table_ref_and_range (base_fontset, c, &from, &to);
else
font_group = FONTSET_FALLBACK (base_fontset);
......@@ -476,6 +478,8 @@ fontset_get_font_group (Lisp_Object fontset, int c)
char_table_set_range (fontset, from, to, font_group);
return font_group;
}
if (!VECTORP (font_group))
return font_group;
font_group = Fcopy_sequence (font_group);
for (i = 0; i < ASIZE (font_group); i++)
if (! NILP (AREF (font_group, i)))
......
......@@ -598,6 +598,16 @@ print_load_command_name (int lc)
case LC_DYLD_INFO_ONLY:
printf ("LC_DYLD_INFO_ONLY");
break;
#endif
#ifdef LC_VERSION_MIN_MACOSX
case LC_VERSION_MIN_MACOSX:
printf ("LC_VERSION_MIN_MACOSX");
break;
#endif
#ifdef LC_FUNCTION_STARTS
case LC_FUNCTION_STARTS:
printf ("LC_FUNCTION_STARTS");
break;
#endif
default:
printf ("unknown ");
......@@ -1135,6 +1145,28 @@ copy_dyld_info (struct load_command *lc, long delta)
}
#endif
#ifdef LC_FUNCTION_STARTS
/* Copy a LC_FUNCTION_STARTS load command from the input file to the
output file, adjusting the data offset field. */
static void
copy_linkedit_data (struct load_command *lc, long delta)
{
struct linkedit_data_command *ldp = (struct linkedit_data_command *) lc;
if (ldp->dataoff > 0)
ldp->dataoff += delta;
printf ("Writing ");
print_load_command_name (lc->cmd);
printf (" command\n");
if (!unexec_write (curr_header_offset, lc, lc->cmdsize))
unexec_error ("cannot write linkedit data command to header");
curr_header_offset += lc->cmdsize;
}
#endif
/* Copy other kinds of load commands from the input file to the output
file, ones that do not require adjustments of file offsets. */
static void
......@@ -1206,6 +1238,11 @@ dump_it (void)
case LC_DYLD_INFO_ONLY:
copy_dyld_info (lca[i], linkedit_delta);
break;
#endif
#ifdef LC_FUNCTION_STARTS
case LC_FUNCTION_STARTS:
copy_linkedit_data (lca[i], linkedit_delta);
break;
#endif
default:
copy_other (lca[i]);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment