Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 103141. ------------------------------------------------------------ revno: 103141 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 19:49:08 -0800 message: Merge: * xfns.c: conform to C89 pointer rules diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-06 03:13:16 +0000 +++ src/ChangeLog 2011-02-06 03:48:28 +0000 @@ -12,6 +12,8 @@ rules about pointer type compatibility. * doc.c (get_doc_string, Fsnarf_documentation): (Fsubstitute_command_keys): Likewise. + * xfns.c (Fx_open_connection, Fx_window_property): Likewise. + * bitmaps/gray.xbm (gray_bits): Likewise. 2011-02-05 Paul Eggert === modified file 'src/bitmaps/gray.xbm' --- src/bitmaps/gray.xbm 1999-09-29 16:37:29 +0000 +++ src/bitmaps/gray.xbm 2011-02-06 03:48:28 +0000 @@ -1,4 +1,4 @@ #define gray_width 2 #define gray_height 2 -static unsigned char gray_bits[] = { +static char gray_bits[] = { 0x01, 0x02}; === modified file 'src/xfns.c' --- src/xfns.c 2011-01-30 22:17:44 +0000 +++ src/xfns.c 2011-02-06 03:48:28 +0000 @@ -4067,7 +4067,7 @@ \(In the Nextstep version, the last two arguments are currently ignored.) */) (Lisp_Object display, Lisp_Object xrm_string, Lisp_Object must_succeed) { - unsigned char *xrm_option; + char *xrm_option; struct x_display_info *dpyinfo; CHECK_STRING (display); @@ -4080,9 +4080,9 @@ #endif if (! NILP (xrm_string)) - xrm_option = SDATA (xrm_string); + xrm_option = SSDATA (xrm_string); else - xrm_option = (unsigned char *) 0; + xrm_option = (char *) 0; validate_x_resource_name (); @@ -4394,7 +4394,7 @@ } if (NILP (vector_ret_p)) - prop_value = make_string (tmp_data, size); + prop_value = make_string ((char *) tmp_data, size); else prop_value = x_property_data_to_lisp (f, tmp_data, ------------------------------------------------------------ revno: 103140 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 19:14:24 -0800 message: Merge: * xterm.c: Avoid unportable int assumption. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-06 02:50:02 +0000 +++ src/ChangeLog 2011-02-06 03:13:16 +0000 @@ -1,5 +1,9 @@ 2011-02-06 Paul Eggert + * xterm.c (x_alloc_nearest_color_1): Avoid unportable int assumption. + Emacs assumes two's complement elsewhere, but the assumption is + easy to remove here, and this suppresses a warning with Sun C 5.8. + conform to C89 pointer rules * xterm.c (x_draw_fringe_bitmap, handle_one_xevent, x_bitmap_icon): === modified file 'src/xterm.c' --- src/xterm.c 2011-02-06 02:50:02 +0000 +++ src/xterm.c 2011-02-06 03:13:16 +0000 @@ -1706,7 +1706,7 @@ a least-squares matching, which is what X uses for closest color matching with StaticColor visuals. */ int nearest, i; - unsigned long nearest_delta = ~0; + unsigned long nearest_delta = ~ (unsigned long) 0; int ncells; const XColor *cells = x_color_cells (dpy, &ncells); ------------------------------------------------------------ revno: 103139 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 19:07:57 -0800 message: Merge: * xterm.c: conform to C89 pointer rules diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-06 01:56:00 +0000 +++ src/ChangeLog 2011-02-06 02:50:02 +0000 @@ -1,9 +1,13 @@ 2011-02-06 Paul Eggert - * doc.c: conform to C89 pointer rules - (get_doc_string, Fsnarf_documentation, Fsubstitute_command_keys): + conform to C89 pointer rules + + * xterm.c (x_draw_fringe_bitmap, handle_one_xevent, x_bitmap_icon): + (same_x_server, x_term_init): Change types between char * and unsigned char *, to satisfy C89 rules about pointer type compatibility. + * doc.c (get_doc_string, Fsnarf_documentation): + (Fsubstitute_command_keys): Likewise. 2011-02-05 Paul Eggert === modified file 'src/xterm.c' --- src/xterm.c 2011-02-03 13:46:03 +0000 +++ src/xterm.c 2011-02-06 02:50:02 +0000 @@ -797,15 +797,15 @@ if (p->which) { - unsigned char *bits; + char *bits; Pixmap pixmap, clipmask = (Pixmap) 0; int depth = DefaultDepthOfScreen (FRAME_X_SCREEN (f)); XGCValues gcv; if (p->wd > 8) - bits = (unsigned char *)(p->bits + p->dh); + bits = (char *) (p->bits + p->dh); else - bits = (unsigned char *)p->bits + p->dh; + bits = (char *) p->bits + p->dh; /* Draw the bitmap. I believe these small pixmaps can be cached by the server. */ @@ -6320,7 +6320,7 @@ coding_system = Vlocale_coding_system; nbytes = XmbLookupString (FRAME_XIC (f), - &event.xkey, copy_bufptr, + &event.xkey, (char *) copy_bufptr, copy_bufsiz, &keysym, &status_return); if (status_return == XBufferOverflow) @@ -6328,7 +6328,7 @@ copy_bufsiz = nbytes + 1; copy_bufptr = (unsigned char *) alloca (copy_bufsiz); nbytes = XmbLookupString (FRAME_XIC (f), - &event.xkey, copy_bufptr, + &event.xkey, (char *) copy_bufptr, copy_bufsiz, &keysym, &status_return); } @@ -6345,11 +6345,11 @@ abort (); } else - nbytes = XLookupString (&event.xkey, copy_bufptr, + nbytes = XLookupString (&event.xkey, (char *) copy_bufptr, copy_bufsiz, &keysym, &compose_status); #else - nbytes = XLookupString (&event.xkey, copy_bufptr, + nbytes = XLookupString (&event.xkey, (char *) copy_bufptr, copy_bufsiz, &keysym, &compose_status); #endif @@ -7445,7 +7445,7 @@ /* If all else fails, use the (black and white) xbm image. */ if (rc == -1) { - rc = x_create_bitmap_from_data (f, gnu_xbm_bits, + rc = x_create_bitmap_from_data (f, (char *) gnu_xbm_bits, gnu_xbm_width, gnu_xbm_height); if (rc == -1) return 1; @@ -9714,7 +9714,7 @@ same_x_server (const char *name1, const char *name2) { int seen_colon = 0; - const unsigned char *system_name = SDATA (Vsystem_name); + const char *system_name = SSDATA (Vsystem_name); int system_name_length = strlen (system_name); int length_until_period = 0; @@ -9828,7 +9828,7 @@ } if (! x_display_ok (SSDATA (display_name))) - error ("Display %s can't be opened", SDATA (display_name)); + error ("Display %s can't be opened", SSDATA (display_name)); #ifdef USE_GTK { @@ -9840,7 +9840,7 @@ if (x_initialized++ > 1) { - xg_display_open (SDATA (display_name), &dpy); + xg_display_open (SSDATA (display_name), &dpy); } else { @@ -9856,7 +9856,7 @@ if (! NILP (display_name)) { argv[argc++] = display_opt; - argv[argc++] = SDATA (display_name); + argv[argc++] = SSDATA (display_name); } argv[argc++] = name_opt; @@ -9889,7 +9889,7 @@ abs_file = Fexpand_file_name (s, Qnil); if (! NILP (abs_file) && !NILP (Ffile_readable_p (abs_file))) - gtk_rc_parse (SDATA (abs_file)); + gtk_rc_parse (SSDATA (abs_file)); } XSetErrorHandler (x_error_handler); @@ -9933,7 +9933,7 @@ #else /* not USE_X_TOOLKIT */ XSetLocaleModifiers (""); - dpy = XOpenDisplay (SDATA (display_name)); + dpy = XOpenDisplay (SSDATA (display_name)); #endif /* not USE_X_TOOLKIT */ #endif /* not USE_GTK*/ @@ -10032,7 +10032,7 @@ + SBYTES (Vsystem_name) + 2); sprintf (dpyinfo->x_id_name, "%s@%s", - SDATA (Vinvocation_name), SDATA (Vsystem_name)); + SSDATA (Vinvocation_name), SSDATA (Vsystem_name)); /* Figure out which modifier bits mean what. */ x_find_modifier_meanings (dpyinfo); ------------------------------------------------------------ revno: 103138 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 18:01:17 -0800 message: * doc.c: conform to C89 pointer rules diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-06 01:25:41 +0000 +++ src/ChangeLog 2011-02-06 01:56:00 +0000 @@ -1,3 +1,10 @@ +2011-02-06 Paul Eggert + + * doc.c: conform to C89 pointer rules + (get_doc_string, Fsnarf_documentation, Fsubstitute_command_keys): + Change types between char * and unsigned char *, to satisfy C89 + rules about pointer type compatibility. + 2011-02-05 Paul Eggert don't ignore chdir failure === modified file 'src/doc.c' --- src/doc.c 2011-01-30 22:17:44 +0000 +++ src/doc.c 2011-02-06 01:56:00 +0000 @@ -260,7 +260,7 @@ the same way we would read bytes from a file. */ if (definition) { - read_bytecode_pointer = get_doc_string_buffer + offset; + read_bytecode_pointer = (unsigned char *) get_doc_string_buffer + offset; return Fread (Qlambda); } @@ -270,8 +270,10 @@ else { /* The data determines whether the string is multibyte. */ - EMACS_INT nchars = multibyte_chars_in_text (get_doc_string_buffer + offset, - to - (get_doc_string_buffer + offset)); + EMACS_INT nchars = + multibyte_chars_in_text (((unsigned char *) get_doc_string_buffer + + offset), + to - (get_doc_string_buffer + offset)); return make_string_from_bytes (get_doc_string_buffer + offset, nchars, to - (get_doc_string_buffer + offset)); @@ -630,7 +632,8 @@ } sym = oblookup (Vobarray, p + 2, - multibyte_chars_in_text (p + 2, end - p - 2), + multibyte_chars_in_text ((unsigned char *) p + 2, + end - p - 2), end - p - 2); /* Check skip_file so that when a function is defined several times in different files (typically, once in xterm, once in @@ -685,10 +688,10 @@ a new string, without any text properties, is returned. */) (Lisp_Object string) { - unsigned char *buf; + char *buf; int changed = 0; register unsigned char *strp; - register unsigned char *bufp; + register char *bufp; EMACS_INT idx; EMACS_INT bsize; Lisp_Object tem; @@ -721,7 +724,7 @@ keymap = Voverriding_local_map; bsize = SBYTES (string); - bufp = buf = (unsigned char *) xmalloc (bsize); + bufp = buf = (char *) xmalloc (bsize); strp = SDATA (string); while (strp < SDATA (string) + SBYTES (string)) @@ -768,7 +771,7 @@ /* Save STRP in IDX. */ idx = strp - SDATA (string); - name = Fintern (make_string (start, length_byte), Qnil); + name = Fintern (make_string ((char *) start, length_byte), Qnil); do_remap: tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil); @@ -790,7 +793,7 @@ if (NILP (tem)) /* but not on any keys */ { EMACS_INT offset = bufp - buf; - buf = (unsigned char *) xrealloc (buf, bsize += 4); + buf = (char *) xrealloc (buf, bsize += 4); bufp = buf + offset; memcpy (bufp, "M-x ", 4); bufp += 4; @@ -835,7 +838,7 @@ /* Get the value of the keymap in TEM, or nil if undefined. Do this while still in the user's current buffer in case it is a local variable. */ - name = Fintern (make_string (start, length_byte), Qnil); + name = Fintern (make_string ((char *) start, length_byte), Qnil); tem = Fboundp (name); if (! NILP (tem)) { @@ -884,7 +887,7 @@ subst: { EMACS_INT offset = bufp - buf; - buf = (unsigned char *) xrealloc (buf, bsize += length_byte); + buf = (char *) xrealloc (buf, bsize += length_byte); bufp = buf + offset; memcpy (bufp, start, length_byte); bufp += length_byte; ------------------------------------------------------------ revno: 103137 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 17:26:38 -0800 message: Merge: don't ignore chdir failure diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-05 22:30:14 +0000 +++ src/ChangeLog 2011-02-06 01:25:41 +0000 @@ -1,3 +1,14 @@ +2011-02-05 Paul Eggert + + don't ignore chdir failure + * sysdep.c (sys_subshell) [!defined DOS_NT]: Diagnose chdir + failure and exit. + (sys_subshell) [defined DOS_NT]: Mark with a FIXME the two + remaining unchecked chdir calls in this function; some DOS/NT + expert needs to fix them. + * emacs.c (main): Mark with a FIXME the unchecked chdir calls + in this function; some NextStep expert needs to fix them. + 2011-02-05 Glenn Morris * xfaces.c (Finternal_set_lisp_face_attribute): === modified file 'src/emacs.c' --- src/emacs.c 2011-01-31 08:12:52 +0000 +++ src/emacs.c 2011-02-06 01:25:41 +0000 @@ -1296,6 +1296,8 @@ #ifdef NS_IMPL_COCOA if (skip_args < argc) { + /* FIXME: Do the right thing if getenv returns NULL, or if + chdir fails. */ if (!strncmp(argv[skip_args], "-psn", 4)) { skip_args += 1; === modified file 'src/sysdep.c' --- src/sysdep.c 2011-02-03 19:29:35 +0000 +++ src/sysdep.c 2011-02-06 01:25:41 +0000 @@ -548,8 +548,13 @@ sh = "sh"; /* Use our buffer's default directory for the subshell. */ - if (str) - chdir ((char *) str); + if (str && chdir ((char *) str) != 0) + { +#ifndef DOS_NT + ignore_value (write (1, "Can't chdir\n", 12)); + _exit (1); +#endif + } close_process_descs (); /* Close Emacs's pipes/ptys */ @@ -567,7 +572,7 @@ setenv ("PWD", str, 1); } st = system (sh); - chdir (oldwd); + chdir (oldwd); /* FIXME: Do the right thing on chdir failure. */ if (epwd) putenv (old_pwd); /* restore previous value */ } @@ -575,7 +580,7 @@ #ifdef WINDOWSNT /* Waits for process completion */ pid = _spawnlp (_P_WAIT, sh, sh, NULL); - chdir (oldwd); + chdir (oldwd); /* FIXME: Do the right thing on chdir failure. */ if (pid == -1) write (1, "Can't execute subshell", 22); #else /* not WINDOWSNT */ ------------------------------------------------------------ revno: 103136 author: Teodor Zlatanov committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2011-02-06 00:25:41 +0000 message: gnus-overrides.texi: Renamed from overrides.texi and all the relevant manuals use it now. Makefile.in (nowebhack): Fixed to use -D flag instead of overrides. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2011-02-05 22:30:14 +0000 +++ doc/misc/ChangeLog 2011-02-06 00:25:41 +0000 @@ -1,3 +1,10 @@ +2011-02-05 Teodor Zlatanov + + * gnus-overrides.texi: Renamed from overrides.texi and all the relevant + manuals use it now. + + * Makefile.in (nowebhack): Fixed to use -D flag instead of overrides. + 2011-02-05 Katsumi Yamaoka * overrides.texi: Remove. === modified file 'doc/misc/Makefile.in' --- doc/misc/Makefile.in 2011-02-05 12:29:48 +0000 +++ doc/misc/Makefile.in 2011-02-06 00:25:41 +0000 @@ -209,6 +209,10 @@ info: $(INFO_TARGETS) +# please modify this for all the web manual targets +webhack: clean + $(MAKE) pdf MAKEINFO_OPTS="-DWEBHACKDEVEL $(MAKEINFO_OPTS)" + dvi: $(DVI_TARGETS) pdf: $(PDF_TARGETS) === modified file 'doc/misc/auth.texi' --- doc/misc/auth.texi 2011-02-05 12:29:48 +0000 +++ doc/misc/auth.texi 2011-02-06 00:25:41 +0000 @@ -1,4 +1,7 @@ \input texinfo @c -*-texinfo-*- + +@include gnus-overrides.texi + @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} @@ -35,7 +38,12 @@ @end direntry @titlepage +@ifset WEBHACKDEVEL +@title Emacs auth-source Library (DEVELOPMENT VERSION) +@end ifset +@ifclear WEBHACKDEVEL @title Emacs auth-source Library +@end ifclear @author by Ted Zlatanov @page @vskip 0pt plus 1filll === modified file 'doc/misc/emacs-mime.texi' --- doc/misc/emacs-mime.texi 2011-02-05 12:29:48 +0000 +++ doc/misc/emacs-mime.texi 2011-02-06 00:25:41 +0000 @@ -1,5 +1,7 @@ \input texinfo +@include gnus-overrides.texi + @setfilename ../../info/emacs-mime @settitle Emacs MIME Manual @synindex fn cp @@ -38,7 +40,12 @@ @setchapternewpage odd @titlepage +@ifset WEBHACKDEVEL +@title Emacs MIME Manual (DEVELOPMENT VERSION) +@end ifset +@ifclear WEBHACKDEVEL @title Emacs MIME Manual +@end ifclear @author by Lars Magne Ingebrigtsen @page === added file 'doc/misc/gnus-overrides.texi' === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2011-02-05 12:29:48 +0000 +++ doc/misc/gnus.texi 2011-02-06 00:25:41 +0000 @@ -1,5 +1,7 @@ \input texinfo +@include gnus-overrides.texi + @setfilename ../../info/gnus @settitle Gnus Manual @syncodeindex fn cp @@ -329,7 +331,12 @@ @titlepage +@ifset WEBHACKDEVEL +@title Gnus Manual (DEVELOPMENT VERSION) +@end ifset +@ifclear WEBHACKDEVEL @title Gnus Manual +@end ifclear @author by Lars Magne Ingebrigtsen @page === modified file 'doc/misc/message.texi' --- doc/misc/message.texi 2011-02-05 12:29:48 +0000 +++ doc/misc/message.texi 2011-02-06 00:25:41 +0000 @@ -1,5 +1,7 @@ \input texinfo @c -*-texinfo-*- +@include gnus-overrides.texi + @setfilename ../../info/message @settitle Message Manual @synindex fn cp @@ -34,7 +36,12 @@ @end iftex @titlepage +@ifset WEBHACKDEVEL +@title Message Manual (DEVELOPMENT VERSION) +@end ifset +@ifclear WEBHACKDEVEL @title Message Manual +@end ifclear @author by Lars Magne Ingebrigtsen @page === modified file 'doc/misc/pgg.texi' --- doc/misc/pgg.texi 2011-02-05 12:29:48 +0000 +++ doc/misc/pgg.texi 2011-02-06 00:25:41 +0000 @@ -1,4 +1,7 @@ \input texinfo @c -*-texinfo-*- + +@include gnus-overrides.texi + @setfilename ../../info/pgg @settitle PGG @value{VERSION} @@ -30,7 +33,12 @@ @end direntry @titlepage +@ifset WEBHACKDEVEL +@title PGG (DEVELOPMENT VERSION) +@end ifset +@ifclear WEBHACKDEVEL @title PGG +@end ifclear @author by Daiki Ueno @page === modified file 'doc/misc/sasl.texi' --- doc/misc/sasl.texi 2011-02-05 12:29:48 +0000 +++ doc/misc/sasl.texi 2011-02-06 00:25:41 +0000 @@ -1,4 +1,7 @@ \input texinfo @c -*-texinfo-*- + +@include gnus-overrides.texi + @setfilename ../../info/sasl @set VERSION 0.2 @@ -37,7 +40,12 @@ @titlepage +@ifset WEBHACKDEVEL +@title Emacs SASL Library @value{VERSION} (DEVELOPMENT VERSION) +@end ifset +@ifclear WEBHACKDEVEL @title Emacs SASL Library @value{VERSION} +@end ifclear @author by Daiki Ueno @page === modified file 'doc/misc/sieve.texi' --- doc/misc/sieve.texi 2011-02-05 12:29:48 +0000 +++ doc/misc/sieve.texi 2011-02-06 00:25:41 +0000 @@ -1,4 +1,7 @@ \input texinfo @c -*-texinfo-*- + +@include gnus-overrides.texi + @setfilename ../../info/sieve @settitle Emacs Sieve Manual @synindex fn cp @@ -34,7 +37,12 @@ @setchapternewpage odd @titlepage +@ifset WEBHACKDEVEL +@title Emacs Sieve Manual (DEVELOPMENT VERSION) +@end ifset +@ifclear WEBHACKDEVEL @title Emacs Sieve Manual +@end ifclear @author by Simon Josefsson @page ------------------------------------------------------------ revno: 103135 committer: Glenn Morris branch nick: trunk timestamp: Sat 2011-02-05 14:46:34 -0800 message: bzrmerge.el trivia. * admin/bzrmerge.el (bzrmerge-warning-buffer): New constant. (bzrmerge-apply): Use it. (bzrmerge): Kill any old warning buffer first. diff: === modified file 'admin/ChangeLog' --- admin/ChangeLog 2011-02-03 07:09:50 +0000 +++ admin/ChangeLog 2011-02-05 22:46:34 +0000 @@ -1,3 +1,9 @@ +2011-02-05 Glenn Morris + + * bzrmerge.el (bzrmerge-warning-buffer): New constant. + (bzrmerge-apply): Use it. + (bzrmerge): Kill any old warning buffer first. + 2011-02-03 Glenn Morris * bzrmerge.el (bzrmerge-buffer): New constant. === modified file 'admin/bzrmerge.el' --- admin/bzrmerge.el 2011-02-03 07:09:50 +0000 +++ admin/bzrmerge.el 2011-02-05 22:46:34 +0000 @@ -35,6 +35,9 @@ (defconst bzrmerge-buffer "*bzrmerge*" "Working buffer for bzrmerge.") +(defconst bzrmerge-warning-buffer "*bzrmerge warnings*" + "Buffer where bzrmerge will display any warnings.") + (defun bzrmerge-merges () "Return the list of already merged (not yet committed) revisions. The list returned is sorted by oldest-first." @@ -290,7 +293,8 @@ ;; are conflicts. (display-warning 'bzrmerge "Resolve conflicts manually. ĦBEWARE! Important metadata is kept in this Emacs session! -Do not commit without re-running `M-x bzrmerge' first!")) +Do not commit without re-running `M-x bzrmerge' first!" + :warning bzrmerge-warning-buffer)) (error "Resolve conflicts manually"))))) (cons merge skip))))) @@ -305,6 +309,10 @@ (when (re-search-forward "submit branch: *" nil t) (buffer-substring (point) (line-end-position)))))) (read-file-name "From branch: " nil nil nil def)))) + ;; Eg we ran bzrmerge once, it stopped with conflicts, we fixed them + ;; and are running it again. + (if (get-buffer bzrmerge-warning-buffer) + (kill-buffer bzrmerge-warning-buffer)) (message "Merging from %s..." from) (require 'vc-bzr) (let ((default-directory (or (vc-bzr-root default-directory) ------------------------------------------------------------ revno: 103134 [merge] committer: Glenn Morris branch nick: trunk timestamp: Sat 2011-02-05 14:30:14 -0800 message: Merge from emacs-23; up to r100454. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-01-31 23:54:50 +0000 +++ doc/emacs/ChangeLog 2011-02-05 22:30:14 +0000 @@ -1,3 +1,16 @@ +2011-02-05 Chong Yidong + + * rmail.texi (Rmail Display): Document Rmail MIME support more + accurately. + + * maintaining.texi (VC Change Log): Document vc-log-incoming and + vc-log-outgoing. + (Merging): Document vc-find-conflicted-file. + +2011-02-05 Glenn Morris + + * custom.texi (Variables): Fix typo. + 2011-01-31 Chong Yidong * search.texi (Regexps): Copyedits. Mention character classes === modified file 'doc/emacs/custom.texi' --- doc/emacs/custom.texi 2011-01-25 04:08:28 +0000 +++ doc/emacs/custom.texi 2011-02-05 22:30:14 +0000 @@ -770,7 +770,7 @@ most interesting variables for a non-programmer user are those meant for users to change---these are called @dfn{user options}. @xref{Easy Customization}, for information about using the Customize facility to -set user options. In the following sections, we describe will other +set user options. In the following sections, we will describe other aspects of Emacs variables, such as how to set them outside Customize. Emacs Lisp allows any variable (with a few exceptions) to have any === modified file 'doc/emacs/maintaining.texi' --- doc/emacs/maintaining.texi 2011-01-25 04:08:28 +0000 +++ doc/emacs/maintaining.texi 2011-02-05 22:30:14 +0000 @@ -907,6 +907,14 @@ @item C-x v L Display the change history for the current repository (@code{vc-print-root-log}). + +@item C-x v I +Display the changes that will be received with a pull operation +(@code{vc-log-incoming}). + +@item C-x v O +Display the changes that will be sent by the next push operation +(@code{vc-log-outgoing}). @end table @kindex C-x v l @@ -928,6 +936,19 @@ the command prompts for the maximum number of revisions to display. RCS, SCCS, and CVS do not support this feature. + On a distributed version control system, the @kbd{C-x v I} +(@code{vc-log-incoming}) command displays a log buffer showing the +changes that will be applied, the next time you run the version +control system's ``pull'' command to get new revisions from another +repository. This other repository is the default one from which +changes are pulled, as defined by the version control system; with a +prefix argument, @code{vc-log-incoming} prompts for a specific +repository from which changes would be pulled, and lists the changes +accordingly. Similarly, @kbd{C-x v O} (@code{vc-log-outgoing}) shows +the changes that will be sent to another repository, the next time you +run the ``push'' command; with a prefix argument, it prompts for a +specific repository to which changes would be pushed. + In the @samp{*vc-change-log*} buffer, you can use the following keys to move between the logs of revisions and of files, to view past revisions, to modify change comments, to view annotations and to view @@ -1381,12 +1402,18 @@ @end group @end smallexample -@cindex vc-resolve-conflicts +@findex vc-resolve-conflicts Then you can resolve the conflicts by editing the file manually. Or you can type @code{M-x vc-resolve-conflicts} after visiting the file. This starts an Ediff session, as described above. Don't forget to commit the merged version afterwards. +@findex vc-find-conflicted-file + If there is more than one conflicted file in a merge, type @kbd{M-x +vc-find-conflicted-file} after resolving the conflicts in each file. +This command visits the next conflicted file, and moves point to the +first conflict marker in that file. + @node Multi-User Branching @subsubsection Multi-User Branching === modified file 'doc/emacs/rmail.texi' --- doc/emacs/rmail.texi 2011-01-25 04:08:28 +0000 +++ doc/emacs/rmail.texi 2011-02-05 22:30:14 +0000 @@ -1142,12 +1142,12 @@ @cindex MIME messages (Rmail) @vindex rmail-enable-mime - By default, Rmail automatically decodes @acronym{MIME} (Multipurpose -Internet Mail Extensions) messages. If the message contains multiple -parts (@acronym{MIME} entities), each part is represented by a tagline -in the Rmail buffer. The tagline summarizes the part's depth, index, -and type, and may also contain a button for handling it, e.g. saving -it to a file or displaying it as an image in the Rmail buffer. + If a message is in @acronym{MIME} (Multipurpose Internet Mail +Extensions) format and contains multiple parts (@acronym{MIME} +entities), Rmail displays each part with a @dfn{tagline}. The tagline +summarizes the part's index, size, and content type. Depending on the +content type, it may also contain one or more buttons; these perform +actions such as saving the part into a file. @table @kbd @findex rmail-mime-toggle-hidden @@ -1157,7 +1157,7 @@ @findex rmail-mime-next-item @item @key{TAB} -Move point to the next @acronym{MIME} part +Move point to the next @acronym{MIME} tagline button. (@code{rmail-mime-next-item}). @findex rmail-mime-previous-item @@ -1172,6 +1172,16 @@ (@code{rmail-mime}). @end table + Each plain-text @acronym{MIME} part is initially displayed +immediately after its tagline, as part of the Rmail buffer, while +@acronym{MIME} parts of other types are represented only by their +taglines, with their actual contents hidden. In either case, you can +toggle a @acronym{MIME} part between its ``displayed'' and ``hidden'' +states by typing @key{RET} anywhere in the part---or anywhere in its +tagline, apart from a tagline button for some other action. Type +@key{RET} (or click with the mouse) to activate a tagline button, and +@key{TAB} to cycle point between tagline buttons. + The @kbd{v} (@code{rmail-mime}) command toggles between the default @acronym{MIME} display described above, and a ``raw'' display showing the undecoded @acronym{MIME} data. With a prefix argument, this === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-02-02 20:44:19 +0000 +++ doc/lispref/ChangeLog 2011-02-05 22:30:14 +0000 @@ -1,3 +1,8 @@ +2011-02-05 Chong Yidong + + * commands.texi (Accessing Mouse): Note that a header line is not + included in the row of posn-col-row. + 2011-02-02 Chong Yidong * modes.texi (Major Mode Conventions): Add face guidelines. === modified file 'doc/lispref/commands.texi' --- doc/lispref/commands.texi 2011-01-25 04:08:28 +0000 +++ doc/lispref/commands.texi 2011-02-05 22:30:14 +0000 @@ -1927,10 +1927,17 @@ @end defun @defun posn-col-row position -Return the row and column (in units of the frame's default character -height and width) of @var{position}, as a cons cell @code{(@var{col} . -@var{row})}. These are computed from the @var{x} and @var{y} values -actually found in @var{position}. +This function returns a cons cell @code{(@var{col} . @var{row})}, +containing the estimated column and row corresponding to buffer +position @var{position}. The return value is given in units of the +frame's default character width and height, as computed from the +@var{x} and @var{y} values corresponding to @var{position}. (So, if +the actual characters have non-default sizes, the actual row and +column may differ from these computed values.) + +Note that @var{row} is counted from the top of the text area. If the +window possesses a header line (@pxref{Header Lines}), it is +@emph{not} counted as the first line. @end defun @defun posn-actual-col-row position === modified file 'etc/NEWS.23' --- etc/NEWS.23 2011-01-25 04:08:28 +0000 +++ etc/NEWS.23 2011-02-05 22:30:14 +0000 @@ -17,28 +17,52 @@ * Installation Changes in Emacs 23.3 -* Startup Changes in Emacs 23.3 +** New configure option --with-crt-dir specifies the location of your +crt*.o files, if they are in a non-standard location. This is only +used on x86-64 and s390x GNU/Linux architectures. * Changes in Emacs 23.3 -+++ ** The last-resort backup file `%backup%~' is now written to `user-emacs-directory', instead of the user's home directory. - -* Editing Changes in Emacs 23.3 +** If Emacs creates `user-emacs-directory', that directory's +permissions are now set to rwx------, ignoring the umask. * Changes in Specialized Modes and Packages in Emacs 23.3 ---- -** The appt-add command takes an optional argument for the warning time. +** Calendar and diary + +*** The appt-add command takes an optional argument, the warning time. This can be used in place of the default appt-message-warning-time. ---- -** You can allow inferior Python processes to load modules from the +** Python mode + +*** You can allow inferior Python processes to load modules from the current directory by setting `python-remove-cwd-from-path' to nil. +** Rmail + +*** The default value of `rmail-enable-mime' is now t. Rmail decodes +MIME contents automatically. You can customize the variable +`rmail-enable-mime' back to `nil' to disable this automatic MIME +decoding. + +*** The command `rmail-mime' change the displaying of a MIME message +between decoded presentation form and raw data if `rmail-enable-mime' +is non-nil. And, with prefix argument, it change only the displaying +of the MIME entity at point. + +*** The new command `rmail-mime-next-item' (bound to TAB) moves point +to the next item of MIME message. + +*** The new command `rmail-mime-previous-item' (bound to backtab) moves +point to the previous item of MIME message. + +*** The new command `rmail-mime-toggle-hidden' (RET) hide or show the +body of the MIME entity at point. + ** VC and related modes *** New VC command `vc-log-incoming', bound to `C-x v I'. @@ -51,14 +75,12 @@ *** New VC command vc-find-conflicted-file. -+++ *** The 'g' key in VC diff, log, log-incoming and log-outgoing buffers reruns the corresponding VC command to compute an up to date version of the buffer. *** vc-dir for Bzr supports viewing shelve contents and shelving snapshots. -+++ *** Special markup can be added to log-edit buffers. You can add headers specifying additional information to be supplied to the version control system. For example: @@ -71,30 +93,8 @@ Git, Mercurial, and Monotone recognize "Author" and "Date". Any unknown header is left as is in the message, so it is not lost. -** Rmail - -*** The default value of `rmail-enable-mime' is now t. Rmail decodes -MIME contents automatically. You can customize the variable -`rmail-enable-mime' back to `nil' to disable this automatic MIME -decoding. - -*** The command `rmail-mime' change the displaying of a MIME message -between decoded presentation form and raw data if `rmail-enable-mime' -is non-nil. And, with prefix argument, it change only the displaying -of the MIME entity at point. - -*** The new command `rmail-mime-next-item' (bound to TAB) moves point -to the next item of MIME message. - -*** The new command `rmail-mime-previous-item' (bound to backtab) moves -point to the previous item of MIME message. - -*** The new command `rmail-mime-toggle-hidden' (RET) hide or show the -body of the MIME entity at point. - ** Obsolete packages -+++ *** lmenu.el and cl-compat.el are now obsolete. @@ -115,26 +115,20 @@ * Lisp changes in Emacs 23.3 -+++ ** `e' and `pi' are now called `float-e' and `float-pi'. The old names are obsolete. -+++ ** The use of unintern without an obarray arg is now obsolete. ---- ** The function `princ-list' is now obsolete. -+++ ** The yank-handler argument to kill-region and friends is now obsolete. -+++ ** New function byte-to-string, like char-to-string but for bytes. * Changes in Emacs 23.3 on non-free operating systems -+++ ** The nextstep port can have different modifiers for the left and right alt/option key by customizing the value for ns-right-alternate-modifier. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-05 21:07:26 +0000 +++ lisp/ChangeLog 2011-02-05 22:30:14 +0000 @@ -1,3 +1,17 @@ +2011-02-05 Glenn Morris + + * emacs-lisp/cl-macs.el (return-from): Fix doc typo. + + * calendar/diary-lib.el (diary-font-lock-keywords): + Tweak diary-time-regexp match. (Bug#7891) + + * progmodes/f90.el (f90-find-tag-default): New function. (Bug#7919) + (f90-mode): Use it for mode's `find-tag-default-function' property. + + * ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969) + + * faces.el (set-face-attribute): Doc fix. (Bug#2659) + 2011-02-05 Deniz Dogan * net/rcirc.el (rcirc-handler-JOIN): Reset mode-line-process === modified file 'lisp/calendar/diary-lib.el' --- lisp/calendar/diary-lib.el 2011-02-01 21:22:21 +0000 +++ lisp/calendar/diary-lib.el 2011-02-05 22:30:14 +0000 @@ -2331,9 +2331,19 @@ t)) '(1 font-lock-reference-face)) '(diary-font-lock-sexps . font-lock-keyword-face) + ;; Don't need to worry about space around "-" because the first + ;; match takes care of that. It does mean the "-" itself may or + ;; may not be fontified though. + ;; diary-date-forms often include a final character that is not + ;; part of the date (eg a non-digit to mark the end of the year). + ;; This can use up the only space char between a date and time (b#7891). + ;; Hence we use OVERRIDE, which can only override whitespace. + ;; FIXME it's probably better to tighten up the diary-time-regexp + ;; and drop the whitespace requirement below. `(,(format "\\(^\\|\\s-\\)%s\\(-%s\\)?" diary-time-regexp diary-time-regexp) - . 'diary-time)))) + . (0 'diary-time t))))) +; . 'diary-time)))) (defvar diary-font-lock-keywords (diary-font-lock-keywords) "Forms to highlight in `diary-mode'.") === modified file 'lisp/emacs-lisp/cl-macs.el' --- lisp/emacs-lisp/cl-macs.el 2011-01-25 04:08:28 +0000 +++ lisp/emacs-lisp/cl-macs.el 2011-02-05 22:30:14 +0000 @@ -628,7 +628,7 @@ ;;;###autoload (defmacro return-from (name &optional result) "Return from the block named NAME. -This jump out to the innermost enclosing `(block NAME ...)' form, +This jumps out to the innermost enclosing `(block NAME ...)' form, returning RESULT from that form (or nil if RESULT is omitted). This is compatible with Common Lisp, but note that `defun' and `defmacro' do not create implicit blocks as they do in Common Lisp." === modified file 'lisp/faces.el' --- lisp/faces.el 2011-02-01 21:37:12 +0000 +++ lisp/faces.el 2011-02-05 22:30:14 +0000 @@ -588,10 +588,14 @@ `:height' -VALUE must be either an integer specifying the height of the font to use -in 1/10 pt, a floating point number specifying the amount by which to -scale any underlying face, or a function, which is called with the old -height (from the underlying face), and should return the new height. +VALUE specifies the height of the font, in either absolute or relative +terms. An absolute height is an integer, and specifies font height in +units of 1/10 pt. A relative height is either a floating point number, +which specifies a scaling factor for the underlying face height; +or a function that takes a single argument (the underlying face height) +and returns the new height. Note that for the `default' face, +you can only specify an absolute height (since there is nothing +for it to be relative to). `:weight' === modified file 'lisp/ibuf-ext.el' --- lisp/ibuf-ext.el 2011-01-25 04:08:28 +0000 +++ lisp/ibuf-ext.el 2011-02-05 22:30:14 +0000 @@ -771,7 +771,8 @@ (defun ibuffer-filter-disable () "Disable all filters currently in effect in this buffer." (interactive) - (setq ibuffer-filtering-qualifiers nil) + (setq ibuffer-filtering-qualifiers nil + ibuffer-filter-groups nil) (let ((buf (ibuffer-current-buffer))) (ibuffer-update nil t) (when buf === modified file 'lisp/progmodes/f90.el' --- lisp/progmodes/f90.el 2011-01-25 04:08:28 +0000 +++ lisp/progmodes/f90.el 2011-02-05 22:30:14 +0000 @@ -2198,6 +2198,16 @@ (save-excursion (nth 1 (f90-beginning-of-subprogram)))) +(defun f90-find-tag-default () + "Function to use for `find-tag-default-function' property in F90 mode." + (let ((tag (find-tag-default))) + (or (and tag + ;; See bug#7919. TODO I imagine there are other cases...? + (string-match "%\\(.+\\)" tag) + (match-string-no-properties 1 tag)) + tag))) + +(put 'f90-mode 'find-tag-default-function 'f90-find-tag-default) (defun f90-backslash-not-special (&optional all) "Make the backslash character (\\) be non-special in the current buffer. === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-05 10:20:15 +0000 +++ src/ChangeLog 2011-02-05 22:30:14 +0000 @@ -1,3 +1,23 @@ +2011-02-05 Glenn Morris + + * xfaces.c (Finternal_set_lisp_face_attribute): + Try to clarify some error messages. (Bug#2659) + +2011-02-05 Stefan Monnier + + * editfns.c (save_restriction_restore): Don't forget to invalidate the + current_column cache (bug#7946). + +2011-02-05 Kenichi Handa + + * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined. + + * xftfont.c (xftfont_open): Likewise. + +2011-02-05 Andreas Schwab + + * window.c (Fselect_window): Add missing return value. + 2011-02-05 Paul Eggert xstrcasecmp: conform to C89 pointer rules === modified file 'src/editfns.c' --- src/editfns.c 2011-02-01 07:23:48 +0000 +++ src/editfns.c 2011-02-05 22:30:14 +0000 @@ -3256,6 +3256,9 @@ } } + /* Changing the buffer bounds invalidates any recorded current column. */ + invalidate_current_column (); + if (cur) set_buffer_internal (cur); === modified file 'src/ftfont.c' --- src/ftfont.c 2011-02-05 10:20:15 +0000 +++ src/ftfont.c 2011-02-05 22:30:14 +0000 @@ -1240,7 +1240,11 @@ spacing = XINT (AREF (entity, FONT_SPACING_INDEX)); else spacing = FC_PROPORTIONAL; - if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL) + if (spacing != FC_PROPORTIONAL +#ifdef FC_DUAL + && spacing != FC_DUAL +#endif /* FC_DUAL */ + ) font->min_width = font->average_width = font->space_width = (scalable ? ft_face->max_advance_width * size / upEM : ft_face->size->metrics.max_advance >> 6); === modified file 'src/window.c' --- src/window.c 2011-01-25 04:08:28 +0000 +++ src/window.c 2011-02-05 22:30:14 +0000 @@ -3589,7 +3589,7 @@ selected window before each command. */) (register Lisp_Object window, Lisp_Object norecord) { - select_window (window, norecord, 0); + return select_window (window, norecord, 0); } static Lisp_Object === modified file 'src/xfaces.c' --- src/xfaces.c 2011-02-05 10:20:15 +0000 +++ src/xfaces.c 2011-02-05 22:30:14 +0000 @@ -2899,7 +2899,7 @@ { /* The default face must have an absolute size. */ if (!INTEGERP (value) || XINT (value) <= 0) - signal_error ("Invalid default face height", value); + signal_error ("Default face height not absolute and positive", value); } else { @@ -2909,7 +2909,7 @@ make_number (10), Qnil); if (!INTEGERP (test) || XINT (test) <= 0) - signal_error ("Invalid face height", value); + signal_error ("Face height does not produce a positive integer", value); } } === modified file 'src/xftfont.c' --- src/xftfont.c 2011-01-25 04:08:28 +0000 +++ src/xftfont.c 2011-02-05 22:30:14 +0000 @@ -411,7 +411,11 @@ ascii_printable[i] = ' ' + i; } BLOCK_INPUT; - if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL) + if (spacing != FC_PROPORTIONAL +#ifdef FC_DUAL + && spacing != FC_DUAL +#endif /* FC_DUAL */ + ) { font->min_width = font->average_width = font->space_width = xftfont->max_advance_width; ------------------------------------------------------------ revno: 103133 committer: Deniz Dogan branch nick: emacs-trunk timestamp: Sat 2011-02-05 22:07:26 +0100 message: * lisp/net/rcirc.el (rcirc-handler-JOIN): Reset mode-line-process (Bug#6386). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-05 19:46:47 +0000 +++ lisp/ChangeLog 2011-02-05 21:07:26 +0000 @@ -1,3 +1,8 @@ +2011-02-05 Deniz Dogan + + * net/rcirc.el (rcirc-handler-JOIN): Reset mode-line-process + (Bug#6386). + 2011-02-05 Stefan Monnier * progmodes/sh-script.el (sh-here-doc-open-re): Don't rely on the === modified file 'lisp/net/rcirc.el' --- lisp/net/rcirc.el 2011-02-03 07:14:02 +0000 +++ lisp/net/rcirc.el 2011-02-05 21:07:26 +0000 @@ -2455,7 +2455,10 @@ (rcirc-elapsed-lines process sender channel))) (when (and last-activity-lines (< last-activity-lines rcirc-omit-threshold)) - (rcirc-last-line process sender channel))))) + (rcirc-last-line process sender channel)))) + ;; reset mode-line-process in case joining a channel with an + ;; already open buffer (after getting kicked e.g.) + (setq mode-line-process nil)) (rcirc-print process sender "JOIN" channel "") ------------------------------------------------------------ revno: 103132 committer: Stefan Monnier branch nick: trunk timestamp: Sat 2011-02-05 14:46:47 -0500 message: * lisp/progmodes/sh-script.el (sh-here-doc-open-re): Don't rely on the font-lock-syntax-table remappings. (sh-here-doc-markers, sh-here-doc-re): Remove. (sh-font-lock-close-heredoc): Remove. (sh-syntax-propertize-here-doc): New function. (sh-font-lock-open-heredoc): Set the sh-here-doc-marker property instead of the sh-here-doc-re. (sh-font-lock-paren): Don't do anything in comments or strings. Handle line continuations. Accept a few more chars. Don't rely on the font-lock-syntax-table remappings. `esac' is not a valid pattern. (sh-syntax-propertize-function): Handle here-docs differently, so we don't bother syntax-propertizing the insides. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-05 15:53:04 +0000 +++ lisp/ChangeLog 2011-02-05 19:46:47 +0000 @@ -1,5 +1,19 @@ 2011-02-05 Stefan Monnier + * progmodes/sh-script.el (sh-here-doc-open-re): Don't rely on the + font-lock-syntax-table remappings. + (sh-here-doc-markers, sh-here-doc-re): Remove. + (sh-font-lock-close-heredoc): Remove. + (sh-syntax-propertize-here-doc): New function. + (sh-font-lock-open-heredoc): Set the sh-here-doc-marker property + instead of the sh-here-doc-re. + (sh-font-lock-paren): Don't do anything in comments or strings. + Handle line continuations. Accept a few more chars. + Don't rely on the font-lock-syntax-table remappings. + `esac' is not a valid pattern. + (sh-syntax-propertize-function): Handle here-docs differently, so we + don't bother syntax-propertizing the insides. + * progmodes/sh-script.el (sh-font-lock-paren, sh-kw, sh-prev-thing): Handle new bashisms ";&" and ";;&" (bug#7947). === modified file 'lisp/progmodes/sh-script.el' --- lisp/progmodes/sh-script.el 2011-02-05 15:53:04 +0000 +++ lisp/progmodes/sh-script.el 2011-02-05 19:46:47 +0000 @@ -925,65 +925,16 @@ (defconst sh-st-punc (string-to-syntax ".")) (defconst sh-here-doc-syntax (string-to-syntax "|")) ;; generic string -(defconst sh-escaped-line-re - ;; Should match until the real end-of-continued-line, but if that is not - ;; possible (because we bump into EOB or the search bound), then we should - ;; match until the search bound. - "\\(?:\\(?:.*[^\\\n]\\)?\\(?:\\\\\\\\\\)*\\\\\n\\)*.*") - -(defconst sh-here-doc-open-re - (concat "<<-?\\s-*\\\\?\\(\\(?:['\"][^'\"]+['\"]\\|\\sw\\)+\\)" - sh-escaped-line-re "\\(\n\\)")) - -(defvar sh-here-doc-markers nil) -(make-variable-buffer-local 'sh-here-doc-markers) -(defvar sh-here-doc-re sh-here-doc-open-re) -(make-variable-buffer-local 'sh-here-doc-re) - -(defun sh-font-lock-close-heredoc (bol eof indented eol) - "Determine the syntax of the \\n after an EOF. -If non-nil INDENTED indicates that the EOF was indented." - (let* ((eof-re (if eof (regexp-quote eof) "")) - ;; A rough regexp that should find the opening <]" - sh-escaped-line-re - "\\)?\\s|")) - ;; A regexp that will find other EOFs. - (ere (concat "^" (if indented "[ \t]*") eof-re "\n")) - (start (save-excursion - (goto-char bol) - ;; FIXME: will incorrectly find a <" (if (or (nth 5 ppss) (> (count-lines start (point)) 1)) - ;; If the sh-escaped-line-re part of sh-here-doc-re has matched + ;; If the sh-escaped-line-re part of sh-here-doc-open-re has matched ;; several lines, make sure we refontify them together. ;; Furthermore, if (nth 5 ppss) is non-nil (i.e. the \n is ;; escaped), it means the right \n is actually further down. ;; Don't bother fixing it now, but place a multiline property so ;; that when jit-lock-context-* refontifies the rest of the ;; buffer, it also refontifies the current line with it. - (put-text-property start (point) 'syntax-multiline t))) - (put-text-property eol (1+ eol) 'syntax-table sh-here-doc-syntax))) + (put-text-property start (point) 'syntax-multiline t)) + (put-text-property eol (1+ eol) 'sh-here-doc-marker str) + (prog1 sh-here-doc-syntax + (goto-char (+ 2 start)))))) + +(defun sh-syntax-propertize-here-doc (end) + (let ((ppss (syntax-ppss))) + (when (eq t (nth 3 ppss)) + (let ((key (get-text-property (nth 8 ppss) 'sh-here-doc-marker))) + (when (re-search-forward + (concat "^\\([ \t]*\\)" (regexp-quote key) "\\(\n\\)") + end 'move) + (let ((eol (match-beginning 2))) + (put-text-property eol (1+ eol) + 'syntax-table sh-here-doc-syntax))))))) (defun sh-font-lock-quoted-subshell (limit) "Search for a subshell embedded in a string. @@ -1068,19 +1027,25 @@ (not (sh-is-quoted-p (1- pos))))) (defun sh-font-lock-paren (start) + (unless (nth 8 (syntax-ppss)) (save-excursion (goto-char start) ;; Skip through all patterns (while (progn + (while + (progn (forward-comment (- (point-max))) + (when (and (eolp) (sh-is-quoted-p (point))) + (forward-char -1) + t))) ;; Skip through one pattern (while (or (/= 0 (skip-syntax-backward "w_")) - (/= 0 (skip-chars-backward "?[]*@/\\")) + (/= 0 (skip-chars-backward "-$=?[]*@/\\\\")) (and (sh-is-quoted-p (1- (point))) (goto-char (- (point) 2))) - (when (memq (char-before) '(?\" ?\')) + (when (memq (char-before) '(?\" ?\' ?\})) (condition-case nil (progn (backward-sexp 1) t) (error nil))))) ;; Patterns can be preceded by an open-paren (Bug#1320). @@ -1093,9 +1058,6 @@ (backward-char 1)) (when (eq (char-before) ?|) (backward-char 1) t))) - ;; FIXME: ";; esac )" is a case that looks like a case-pattern but it's - ;; really just a close paren after a case statement. I.e. if we skipped - ;; over `esac' just now, we're not looking at a case-pattern. (when (progn (backward-char 2) (if (> start (line-end-position)) (put-text-property (point) (1+ start) @@ -1104,8 +1066,13 @@ ;; a normal command rather than the real `in' keyword. ;; I.e. we should look back to try and find the ;; corresponding `case'. - (looking-at ";[;&]\\|in")) - sh-st-punc))) + (and (looking-at ";[;&]\\|in") + ;; ";; esac )" is a case that looks like a case-pattern + ;; but it's really just a close paren after a case + ;; statement. I.e. if we skipped over `esac' just now, + ;; we're not looking at a case-pattern. + (not (looking-at "..[ \t\n]+esac[^[:word:]_]")))) + sh-st-punc)))) (defun sh-font-lock-backslash-quote () (if (eq (save-excursion (nth 3 (syntax-ppss (match-beginning 0)))) ?\') @@ -1115,12 +1082,13 @@ (defun sh-syntax-propertize-function (start end) (goto-char start) - (while (prog1 - (re-search-forward sh-here-doc-re end 'move) - (save-excursion - (save-match-data + (sh-syntax-propertize-here-doc end) (funcall (syntax-propertize-rules + (sh-here-doc-open-re + (2 (sh-font-lock-open-heredoc + (match-beginning 0) (match-string 1) (match-beginning 2)))) + ("\\s|" (0 (prog1 nil (sh-syntax-propertize-here-doc end)))) ;; A `#' begins a comment when it is unquoted and at the ;; beginning of a word. In the shell, words are separated by ;; metacharacters. The list of special chars is taken from @@ -1135,22 +1103,15 @@ (")" (0 (sh-font-lock-paren (match-beginning 0)))) ;; Highlight (possibly nested) subshells inside "" quoted ;; regions correctly. - ("\"\\(?:\\(?:.\\|\n\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" + ("\"\\(?:\\(?:[^\\\"]\\|\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" (1 (ignore ;; Save excursion because we want to also apply other ;; syntax-propertize rules within the affected region. + (if (nth 8 (syntax-ppss)) + (goto-char (1+ (match-beginning 0))) (save-excursion - (sh-font-lock-quoted-subshell end)))))) - (prog1 start (setq start (point))) (point))))) - (if (match-beginning 2) - ;; FIXME: actually, once we see an heredoc opener, we should just - ;; search for its ender without propertizing anything in it. - (sh-font-lock-open-heredoc - (match-beginning 0) (match-string 1) (match-beginning 2)) - (sh-font-lock-close-heredoc - (match-beginning 0) (match-string 4) - (and (match-beginning 3) (/= (match-beginning 3) (match-end 3))) - (match-beginning 5))))) + (sh-font-lock-quoted-subshell end))))))) + (point) end)) (defun sh-font-lock-syntactic-face-function (state) (let ((q (nth 3 state))) ------------------------------------------------------------ revno: 103131 committer: Stefan Monnier branch nick: trunk timestamp: Sat 2011-02-05 10:53:04 -0500 message: * lisp/progmodes/sh-script.el (sh-font-lock-paren, sh-kw, sh-prev-thing): Handle new bashisms ";&" and ";;&". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-05 10:03:29 +0000 +++ lisp/ChangeLog 2011-02-05 15:53:04 +0000 @@ -1,7 +1,12 @@ +2011-02-05 Stefan Monnier + + * progmodes/sh-script.el (sh-font-lock-paren, sh-kw, sh-prev-thing): + Handle new bashisms ";&" and ";;&" (bug#7947). + 2011-02-05 Michael Albinus - * net/tramp-smb.el (tramp-smb-errors): Use `regexp-opt'. Add - "NT_STATUS_IO_TIMEOUT" and "NT_STATUS_NO_SUCH_USER". + * net/tramp-smb.el (tramp-smb-errors): Use `regexp-opt'. + Add "NT_STATUS_IO_TIMEOUT" and "NT_STATUS_NO_SUCH_USER". 2011-02-05 Era Eriksson (tiny change) === modified file 'lisp/progmodes/sh-script.el' --- lisp/progmodes/sh-script.el 2011-01-26 08:36:39 +0000 +++ lisp/progmodes/sh-script.el 2011-02-05 15:53:04 +0000 @@ -1104,7 +1104,7 @@ ;; a normal command rather than the real `in' keyword. ;; I.e. we should look back to try and find the ;; corresponding `case'. - (looking-at ";;\\|in")) + (looking-at ";[;&]\\|in")) sh-st-punc))) (defun sh-font-lock-backslash-quote () @@ -1659,6 +1659,8 @@ ("esac" sh-handle-this-esac sh-handle-prev-esac) (case-label nil sh-handle-after-case-label) ;; ??? (";;" nil sh-handle-prev-case-alt-end) ;; ??? + (";;&" nil sh-handle-prev-case-alt-end) ;Like ";;" with diff semantics. + (";&" nil sh-handle-prev-case-alt-end) ;Like ";;" with diff semantics. ("done" sh-handle-this-done sh-handle-prev-done) ("do" sh-handle-this-do sh-handle-prev-do)) @@ -2496,7 +2498,7 @@ (sh-prev-line nil) (line-beginning-position)))) (skip-chars-backward " \t;" min-point) - (if (looking-at "\\s-*;;") + (if (looking-at "\\s-*;[;&]") ;; (message "Found ;; !") ";;" (skip-chars-backward "^)}];\"'`({[" min-point) ------------------------------------------------------------ revno: 103130 committer: Katsumi Yamaoka branch nick: trunk timestamp: Sat 2011-02-05 12:29:48 +0000 message: overrides.texi: Remove. sieve.texi, sasl.texi, pgg.texi, message.texi, gnus.texi: emacs-mime.texi, auth.texi, Makefile.in: Revert last changes. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2011-02-05 10:11:32 +0000 +++ doc/misc/ChangeLog 2011-02-05 12:29:48 +0000 @@ -1,3 +1,10 @@ +2011-02-05 Katsumi Yamaoka + + * overrides.texi: Remove. + + * sieve.texi, sasl.texi, pgg.texi, message.texi, gnus.texi: + * emacs-mime.texi, auth.texi, Makefile.in: Revert last changes. + 2011-02-05 Michael Albinus * tramp.texi (Frequently Asked Questions): Mention problems with === modified file 'doc/misc/Makefile.in' --- doc/misc/Makefile.in 2011-02-05 11:23:52 +0000 +++ doc/misc/Makefile.in 2011-02-05 12:29:48 +0000 @@ -209,12 +209,6 @@ info: $(INFO_TARGETS) -webhack: clean - echo '@set WEBHACKDEVEL' > overrides.texi - -nowebhack: clean - echo '@clear WEBHACKDEVEL' > overrides.texi - dvi: $(DVI_TARGETS) pdf: $(PDF_TARGETS) === modified file 'doc/misc/auth.texi' --- doc/misc/auth.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/auth.texi 2011-02-05 12:29:48 +0000 @@ -1,7 +1,4 @@ \input texinfo @c -*-texinfo-*- - -@include overrides.texi - @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} @@ -38,12 +35,7 @@ @end direntry @titlepage -@ifset WEBHACKDEVEL -@title Emacs auth-source Library (DEVELOPMENT VERSION) -@end ifset -@ifclear WEBHACKDEVEL @title Emacs auth-source Library -@end ifclear @author by Ted Zlatanov @page @vskip 0pt plus 1filll === modified file 'doc/misc/emacs-mime.texi' --- doc/misc/emacs-mime.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/emacs-mime.texi 2011-02-05 12:29:48 +0000 @@ -1,7 +1,5 @@ \input texinfo -@include overrides.texi - @setfilename ../../info/emacs-mime @settitle Emacs MIME Manual @synindex fn cp @@ -40,12 +38,7 @@ @setchapternewpage odd @titlepage -@ifset WEBHACKDEVEL -@title Emacs MIME Manual (DEVELOPMENT VERSION) -@end ifset -@ifclear WEBHACKDEVEL @title Emacs MIME Manual -@end ifclear @author by Lars Magne Ingebrigtsen @page === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/gnus.texi 2011-02-05 12:29:48 +0000 @@ -1,7 +1,5 @@ \input texinfo -@include overrides.texi - @setfilename ../../info/gnus @settitle Gnus Manual @syncodeindex fn cp @@ -331,12 +329,7 @@ @titlepage -@ifset WEBHACKDEVEL -@title Gnus Manual (DEVELOPMENT VERSION) -@end ifset -@ifclear WEBHACKDEVEL @title Gnus Manual -@end ifclear @author by Lars Magne Ingebrigtsen @page === modified file 'doc/misc/message.texi' --- doc/misc/message.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/message.texi 2011-02-05 12:29:48 +0000 @@ -1,7 +1,5 @@ \input texinfo @c -*-texinfo-*- -@include overrides.texi - @setfilename ../../info/message @settitle Message Manual @synindex fn cp @@ -36,12 +34,7 @@ @end iftex @titlepage -@ifset WEBHACKDEVEL -@title Message Manual (DEVELOPMENT VERSION) -@end ifset -@ifclear WEBHACKDEVEL @title Message Manual -@end ifclear @author by Lars Magne Ingebrigtsen @page === removed file 'doc/misc/overrides.texi' --- doc/misc/overrides.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/overrides.texi 1970-01-01 00:00:00 +0000 @@ -1,1 +0,0 @@ -@clear WEBHACKDEVEL === modified file 'doc/misc/pgg.texi' --- doc/misc/pgg.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/pgg.texi 2011-02-05 12:29:48 +0000 @@ -1,7 +1,4 @@ \input texinfo @c -*-texinfo-*- - -@include overrides.texi - @setfilename ../../info/pgg @settitle PGG @value{VERSION} @@ -33,12 +30,7 @@ @end direntry @titlepage -@ifset WEBHACKDEVEL -@title PGG (DEVELOPMENT VERSION) -@end ifset -@ifclear WEBHACKDEVEL @title PGG -@end ifclear @author by Daiki Ueno @page === modified file 'doc/misc/sasl.texi' --- doc/misc/sasl.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/sasl.texi 2011-02-05 12:29:48 +0000 @@ -1,7 +1,4 @@ \input texinfo @c -*-texinfo-*- - -@include overrides.texi - @setfilename ../../info/sasl @set VERSION 0.2 @@ -40,12 +37,7 @@ @titlepage -@ifset WEBHACKDEVEL -@title Emacs SASL Library @value{VERSION} (DEVELOPMENT VERSION) -@end ifset -@ifclear WEBHACKDEVEL @title Emacs SASL Library @value{VERSION} -@end ifclear @author by Daiki Ueno @page === modified file 'doc/misc/sieve.texi' --- doc/misc/sieve.texi 2011-02-05 00:11:16 +0000 +++ doc/misc/sieve.texi 2011-02-05 12:29:48 +0000 @@ -1,7 +1,4 @@ \input texinfo @c -*-texinfo-*- - -@include overrides.texi - @setfilename ../../info/sieve @settitle Emacs Sieve Manual @synindex fn cp @@ -37,12 +34,7 @@ @setchapternewpage odd @titlepage -@ifset WEBHACKDEVEL -@title Emacs Sieve Manual (DEVELOPMENT VERSION) -@end ifset -@ifclear WEBHACKDEVEL @title Emacs Sieve Manual -@end ifclear @author by Simon Josefsson @page ------------------------------------------------------------ revno: 103129 committer: Katsumi Yamaoka branch nick: trunk timestamp: Sat 2011-02-05 11:23:52 +0000 message: Makefile.in (webhack, nowebhack): New targets that I forgot to merge from Gnus last. diff: === modified file 'doc/misc/Makefile.in' --- doc/misc/Makefile.in 2011-01-26 08:36:39 +0000 +++ doc/misc/Makefile.in 2011-02-05 11:23:52 +0000 @@ -209,6 +209,12 @@ info: $(INFO_TARGETS) +webhack: clean + echo '@set WEBHACKDEVEL' > overrides.texi + +nowebhack: clean + echo '@clear WEBHACKDEVEL' > overrides.texi + dvi: $(DVI_TARGETS) pdf: $(PDF_TARGETS) ------------------------------------------------------------ revno: 103128 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 02:22:19 -0800 message: Merge: xstrcasecmp: conform to C89 pointer rules diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-05 09:57:53 +0000 +++ src/ChangeLog 2011-02-05 10:20:15 +0000 @@ -1,5 +1,10 @@ 2011-02-05 Paul Eggert + xstrcasecmp: conform to C89 pointer rules + * xfaces.c (xstrcasecmp): Change args from const unsigned char * + to const char *, since they're usually low-level C strings, and + this stays compatible with C89 pointer rules. All callers changed. + * charset.c: conform to C89 pointer rules (define_charset_internal): Switch between char * and unsigned char *. === modified file 'src/dispextern.h' --- src/dispextern.h 2011-01-26 08:36:39 +0000 +++ src/dispextern.h 2011-02-05 10:20:15 +0000 @@ -3151,7 +3151,7 @@ int *); int ascii_face_of_lisp_face (struct frame *, int); void prepare_face_for_display (struct frame *, struct face *); -int xstrcasecmp (const unsigned char *, const unsigned char *); +int xstrcasecmp (const char *, const char *); int lookup_named_face (struct frame *, Lisp_Object, int); int lookup_basic_face (struct frame *, int); int smaller_face (struct frame *, int, int); @@ -3361,4 +3361,3 @@ #endif /* HAVE_WINDOW_SYSTEM */ #endif /* not DISPEXTERN_H_INCLUDED */ - === modified file 'src/font.c' --- src/font.c 2011-01-31 23:54:50 +0000 +++ src/font.c 2011-02-05 10:20:15 +0000 @@ -315,7 +315,7 @@ if (SYMBOLP (val)) { - unsigned char *s; + char *s; Lisp_Object args[2], elt; /* At first try exact match. */ @@ -325,12 +325,12 @@ return ((XINT (AREF (AREF (table, i), 0)) << 8) | (i << 4) | (j - 1)); /* Try also with case-folding match. */ - s = SDATA (SYMBOL_NAME (val)); + s = SSDATA (SYMBOL_NAME (val)); for (i = 0; i < len; i++) for (j = 1; j < ASIZE (AREF (table, i)); j++) { elt = AREF (AREF (table, i), j); - if (xstrcasecmp (s, SDATA (SYMBOL_NAME (elt))) == 0) + if (xstrcasecmp (s, SSDATA (SYMBOL_NAME (elt))) == 0) return ((XINT (AREF (AREF (table, i), 0)) << 8) | (i << 4) | (j - 1)); } === modified file 'src/fontset.c' --- src/fontset.c 2011-01-26 08:36:39 +0000 +++ src/fontset.c 2011-02-05 10:20:15 +0000 @@ -1166,7 +1166,7 @@ this_name = FONTSET_NAME (fontset); if (name_pattern == 1 ? fast_string_match_ignore_case (name, this_name) >= 0 - : !xstrcasecmp (SDATA (name), SDATA (this_name))) + : !xstrcasecmp (SSDATA (name), SSDATA (this_name))) return i; } return -1; === modified file 'src/ftfont.c' --- src/ftfont.c 2011-01-28 12:31:34 +0000 +++ src/ftfont.c 2011-02-05 10:20:15 +0000 @@ -1022,12 +1022,12 @@ if (! NILP (adstyle) && (NILP (this_adstyle) - || xstrcasecmp (SDATA (SYMBOL_NAME (adstyle)), - SDATA (SYMBOL_NAME (this_adstyle))) != 0)) + || xstrcasecmp (SSDATA (SYMBOL_NAME (adstyle)), + SSDATA (SYMBOL_NAME (this_adstyle))) != 0)) continue; if (langname && ! NILP (this_adstyle) - && xstrcasecmp (langname, SDATA (SYMBOL_NAME (this_adstyle)))) + && xstrcasecmp (langname, SSDATA (SYMBOL_NAME (this_adstyle)))) continue; } entity = ftfont_pattern_entity (fontset->fonts[i], === modified file 'src/image.c' --- src/image.c 2011-02-01 19:46:21 +0000 +++ src/image.c 2011-02-05 10:20:15 +0000 @@ -3906,7 +3906,7 @@ while (num_colors-- > 0) { - unsigned char *color, *max_color; + char *color, *max_color; int key, next_key, max_key = 0; Lisp_Object symbol_color = Qnil, color_val; XColor cdef; @@ -3958,7 +3958,7 @@ if (CONSP (specified_color) && STRINGP (XCDR (specified_color))) { - if (xstrcasecmp (SDATA (XCDR (specified_color)), "None") == 0) + if (xstrcasecmp (SSDATA (XCDR (specified_color)), "None") == 0) color_val = Qt; else if (x_defined_color (f, SDATA (XCDR (specified_color)), &cdef, 0)) === modified file 'src/process.c' --- src/process.c 2011-01-30 22:17:44 +0000 +++ src/process.c 2011-02-05 10:20:15 +0000 @@ -6168,10 +6168,10 @@ ; else { - unsigned char *name; + char *name; CHECK_SYMBOL (sigcode); - name = SDATA (SYMBOL_NAME (sigcode)); + name = SSDATA (SYMBOL_NAME (sigcode)); if (!strncmp (name, "SIG", 3) || !strncmp (name, "sig", 3)) name += 3; === modified file 'src/xfaces.c' --- src/xfaces.c 2011-01-30 22:17:44 +0000 +++ src/xfaces.c 2011-02-05 10:20:15 +0000 @@ -716,12 +716,14 @@ are in ISO8859-1. */ int -xstrcasecmp (const unsigned char *s1, const unsigned char *s2) +xstrcasecmp (const char *s1, const char *s2) { while (*s1 && *s2) { - unsigned char c1 = tolower (*s1); - unsigned char c2 = tolower (*s2); + unsigned char b1 = *s1; + unsigned char b2 = *s2; + unsigned char c1 = tolower (b1); + unsigned char c2 = tolower (b2); if (c1 != c2) return c1 < c2 ? -1 : 1; ++s1, ++s2; @@ -3466,13 +3468,13 @@ xassert (STRINGP (value)); - if (xstrcasecmp (SDATA (value), "on") == 0 - || xstrcasecmp (SDATA (value), "true") == 0) + if (xstrcasecmp (SSDATA (value), "on") == 0 + || xstrcasecmp (SSDATA (value), "true") == 0) result = Qt; - else if (xstrcasecmp (SDATA (value), "off") == 0 - || xstrcasecmp (SDATA (value), "false") == 0) + else if (xstrcasecmp (SSDATA (value), "off") == 0 + || xstrcasecmp (SSDATA (value), "false") == 0) result = Qnil; - else if (xstrcasecmp (SDATA (value), "unspecified") == 0) + else if (xstrcasecmp (SSDATA (value), "unspecified") == 0) result = Qunspecified; else if (signal_p) signal_error ("Invalid face attribute value from X resource", value); @@ -3491,7 +3493,7 @@ CHECK_SYMBOL (attr); CHECK_STRING (value); - if (xstrcasecmp (SDATA (value), "unspecified") == 0) + if (xstrcasecmp (SSDATA (value), "unspecified") == 0) value = Qunspecified; else if (EQ (attr, QCheight)) { @@ -4051,10 +4053,10 @@ { xassert (lface_fully_specified_p (lface1) && lface_fully_specified_p (lface2)); - return (xstrcasecmp (SDATA (lface1[LFACE_FAMILY_INDEX]), - SDATA (lface2[LFACE_FAMILY_INDEX])) == 0 - && xstrcasecmp (SDATA (lface1[LFACE_FOUNDRY_INDEX]), - SDATA (lface2[LFACE_FOUNDRY_INDEX])) == 0 + return (xstrcasecmp (SSDATA (lface1[LFACE_FAMILY_INDEX]), + SSDATA (lface2[LFACE_FAMILY_INDEX])) == 0 + && xstrcasecmp (SSDATA (lface1[LFACE_FOUNDRY_INDEX]), + SSDATA (lface2[LFACE_FOUNDRY_INDEX])) == 0 && EQ (lface1[LFACE_HEIGHT_INDEX], lface2[LFACE_HEIGHT_INDEX]) && EQ (lface1[LFACE_SWIDTH_INDEX], lface2[LFACE_SWIDTH_INDEX]) && EQ (lface1[LFACE_WEIGHT_INDEX], lface2[LFACE_WEIGHT_INDEX]) @@ -4063,8 +4065,8 @@ && (EQ (lface1[LFACE_FONTSET_INDEX], lface2[LFACE_FONTSET_INDEX]) || (STRINGP (lface1[LFACE_FONTSET_INDEX]) && STRINGP (lface2[LFACE_FONTSET_INDEX]) - && ! xstrcasecmp (SDATA (lface1[LFACE_FONTSET_INDEX]), - SDATA (lface2[LFACE_FONTSET_INDEX])))) + && ! xstrcasecmp (SSDATA (lface1[LFACE_FONTSET_INDEX]), + SSDATA (lface2[LFACE_FONTSET_INDEX])))) ); } === modified file 'src/xfont.c' --- src/xfont.c 2011-01-25 04:08:28 +0000 +++ src/xfont.c 2011-02-05 10:20:15 +0000 @@ -164,8 +164,8 @@ static int compare_font_names (const void *name1, const void *name2) { - return xstrcasecmp (*(const unsigned char **) name1, - *(const unsigned char **) name2); + return xstrcasecmp (*(const char **) name1, + *(const char **) name2); } /* Decode XLFD as iso-8859-1 into OUTPUT, and return the byte length ------------------------------------------------------------ revno: 103127 committer: Michael Albinus branch nick: trunk timestamp: Sat 2011-02-05 11:11:32 +0100 message: * tramp.texi: Replace "delimet" with "delimit" globally. Replace "explicite" with "explicit" globally. Replace "instead of" with "instead" where there was nothing after "of". Audit use of comma before interrogative pronoun, "that", or "which". Minor word order, spelling, wording changes. (Frequently Asked Questions): Mention problems with WinSSHD. * trampver.texi: Update release number. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2011-02-05 00:11:16 +0000 +++ doc/misc/ChangeLog 2011-02-05 10:11:32 +0000 @@ -1,3 +1,19 @@ +2011-02-05 Michael Albinus + + * tramp.texi (Frequently Asked Questions): Mention problems with + WinSSHD. + + * trampver.texi: Update release number. + +2011-02-05 Era Eriksson (tiny change) + + * tramp.texi: + Replace "delimet" with "delimit" globally. + Replace "explicite" with "explicit" globally. + Replace "instead of" with "instead" where there was nothing after "of". + Audit use of comma before interrogative pronoun, "that", or "which". + Minor word order, spelling, wording changes. + 2011-02-04 Teodor Zlatanov * overrides.texi: New file to set or clear WEBHACKDEVEL. === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2011-01-25 04:08:28 +0000 +++ doc/misc/tramp.texi 2011-02-05 10:11:32 +0000 @@ -956,7 +956,7 @@ @cindex method ftp @cindex ftp method -This is not a native @value{tramp} method. Instead of, it forwards all +This is not a native @value{tramp} method. Instead, it forwards all requests to @value{ftppackagename}. @ifset xemacs This works only for unified filenames, see @ref{Issues}. @@ -971,20 +971,20 @@ @command{smbclient} command on different Unices in order to connect to an SMB server. An SMB server might be a Samba (or CIFS) server on another UNIX host or, more interesting, a host running MS Windows. So -far, it is tested towards MS Windows NT, MS Windows 2000, and MS +far, it is tested against MS Windows NT, MS Windows 2000, and MS Windows XP. The first directory in the localname must be a share name on the remote -host. Remember, that the @code{$} character in which default shares +host. Remember that the @code{$} character, in which default shares usually end, must be written @code{$$} due to environment variable substitution in file names. If no share name is given (i.e. remote directory @code{/}), all available shares are listed. -Since authorization is done on share level, you will be prompted -always for a password if you access another share on the same host. +Since authorization is done on share level, you will always be +prompted for a password if you access another share on the same host. This can be suppressed by @ref{Password handling}. -MS Windows uses for authorization both a user name and a domain name. +For authorization, MS Windows uses both a user name and a domain name. Because of this, the @value{tramp} syntax has been extended: you can specify a user name which looks like @code{user%domain} (the real user name, then a percent sign, then the domain name). So, to connect to @@ -1008,7 +1008,7 @@ The @option{smb} method supports the @samp{-p} argument. @strong{Please note:} If @value{emacsname} runs locally under MS -Windows, this method isn't available. Instead of, you can use UNC +Windows, this method isn't available. Instead, you can use UNC file names like @file{//melancholia/daniel$$/.emacs}. The only disadvantage is that there's no possibility to specify another user name. @@ -1022,7 +1022,7 @@ @cindex imaps method Accessing an IMAP mailbox is intended to save files there as encrypted -message. It could be used in case there are no other remote file +messages. It could be used in case there are no other remote file storages available. @value{tramp} supports both @option{imap} and @option{imaps} methods. @@ -1030,7 +1030,7 @@ Both methods support the port number specification. -Note, that special handling is needed for declaring a passphrase for +Note that special handling is needed for declaring a passphrase for encryption / decryption of the messages (@pxref{Using an authentication file}). @@ -1048,7 +1048,7 @@ The connection methods described in this section are based on GVFS @uref{http://en.wikipedia.org/wiki/GVFS}. Via GVFS, the remote filesystem is mounted locally through FUSE. @value{tramp} uses -internally this local mounted directory. +this local mounted directory internally. The communication with GVFS is implemented via D-Bus messages. Therefore, your @value{emacsname} must have D-Bus integration, @@ -1073,7 +1073,7 @@ @cindex obex method OBEX is an FTP-like access protocol for simple devices, like cell -phones. Until now @value{tramp} supports only OBEX over Bluetooth. +phones. For the time being, @value{tramp} only supports OBEX over Bluetooth. @item @option{synce} @@ -1082,11 +1082,11 @@ The @option{synce} method allows communication with Windows Mobile devices. Beside GVFS for mounting remote files and directories via -FUSE, it needs also the SYNCE-GVFS plugin. +FUSE, it also needs the SYNCE-GVFS plugin. @end table @defopt tramp-gvfs-methods -This customer option, a list, defines the external methods, which +This customer option, a list, defines the external methods which shall be used with GVFS. Per default, these are @option{dav}, @option{davs}, @option{obex} and @option{synce}. Other possible values are @option{ftp}, @option{sftp} and @option{smb}. @@ -1105,10 +1105,10 @@ Therefore, they can be used for proxy host declarations (@pxref{Multi-hops}) only. -A gateway method must come always along with a method who supports +A gateway method must always come along with a method which supports port setting. This is because @value{tramp} targets the accompanied method to @file{localhost#random_port}, from where the firewall or -proxy server is accessed to. +proxy server is accessed. Gateway methods support user name and password declarations. These are used to authenticate towards the corresponding firewall or proxy @@ -1711,7 +1711,7 @@ When @value{tramp} detects a changed operating system version on a remote host (via the command @command{uname -sr}), it flushes all connection related information for this host, and opens the -connection, again. +connection again. @node Remote Programs @@ -1766,7 +1766,7 @@ @end lisp Another possibility is to reuse the path settings of your remote -account, when you log in. Usually, these settings are overwritten, +account when you log in. Usually, these settings are overwritten, because they might not be useful for @value{tramp}. The place holder @code{tramp-own-remote-path} preserves these settings. You can activate it via @@ -2426,8 +2426,8 @@ @value{tramp} uses for analysis of completion, offer user names, those user names will be taken into account as well. -Remote machines, which have been visited in the past and kept -persistently (@pxref{Connection caching}), will be offered too. +Remote machines which have been visited in the past and kept +persistently (@pxref{Connection caching}) will be offered too. Once the remote machine identification is completed, it comes to filename completion on the remote host. This works pretty much like @@ -2467,8 +2467,8 @@ A remote directory might have changed its contents out of @value{emacsname} control, for example by creation or deletion of -files by other processes. Therefore, during filename completion the -remote directory contents is reread regularly in order to detect such +files by other processes. Therefore, during filename completion, the +remote directory contents are reread regularly in order to detect such changes, which would be invisible otherwise (@pxref{Connection caching}). @defopt tramp-completion-reread-directory-timeout @@ -2491,7 +2491,7 @@ @code{start-file-process}, is not supported. @code{process-file} and @code{start-file-process} work on the remote -host, when the variable @code{default-directory} is remote: +host when the variable @code{default-directory} is remote: @lisp (let ((default-directory "/ssh:remote.host:")) @@ -2802,7 +2802,7 @@ the remote host as well as the remote files are cached for reuse. The information about remote hosts is kept in the file specified in @code{tramp-persistency-file-name}. Keep this file. If you are -confident, that files on remote hosts are not changed out of +confident that files on remote hosts are not changed out of @value{emacsname}' control, set @code{remote-file-name-inhibit-cache} to @code{nil}. @@ -2834,7 +2834,7 @@ Unknown characters in the prompt @value{tramp} needs to recognize the prompt on the remote machine -after execution any command. This is not possible, when the prompt +after execution any command. This is not possible when the prompt contains unknown characters like escape sequences for coloring. This should be avoided on the remote side. @xref{Remote shell setup}. for setting the regular expression detecting the prompt. @@ -2859,6 +2859,9 @@ [ $TERM = "dumb" ] && unsetopt zle && PS1='$ ' @end example +Furthermore it has been reported, that @value{tramp} (like sshfs, +incidentally) doesn't work with WinSSHD due to strange prompt settings. + @item Echoed characters after login @@ -2906,7 +2909,7 @@ When your network connection is down, @command{ssh} sessions might hang. @value{tramp} cannot detect it safely, because it still sees a running @command{ssh} process. Timeouts cannot be used as well, -because it cannot be predicted, how long a remote command will last, +because it cannot be predicted how long a remote command will last, for example when copying very large files. Therefore, you must configure the @command{ssh} process to die @@ -3116,7 +3119,7 @@ The file name left to type would be @kbd{C-x C-f @trampfn{, , news.my.domain, /opt/news/etc}}. -Note, that there are some useful settings already. Accessing your +Note that there are some useful settings already. Accessing your local host as @samp{root} user, is possible just by @kbd{C-x C-f @trampfn{su, , ,}}. @@ -3148,7 +3151,7 @@ @end lisp Then you need simply to type @kbd{C-x C-f $xy @key{RET}}, and here you -are. The disadvantage is, that you cannot edit the file name, because +are. The disadvantage is that you cannot edit the file name, because environment variables are not expanded during editing in the minibuffer. @@ -3320,7 +3323,7 @@ Then you can create a BBDB entry via @kbd{M-x bbdb-create-ftp-site}. Because BBDB is not prepared for @value{tramp} syntax, you must -specify a method together with the user name, when needed. Example: +specify a method together with the user name when needed. Example: @example @kbd{M-x bbdb-create-ftp-site @key{RET}} @@ -3337,7 +3340,7 @@ @end enumerate -I would like to thank all @value{tramp} users, who have contributed to +I would like to thank all @value{tramp} users who have contributed to the different recipes! @@ -3360,7 +3363,7 @@ (server-start) @end lisp -Make sure, that the result of @code{(system-name)} can be resolved on +Make sure that the result of @code{(system-name)} can be resolved on your local host; otherwise you might use a hard coded IP address. The resulting file @file{~/.emacs.d/server/server} must be copied to @@ -3494,7 +3497,7 @@ it has seen so far. This is a performance degradation, because the lost file attributes -must be recomputed, when needed again. In cases the caller of +must be recomputed when needed again. In cases the caller of @code{process-file} knows that there are no file attribute changes, it shall let-bind the variable @code{process-file-side-effects} to @code{nil}. @value{tramp} wouldn't flush the file attributes cache then. === modified file 'doc/misc/trampver.texi' --- doc/misc/trampver.texi 2011-01-25 04:08:28 +0000 +++ doc/misc/trampver.texi 2011-02-05 10:11:32 +0000 @@ -8,7 +8,7 @@ @c In the Tramp CVS, the version number is auto-frobbed from @c configure.ac, so you should edit that file and run @c "autoconf && ./configure" to change the version number. -@set trampver 2.2.0 +@set trampver 2.2.1-pre @c Other flags from configuration @set instprefix /usr/local ------------------------------------------------------------ revno: 103126 committer: Michael Albinus branch nick: trunk timestamp: Sat 2011-02-05 11:03:29 +0100 message: * net/tramp-smb.el (tramp-smb-errors): Use `regexp-opt'. Add "NT_STATUS_IO_TIMEOUT" and "NT_STATUS_NO_SUCH_USER". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-05 09:58:45 +0000 +++ lisp/ChangeLog 2011-02-05 10:03:29 +0000 @@ -1,3 +1,8 @@ +2011-02-05 Michael Albinus + + * net/tramp-smb.el (tramp-smb-errors): Use `regexp-opt'. Add + "NT_STATUS_IO_TIMEOUT" and "NT_STATUS_NO_SUCH_USER". + 2011-02-05 Era Eriksson (tiny change) * net/tramp.el (tramp-postfix-method-format) === modified file 'lisp/net/tramp-smb.el' --- lisp/net/tramp-smb.el 2011-02-03 11:28:16 +0000 +++ lisp/net/tramp-smb.el 2011-02-05 10:03:29 +0000 @@ -76,46 +76,48 @@ "Regexp used as prompt in smbclient.") (defconst tramp-smb-errors - ;; `regexp-opt' not possible because of first string. (mapconcat 'identity - '(;; Connection error / timeout / unknown command. - "Connection to \\S-+ failed" + `(;; Connection error / timeout / unknown command. + "Connection\\( to \\S-+\\)? failed" "Read from server failed, maybe it closed the connection" "Call timed out: server did not respond" "\\S-+: command not found" "Server doesn't support UNIX CIFS calls" - ;; Samba. - "ERRDOS" - "ERRHRD" - "ERRSRV" - "ERRbadfile" - "ERRbadpw" - "ERRfilexists" - "ERRnoaccess" - "ERRnomem" - "ERRnosuchshare" - ;; Windows 4.0 (Windows NT), Windows 5.0 (Windows 2000), - ;; Windows 5.1 (Windows XP), Windows 5.2 (Windows Server 2003). - "NT_STATUS_ACCESS_DENIED" - "NT_STATUS_ACCOUNT_LOCKED_OUT" - "NT_STATUS_BAD_NETWORK_NAME" - "NT_STATUS_CANNOT_DELETE" - "NT_STATUS_CONNECTION_REFUSED" - "NT_STATUS_DIRECTORY_NOT_EMPTY" - "NT_STATUS_DUPLICATE_NAME" - "NT_STATUS_FILE_IS_A_DIRECTORY" - "NT_STATUS_LOGON_FAILURE" - "NT_STATUS_NETWORK_ACCESS_DENIED" - "NT_STATUS_NOT_IMPLEMENTED" - "NT_STATUS_NO_SUCH_FILE" - "NT_STATUS_OBJECT_NAME_COLLISION" - "NT_STATUS_OBJECT_NAME_INVALID" - "NT_STATUS_OBJECT_NAME_NOT_FOUND" - "NT_STATUS_SHARING_VIOLATION" - "NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE" - "NT_STATUS_UNSUCCESSFUL" - "NT_STATUS_WRONG_PASSWORD") + ,(regexp-opt + '(;; Samba. + "ERRDOS" + "ERRHRD" + "ERRSRV" + "ERRbadfile" + "ERRbadpw" + "ERRfilexists" + "ERRnoaccess" + "ERRnomem" + "ERRnosuchshare" + ;; Windows 4.0 (Windows NT), Windows 5.0 (Windows 2000), + ;; Windows 5.1 (Windows XP), Windows 5.2 (Windows Server 2003). + "NT_STATUS_ACCESS_DENIED" + "NT_STATUS_ACCOUNT_LOCKED_OUT" + "NT_STATUS_BAD_NETWORK_NAME" + "NT_STATUS_CANNOT_DELETE" + "NT_STATUS_CONNECTION_REFUSED" + "NT_STATUS_DIRECTORY_NOT_EMPTY" + "NT_STATUS_DUPLICATE_NAME" + "NT_STATUS_FILE_IS_A_DIRECTORY" + "NT_STATUS_IO_TIMEOUT" + "NT_STATUS_LOGON_FAILURE" + "NT_STATUS_NETWORK_ACCESS_DENIED" + "NT_STATUS_NOT_IMPLEMENTED" + "NT_STATUS_NO_SUCH_FILE" + "NT_STATUS_NO_SUCH_USER" + "NT_STATUS_OBJECT_NAME_COLLISION" + "NT_STATUS_OBJECT_NAME_INVALID" + "NT_STATUS_OBJECT_NAME_NOT_FOUND" + "NT_STATUS_SHARING_VIOLATION" + "NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE" + "NT_STATUS_UNSUCCESSFUL" + "NT_STATUS_WRONG_PASSWORD"))) "\\|") "Regexp for possible error strings of SMB servers. Used instead of analyzing error codes of commands.") @@ -1037,17 +1039,17 @@ ;; \s-\{2,2} - leading spaces ;; \S-\(.*\S-\)\s-* - file name, 30 chars, left bound ;; \s-+[ADHRSV]* - permissions, 7 chars, right bound -;; \s- - space delimeter +;; \s- - space delimiter ;; \s-+[0-9]+ - size, 8 chars, right bound -;; \s-\{2,2\} - space delimeter +;; \s-\{2,2\} - space delimiter ;; \w\{3,3\} - weekday -;; \s- - space delimeter +;; \s- - space delimiter ;; \w\{3,3\} - month -;; \s- - space delimeter +;; \s- - space delimiter ;; [ 12][0-9] - day -;; \s- - space delimeter +;; \s- - space delimiter ;; [0-9]\{2,2\}:[0-9]\{2,2\}:[0-9]\{2,2\} - time -;; \s- - space delimeter +;; \s- - space delimiter ;; [0-9]\{4,4\} - year ;; ;; samba/src/client.c (http://samba.org/doxygen/samba/client_8c-source.html) ------------------------------------------------------------ revno: 103125 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 02:00:31 -0800 message: Merge: * charset.c: conform to C89 pointer rules diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-05 09:49:52 +0000 +++ src/ChangeLog 2011-02-05 09:57:53 +0000 @@ -1,5 +1,8 @@ 2011-02-05 Paul Eggert + * charset.c: conform to C89 pointer rules + (define_charset_internal): Switch between char * and unsigned char *. + * xmenu.c: conform to C89 const rules (xmenu_show, xdialog_show): Declare local var as char *, not const char *, to stay compatible with C89 const rules. === modified file 'src/charset.c' --- src/charset.c 2011-01-31 07:34:45 +0000 +++ src/charset.c 2011-02-05 09:57:53 +0000 @@ -1253,12 +1253,13 @@ static int define_charset_internal (Lisp_Object name, int dimension, - const unsigned char *code_space, + const char *code_space_chars, unsigned min_code, unsigned max_code, int iso_final, int iso_revision, int emacs_mule_id, int ascii_compatible, int supplementary, int code_offset) { + const unsigned char *code_space = (const unsigned char *) code_space_chars; Lisp_Object args[charset_arg_max]; Lisp_Object plist[14]; Lisp_Object val; ------------------------------------------------------------ revno: 103124 committer: Michael Albinus branch nick: trunk timestamp: Sat 2011-02-05 10:58:45 +0100 message: * net/tramp.el (tramp-postfix-method-format) (tramp-postfix-method-regexp, tramp-prefix-domain-format) (tramp-prefix-domain-regexp, tramp-postfix-user-format) (tramp-postfix-user-regexp, tramp-prefix-port-format) (tramp-prefix-port-regexp, tramp-postfix-host-format) (tramp-postfix-host-regexp, tramp-handle-substitute-in-file-name): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-02-04 14:54:13 +0000 +++ lisp/ChangeLog 2011-02-05 09:58:45 +0000 @@ -1,3 +1,13 @@ +2011-02-05 Era Eriksson (tiny change) + + * net/tramp.el (tramp-postfix-method-format) + (tramp-postfix-method-regexp, tramp-prefix-domain-format) + (tramp-prefix-domain-regexp, tramp-postfix-user-format) + (tramp-postfix-user-regexp, tramp-prefix-port-format) + (tramp-prefix-port-regexp, tramp-postfix-host-format) + (tramp-postfix-host-regexp, tramp-handle-substitute-in-file-name): + Doc fix. + 2011-02-04 Sam Steingold * mouse.el (mouse-buffer-menu-mode-groups): Add a "GDB" group. === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2011-01-25 04:08:28 +0000 +++ lisp/net/tramp.el 2011-02-05 09:58:45 +0000 @@ -660,12 +660,12 @@ ((equal tramp-syntax 'sep) "/") ((equal tramp-syntax 'url) "://") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching delimeter between method and user or host names. + "*String matching delimiter between method and user or host names. Used in `tramp-make-tramp-file-name'.") (defconst tramp-postfix-method-regexp (regexp-quote tramp-postfix-method-format) - "*Regexp matching delimeter between method and user or host names. + "*Regexp matching delimiter between method and user or host names. Derived from `tramp-postfix-method-format'.") (defconst tramp-user-regexp "[^:/ \t]+" @@ -673,12 +673,12 @@ ;;;###tramp-autoload (defconst tramp-prefix-domain-format "%" - "*String matching delimeter between user and domain names.") + "*String matching delimiter between user and domain names.") ;;;###tramp-autoload (defconst tramp-prefix-domain-regexp (regexp-quote tramp-prefix-domain-format) - "*Regexp matching delimeter between user and domain names. + "*Regexp matching delimiter between user and domain names. Derived from `tramp-prefix-domain-format'.") (defconst tramp-domain-regexp "[-a-zA-Z0-9_.]+" @@ -691,12 +691,12 @@ "*Regexp matching user names with domain names.") (defconst tramp-postfix-user-format "@" - "*String matching delimeter between user and host names. + "*String matching delimiter between user and host names. Used in `tramp-make-tramp-file-name'.") (defconst tramp-postfix-user-regexp (regexp-quote tramp-postfix-user-format) - "*Regexp matching delimeter between user and host names. + "*Regexp matching delimiter between user and host names. Derived from `tramp-postfix-user-format'.") (defconst tramp-host-regexp "[a-zA-Z0-9_.-]+" @@ -740,11 +740,11 @@ ((equal tramp-syntax 'sep) "#") ((equal tramp-syntax 'url) ":") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching delimeter between host names and port numbers.") + "*String matching delimiter between host names and port numbers.") (defconst tramp-prefix-port-regexp (regexp-quote tramp-prefix-port-format) - "*Regexp matching delimeter between host names and port numbers. + "*Regexp matching delimiter between host names and port numbers. Derived from `tramp-prefix-port-format'.") (defconst tramp-port-regexp "[0-9]+" @@ -761,12 +761,12 @@ ((equal tramp-syntax 'sep) "]") ((equal tramp-syntax 'url) "") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching delimeter between host names and localnames. + "*String matching delimiter between host names and localnames. Used in `tramp-make-tramp-file-name'.") (defconst tramp-postfix-host-regexp (regexp-quote tramp-postfix-host-format) - "*Regexp matching delimeter between host names and localnames. + "*Regexp matching delimiter between host names and localnames. Derived from `tramp-postfix-host-format'.") (defconst tramp-localname-regexp ".*$" @@ -1861,7 +1861,7 @@ (condition-case err (apply foreign operation args) - ;; Trace, that somebody has interrupted the operation. + ;; Trace that somebody has interrupted the operation. (quit (let (tramp-message-show-message) (tramp-message @@ -2319,7 +2319,7 @@ (vector method user host localname))))) ;; This function returns all possible method completions, adding the -;; trailing method delimeter. +;; trailing method delimiter. (defun tramp-get-completion-methods (partial-method) "Returns all method completions for PARTIAL-METHOD." (mapcar @@ -2937,7 +2937,7 @@ (defun tramp-handle-substitute-in-file-name (filename) "Like `substitute-in-file-name' for Tramp files. \"//\" and \"/~\" substitute only in the local filename part. -If the URL Tramp syntax is chosen, \"//\" as method delimeter and \"/~\" at +If the URL Tramp syntax is chosen, \"//\" as method delimiter and \"/~\" at beginning of local filename are not substituted." ;; First, we must replace environment variables. (setq filename (tramp-replace-environment-variables filename)) ------------------------------------------------------------ revno: 103123 committer: Michael Albinus branch nick: trunk timestamp: Sat 2011-02-05 10:52:07 +0100 message: Replace "explicite" with "explicit" globally Replace "instead of" with "instead" where there was nothing after "of" Audit use of comma before interrogative pronoun, "that", or "which" diff: === modified file 'lisp/net/tramp-cache.el' --- lisp/net/tramp-cache.el 2011-01-25 04:08:28 +0000 +++ lisp/net/tramp-cache.el 2011-02-05 09:52:07 +0000 @@ -33,7 +33,7 @@ ;; - localname is NIL. This are reusable properties. Examples: ;; "remote-shell" identifies the POSIX shell to be called on the ;; remote host, or "perl" is the command to be called on the remote -;; host, when starting a Perl script. These properties are saved in +;; host when starting a Perl script. These properties are saved in ;; the file `tramp-persistency-file-name'. ;; ;; - localname is a string. This are temporary properties, which are === modified file 'lisp/net/tramp-compat.el' --- lisp/net/tramp-compat.el 2011-01-25 04:08:28 +0000 +++ lisp/net/tramp-compat.el 2011-02-05 09:52:07 +0000 @@ -156,7 +156,7 @@ 'set-file-times filename time))))) ;; We currently use "[" and "]" in the filename format for IPv6 - ;; hosts of GNU Emacs. This means, that Emacs wants to expand + ;; hosts of GNU Emacs. This means that Emacs wants to expand ;; wildcards if `find-file-wildcards' is non-nil, and then barfs ;; because no expansion could be found. We detect this situation ;; and do something really awful: we have `file-expand-wildcards' === modified file 'lisp/net/tramp-gvfs.el' --- lisp/net/tramp-gvfs.el 2011-01-25 04:08:28 +0000 +++ lisp/net/tramp-gvfs.el 2011-02-05 09:52:07 +0000 @@ -1212,14 +1212,14 @@ ;; Enable auth-sorce and password-cache. (tramp-set-connection-property vec "first-password-request" t) - ;; There will be a callback of "askPassword", when a password is + ;; There will be a callback of "askPassword" when a password is ;; needed. (dbus-register-method :session dbus-service-emacs object-path tramp-gvfs-interface-mountoperation "askPassword" 'tramp-gvfs-handler-askpassword) - ;; There could be a callback of "askQuestion", when adding fingerprint. + ;; There could be a callback of "askQuestion" when adding fingerprint. (dbus-register-method :session dbus-service-emacs object-path tramp-gvfs-interface-mountoperation "askQuestion" @@ -1426,7 +1426,7 @@ ;;; TODO: ;; * Host name completion via smb-server or smb-network. -;; * Check, how two shares of the same SMB server can be mounted in +;; * Check how two shares of the same SMB server can be mounted in ;; parallel. ;; * Apply SDP on bluetooth devices, in order to filter out obex ;; capability. === modified file 'lisp/net/tramp-imap.el' --- lisp/net/tramp-imap.el 2011-01-25 04:08:28 +0000 +++ lisp/net/tramp-imap.el 2011-02-05 09:52:07 +0000 @@ -265,7 +265,7 @@ filename newname) ;; We just make a local copy of FILENAME, and write it then to - ;; NEWNAME. This must be optimized, when both files are + ;; NEWNAME. This must be optimized when both files are ;; located on the same IMAP server. (with-temp-buffer (if (and t1 t2) === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2011-02-03 11:28:16 +0000 +++ lisp/net/tramp-sh.el 2011-02-05 09:52:07 +0000 @@ -66,7 +66,7 @@ :group 'tramp :type 'string) -;; ksh on OpenBSD 4.5 requires, that $PS1 contains a `#' character for +;; ksh on OpenBSD 4.5 requires that $PS1 contains a `#' character for ;; root users. It uses the `$' character for other users. In order ;; to guarantee a proper prompt, we use "#$ " for the prompt. @@ -509,7 +509,7 @@ which might have been set in the init files like ~/.profile. Special handling is applied to the PATH environment, which should -not be set here. Instead of, it should be set via `tramp-remote-path'." +not be set here. Instead, it should be set via `tramp-remote-path'." :group 'tramp :type '(repeat string)) @@ -2209,7 +2209,7 @@ (with-parsed-tramp-file-name (if t1 filename newname) nil (if (and t1 t2) - ;; Both are Tramp files. We shall optimize it, when the + ;; Both are Tramp files. We shall optimize it when the ;; methods for filename and newname are the same. (let* ((dir-flag (file-directory-p filename)) (tmpfile (tramp-compat-make-temp-file localname dir-flag))) @@ -2405,7 +2405,7 @@ (tramp-send-command v (format "rm -rf %s" (tramp-shell-quote-argument localname)) - ;; Don't read the output, do it explicitely. + ;; Don't read the output, do it explicitly. nil t) ;; Wait for the remote system to return to us... ;; This might take a while, allow it plenty of time. @@ -3150,7 +3150,7 @@ ;; filename does not exist (eq modes nil) it has been ;; renamed to the backup file. This case `save-buffer' ;; handles permissions. - ;; Ensure, that it is still readable. + ;; Ensure that it is still readable. (when modes (set-file-modes tmpfile @@ -3296,7 +3296,7 @@ (when (or (eq visit t) (stringp visit)) (let ((file-attr (file-attributes filename))) (set-visited-file-modtime - ;; We must pass modtime explicitely, because filename can + ;; We must pass modtime explicitly, because filename can ;; be different from (buffer-file-name), f.e. if ;; `file-precious-flag' is set. (nth 5 file-attr)) @@ -3403,7 +3403,7 @@ (with-parsed-tramp-file-name filename nil (cond ;; That's what we want: file names, for which checks are - ;; applied. We assume, that VC uses only `file-exists-p' and + ;; applied. We assume that VC uses only `file-exists-p' and ;; `file-readable-p' checks; otherwise we must extend the ;; list. We do not perform any action, but return nil, in ;; order to keep `vc-registered' running. @@ -4303,7 +4303,7 @@ ;; it is just a prefix for the ControlPath option ;; of ssh; the real temporary file has another ;; name, and it is created and protected by ssh. - ;; It is also removed by ssh, when the connection + ;; It is also removed by ssh when the connection ;; is closed. (tmpfile (tramp-set-connection-property @@ -5074,7 +5074,7 @@ ;; * It makes me wonder if tramp couldn't fall back to ssh when scp ;; isn't on the remote host. (Mark A. Hershberger) ;; * Use lsh instead of ssh. (Alfred M. Szmidt) -;; * Optimize out-of-band copying, when both methods are scp-like (not +;; * Optimize out-of-band copying when both methods are scp-like (not ;; rsync). ;; * Keep a second connection open for out-of-band methods like scp or ;; rsync. ------------------------------------------------------------ revno: 103122 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 01:50:38 -0800 message: Merge: * xmenu.c: conform to C89 const rules diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-05 09:26:46 +0000 +++ src/ChangeLog 2011-02-05 09:49:52 +0000 @@ -1,5 +1,9 @@ 2011-02-05 Paul Eggert + * xmenu.c: conform to C89 const rules + (xmenu_show, xdialog_show): Declare local var as char *, not + const char *, to stay compatible with C89 const rules. + * xdisp.c: conform to C89 pointer rules (store_mode_line_noprop, display_string, reseat_to_string): (c_string_pos, number_of_chars, message_dolog): === modified file 'src/xmenu.c' --- src/xmenu.c 2011-01-26 08:36:39 +0000 +++ src/xmenu.c 2011-02-05 09:49:52 +0000 @@ -1668,7 +1668,7 @@ { /* Create a new pane. */ Lisp_Object pane_name, prefix; - const char *pane_string; + char *pane_string; pane_name = AREF (menu_items, i + MENU_ITEMS_PANE_NAME); prefix = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX); @@ -2016,7 +2016,7 @@ representing the text label and buttons. */ { Lisp_Object pane_name, prefix; - const char *pane_string; + char *pane_string; pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME]; prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX]; pane_string = (NILP (pane_name) ------------------------------------------------------------ revno: 103121 [merge] committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-02-05 01:27:17 -0800 message: Merge: * xdisp.c: conform to C89 pointer rules diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-02-05 05:48:19 +0000 +++ src/ChangeLog 2011-02-05 09:26:46 +0000 @@ -1,5 +1,13 @@ 2011-02-05 Paul Eggert + * xdisp.c: conform to C89 pointer rules + (store_mode_line_noprop, display_string, reseat_to_string): + (c_string_pos, number_of_chars, message_dolog): + (message_log_check_duplicate, set_message_1, store_mode_line_noprop): + (display_mode_element, display_string): + Switch between char * and unsigned char * to stay compatible wth + C89 pointer rules. + * regex.c: conform to C89 pointer rules (re_wctype): Add cast, as C89 does not allow assigning between char * and unsigned char *. === modified file 'src/xdisp.c' --- src/xdisp.c 2011-01-30 22:17:44 +0000 +++ src/xdisp.c 2011-02-05 09:26:46 +0000 @@ -773,7 +773,7 @@ static int text_outside_line_unchanged_p (struct window *, EMACS_INT, EMACS_INT); static void store_mode_line_noprop_char (char); -static int store_mode_line_noprop (const unsigned char *, int, int); +static int store_mode_line_noprop (const char *, int, int); static void handle_stop (struct it *); static void handle_stop_backwards (struct it *, EMACS_INT); static int single_display_spec_intangible_p (Lisp_Object); @@ -831,7 +831,7 @@ static void display_menu_bar (struct window *); static int display_count_lines (EMACS_INT, EMACS_INT, EMACS_INT, int, EMACS_INT *); -static int display_string (const unsigned char *, Lisp_Object, Lisp_Object, +static int display_string (const char *, Lisp_Object, Lisp_Object, EMACS_INT, EMACS_INT, struct it *, int, int, int, int); static void compute_line_metrics (struct it *); static void run_redisplay_end_trigger_hook (struct it *); @@ -854,7 +854,7 @@ static void load_overlay_strings (struct it *, EMACS_INT); static int init_from_display_pos (struct it *, struct window *, struct display_pos *); -static void reseat_to_string (struct it *, const unsigned char *, +static void reseat_to_string (struct it *, const char *, Lisp_Object, EMACS_INT, EMACS_INT, int, int); static enum move_it_result move_it_in_display_line_to (struct it *, EMACS_INT, int, @@ -869,8 +869,8 @@ static struct text_pos string_pos_nchars_ahead (struct text_pos, Lisp_Object, EMACS_INT); static struct text_pos string_pos (EMACS_INT, Lisp_Object); -static struct text_pos c_string_pos (EMACS_INT, const unsigned char *, int); -static EMACS_INT number_of_chars (const unsigned char *, int); +static struct text_pos c_string_pos (EMACS_INT, const char *, int); +static EMACS_INT number_of_chars (const char *, int); static void compute_stop_pos (struct it *); static void compute_string_pos (struct text_pos *, struct text_pos, Lisp_Object); @@ -1383,7 +1383,7 @@ means recognize multibyte characters. */ static struct text_pos -c_string_pos (EMACS_INT charpos, const unsigned char *s, int multibyte_p) +c_string_pos (EMACS_INT charpos, const char *s, int multibyte_p) { struct text_pos pos; @@ -1397,7 +1397,7 @@ SET_TEXT_POS (pos, 0, 0); while (charpos--) { - string_char_and_length (s, &len); + string_char_and_length ((const unsigned char *) s, &len); s += len; CHARPOS (pos) += 1; BYTEPOS (pos) += len; @@ -1414,7 +1414,7 @@ non-zero means recognize multibyte characters. */ static EMACS_INT -number_of_chars (const unsigned char *s, int multibyte_p) +number_of_chars (const char *s, int multibyte_p) { EMACS_INT nchars; @@ -1422,7 +1422,7 @@ { EMACS_INT rest = strlen (s); int len; - unsigned char *p = (unsigned char *) s; + const unsigned char *p = (const unsigned char *) s; for (nchars = 0; rest > 0; ++nchars) { @@ -3172,7 +3172,7 @@ specbind (Qfontification_functions, Qnil); xassert (it->end_charpos == ZV); - + if (!CONSP (val) || EQ (XCAR (val), Qlambda)) safe_call1 (val, pos); else @@ -3218,7 +3218,7 @@ as is/was done in grep.el where some escapes sequences are turned into face properties (bug#7876). */ it->end_charpos = ZV; - + /* Return HANDLED_RECOMPUTE_PROPS only if function fontified something. This avoids an endless loop if they failed to fontify the text for which reason ever. */ @@ -5442,7 +5442,7 @@ calling this function. */ static void -reseat_to_string (struct it *it, const unsigned char *s, Lisp_Object string, +reseat_to_string (struct it *it, const char *s, Lisp_Object string, EMACS_INT charpos, EMACS_INT precision, int field_width, int multibyte) { @@ -5474,7 +5474,7 @@ } else { - it->s = s; + it->s = (const unsigned char *) s; it->string = Qnil; /* Note that we use IT->current.pos, not it->current.string_pos, @@ -7884,6 +7884,8 @@ void message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte) { + const unsigned char *msg = (const unsigned char *) m; + if (!NILP (Vmemory_full)) return; @@ -7934,7 +7936,7 @@ for the *Message* buffer. */ for (i = 0; i < nbytes; i += char_bytes) { - c = string_char_and_length (m + i, &char_bytes); + c = string_char_and_length (msg + i, &char_bytes); work[0] = (ASCII_CHAR_P (c) ? c : multibyte_char_to_unibyte (c, Qnil)); @@ -7946,7 +7948,6 @@ { EMACS_INT i; int c, char_bytes; - unsigned char *msg = (unsigned char *) m; unsigned char str[MAX_MULTIBYTE_LENGTH]; /* Convert a single-byte string to multibyte for the *Message* buffer. */ @@ -7959,13 +7960,13 @@ } } else if (nbytes) - insert_1 (m, nbytes, 1, 0, 0); + insert_1 (msg, nbytes, 1, 0, 0); if (nlflag) { EMACS_INT this_bol, this_bol_byte, prev_bol, prev_bol_byte; int dup; - insert_1 ("\n", 1, 1, 0, 0); + insert_1 ((const unsigned char *) "\n", 1, 1, 0, 0); scan_newline (Z, Z_BYTE, BEG, BEG_BYTE, -2, 0); this_bol = PT; @@ -7995,7 +7996,7 @@ sprintf (dupstr, " [%d times]", dup); duplen = strlen (dupstr); TEMP_SET_PT_BOTH (Z - 1, Z_BYTE - 1); - insert_1 (dupstr, duplen, 1, 0, 1); + insert_1 ((unsigned char *) dupstr, duplen, 1, 0, 1); } } } @@ -8079,7 +8080,7 @@ int n = 0; while (*p1 >= '0' && *p1 <= '9') n = n * 10 + *p1++ - '0'; - if (strncmp (p1, " times]\n", 8) == 0) + if (strncmp ((char *) p1, " times]\n", 8) == 0) return n+1; } return 0; @@ -9154,6 +9155,7 @@ set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multibyte_p) { const char *s = (const char *) a1; + const unsigned char *msg = (const unsigned char *) s; Lisp_Object string = a2; /* Change multibyteness of the echo buffer appropriately. */ @@ -9196,7 +9198,7 @@ /* Convert a multibyte string to single-byte. */ for (i = 0; i < nbytes; i += n) { - c = string_char_and_length (s + i, &n); + c = string_char_and_length (msg + i, &n); work[0] = (ASCII_CHAR_P (c) ? c : multibyte_char_to_unibyte (c, Qnil)); @@ -9209,7 +9211,6 @@ /* Convert from single-byte to multi-byte. */ EMACS_INT i; int c, n; - const unsigned char *msg = (const unsigned char *) s; unsigned char str[MAX_MULTIBYTE_LENGTH]; /* Convert a single-byte string to multibyte. */ @@ -9222,7 +9223,7 @@ } } else - insert_1 (s, nbytes, 1, 0, 0); + insert_1 (msg, nbytes, 1, 0, 0); } return 0; @@ -9517,7 +9518,7 @@ /* Store part of a frame title in mode_line_noprop_buf, beginning at - mode_line_noprop_ptr. STR is the string to store. Do not copy + mode_line_noprop_ptr. STRING is the string to store. Do not copy characters that yield more columns than PRECISION; PRECISION <= 0 means copy the whole string. Pad with spaces until FIELD_WIDTH number of characters have been copied; FIELD_WIDTH <= 0 means don't @@ -9525,13 +9526,14 @@ frame title. */ static int -store_mode_line_noprop (const unsigned char *str, int field_width, int precision) +store_mode_line_noprop (const char *string, int field_width, int precision) { + const unsigned char *str = (const unsigned char *) string; int n = 0; EMACS_INT dummy, nbytes; /* Copy at most PRECISION chars from STR. */ - nbytes = strlen (str); + nbytes = strlen (string); n += c_string_width (str, nbytes, precision, &dummy, &nbytes); while (nbytes--) store_mode_line_noprop_char (*str++); @@ -18396,7 +18398,7 @@ { case MODE_LINE_NOPROP: case MODE_LINE_TITLE: - n += store_mode_line_noprop (SDATA (elt), -1, prec); + n += store_mode_line_noprop (SSDATA (elt), -1, prec); break; case MODE_LINE_STRING: n += store_mode_line_string (NULL, elt, 1, 0, prec, Qnil); @@ -18440,7 +18442,7 @@ { case MODE_LINE_NOPROP: case MODE_LINE_TITLE: - n += store_mode_line_noprop (SDATA (elt) + last_offset, 0, prec); + n += store_mode_line_noprop (SSDATA (elt) + last_offset, 0, prec); break; case MODE_LINE_STRING: { @@ -18495,7 +18497,7 @@ { int multibyte; EMACS_INT bytepos, charpos; - const unsigned char *spec; + const char *spec; Lisp_Object string; bytepos = percent_position; @@ -19746,7 +19748,7 @@ Value is the number of columns displayed. */ static int -display_string (const unsigned char *string, Lisp_Object lisp_string, Lisp_Object face_string, +display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_string, EMACS_INT face_string_pos, EMACS_INT start, struct it *it, int field_width, int precision, int max_x, int multibyte) { ------------------------------------------------------------ revno: 103120 [merge] committer: Paul Eggert branch nick: trunk timestamp: Fri 2011-02-04 23:19:23 -0800 message: Merge: * emacsclient.c: conform to C89 pointer rules diff: === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2011-02-02 19:50:21 +0000 +++ lib-src/ChangeLog 2011-02-05 07:18:46 +0000 @@ -1,3 +1,9 @@ +2011-02-05 Paul Eggert + + * emacsclient.c: conform to C89 pointer rules + (file_name_absolute_p): Accept const char *, not const unsigned + char *, to satisfy C89 rules. + 2011-02-02 Eli Zaretskii * makefile.w32-in (ETAGS_CFLAGS, CTAGS_CFLAGS): Add === modified file 'lib-src/emacsclient.c' --- lib-src/emacsclient.c 2011-01-25 04:08:28 +0000 +++ lib-src/emacsclient.c 2011-02-05 07:18:46 +0000 @@ -854,7 +854,7 @@ int -file_name_absolute_p (const unsigned char *filename) +file_name_absolute_p (const char *filename) { /* Sanity check, it shouldn't happen. */ if (! filename) return FALSE; @@ -867,7 +867,7 @@ #ifdef WINDOWSNT /* X:\xxx is always absolute. */ - if (isalpha (filename[0]) + if (isalpha ((unsigned char) filename[0]) && filename[1] == ':' && (filename[2] == '\\' || filename[2] == '/')) return TRUE; ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.