# HG changeset patch # User Katsumi Yamaoka # Date 1270072429 0 # Node ID de35fc0712bc047ebc925a35cd4ec071d76f56e3 # Parent 44e86aa9f6f94227e4f686ff4f87ab5e7dc5302b# Parent 6143a02fedce800d8c6d72905e1d106ba686e8d8 Merge from mainline. diff -r 44e86aa9f6f9 -r de35fc0712bc doc/lispref/ChangeLog --- a/doc/lispref/ChangeLog Wed Mar 31 06:31:33 2010 +0000 +++ b/doc/lispref/ChangeLog Wed Mar 31 21:53:49 2010 +0000 @@ -1,3 +1,8 @@ +2010-03-31 Eli Zaretskii + + * control.texi (Handling Errors): How to re-throw a signal caught + by condition-case. + 2010-03-26 Chong Yidong * loading.texi (Hooks for Loading): Document after-load-functions. diff -r 44e86aa9f6f9 -r de35fc0712bc doc/lispref/control.texi --- a/doc/lispref/control.texi Wed Mar 31 06:31:33 2010 +0000 +++ b/doc/lispref/control.texi Wed Mar 31 21:53:49 2010 +0000 @@ -1023,6 +1023,20 @@ If @var{var} is @code{nil}, that means no variable is bound. Then the error symbol and associated data are not available to the handler. + +@cindex rethrow a signal +Sometimes it is necessary to re-throw a signal caught by +@code{condition-case}, for some outer-level handler to catch. Here's +how to do that: + +@smallexample + (signal (car err) (cdr err)) +@end smallexample + +@noindent +where @code{err} is the error description variable, the first argument +to @code{condition-case} whose error condition you want to re-throw. +@xref{Definition of signal}. @end defspec @defun error-message-string error-description @@ -1109,6 +1123,7 @@ @end smallexample @end defmac + @node Error Symbols @subsubsection Error Symbols and Condition Names @cindex error symbol diff -r 44e86aa9f6f9 -r de35fc0712bc src/ChangeLog --- a/src/ChangeLog Wed Mar 31 06:31:33 2010 +0000 +++ b/src/ChangeLog Wed Mar 31 21:53:49 2010 +0000 @@ -1,3 +1,13 @@ +2010-03-31 Chong Yidong + + * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL. + * nsterm.h: Fix prototype. + +2010-03-31 Eli Zaretskii + + * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it + in this function. (Bug#5703) + 2010-03-31 Chong Yidong * nsterm.h: Fix last change. diff -r 44e86aa9f6f9 -r de35fc0712bc src/nsfns.m --- a/src/nsfns.m Wed Mar 31 06:31:33 2010 +0000 +++ b/src/nsfns.m Wed Mar 31 21:53:49 2010 +0000 @@ -686,7 +686,7 @@ void -ns_set_doc_edited (struct frame *f, Lisp_Object arg, Lisp_Object oldval) +ns_set_doc_edited (struct frame *f, Lisp_Object arg) { NSView *view = FRAME_NS_VIEW (f); NSAutoreleasePool *pool; diff -r 44e86aa9f6f9 -r de35fc0712bc src/nsterm.h --- a/src/nsterm.h Wed Mar 31 06:31:33 2010 +0000 +++ b/src/nsterm.h Wed Mar 31 21:53:49 2010 +0000 @@ -709,7 +709,7 @@ extern Lisp_Object ns_cursor_type_to_lisp (int arg); extern Lisp_Object Qnone; extern void ns_set_name_as_filename (struct frame *f); -extern void ns_set_doc_edited (struct frame *f, Lisp_Object arg, Lisp_Object oldval); +extern void ns_set_doc_edited (struct frame *f, Lisp_Object arg); extern int ns_defined_color (struct frame *f, char *name, XColor *color_def, int alloc, diff -r 44e86aa9f6f9 -r de35fc0712bc src/w32fns.c --- a/src/w32fns.c Wed Mar 31 06:31:33 2010 +0000 +++ b/src/w32fns.c Wed Mar 31 21:53:49 2010 +0000 @@ -5427,6 +5427,10 @@ kb = dpyinfo->terminal->kboard; + /* The calls to x_get_arg remove elements from PARMS, so copy it to + avoid destructive changes behind our caller's back. */ + parms = Fcopy_alist (parms); + /* Get the name of the frame to use for resource lookup. */ name = x_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); if (!STRINGP (name)