Now on revision 107662. ------------------------------------------------------------ revno: 107662 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-03-22 22:46:31 -0400 message: * lisp/newcomment.el (comment-choose-indent): No space after BOL. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-22 20:49:04 +0000 +++ lisp/ChangeLog 2012-03-23 02:46:31 +0000 @@ -1,3 +1,7 @@ +2012-03-23 Stefan Monnier + + * newcomment.el (comment-choose-indent): No space after BOL. + 2012-03-22 Sam Steingold * window.el (switch-to-prev-buffer): Revert last patch because the === modified file 'lisp/newcomment.el' --- lisp/newcomment.el 2012-02-25 03:08:39 +0000 +++ lisp/newcomment.el 2012-03-23 02:46:31 +0000 @@ -587,7 +587,7 @@ (save-excursion (end-of-line) (current-column))))) (other nil) (min (save-excursion (skip-chars-backward " \t") - (1+ (current-column))))) + (if (bolp) 0 (1+ (current-column)))))) ;; Fix up the range. (if (< max min) (setq max min)) ;; Don't move past the fill column. ------------------------------------------------------------ revno: 107661 committer: Sam Steingold branch nick: trunk timestamp: Thu 2012-03-22 16:49:04 -0400 message: * lisp/window.el (switch-to-prev-buffer): Revert last patch because the bug turned out to be an advertised feature (Elisp manual 28.14). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-22 19:06:03 +0000 +++ lisp/ChangeLog 2012-03-22 20:49:04 +0000 @@ -1,3 +1,8 @@ +2012-03-22 Sam Steingold + + * window.el (switch-to-prev-buffer): Revert last patch because the + bug turned out to be an advertised feature (Elisp manual 28.14). + 2012-03-22 Glenn Morris * vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724) === modified file 'lisp/window.el' --- lisp/window.el 2012-03-21 16:01:18 +0000 +++ lisp/window.el 2012-03-22 20:49:04 +0000 @@ -2602,12 +2602,14 @@ (not (eq new-buffer old-buffer)) (or bury-or-kill (not (memq new-buffer next-buffers)))) - (if (get-buffer-window new-buffer) - ;; Try to avoid showing a buffer visible in some other window. - (setq visible new-buffer) - (set-window-buffer-start-and-point - window new-buffer (nth 1 entry) (nth 2 entry)) - (throw 'found t)))) + ;; _DO_ show visible buffers as advertized in Elisp manual 28.14 + ;; on `switch-to-prev-buffer' & `switch-to-next-buffer' + ;;(if (get-buffer-window new-buffer) + ;; ;; Try to avoid showing a buffer visible in some other window. + ;; (setq visible new-buffer) + (set-window-buffer-start-and-point + window new-buffer (nth 1 entry) (nth 2 entry)) + (throw 'found t))) ;; Scan reverted buffer list of WINDOW's frame next, skipping ;; entries of next buffers. Note that when we bury or kill a ;; buffer we don't reverse the global buffer list to avoid showing ------------------------------------------------------------ revno: 107660 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-03-22 15:57:43 -0400 message: Tweak previous vz-bzr change yet again diff: === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2012-03-22 19:17:43 +0000 +++ lisp/vc/vc-bzr.el 2012-03-22 19:57:43 +0000 @@ -116,7 +116,8 @@ process-environment))) (apply 'vc-do-command (or buffer "*vc*") okstatus vc-bzr-program file-or-list bzr-command - (if (string-equal "status" bzr-command) + (if (and (string-equal "status" bzr-command) + vc-bzr-status-switches) (append (if (stringp vc-bzr-status-switches) (list vc-bzr-status-switches) vc-bzr-status-switches) ------------------------------------------------------------ revno: 107659 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-03-22 15:17:43 -0400 message: Tweak previous vc-bzr change diff: === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2012-03-22 19:06:03 +0000 +++ lisp/vc/vc-bzr.el 2012-03-22 19:17:43 +0000 @@ -93,8 +93,7 @@ (ignore-errors (with-temp-buffer (call-process vc-bzr-program nil t nil "help" "status") - (goto-char (point-min)) - (if (search-forward "--no-classify") + (if (search-backward "--no-classify" nil t) "--no-classify"))) "String or list of strings specifying switches for bzr status under VC. The option \"--no-classify\" should be present if your bzr supports it." ------------------------------------------------------------ revno: 107658 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-03-22 15:06:03 -0400 message: Use bzr status --no-classify when supported (bug#6724) * lisp/vc/vc-bzr.el (vc-bzr-status-switches): New option. (vc-bzr-command): If running "status", pass vc-bzr-status-switches. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-22 18:42:12 +0000 +++ lisp/ChangeLog 2012-03-22 19:06:03 +0000 @@ -1,3 +1,8 @@ +2012-03-22 Glenn Morris + + * vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724) + (vc-bzr-command): If running "status", pass vc-bzr-status-switches. + 2012-03-22 Lars Magne Ingebrigtsen * net/network-stream.el (network-stream-open-starttls): Make error === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2012-02-28 08:17:21 +0000 +++ lisp/vc/vc-bzr.el 2012-03-22 19:06:03 +0000 @@ -89,18 +89,40 @@ (repeat :tag "Argument List" :value ("") string)) :group 'vc-bzr) +(defcustom vc-bzr-status-switches + (ignore-errors + (with-temp-buffer + (call-process vc-bzr-program nil t nil "help" "status") + (goto-char (point-min)) + (if (search-forward "--no-classify") + "--no-classify"))) + "String or list of strings specifying switches for bzr status under VC. +The option \"--no-classify\" should be present if your bzr supports it." + :type '(choice (const :tag "None" nil) + (string :tag "Argument String") + (repeat :tag "Argument List" :value ("") string)) + :group 'vc-bzr + :version "24.1") + ;; since v0.9, bzr supports removing the progress indicators ;; by setting environment variable BZR_PROGRESS_BAR to "none". (defun vc-bzr-command (bzr-command buffer okstatus file-or-list &rest args) "Wrapper round `vc-do-command' using `vc-bzr-program' as COMMAND. Invoke the bzr command adding `BZR_PROGRESS_BAR=none' and -`LC_MESSAGES=C' to the environment." +`LC_MESSAGES=C' to the environment. If BZR-COMMAND is \"status\", +prepends `vc-bzr-status-switches' to ARGS." (let ((process-environment (list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9) "LC_MESSAGES=C" ; Force English output process-environment))) (apply 'vc-do-command (or buffer "*vc*") okstatus vc-bzr-program - file-or-list bzr-command args))) + file-or-list bzr-command + (if (string-equal "status" bzr-command) + (append (if (stringp vc-bzr-status-switches) + (list vc-bzr-status-switches) + vc-bzr-status-switches) + args) + args)))) (defun vc-bzr-async-command (bzr-command &rest args) "Wrapper round `vc-do-async-command' using `vc-bzr-program' as COMMAND. ------------------------------------------------------------ revno: 107657 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Thu 2012-03-22 19:42:12 +0100 message: Fix starttls-related error message under Windows * net/network-stream.el (network-stream-open-starttls): Make error message under Windows be less misleading. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-22 14:46:05 +0000 +++ lisp/ChangeLog 2012-03-22 18:42:12 +0000 @@ -1,3 +1,8 @@ +2012-03-22 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): Make error + message under Windows be less misleading. + 2012-03-22 Liang Wang (tiny change) * progmodes/etags.el (etags-list-tags): Only use tags which goto-func === modified file 'lisp/net/network-stream.el' --- lisp/net/network-stream.el 2012-01-10 10:24:42 +0000 +++ lisp/net/network-stream.el 2012-03-22 18:42:12 +0000 @@ -302,11 +302,16 @@ (if (or (null starttls-command) starttls-available) "Server does not support TLS" - (concat "Emacs does not support TLS, and no external `" - (if starttls-use-gnutls - starttls-gnutls-program - starttls-program) - "' program was found"))) + ;; See `starttls-available-p'. If this predicate + ;; changes to allow running under Windows, the error + ;; message below should be amended. + (if (memq system-type '(windows-nt ms-dos)) + (concat "Emacs does not support TLS") + (concat "Emacs does not support TLS, and no external `" + (if starttls-use-gnutls + starttls-gnutls-program + starttls-program) + "' program was found")))) (delete-process stream) (setq stream nil)) ;; Return value: ------------------------------------------------------------ revno: 107656 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9942 author: Liang Wang committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-03-22 10:46:05 -0400 message: * lisp/progmodes/etags.el (etags-list-tags): Only use tags which goto-func understands. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-22 07:38:05 +0000 +++ lisp/ChangeLog 2012-03-22 14:46:05 +0000 @@ -1,3 +1,8 @@ +2012-03-22 Liang Wang (tiny change) + + * progmodes/etags.el (etags-list-tags): Only use tags which goto-func + understands (bug#9942). + 2012-03-22 Chong Yidong * simple.el (end-of-visible-line): Handle return value of === modified file 'lisp/progmodes/etags.el' --- lisp/progmodes/etags.el 2012-03-21 17:50:28 +0000 +++ lisp/progmodes/etags.el 2012-03-22 14:46:05 +0000 @@ -1410,7 +1410,9 @@ tag tag-info pt) (forward-line 1) (while (not (or (eobp) (looking-at "\f"))) - (setq tag-info (save-excursion (funcall snarf-tag-function t)) + ;; We used to use explicit tags when available, but the current goto-func + ;; can only handle implicit tags. + (setq tag-info (save-excursion (funcall snarf-tag-function nil)) tag (car tag-info) pt (with-current-buffer standard-output (point))) (princ tag) ------------------------------------------------------------ revno: 107655 fixes bug(s): http://debbugs.gnu.org/9371 committer: Chong Yidong branch nick: trunk timestamp: Thu 2012-03-22 15:38:05 +0800 message: Fix corner case in end-of-visible-line. * lisp/simple.el (end-of-visible-line): Handle return value of next-single-property-change properly. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-22 04:23:16 +0000 +++ lisp/ChangeLog 2012-03-22 07:38:05 +0000 @@ -1,3 +1,8 @@ +2012-03-22 Chong Yidong + + * simple.el (end-of-visible-line): Handle return value of + next-single-property-change properly (Bug#9371). + 2012-03-22 Kenichi Handa * international/quail.el (quail-insert-kbd-layout): Fix previous === modified file 'lisp/simple.el' --- lisp/simple.el 2012-03-12 18:21:35 +0000 +++ lisp/simple.el 2012-03-22 07:38:05 +0000 @@ -3688,7 +3688,8 @@ (assq prop buffer-invisibility-spec)))))) (skip-chars-forward "^\n") (if (get-text-property (point) 'invisible) - (goto-char (next-single-property-change (point) 'invisible)) + (goto-char (or (next-single-property-change (point) 'invisible) + (point-max))) (goto-char (next-overlay-change (point)))) (end-of-line))) ------------------------------------------------------------ revno: 107654 fixes bug(s): http://debbugs.gnu.org/4281 committer: Chong Yidong branch nick: trunk timestamp: Thu 2012-03-22 15:08:17 +0800 message: For line prefixes, use default face; don't inherit from previous line. * src/dispextern.h (struct it): New member string_from_prefix_prop_p. * src/xdisp.c (push_prefix_prop): Renamed from push_display_prop. Mark string as coming from a prefix property. (handle_face_prop): Use default face for prefix strings. (pop_it, reseat_1): Save and restore string_from_prefix_prop_p. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-03-21 07:02:13 +0000 +++ src/ChangeLog 2012-03-22 07:08:17 +0000 @@ -1,3 +1,12 @@ +2012-03-22 Chong Yidong + + * dispextern.h (struct it): New member string_from_prefix_prop_p. + + * xdisp.c (push_prefix_prop): Renamed from push_display_prop. + Mark string as coming from a prefix property. + (handle_face_prop): Use default face for prefix strings (Bug#4281). + (pop_it, reseat_1): Save and restore string_from_prefix_prop_p. + 2012-03-21 Chong Yidong * xfaces.c (Vface_remapping_alist): Doc fix. === modified file 'src/dispextern.h' --- src/dispextern.h 2012-01-19 07:21:25 +0000 +++ src/dispextern.h 2012-03-22 07:08:17 +0000 @@ -2152,6 +2152,10 @@ Don't handle some `display' properties in these strings. */ unsigned string_from_display_prop_p : 1; + /* 1 means `string' comes from a `line-prefix' or `wrap-prefix' + property. */ + unsigned string_from_prefix_prop_p : 1; + /* 1 means we are iterating an object that came from a value of a `display' property. */ unsigned from_disp_prop_p : 1; @@ -2272,6 +2276,7 @@ bidi_dir_t paragraph_embedding; unsigned multibyte_p : 1; unsigned string_from_display_prop_p : 1; + unsigned string_from_prefix_prop_p : 1; unsigned display_ellipsis_p : 1; unsigned avoid_cursor_p : 1; unsigned bidi_p:1; === modified file 'src/xdisp.c' --- src/xdisp.c 2012-03-18 16:57:39 +0000 +++ src/xdisp.c 2012-03-22 07:08:17 +0000 @@ -3673,7 +3673,9 @@ with, so that overlay strings appear in the same face as surrounding text, unless they specify their own faces. */ - base_face_id = underlying_face_id (it); + base_face_id = it->string_from_prefix_prop_p + ? DEFAULT_FACE_ID + : underlying_face_id (it); } new_face_id = face_at_string_position (it->w, @@ -5576,6 +5578,7 @@ p->font_height = it->font_height; p->voffset = it->voffset; p->string_from_display_prop_p = it->string_from_display_prop_p; + p->string_from_prefix_prop_p = it->string_from_prefix_prop_p; p->display_ellipsis_p = 0; p->line_wrap = it->line_wrap; p->bidi_p = it->bidi_p; @@ -5685,6 +5688,7 @@ it->font_height = p->font_height; it->voffset = p->voffset; it->string_from_display_prop_p = p->string_from_display_prop_p; + it->string_from_prefix_prop_p = p->string_from_prefix_prop_p; it->line_wrap = p->line_wrap; it->bidi_p = p->bidi_p; it->paragraph_embedding = p->paragraph_embedding; @@ -6115,6 +6119,8 @@ it->multibyte_p = !NILP (BVAR (current_buffer, enable_multibyte_characters)); it->sp = 0; it->string_from_display_prop_p = 0; + it->string_from_prefix_prop_p = 0; + it->from_disp_prop_p = 0; it->face_before_selective_p = 0; if (it->bidi_p) @@ -18539,7 +18545,7 @@ `line-prefix' and `wrap-prefix' properties. */ static int -push_display_prop (struct it *it, Lisp_Object prop) +push_prefix_prop (struct it *it, Lisp_Object prop) { struct text_pos pos = STRINGP (it->string) ? it->current.string_pos : it->current.pos; @@ -18563,6 +18569,7 @@ } it->string = prop; + it->string_from_prefix_prop_p = 1; it->multibyte_p = STRING_MULTIBYTE (it->string); it->current.overlay_string_index = -1; IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0; @@ -18649,7 +18656,7 @@ if (NILP (prefix)) prefix = Vline_prefix; } - if (! NILP (prefix) && push_display_prop (it, prefix)) + if (! NILP (prefix) && push_prefix_prop (it, prefix)) { /* If the prefix is wider than the window, and we try to wrap it, it would acquire its own wrap prefix, and so on till the ------------------------------------------------------------ revno: 107653 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-03-21 23:47:01 -0700 message: * emacs/dired.texi (Operating on Files): Fix dired-recursive-copies default. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-03-17 11:11:08 +0000 +++ doc/emacs/ChangeLog 2012-03-22 06:47:01 +0000 @@ -1,3 +1,7 @@ +2012-03-22 Glenn Morris + + * dired.texi (Operating on Files): Fix dired-recursive-copies default. + 2012-03-17 Chong Yidong * package.texi (Package Installation): Document use of === modified file 'doc/emacs/dired.texi' --- doc/emacs/dired.texi 2012-03-15 08:33:42 +0000 +++ doc/emacs/dired.texi 2012-03-22 06:47:01 +0000 @@ -610,7 +610,7 @@ @cindex recursive copying The variable @code{dired-recursive-copies} controls whether to copy directories recursively (like @samp{cp -r}). The default is -@code{nil}, which means that directories cannot be copied. +@code{top}, which means to ask before recursively copying a directory. @item D @findex dired-do-delete