Now on revision 106970. ------------------------------------------------------------ revno: 106970 fixes bug(s): http://debbugs.gnu.org/6595 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 13:02:02 +0800 message: Mark tooltip-use-echo-area as obsolete. * lisp/tooltip.el (tooltip-mode): Doc fix. (tooltip-use-echo-area): Mark as obsolete. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-01-27 21:19:13 +0000 +++ etc/NEWS 2012-01-28 05:02:02 +0000 @@ -436,6 +436,10 @@ This is handy for minibuffer-only frames, and is also used for the "mouse-1 pops up *Messages*" feature, which can now easily be changed. +--- +** `tooltip-use-echo-area' is obsolete. +Rather than setting this to t, disable Tooltip mode instead. + * Editing Changes in Emacs 24.1 === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 03:21:04 +0000 +++ lisp/ChangeLog 2012-01-28 05:02:02 +0000 @@ -1,5 +1,8 @@ 2012-01-28 Chong Yidong + * tooltip.el (tooltip-mode): Doc fix. + (tooltip-use-echo-area): Mark as obsolete (Bug#6595). + * frame.el (set-cursor-color): Doc fix (Bug#352). * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). === modified file 'lisp/tooltip.el' --- lisp/tooltip.el 2012-01-19 07:21:25 +0000 +++ lisp/tooltip.el 2012-01-28 05:02:02 +0000 @@ -39,18 +39,15 @@ ;;; Switching tooltips on/off (define-minor-mode tooltip-mode - "Toggle use of graphical tooltips (Tooltip mode). -With a prefix argument ARG, enable Tooltip mode if ARG is -positive, and disable it otherwise. If called from Lisp, enable -it if ARG is omitted or nil. - -When Tooltip mode is enabled, Emacs displays help text in a -pop-up window for buttons and menu items that you put the mouse -on. \(However, if `tooltip-use-echo-area' is non-nil, this and -all pop-up help appears in the echo area.) - -When Tooltip mode is disabled, Emacs displays one line of -the help text in the echo area, and does not make a pop-up window." + "Toggle Tooltip mode. +With ARG, turn Tooltip mode on if and only if ARG is positive. + +When this global minor mode is enabled, Emacs displays help +text (e.g. for buttons and menu items that you put the mouse on) +in a pop-up window. + +When Tooltip mode is disabled, Emacs displays help text in the +echo area, instead of making a pop-up window." :global t ;; Even if we start on a text-only terminal, make this non-nil by ;; default because we can open a graphical frame later (multi-tty). @@ -144,11 +141,14 @@ (defcustom tooltip-use-echo-area nil "Use the echo area instead of tooltip frames for help and GUD tooltips. -To display multi-line help text in the echo area, set this to t -and enable `tooltip-mode'." +This variable is obsolete; instead of setting it to t, disable +`tooltip-mode' (which has a similar effect)." :type 'boolean :group 'tooltip) +(make-obsolete-variable 'tooltip-use-echo-area + "disable Tooltip mode instead" "24.1") + ;;; Variables that are not customizable. ------------------------------------------------------------ revno: 106969 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 12:26:33 +0800 message: * doc/emacs/frames.texi (Input Focus): Fix doc for select-frame-set-input-focus. Clarify role of NORECORD arg to select-frame. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-28 03:56:20 +0000 +++ doc/lispref/ChangeLog 2012-01-28 04:26:33 +0000 @@ -1,5 +1,8 @@ 2012-01-28 Chong Yidong + * frames.texi (Input Focus): Add NORECORD arg to + select-frame-set-input-focus. Clarify its role in select-frame. + * text.texi (Transposition): We don't use transpose-region as an internal subroutine (Bug#3249). === modified file 'doc/lispref/frames.texi' --- doc/lispref/frames.texi 2012-01-19 07:21:25 +0000 +++ doc/lispref/frames.texi 2012-01-28 04:26:33 +0000 @@ -1377,15 +1377,15 @@ terminal frame has a number which appears in the mode line before the buffer name (@pxref{Mode Line Variables}). -@defun select-frame-set-input-focus frame +@defun select-frame-set-input-focus frame &optional norecord This function selects @var{frame}, raises it (should it happen to be -obscured by other frames) and tries to give it the X server's focus. On -a text-only terminal, the next redisplay displays the new frame on the -entire terminal screen. The return value of this function is not -significant. +obscured by other frames) and tries to give it the X server's focus. +On a text-only terminal, the next redisplay displays the new frame on +the entire terminal screen. The optional argument @var{norecord} has +the same meaning as for @code{select-frame} (see below). The return +value of this function is not significant. @end defun -@c ??? This is not yet implemented properly. @defun select-frame frame &optional norecord This function selects frame @var{frame}, temporarily disregarding the focus of the X server if any. The selection of @var{frame} lasts until @@ -1395,18 +1395,20 @@ selected frame after return to the command loop, because it still may have the window system's input focus.) -The specified @var{frame} becomes the selected frame, as explained -above, and the terminal that @var{frame} is on becomes the selected -terminal. The window selected within @var{frame} becomes the selected -window. This function returns @var{frame}, or @code{nil} if @var{frame} -has been deleted. - -Optional argument @var{norecord} non-@code{nil} means to neither change -the order of recently selected windows nor the buffer list. @xref{The -Buffer List}. - -In general, you should never use @code{select-frame} in a way that could -switch to a different terminal without switching back when you're done. +The specified @var{frame} becomes the selected frame, and its terminal +becomes the selected terminal. This function then calls +@code{select-window} as a subroutine, passing the window selected +within @var{frame} as its first argument and @var{norecord} as its +second argument (hence, if @var{norecord} is non-@code{nil}, this +avoids changing the order of recently selected windows nor the buffer +list). @xref{Selecting Windows}. + +This function returns @var{frame}, or @code{nil} if @var{frame} has +been deleted. + +In general, you should never use @code{select-frame} in a way that +could switch to a different terminal without switching back when +you're done. @end defun Emacs cooperates with the window system by arranging to select frames as ------------------------------------------------------------ revno: 106968 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 12:12:47 +0800 message: * doc/emacs/files.texi (Filesets): Fix typos. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-01-28 03:21:04 +0000 +++ doc/emacs/ChangeLog 2012-01-28 04:12:47 +0000 @@ -1,5 +1,7 @@ 2012-01-28 Chong Yidong + * files.texi (Filesets): Fix typos. + * display.texi (Faces): Add xref to Colors node. 2012-01-27 Dani Moncayo === modified file 'doc/emacs/files.texi' --- doc/emacs/files.texi 2012-01-19 07:21:25 +0000 +++ doc/emacs/files.texi 2012-01-28 04:12:47 +0000 @@ -1936,20 +1936,20 @@ @findex filesets-add-buffer @findex filesets-remove-buffer - The simplest way to define a fileset is by adding files to it one -at a time. To add a file to fileset @var{name}, visit the file and -type @kbd{M-x filesets-add-buffer @kbd{RET} @var{name} @kbd{RET}}. If + The simplest way to define a fileset is by adding files to it one at +a time. To add a file to fileset @var{name}, visit the file and type +@kbd{M-x filesets-add-buffer @kbd{RET} @var{name} @kbd{RET}}. If there is no fileset @var{name}, this creates a new one, which -initially creates only the current file. The command @kbd{M-x +initially contains only the current file. The command @kbd{M-x filesets-remove-buffer} removes the current file from a fileset. You can also edit the list of filesets directly, with @kbd{M-x filesets-edit} (or by choosing @samp{Edit Filesets} from the @samp{Filesets} menu). The editing is performed in a Customize buffer -(@pxref{Easy Customization}). Filesets need not be a simple list of -files---you can also define filesets using regular expression matching -file names. Some examples of these more complicated filesets are -shown in the Customize buffer. Remember to select @samp{Save for +(@pxref{Easy Customization}). Normally, a fileset is a simple list of +files, but you can also define a fileset as a regular expression +matching file names. Some examples of these more complicated filesets +are shown in the Customize buffer. Remember to select @samp{Save for future sessions} if you want to use the same filesets in future Emacs sessions. ------------------------------------------------------------ revno: 106967 fixes bug(s): http://debbugs.gnu.org/3249 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 11:56:20 +0800 message: * doc/lispref/text.texi (Transposition): We don't use transpose-region as an internal subroutine. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-28 03:49:22 +0000 +++ doc/lispref/ChangeLog 2012-01-28 03:56:20 +0000 @@ -1,5 +1,8 @@ 2012-01-28 Chong Yidong + * text.texi (Transposition): We don't use transpose-region as an + internal subroutine (Bug#3249). + * modes.texi (Example Major Modes): Update Lisp example code to current sources. Delete the old non-derived-major-mode example, which has diverged badly from current sources. === modified file 'doc/lispref/text.texi' --- doc/lispref/text.texi 2012-01-19 07:21:25 +0000 +++ doc/lispref/text.texi 2012-01-28 03:56:20 +0000 @@ -3991,7 +3991,7 @@ @node Transposition @section Transposition of Text - This subroutine is used by the transposition commands. + This function can be used to transpose stretches of text: @defun transpose-regions start1 end1 start2 end2 &optional leave-markers This function exchanges two nonoverlapping portions of the buffer. ------------------------------------------------------------ revno: 106966 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 11:49:22 +0800 message: * doc/lispref/modes.texi (Example Major Modes): Update Lisp example code to current sources. Delete the old non-derived-major-mode example, which has diverged badly from current sources. * lisp/text-mode.el (text-mode): Minor tweak to make the mirrored manual node nicer. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-27 21:03:56 +0000 +++ doc/lispref/ChangeLog 2012-01-28 03:49:22 +0000 @@ -1,3 +1,9 @@ +2012-01-28 Chong Yidong + + * modes.texi (Example Major Modes): Update Lisp example code to + current sources. Delete the old non-derived-major-mode example, + which has diverged badly from current sources. + 2012-01-27 Glenn Morris * makefile.w32-in (texinputdir): Fix (presumed) typo. === modified file 'doc/lispref/modes.texi' --- doc/lispref/modes.texi 2012-01-21 03:15:07 +0000 +++ doc/lispref/modes.texi 2012-01-28 03:49:22 +0000 @@ -1012,13 +1012,10 @@ (defvar text-mode-map (let ((map (make-sparse-keymap))) (define-key map "\e\t" 'ispell-complete-word) - (define-key map "\es" 'center-line) - (define-key map "\eS" 'center-paragraph) map) "Keymap for `text-mode'. -Many other modes, such as Mail mode, Outline mode -and Indented Text mode, inherit all the commands -defined in this map.") +Many other modes, such as `mail-mode', `outline-mode' and +`indented-text-mode', inherit all the commands defined in this map.") @end group @end smallexample @@ -1036,7 +1033,6 @@ @end group @group (set (make-local-variable 'text-mode-variant) t) - ;; @r{These two lines are a feature added recently.} (set (make-local-variable 'require-final-newline) mode-require-final-newline) (set (make-local-variable 'indent-line-function) 'indent-relative)) @@ -1047,103 +1043,29 @@ (The last line is redundant nowadays, since @code{indent-relative} is the default value, and we'll delete it in a future version.) - Here is how it was defined formerly, before -@code{define-derived-mode} existed: - -@smallexample -@group -;; @r{This isn't needed nowadays, since @code{define-derived-mode} does it.} -(define-abbrev-table 'text-mode-abbrev-table () - "Abbrev table used while in text mode.") -@end group - -@group -(defun text-mode () - "Major mode for editing text intended for humans to read... - Special commands: \\@{text-mode-map@} -@end group -@group -Turning on text-mode runs the hook `text-mode-hook'." - (interactive) - (kill-all-local-variables) - (use-local-map text-mode-map) -@end group -@group - (setq local-abbrev-table text-mode-abbrev-table) - (set-syntax-table text-mode-syntax-table) -@end group -@group - ;; @r{These four lines are absent from the current version} - ;; @r{not because this is done some other way, but because} - ;; @r{nowadays Text mode uses the normal definition of paragraphs.} - (set (make-local-variable 'paragraph-start) - (concat "[ \t]*$\\|" page-delimiter)) - (set (make-local-variable 'paragraph-separate) paragraph-start) - (set (make-local-variable 'indent-line-function) 'indent-relative-maybe) -@end group -@group - (setq mode-name "Text") - (setq major-mode 'text-mode) - (run-mode-hooks 'text-mode-hook)) ; @r{Finally, this permits the user to} - ; @r{customize the mode with a hook.} -@end group -@end smallexample - @cindex @file{lisp-mode.el} - The three Lisp modes (Lisp mode, Emacs Lisp mode, and Lisp -Interaction mode) have more features than Text mode and the code is -correspondingly more complicated. Here are excerpts from -@file{lisp-mode.el} that illustrate how these modes are written. + The three Lisp modes (Lisp mode, Emacs Lisp mode, and Lisp Interaction +mode) have more features than Text mode and the code is correspondingly +more complicated. Here are excerpts from @file{lisp-mode.el} that +illustrate how these modes are written. + + Here is how the Lisp mode syntax and abbrev tables are defined: @cindex syntax table example @smallexample @group ;; @r{Create mode-specific table variables.} -(defvar lisp-mode-syntax-table nil "") -(defvar lisp-mode-abbrev-table nil "") -@end group - -@group -(defvar emacs-lisp-mode-syntax-table - (let ((table (make-syntax-table))) - (let ((i 0)) -@end group - -@group - ;; @r{Set syntax of chars up to @samp{0} to say they are} - ;; @r{part of symbol names but not words.} - ;; @r{(The digit @samp{0} is @code{48} in the @acronym{ASCII} character set.)} - (while (< i ?0) - (modify-syntax-entry i "_ " table) - (setq i (1+ i))) - ;; @r{@dots{} similar code follows for other character ranges.} -@end group -@group - ;; @r{Then set the syntax codes for characters that are special in Lisp.} - (modify-syntax-entry ? " " table) - (modify-syntax-entry ?\t " " table) - (modify-syntax-entry ?\f " " table) - (modify-syntax-entry ?\n "> " table) -@end group -@group - ;; @r{Give CR the same syntax as newline, for selective-display.} - (modify-syntax-entry ?\^m "> " table) - (modify-syntax-entry ?\; "< " table) - (modify-syntax-entry ?` "' " table) - (modify-syntax-entry ?' "' " table) - (modify-syntax-entry ?, "' " table) -@end group -@group - ;; @r{@dots{}likewise for many other characters@dots{}} - (modify-syntax-entry ?\( "() " table) - (modify-syntax-entry ?\) ")( " table) - (modify-syntax-entry ?\[ "(] " table) - (modify-syntax-entry ?\] ")[ " table)) - table)) -@end group -@group -;; @r{Create an abbrev table for lisp-mode.} +(defvar lisp-mode-abbrev-table nil) (define-abbrev-table 'lisp-mode-abbrev-table ()) + +(defvar lisp-mode-syntax-table + (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table))) + (modify-syntax-entry ?\[ "_ " table) + (modify-syntax-entry ?\] "_ " table) + (modify-syntax-entry ?# "' 14" table) + (modify-syntax-entry ?| "\" 23bn" table) + table) + "Syntax table used in `lisp-mode'.") @end group @end smallexample @@ -1152,7 +1074,7 @@ @smallexample @group -(defun lisp-mode-variables (lisp-syntax) +(defun lisp-mode-variables (&optional lisp-syntax keywords-case-insensitive) (when lisp-syntax (set-syntax-table lisp-mode-syntax-table)) (setq local-abbrev-table lisp-mode-abbrev-table) @@ -1160,22 +1082,14 @@ @end group @end smallexample - In Lisp and most programming languages, we want the paragraph -commands to treat only blank lines as paragraph separators. And the -modes should understand the Lisp conventions for comments. The rest of -@code{lisp-mode-variables} sets this up: +@noindent +Amongst other things, this function sets up the @code{comment-start} +variable to handle Lisp comments: @smallexample @group - (set (make-local-variable 'paragraph-start) - (concat page-delimiter "\\|$" )) - (set (make-local-variable 'paragraph-separate) - paragraph-start) - @dots{} -@end group -@group - (set (make-local-variable 'comment-indent-function) - 'lisp-comment-indent)) + (make-local-variable 'comment-start) + (setq comment-start ";") @dots{} @end group @end smallexample @@ -1187,11 +1101,10 @@ @smallexample @group -(defvar shared-lisp-mode-map +(defvar lisp-mode-shared-map (let ((map (make-sparse-keymap))) - (define-key shared-lisp-mode-map "\e\C-q" 'indent-sexp) - (define-key shared-lisp-mode-map "\177" - 'backward-delete-char-untabify) + (define-key map "\e\C-q" 'indent-sexp) + (define-key map "\177" 'backward-delete-char-untabify) map) "Keymap for commands shared by all sorts of Lisp modes.") @end group @@ -1203,25 +1116,29 @@ @smallexample @group (defvar lisp-mode-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map shared-lisp-mode-map) + (let ((map (make-sparse-keymap)) + (menu-map (make-sparse-keymap "Lisp"))) + (set-keymap-parent map lisp-mode-shared-map) (define-key map "\e\C-x" 'lisp-eval-defun) (define-key map "\C-c\C-z" 'run-lisp) + @dots{} map) - "Keymap for ordinary Lisp mode...") + "Keymap for ordinary Lisp mode. +All commands in `lisp-mode-shared-map' are inherited by this map.") @end group @end smallexample - Finally, here is the complete major mode command definition for Lisp -mode. +@noindent +Finally, here is the major mode command for Lisp mode: @smallexample @group -(defun lisp-mode () +(define-derived-mode lisp-mode prog-mode "Lisp" "Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp. Commands: Delete converts tabs to spaces as it moves back. Blank lines separate paragraphs. Semicolons start comments. + \\@{lisp-mode-map@} Note that `run-lisp' may be used either to start an inferior Lisp job or to switch back to an existing one. @@ -1230,24 +1147,12 @@ @group Entry to this mode calls the value of `lisp-mode-hook' if that value is non-nil." - (interactive) - (kill-all-local-variables) -@end group -@group - (use-local-map lisp-mode-map) ; @r{Select the mode's keymap.} - (setq major-mode 'lisp-mode) ; @r{This is how @code{describe-mode}} - ; @r{finds out what to describe.} - (setq mode-name "Lisp") ; @r{This goes into the mode line.} - (lisp-mode-variables t) ; @r{This defines various variables.} - (set (make-local-variable 'comment-start-skip) + (lisp-mode-variables nil t) + (set (make-local-variable 'find-tag-default-function) 'lisp-find-tag-default) + (make-local-variable 'comment-start-skip) + (setq comment-start-skip "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") - (set (make-local-variable 'font-lock-keywords-case-fold-search) t) -@end group -@group - (setq imenu-case-fold-search t) - (set-syntax-table lisp-mode-syntax-table) - (run-mode-hooks 'lisp-mode-hook)) ; @r{This permits the user to use a} - ; @r{hook to customize the mode.} + (setq imenu-case-fold-search t)) @end group @end smallexample === modified file 'lisp/textmodes/text-mode.el' --- lisp/textmodes/text-mode.el 2012-01-19 07:21:25 +0000 +++ lisp/textmodes/text-mode.el 2012-01-28 03:49:22 +0000 @@ -63,8 +63,7 @@ (see the variable `adaptive-fill-mode'). \\{text-mode-map} Turning on Text mode runs the normal hook `text-mode-hook'." - (make-local-variable 'text-mode-variant) - (setq text-mode-variant t) + (set (make-local-variable 'text-mode-variant) t) (set (make-local-variable 'require-final-newline) mode-require-final-newline) (set (make-local-variable 'indent-line-function) 'indent-relative)) ------------------------------------------------------------ revno: 106965 fixes bug(s): http://debbugs.gnu.org/352 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 11:21:04 +0800 message: * lisp/frame.el (set-cursor-color): Doc fix. * doc/emacs/display.texi (Faces): Add xref to Colors node. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-01-27 08:19:19 +0000 +++ doc/emacs/ChangeLog 2012-01-28 03:21:04 +0000 @@ -1,3 +1,7 @@ +2012-01-28 Chong Yidong + + * display.texi (Faces): Add xref to Colors node. + 2012-01-27 Dani Moncayo * buffers.texi (Select Buffer): Clarify explanation of switching === modified file 'doc/emacs/display.texi' --- doc/emacs/display.texi 2012-01-19 07:21:25 +0000 +++ doc/emacs/display.texi 2012-01-28 03:21:04 +0000 @@ -493,7 +493,7 @@ The @code{default} face is the default for displaying text, and all of its attributes are specified. Its background color is also used as -the frame's background color. +the frame's background color. @xref{Colors}. @cindex cursor face Another special face is the @code{cursor} face. On graphical === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 02:56:35 +0000 +++ lisp/ChangeLog 2012-01-28 03:21:04 +0000 @@ -1,5 +1,7 @@ 2012-01-28 Chong Yidong + * frame.el (set-cursor-color): Doc fix (Bug#352). + * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). (rmail-mail-return): Switch to NEWBUF only if it is non-nil. === modified file 'lisp/frame.el' --- lisp/frame.el 2012-01-19 07:21:25 +0000 +++ lisp/frame.el 2012-01-28 03:21:04 +0000 @@ -1108,7 +1108,11 @@ (defun set-cursor-color (color-name) "Set the text cursor color of the selected frame to COLOR-NAME. When called interactively, prompt for the name of the color to use. -To get the frame's current cursor color, use `frame-parameters'." +This works by setting the `cursor-color' frame parameter on the +selected frame. + +You can also set the text cursor color, for all frames, by +customizing the `cursor' face." (interactive (list (read-color "Cursor color: "))) (modify-frame-parameters (selected-frame) (list (cons 'cursor-color color-name)))) ------------------------------------------------------------ revno: 106964 fixes bug(s): http://debbugs.gnu.org/10552 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 11:11:41 +0800 message: * src/s/gnu.h: Define POSIX_SIGNALS. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-01-28 03:04:55 +0000 +++ src/ChangeLog 2012-01-28 03:11:41 +0000 @@ -1,5 +1,10 @@ +2012-01-28 Samuel Thibault (tiny change) + + * s/gnu.h: Define POSIX_SIGNALS (Bug#10552). + 2012-01-28 Chong Yidong + * minibuf.c (syms_of_minibuf): Doc fix (Bug#10550). 2012-01-26 Chong Yidong === modified file 'src/s/gnu.h' --- src/s/gnu.h 2012-01-19 07:21:25 +0000 +++ src/s/gnu.h 2012-01-28 03:11:41 +0000 @@ -44,5 +44,7 @@ #endif /* !_IO_STDIO_H */ #endif /* emacs */ +#define POSIX_SIGNALS 1 + /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS ------------------------------------------------------------ revno: 106963 fixes bug(s): http://debbugs.gnu.org/10550 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 11:04:55 +0800 message: * minibuf.c (syms_of_minibuf): Doc fix. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-01-26 16:09:35 +0000 +++ src/ChangeLog 2012-01-28 03:04:55 +0000 @@ -1,3 +1,7 @@ +2012-01-28 Chong Yidong + + * minibuf.c (syms_of_minibuf): Doc fix (Bug#10550). + 2012-01-26 Chong Yidong * keyboard.c (Vecho_keystrokes): Document zero value (Bug#10503). === modified file 'src/minibuf.c' --- src/minibuf.c 2012-01-19 07:21:25 +0000 +++ src/minibuf.c 2012-01-28 03:04:55 +0000 @@ -2002,7 +2002,7 @@ DEFVAR_BOOL ("read-buffer-completion-ignore-case", read_buffer_completion_ignore_case, - doc: /* *Non-nil means completion ignores case when reading a buffer name. */); + doc: /* Non-nil means completion ignores case when reading a buffer name. */); read_buffer_completion_ignore_case = 0; DEFVAR_LISP ("minibuffer-setup-hook", Vminibuffer_setup_hook, @@ -2014,20 +2014,24 @@ Vminibuffer_exit_hook = Qnil; DEFVAR_LISP ("history-length", Vhistory_length, - doc: /* *Maximum length for history lists before truncation takes place. -A number means that length; t means infinite. Truncation takes place -just after a new element is inserted. Setting the `history-length' -property of a history variable overrides this default. */); + doc: /* Maximum length of history lists before truncation takes place. +A number means truncate to that length; truncation deletes old +elements, and is done just after inserting a new element. +A value of t means no truncation. + +This variable only affects history lists that don't specify their own +maximum lengths. Setting the `history-length' property of a history +variable overrides this default. */); XSETFASTINT (Vhistory_length, 30); DEFVAR_BOOL ("history-delete-duplicates", history_delete_duplicates, - doc: /* *Non-nil means to delete duplicates in history. + doc: /* Non-nil means to delete duplicates in history. If set to t when adding a new history element, all previous identical elements are deleted from the history list. */); history_delete_duplicates = 0; DEFVAR_LISP ("history-add-new-input", Vhistory_add_new_input, - doc: /* *Non-nil means to add new elements in history. + doc: /* Non-nil means to add new elements in history. If set to nil, minibuffer reading functions don't add new elements to the history list, so it is possible to do this afterwards by calling `add-to-history' explicitly. */); @@ -2042,7 +2046,7 @@ completion_ignore_case = 0; DEFVAR_BOOL ("enable-recursive-minibuffers", enable_recursive_minibuffers, - doc: /* *Non-nil means to allow minibuffer commands while in the minibuffer. + doc: /* Non-nil means to allow minibuffer commands while in the minibuffer. This variable makes a difference whenever the minibuffer window is active. */); enable_recursive_minibuffers = 0; @@ -2098,7 +2102,7 @@ Vminibuffer_history_position = Qnil; DEFVAR_BOOL ("minibuffer-auto-raise", minibuffer_auto_raise, - doc: /* *Non-nil means entering the minibuffer raises the minibuffer's frame. + doc: /* Non-nil means entering the minibuffer raises the minibuffer's frame. Some uses of the echo area also raise that frame (since they use it too). */); minibuffer_auto_raise = 0; ------------------------------------------------------------ revno: 106962 fixes bug(s): http://debbugs.gnu.org/10541 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 10:56:35 +0800 message: * lisp/cus-edit.el (customize-unsaved, customize-saved): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 01:58:27 +0000 +++ lisp/ChangeLog 2012-01-28 02:56:35 +0000 @@ -5,6 +5,7 @@ * cus-edit.el (custom-buffer-create-internal): Fix search button action (Bug#10542). + (customize-unsaved, customize-saved): Doc fix (Bug#10541). 2012-01-27 Eduard Wiebe === modified file 'lisp/cus-edit.el' --- lisp/cus-edit.el 2012-01-28 01:17:42 +0000 +++ lisp/cus-edit.el 2012-01-28 02:56:35 +0000 @@ -1357,7 +1357,7 @@ ;;;###autoload (defun customize-unsaved () - "Customize all user options set in this session but not saved." + "Customize all options and faces set in this session but not saved." (interactive) (let ((found nil)) (mapatoms (lambda (symbol) @@ -1395,7 +1395,7 @@ "*Customize Rogue*")))) ;;;###autoload (defun customize-saved () - "Customize all already saved user options." + "Customize all saved options and faces." (interactive) (let ((found nil)) (mapatoms (lambda (symbol) ------------------------------------------------------------ revno: 106961 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Sat 2012-01-28 02:28:36 +0000 message: Paperwork has arrived for Dave Abrahams, so remove "(tiny change)". diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-01-28 02:25:57 +0000 +++ lisp/gnus/ChangeLog 2012-01-28 02:28:36 +0000 @@ -107,7 +107,7 @@ * gnus.el (gnus-parameters): Doc fix. -2012-01-06 Dave Abrahams (tiny change) +2012-01-06 Dave Abrahams * gnus-sum.el (gnus-summary-refer-thread): If the subtree is hidden, show the thread after expansion. @@ -373,7 +373,7 @@ * nnir.el (gnus-registry-enabled): Defvar to keep the compiler happy. * nnmairix.el (gnus-registry-enabled): Ditto. -2011-10-17 Dave Abrahams (tiny change) +2011-10-17 Dave Abrahams * gnus-registry.el (gnus-registry-enabled): Add new variable (bug#9691). (gnus-registry-install-shortcuts): Set `gnus-registry-install' to 'ask @@ -627,7 +627,7 @@ * gnus.el (gnus-variable-list): Don't save `gnus-format-specs' in the newsrc file. It doesn't seem like an important optimization any more. -2011-09-10 Dave Abrahams (tiny change) +2011-09-10 Dave Abrahams * nnimap.el (nnimap-transform-headers): Fix regexp to be less prone to overflows. @@ -904,7 +904,7 @@ * spam.el (spam-fetch-field-fast): Rewrite slightly for clarity. -2011-07-31 Dave Abrahams (tiny change) +2011-07-31 Dave Abrahams * gnus-sum.el (gnus-summary-refer-thread): Since lambdas aren't closures, quote the form properly (bug#9194). ------------------------------------------------------------ revno: 106960 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Sat 2012-01-28 02:25:57 +0000 message: Merge changes made in Gnus trunk shr.el (shr-browse-url): Fix the name of the `browse-url-mail' function call. gnus-demon.el (gnus-demon-run-callback, gnus-demon-init): Convert to seconds, and make the repeat clause with HH:MM specs work as documented. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-01-27 14:32:25 +0000 +++ lisp/gnus/ChangeLog 2012-01-28 02:25:57 +0000 @@ -1,3 +1,14 @@ +2012-01-27 Elias Pipping (tiny change) + + * shr.el (shr-browse-url): Fix the name of the `browse-url-mail' + function call. + +2012-01-27 Vida Gábor (tiny change) + + * gnus-demon.el (gnus-demon-run-callback, gnus-demon-init): Convert to + seconds, and make the repeat clause with HH:MM specs work as + documented. + 2012-01-27 Lars Ingebrigtsen * gnus-start.el (gnus-get-unread-articles): Clear out "early" methods === modified file 'lisp/gnus/gnus-demon.el' --- lisp/gnus/gnus-demon.el 2012-01-19 07:21:25 +0000 +++ lisp/gnus/gnus-demon.el 2012-01-28 02:25:57 +0000 @@ -102,6 +102,7 @@ "Run FUNC if Emacs has been idle for longer than IDLE seconds." (unless gnus-inhibit-demon (when (or (not idle) + (and (eq idle t) (> (gnus-demon-idle-since) 0)) (<= idle (gnus-demon-idle-since))) (with-local-quit (ignore-errors @@ -115,6 +116,7 @@ ;; Set up the timer. (let* ((func (nth 0 handler)) (time (nth 1 handler)) + (time-type (type-of time)) (idle (nth 2 handler)) ;; Compute time according with timestep. ;; If t, replace by 1 @@ -123,33 +125,32 @@ ((null time) nil) ((stringp time) - (gnus-demon-time-to-step time)) + (* (gnus-demon-time-to-step time) gnus-demon-timestep)) (t (* time gnus-demon-timestep)))) + (idle (if (numberp idle) + (* idle gnus-demon-timestep) + idle)) + (timer (cond - ;; (func number t) - ;; Call when Emacs has been idle for `time' - ((and (numberp time) (eq idle t)) - (run-with-timer time time 'gnus-demon-run-callback func time)) - ;; (func number number) - ;; Call every `time' when Emacs has been idle for `idle' - ((and (numberp time) (numberp idle)) - (run-with-timer time time 'gnus-demon-run-callback func idle)) ;; (func nil number) ;; Only call when Emacs has been idle for `idle' ((and (null time) (numberp idle)) (run-with-idle-timer (* idle gnus-demon-timestep) t 'gnus-demon-run-callback func)) - ;; (func number nil) + ;; (func number any) ;; Call every `time' - ((and (numberp time) (null idle)) - (run-with-timer time time 'gnus-demon-run-callback func))))) + ((eq time-type 'integer) + (run-with-timer time time 'gnus-demon-run-callback func idle)) + ;; (func string any) + ((eq time-type 'string) + (run-with-timer time (* 24 60 60) 'gnus-demon-run-callback func idle))))) (when timer (add-to-list 'gnus-demon-timers timer))))) (defun gnus-demon-time-to-step (time) - "Find out how many seconds to TIME, which is on the form \"17:43\"." + "Find out how many steps to TIME, which is on the form \"17:43\"." (let* ((now (current-time)) ;; obtain NOW as discrete components -- make a vector for speed (nowParts (decode-time now)) === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2012-01-07 11:46:47 +0000 +++ lisp/gnus/shr.el 2012-01-28 02:25:57 +0000 @@ -480,7 +480,7 @@ ((not url) (message "No link under point")) ((string-match "^mailto:" url) - (browse-url-mailto url)) + (browse-url-mail url)) (t (browse-url url))))) @@ -566,7 +566,7 @@ ;; url-cache-extract autoloads url-cache. (declare-function url-cache-create-filename "url-cache" (url)) (autoload 'mm-disable-multibyte "mm-util") -(autoload 'browse-url-mailto "browse-url") +(autoload 'browse-url-mail "browse-url") (defun shr-get-image-data (url) "Get image data for URL. ------------------------------------------------------------ revno: 106959 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 10:01:05 +0800 message: * mail/rmail.el (rmail-mail-return): Only switch to live buffers. diff: === modified file 'lisp/mail/rmail.el' --- lisp/mail/rmail.el 2012-01-28 01:58:27 +0000 +++ lisp/mail/rmail.el 2012-01-28 02:01:05 +0000 @@ -3620,7 +3620,7 @@ (cond ((null rmail-flag) ;; If the Rmail buffer is not in the next window, switch ;; directly to the Rmail buffer specified by NEWBUF. - (if newbuf + (if (buffer-live-p newbuf) (switch-to-buffer newbuf))) ;; If the Rmail buffer is in the next window, switch to ;; the summary buffer if `mail-bury-selects-summary' is ------------------------------------------------------------ revno: 106958 fixes bug(s): http://debbugs.gnu.org/10625 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 09:58:27 +0800 message: * lisp/mail/rmail.el (rmail-start-mail): Add send-action again. (rmail-mail-return): Switch to NEWBUF only if it is non-nil. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 01:17:42 +0000 +++ lisp/ChangeLog 2012-01-28 01:58:27 +0000 @@ -1,5 +1,8 @@ 2012-01-28 Chong Yidong + * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). + (rmail-mail-return): Switch to NEWBUF only if it is non-nil. + * cus-edit.el (custom-buffer-create-internal): Fix search button action (Bug#10542). === modified file 'lisp/mail/rmail.el' --- lisp/mail/rmail.el 2012-01-19 07:21:25 +0000 +++ lisp/mail/rmail.el 2012-01-28 01:58:27 +0000 @@ -3584,15 +3584,18 @@ (if (stringp subject) (setq subject (rfc2047-decode-string subject))) (prog1 (compose-mail to subject other-headers noerase - switch-function yank-action sendactions) + switch-function yank-action sendactions + `(rmail-mail-return ,replybuffer)) (if (eq switch-function 'switch-to-buffer-other-frame) ;; This is not a standard frame parameter; nothing except ;; sendmail.el looks at it. - (modify-frame-parameters (selected-frame) + (modify-frame-parameters (selected-frame) '((mail-dedicated-frame . t))))))) (defun rmail-mail-return (&optional newbuf) - "NEWBUF is a buffer to switch to." + "Try to return to Rmail from the mail window. +If optional argument NEWBUF is specified, it is the Rmail buffer +to switch to." (cond ;; If there is only one visible frame with no special handling, ;; consider deleting the mail window to return to Rmail. @@ -3602,23 +3605,30 @@ (cdr (assq 'mail-dedicated-frame (frame-parameters)))))) (let (rmail-flag summary-buffer) - (and (not (one-window-p)) - (with-current-buffer - (window-buffer (next-window (selected-window) 'not)) - (setq rmail-flag (eq major-mode 'rmail-mode)) - (setq summary-buffer - (and (boundp 'mail-bury-selects-summary) - mail-bury-selects-summary - (boundp 'rmail-summary-buffer) - rmail-summary-buffer - (buffer-name rmail-summary-buffer) - (not (get-buffer-window rmail-summary-buffer)) - rmail-summary-buffer)))) - (if rmail-flag - ;; If the Rmail buffer has a summary, show that. - (if summary-buffer (switch-to-buffer summary-buffer) - (delete-window)) - (switch-to-buffer newbuf)))) + (unless (one-window-p) + (with-current-buffer + (window-buffer (next-window (selected-window) 'not)) + (setq rmail-flag (eq major-mode 'rmail-mode)) + (setq summary-buffer + (and (boundp 'mail-bury-selects-summary) + mail-bury-selects-summary + (boundp 'rmail-summary-buffer) + rmail-summary-buffer + (buffer-name rmail-summary-buffer) + (not (get-buffer-window rmail-summary-buffer)) + rmail-summary-buffer)))) + (cond ((null rmail-flag) + ;; If the Rmail buffer is not in the next window, switch + ;; directly to the Rmail buffer specified by NEWBUF. + (if newbuf + (switch-to-buffer newbuf))) + ;; If the Rmail buffer is in the next window, switch to + ;; the summary buffer if `mail-bury-selects-summary' is + ;; non-nil. Otherwise just delete this window. + (summary-buffer + (switch-to-buffer summary-buffer)) + (t + (delete-window))))) ;; If the frame was probably made for this buffer, the user ;; probably wants to delete it now. ((display-multi-frame-p) ------------------------------------------------------------ revno: 106957 fixes bug(s): http://debbugs.gnu.org/10542 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 09:17:42 +0800 message: * cus-edit.el (custom-buffer-create-internal): Fix search button action. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-27 21:40:44 +0000 +++ lisp/ChangeLog 2012-01-28 01:17:42 +0000 @@ -1,3 +1,8 @@ +2012-01-28 Chong Yidong + + * cus-edit.el (custom-buffer-create-internal): Fix search button + action (Bug#10542). + 2012-01-27 Eduard Wiebe * dired.el (dired-mark-files-regexp): === modified file 'lisp/cus-edit.el' --- lisp/cus-edit.el 2012-01-19 07:21:25 +0000 +++ lisp/cus-edit.el 2012-01-28 01:17:42 +0000 @@ -1637,7 +1637,7 @@ :tag " Search " :help-echo echo :action (lambda (widget &optional _event) - (customize-apropos (widget-value (widget-get widget :parent))))) + (customize-apropos (split-string (widget-value (widget-get widget :parent)))))) (widget-insert "\n"))) ;; The custom command buttons are also in the toolbar, so for a ------------------------------------------------------------ revno: 106956 fixes bug(s): http://debbugs.gnu.org/10445 author: Eduard Wiebe committer: Glenn Morris branch nick: trunk timestamp: Fri 2012-01-27 13:40:44 -0800 message: * dired.el (dired-mark-files-regexp): Include any subdirectory components. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-27 21:14:16 +0000 +++ lisp/ChangeLog 2012-01-27 21:40:44 +0000 @@ -1,3 +1,8 @@ +2012-01-27 Eduard Wiebe + + * dired.el (dired-mark-files-regexp): + Include any subdirectory components. (Bug#10445) + 2012-01-27 Mike Lamb (tiny change) * pcmpl-unix.el (pcmpl-ssh-known-hosts): === modified file 'lisp/dired.el' --- lisp/dired.el 2012-01-26 11:18:28 +0000 +++ lisp/dired.el 2012-01-27 21:40:44 +0000 @@ -3168,8 +3168,8 @@ (dired-mark-if (and (not (looking-at dired-re-dot)) (not (eolp)) ; empty line - (let ((fn (dired-get-filename nil t))) - (and fn (string-match regexp (file-name-nondirectory fn))))) + (let ((fn (dired-get-filename t t))) + (and fn (string-match regexp fn)))) "matching file"))) (defun dired-mark-files-containing-regexp (regexp &optional marker-char) ------------------------------------------------------------ revno: 106955 committer: Glenn Morris branch nick: trunk timestamp: Fri 2012-01-27 13:19:13 -0800 message: * etc/NEWS: --no-site-lisp (presumably) does not work for Nextstep builds. This is due to their use of EMACSLOADPATH; see http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6401#48 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10208#25 diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-01-26 06:30:49 +0000 +++ etc/NEWS 2012-01-27 21:19:13 +0000 @@ -82,7 +82,9 @@ +++ ** New command line option `--no-site-lisp' removes site-lisp directories -from load-path. -Q now implies this. +from load-path. -Q now implies this. This option does not affect the +EMACSLOADPATH environment variable (and hence has no effect for +Nextstep builds.) * Changes in Emacs 24.1 ------------------------------------------------------------ revno: 106954 fixes bug(s): http://debbugs.gnu.org/10533 author: Mike Lamb committer: Glenn Morris branch nick: trunk timestamp: Fri 2012-01-27 13:14:16 -0800 message: pcmpl-ssh-known-hosts tiny change * lisp/pcmpl-unix.el (pcmpl-ssh-known-hosts): Handle [host]:port syntax. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-27 08:46:10 +0000 +++ lisp/ChangeLog 2012-01-27 21:14:16 +0000 @@ -1,3 +1,8 @@ +2012-01-27 Mike Lamb (tiny change) + + * pcmpl-unix.el (pcmpl-ssh-known-hosts): + Handle [host]:port syntax. (Bug#10533) + 2012-01-27 Alex Harsanyi * xml.el (xml-parse-tag): Fix parsing of comments (Bug#10405). === modified file 'lisp/pcmpl-unix.el' --- lisp/pcmpl-unix.el 2012-01-19 07:21:25 +0000 +++ lisp/pcmpl-unix.el 2012-01-27 21:14:16 +0000 @@ -152,13 +152,15 @@ (file-readable-p pcmpl-ssh-known-hosts-file)) (with-temp-buffer (insert-file-contents-literally pcmpl-ssh-known-hosts-file) - (let (ssh-hosts-list) - (while (re-search-forward "^ *\\([-.[:alnum:]]+\\)[, ]" nil t) - (add-to-list 'ssh-hosts-list (match-string 1)) + (let ((host-re "\\(?:\\([-.[:alnum:]]+\\)\\|\\[\\([-.[:alnum:]]+\\)\\]:[0-9]+\\)[, ]") + ssh-hosts-list) + (while (re-search-forward (concat "^ *" host-re) nil t) + (add-to-list 'ssh-hosts-list (concat (match-string 1) + (match-string 2))) (while (and (looking-back ",") - (re-search-forward "\\([-.[:alnum:]]+\\)[, ]" - (line-end-position) t)) - (add-to-list 'ssh-hosts-list (match-string 1)))) + (re-search-forward host-re (line-end-position) t)) + (add-to-list 'ssh-hosts-list (concat (match-string 1) + (match-string 2))))) ssh-hosts-list)))) (defun pcmpl-ssh-config-hosts () ------------------------------------------------------------ revno: 106953 committer: Glenn Morris branch nick: trunk timestamp: Fri 2012-01-27 13:03:56 -0800 message: doc/lispref/makefile.w32-in small fixes * doc/lispref/makefile.w32-in (texinputdir): Fix (presumed) typo. (VERSION, manual): Remove, unused. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-27 08:35:51 +0000 +++ doc/lispref/ChangeLog 2012-01-27 21:03:56 +0000 @@ -1,3 +1,8 @@ +2012-01-27 Glenn Morris + + * makefile.w32-in (texinputdir): Fix (presumed) typo. + (VERSION, manual): Remove, unused. + 2012-01-27 Chong Yidong * commands.texi (Command Overview): Minor clarification (Bug#10384). === modified file 'doc/lispref/makefile.w32-in' --- doc/lispref/makefile.w32-in 2012-01-25 21:50:12 +0000 +++ doc/lispref/makefile.w32-in 2012-01-27 21:03:56 +0000 @@ -38,14 +38,9 @@ # The environment variable and its value to add $(srcdir) to the path # searched for TeX input files. texinputdir = $(srcdir)\..\..\nt\envadd.bat \ - "TEXINPUTS=$(srcdir);$(texinputdir);$(emacsdir);$(TEXINPUTS)" \ + "TEXINPUTS=$(srcdir);$(texinfodir);$(emacsdir);$(TEXINPUTS)" \ "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C -# The name of the manual: -VERSION=2.9 -## FIXME can this be set by configure, as per Makefile.in? -manual = elisp-manual-23-$(VERSION) - # List of all the texinfo files in the manual: srcs = \ ------------------------------------------------------------ revno: 106952 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2012-01-27 14:32:25 +0000 message: Merge changes made in Gnus trunk gnus-start.el (gnus-get-unread-articles): Clear out "early" methods so that previous errors don't prohibit getting new news. nnimap.el (nnimap-retrieve-group-data-early): Ditto. nntp.el (nntp-retrieve-group-data-early): Ditto. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-01-26 23:24:06 +0000 +++ lisp/gnus/ChangeLog 2012-01-27 14:32:25 +0000 @@ -1,3 +1,12 @@ +2012-01-27 Lars Ingebrigtsen + + * gnus-start.el (gnus-get-unread-articles): Clear out "early" methods + so that previous errors don't prohibit getting new news. + + * nnimap.el (nnimap-retrieve-group-data-early): Ditto. + + * nntp.el (nntp-retrieve-group-data-early): Ditto. + 2012-01-26 Katsumi Yamaoka * gnus-sum.el (gnus-summary-mode): Don't make bidi-paragraph-direction === modified file 'lisp/gnus/gnus-start.el' --- lisp/gnus/gnus-start.el 2012-01-19 07:21:25 +0000 +++ lisp/gnus/gnus-start.el 2012-01-27 14:32:25 +0000 @@ -1714,6 +1714,21 @@ (with-current-buffer nntp-server-buffer (gnus-read-active-file-1 method nil))))) + ;; Clear out all the early methods. + (dolist (elem type-cache) + (destructuring-bind (method method-type infos dummy) elem + (when (and method + infos + (gnus-check-backend-function + 'retrieve-group-data-early (car method)) + (not (gnus-method-denied-p method))) + (when (ignore-errors (gnus-get-function method 'open-server)) + (unless (gnus-server-opened method) + (gnus-open-server method)) + (when (gnus-server-opened method) + ;; Just mark this server as "cleared". + (gnus-retrieve-group-data-early method nil)))))) + ;; Start early async retrieval of data. (let ((done-methods nil) sanity-spec) === modified file 'lisp/gnus/nnimap.el' --- lisp/gnus/nnimap.el 2012-01-26 10:43:01 +0000 +++ lisp/gnus/nnimap.el 2012-01-27 14:32:25 +0000 @@ -1213,7 +1213,8 @@ t))) (deffoo nnimap-retrieve-group-data-early (server infos) - (when (nnimap-possibly-change-group nil server) + (when (and (nnimap-possibly-change-group nil server) + infos) (with-current-buffer (nnimap-buffer) (erase-buffer) (setf (nnimap-group nnimap-object) nil) === modified file 'lisp/gnus/nntp.el' --- lisp/gnus/nntp.el 2012-01-19 07:21:25 +0000 +++ lisp/gnus/nntp.el 2012-01-27 14:32:25 +0000 @@ -772,7 +772,11 @@ "Retrieve group info on INFOS." (nntp-with-open-group nil server (let ((buffer (nntp-find-connection-buffer nntp-server-buffer))) + (unless infos + (with-current-buffer buffer + (setq nntp-retrieval-in-progress nil))) (when (and buffer + infos (with-current-buffer buffer (not nntp-retrieval-in-progress))) ;; The first time this is run, this variable is `try'. So we ------------------------------------------------------------ revno: 106951 committer: Bastien Guerry branch nick: trunk timestamp: Fri 2012-01-27 12:05:51 +0100 message: Major update of TUTORIAL.fr and tiny fix to TUTORIAL. diff: === modified file 'etc/tutorials/TUTORIAL' --- etc/tutorials/TUTORIAL 2012-01-19 07:21:25 +0000 +++ etc/tutorials/TUTORIAL 2012-01-27 11:05:51 +0000 @@ -379,7 +379,7 @@ commands that can remove a lot of text kill the text (they are set up so that you can yank the text), while the commands that remove just one character, or only remove blank lines and spaces, do deletion (so you -cannot yank that text). and C-d do deletion in the simplest +cannot yank that text). and C-d do deletion in the simplest case, with no argument. When given an argument, they kill instead. >> Move the cursor to the beginning of a line which is not empty. === modified file 'etc/tutorials/TUTORIAL.fr' --- etc/tutorials/TUTORIAL.fr 2012-01-19 07:21:25 +0000 +++ etc/tutorials/TUTORIAL.fr 2012-01-27 11:05:51 +0000 @@ -94,7 +94,6 @@ des C-p. Notez ce que fait C-p lorsque le curseur est au milieu de la ligne. - Chaque ligne de texte se termine par un caractère Newline, qui sert à la séparer de la ligne suivante. La dernière ligne de votre fichier devrait se terminer par un Newline (mais Emacs n'exige pas qu'il y en @@ -180,7 +179,7 @@ M-< (Meta inférieur à) et M-> (Meta supérieur à) sont deux autres commandes importantes de déplacement du curseur. La première renvoie -au tout début du texte, la seconde à la fin de celui-ci. +au tout début du texte, la seconde à la toute fin de celui-ci. Sur certains claviers, le "<" se trouve sous la virgule, vous devez donc utiliser la touche pour y avoir accès. Sur ces terminaux, @@ -228,9 +227,9 @@ d'un paramètre préfixe, quelle que soit sa valeur, force la commande à agir différemment. -C-v et M-v constituent un autre type d'exception. Lorsqu'on leur -donne un paramètre, elles font défiler l'écran vers le haut ou vers le -bas du nombre de lignes indiqué au lieu de passer d'un écran complet à +C-v et M-v constituent un autre type d'exception. Lorsqu'on leur donne +un paramètre, elles font défiler l'écran vers le haut ou vers le bas +du nombre de lignes indiqué au lieu de passer d'un écran complet à l'autre. C-u 8 C-v, par exemple, fait défiler l'écran de 8 lignes. >> Faites C-u 8 C-v. @@ -248,8 +247,9 @@ Si votre souris a une molette, vous pouvez aussi l'utiliser pour faire défiler le texte. -* QUAND EMACS EST MUET ----------------------- + +* QUAND EMACS NE RÉPOND PLUS +---------------------------- Si Emacs cesse de répondre à vos commandes, vous pouvez le débloquer en toute sécurité avec C-g. Cette commande fait stopper une commande @@ -267,8 +267,8 @@ avec un C-g. -* COMMANDES DÉSACTIVÉES ------------------------- +* COMMANDES DÉSACTIVÉES +----------------------- Certaines commandes d'Emacs sont « désactivées » afin que les utilisateurs débutants ne puissent les utiliser par accident. @@ -282,7 +282,8 @@ désactivée, il suffit normalement de répondre « n ». >> Faites C-x C-l (qui est une commande désactivée), - puis répondez n à la question. + puis répondez « n » à la question. + * FENÊTRES ---------- @@ -300,9 +301,9 @@ supprime toutes les autres fenêtres. >> Déplacez le curseur sur cette ligne et faites C-u 0 C-l. ->> Faites CONTROLE-h k CONTROLE-f. +>> Faites C-h k C-f. Vous constatez que cette fenêtre est réduite alors qu'une nouvelle - apparaît pour afficher la documentation sur la commande CONTROLE-f. + apparaît pour afficher la documentation sur la commande C-f. >> Faites C-x 1 et la fenêtre de documentation disparaît. @@ -322,24 +323,24 @@ touche de retour chariot) pour insérer un caractère Newline. Vous pouvez effacer le dernier caractère que vous avez tapé en faisant -. est une touche du clavier -- la même que vous -utilisez habituellement en dehors d'Emacs, pour supprimer le dernier -caractère saisi. Il s'agit généralement de la grande touche située -quelques lignes au-dessus de la touche « Entrée ». Elle est -habituellement nommée « Delete », « Del », « Suppr » ou « Backspace ». +. est une touche du clavier -- la même que vous utilisez +habituellement en dehors d'Emacs, pour supprimer le dernier caractère +saisi. Il s'agit généralement de la grande touche située quelques +lignes au-dessus de la touche « Entrée ». Elle est habituellement +nommée « Delete », « Del », « Suppr » ou « Backspace ». Si cette grande touche s'appelle « Backspace », c'est celle-là qui -représente . Votre clavier peut également comporter une autre +représente . Votre clavier peut également comporter une autre touche, nommée « Delete », « Del » ou « Suppr », mais ce n'est pas -. +. -Plus généralement, efface le caractère situé immédiatement -avant la position courante du curseur. +Plus généralement, efface le caractère situé immédiatement avant +la position courante du curseur. >> Tapez quelques caractères puis effacez-les en faisant plusieurs - fois . Ne vous inquiétez pas de modifier ce fichier ; vous - ne modifierez pas le didacticiel principal mais uniquement votre - copie personnelle de celui-ci. + fois . Ne vous inquiétez pas de modifier ce fichier ; vous ne + modifierez pas le didacticiel principal mais uniquement votre copie + personnelle de celui-ci. Lorsqu'une ligne de texte devient trop longue pour tenir sur une seule ligne de l'écran, elle se « continue » sur une deuxième ligne @@ -350,7 +351,7 @@ >> Insérez du texte jusqu'à atteindre la marge droite et continuez d'en insérer. Vous verrez apparaître une ligne de continuation. ->> Faites des pour effacer le texte jusqu'à ce que la ligne +>> Faites des pour effacer le texte jusqu'à ce que la ligne tienne à nouveau sur une seule ligne d'écran. La ligne de continuation disparaît. @@ -360,8 +361,8 @@ dans la largeur de l'écran, elle s'affichera avec une ligne de continuation. ->> Placez le curseur au début d'une ligne et faites . - Cela fusionne cette ligne avec la ligne précédente. +>> Placez le curseur au début d'une ligne et faites . Cela + fusionne cette ligne avec la ligne précédente. >> Faites pour remettre le Newline que vous avez supprimé. @@ -376,41 +377,46 @@ effacer des mots ou des lignes entières. Voici un résumé des opérations de suppression : - Efface le caractère situé avant le curseur - C-d Efface le caractère situé après le curseur - - M- Supprime le mot situé avant le curseur - M-d Supprime le mot situé après le curseur - - C-k Supprime du curseur à la fin de la ligne - M-k Supprime jusqu'à la fin de la phrase courante - -Vous noterez que et C-d, par rapport à M- et M-d, -ont la même relation que C-f et M-f (en fait, n'est pas -vraiment un caractère de contrôle, mais ne nous soucions pas de cela) -C-k et M-k sont un peu comme C-e et M-e. + Efface le caractère situé avant le curseur + C-d Efface le caractère situé après le curseur + + M- Supprime le mot situé avant le curseur + M-d Supprime le mot situé après le curseur + + C-k Supprime du curseur à la fin de la ligne + M-k Supprime jusqu'à la fin de la phrase courante + +Vous noterez que et C-d, par rapport à M- et M-d, ont la +même relation que C-f et M-f (en fait, n'est pas vraiment un +caractère de contrôle, mais ne nous soucions pas de cela) C-k et M-k +sont un peu comme C-e et M-e. Vous pouvez aussi supprimer n'importe quelle zone du tampon en utilisant une méthode unique et générale. Placez-vous à une extrémité -de cette zone et tapez soit C-@, soit C-SPC (SPC désigne la barre -espace). Puis, allez à l'autre extrémité et faites C-w. Cela supprime -tout le texte compris entre ces deux positions. +de cette zone et tapez C-SPC (SPC désigne la barre espace). Puis, +allez à l'autre extrémité du texte que vous voulez supprimer. En +faisant cela, Emacs surligne le texte entre le curseur et la position +d'où vous avez tapé C-SPC. Enfin, faites C-w. Cela supprime tout le +texte compris entre ces deux positions. >> Placez le curseur sur le V au début du paragraphe précédent. >> Faites C-SPC. Emacs devrait afficher un message "Mark set" en bas de l'écran. ->> Déplacez le curseur sur le x d'« extrémité », sur la seconde ligne - du paragraphe. +>> Déplacez le curseur sur le x d'« extrémité », sur la seconde + ligne du paragraphe. >> Faites C-w. Cela supprimera le texte allant du V jusqu'au caractère situé juste avant le x. La différence entre « effacer » et « supprimer » est que vous pouvez réinsérer le texte « supprimé », alors que c'est impossible avec ce -qui a été « effacé ». La réinsertion d'un texte supprimé s'appelle le +qui a été « effacé » (Vous pouvez cependant « annuler » un effacement +- voir plus bas.) La réinsertion d'un texte supprimé s'appelle le « yanking ». Généralement, les commandes qui ôtent beaucoup de texte le suppriment (afin que vous puissiez le récupérer), tandis que celles qui ne font qu'ôter un seul caractère, des lignes blanches ou des espaces, les effacent (vous ne pouvez donc pas récupérer ce texte). +Dans le cas le plus simple et sans paramètre, et C-d effacent. +Avec un paramètre, ces commandes suppriment. >> Placez le curseur au début d'une ligne non vide puis faites C-k pour supprimer le texte de celle-ci. @@ -424,11 +430,16 @@ simple répétition : C-u 2 C-k détruit deux lignes et leurs Newlines alors que taper deux fois C-k n'aurait pas le même effet. -Vous pouvez ramener le texte supprimé à la place qu'il occupait ou à -n'importe quel autre emplacement du texte. Vous pouvez récupérer -plusieurs fois ce texte afin d'en créer plusieurs copies. +Réinsérer du texte supprimé est appelé « yanking » (« récupérer »). +(Pensez au geste de tirer vers soi du texte qui a été jeté.) Vous +pouvez récupérer le texte supprimé à la place qu'il occupait, à +n'importe quel autre emplacement du texte, ou même dans un autre +fichier. Vous pouvez récupérer plusieurs fois ce texte afin d'en +créer plusieurs copies. Certains éditeurs de texte appellent +« couper » et « coller » les opérations de « supprimer » et de +« récupérer » (voir le Glossaire dans le manuel d'Emacs.) -La commande de récupération est C-y. Elle réinsère le dernier texte +La commande de récupération est C-y. Elle réinsère le dernier texte supprimé à la position courante du curseur. >> Essayez : faites C-y pour récupérer le texte. @@ -452,12 +463,12 @@ récente, M-y remplacera ce texte récupéré par le texte supprimé précédemment. En répétant les M-y, vous ramenez les suppressions de plus en plus anciennes. Lorsque vous avez atteint le texte que vous -recherchez, vous n'avez rien besoin de faire pour le -conserver. Continuez simplement à éditer votre texte et laissez le -texte récupéré où il est. +recherchez, vous n'avez rien besoin de faire pour le conserver. +Continuez simplement à éditer votre texte et laissez le texte +récupéré où il est. -Si vous faites M-y suffisamment de fois, vous reviendrez à votre point -de départ (la suppression la plus récente). +Si vous faites M-y un nombre suffisant de fois, vous reviendrez +à votre point de départ (la suppression la plus récente). >> Supprimez une ligne, déplacez vous et supprimez une autre ligne. Puis, faites C-y pour récupérer cette dernière. @@ -472,34 +483,36 @@ * ANNULATION ------------ -Si vous modifiez le texte, puis que vous décidez que c'était une -erreur, vous pouvez annuler cette modification avec la commande C-x u -(comme Undo, défaire). +Si vous modifiez le texte, puis décidez que c'était une erreur, +vous pouvez annuler cette modification avec la commande C-/. -Normalement C-x u annule les modifications d'une seule commande ; si -vous répétez plusieurs fois C-x u dans une ligne, chaque répétition +Normalement C-/ annule les modifications d'une seule commande ; si +vous répétez plusieurs fois C-/ dans une ligne, chaque répétition annulera une commande supplémentaire. Il y a quand même deux exceptions : les commandes qui ne modifient pas le texte ne comptent pas (cela inclut les commandes de déplacement du curseur et les commandes de défilement du texte) et les caractères auto-insérés sont habituellement gérés par groupes allant jusqu'à 20 -(ceci afin de réduire le nombre de C-x u que vous devriez taper pour +(ceci afin de réduire le nombre de C-/ que vous devriez taper pour annuler l'insertion de texte). ->> Supprimez cette ligne avec C-k, puis faites C-x u pour la voir +>> Supprimez cette ligne avec C-k, puis faites C-/ pour la voir réapparaître. C-_ est une autre commande d'annulation ; elle fonctionne exactement -comme C-x u mais est plus facile à taper plusieurs fois dans une -ligne. Son inconvénient est qu'elle n'est pas facile à taper sur -certains claviers, c'est pourquoi C-x u existe aussi. Sur certains -terminaux, vous pouvez taper C-_ en tapant / tout en pressant la -touche CTRL. +comme C-/. Sur certains terminaux, taper C-/ envoie en fait C-_ à Emacs. +Autrement, C-x u marche aussi exactement comme C-/, mais est un peu +moins pratique à taper. -Un paramètre numérique passé à C-_ ou C-x u agit comme un nombre de +Un paramètre numérique passé à C-_ ou C-/ agit comme un nombre de répétitions. +Vous pouvez annuler la suppression de texte de la même manière que +vous pouvez annuler son effacement. La distinction entre supprimer +et effacer quelque chose n'intervient que pour la récupération avec +C-y; elle ne fait aucune différence pour l'annulation. + * FICHIERS ---------- @@ -520,7 +533,7 @@ cas où vous décideriez ensuite d'annuler vos modifications. Si vous examinez le bas de l'écran, vous verrez une ligne qui commence -et finit par des tirets et débute par « -1:-- TUTORIAL.fr » ou quelque +et finit par des tirets et débute par « -:--- TUTORIAL.fr » ou quelque chose comme ça. Cette partie de l'écran montre normalement le nom du fichier que vous êtes en train de visiter. Pour l'instant, vous visitez un fichier appelé « TUTORIAL.fr », qui est votre copie @@ -529,8 +542,8 @@ Une particularité de la commande permettant de trouver un fichier est que vous devez donner le nom du fichier voulu. On dit que la commande -« lit un paramètre à partir du terminal » (ici, le paramètre est le -nom du fichier). Après avoir fait la commande +« lit un paramètre » (ici, le paramètre est le nom du fichier). Après +avoir fait la commande C-x C-f Trouve un fichier @@ -592,7 +605,7 @@ Emacs stocke le texte de chaque fichier dans un objet appelé « tampon ». Trouver un fichier crée un nouveau tampon dans Emacs. Pour voir la -liste des tampons existants dans votre session Emacs, faites +liste des tampons existants dans votre session Emacs, faites : C-x C-b Liste des tampons @@ -605,14 +618,14 @@ >> Faites C-x 1 pour faire disparaître la liste des tampons. Lorsque vous avez plusieurs tampons, seul l'un d'entre eux est le -tampon "courant" à un instant donné : c'est celui que vous éditez. Si -vous souhaitez éditer un autre tampon, vous devez "basculer" vers +tampon « courant » à un instant donné : c'est celui que vous éditez. +Si vous souhaitez éditer un autre tampon, vous devez « basculer » vers lui. Pour basculer vers un tampon correspondant à un fichier, vous pouvez le recharger avec C-x C-f mais il y a plus simple : utilisez la commande C-x b en lui passant le nom du tampon. ->> Faites C-x b truc pour revenir au tampon "truc", qui - contient le texte du fichier "truc". +>> Faites C-x b truc pour revenir au tampon « truc », qui + contient le texte du fichier « truc ». Puis, faites C-x b TUTORIAL pour revenir à ce didacticiel. La plupart du temps, le nom d'un tampon est le même que celui du @@ -623,13 +636,17 @@ TOUT texte que vous visualisez dans une fenêtre Emacs fait toujours partie d'un tampon, mais certains tampons ne correspondent pas à des fichiers : le tampon "*Buffer List*", par exemple, ne contient pas de -fichiers mais la liste obtenue par C-x C-b. Le tampon "*Messages*" ne -correspond pas non plus à un fichier ; il contient la liste des -messages apparus dans la ligne d'état pendant votre session Emacs. +fichiers mais la liste obtenue par C-x C-b. Ce didacticiel n'avait pas +de fichier au départ mais il en a un désormais, car dans la section +précédente, vous avez tapé C-x C-s pour l'enregistrer. + +Le tampon "*Messages*" ne correspond pas non plus à un fichier ; il +contient la liste des messages apparus dans la ligne d'état pendant +votre session Emacs. >> Faites C-x b *Messages* pour visualiser le tampon des messages. - Puis, faites C-x b TUTORIAL pour revenir à ce didacticiel. + Puis, faites C-x b TUTORIAL.fr pour revenir à ce didacticiel. Si vous modifiez le texte d'un fichier, puis que vous chargez un autre fichier, le premier ne sera pas sauvegardé. Ses modifications restent @@ -672,26 +689,22 @@ proposera de sauvegarder tous les fichiers modifiés avant de quitter Emacs). +Si vous utiliser un affichage graphique, vous n'avez pas besoin de +commande spéciale pour vous déplacer d'Emacs à une autre application. +Vous pouvez le faire à l'aide de la souris ou avec les commandes du +gestionnaire de fenêtres. Cependant, si vous utilisez un terminal +texte ne pouvant afficher qu'une application à la fois, vous devez +« suspendre » Emacs pour passer à n'importe quel autre programme. + C-z est la commande permettant de quitter *temporairement* Emacs -- -afin de pouvoir revenir à la même session plus tard. - -Sur les systèmes qui le permettent, C-z « suspend » Emacs ; -c'est-à-dire qu'il revient au shell mais ne détruit pas Emacs. Avec -les shells les plus courants, vous pouvez revenir à Emacs en faisant -la commande 'fg' ou '%emacs'. - -Sur les systèmes qui n'implémentent pas ce mécanisme, C-z crée un -sous-shell qui s'exécute sous Emacs afin que vous puissiez lancer -d'autres programmes et revenir à Emacs ensuite : vous ne « sortez » -pas vraiment d'Emacs. Dans ce cas, la commande shell 'exit' est le -moyen habituel pour revenir à Emacs à partir de ce sous-shell. +afin de pouvoir revenir à la même session plus tard. Sur les systèmes +qui le permettent, C-z « suspend » Emacs ; c'est-à-dire qu'il revient +au shell mais ne détruit pas Emacs. Avec les shells les plus courants, +vous pouvez revenir à Emacs en faisant la commande 'fg' ou '%emacs'. Le moment idéal pour utiliser C-x C-c est lorsque l'on se déconnecte. C'est aussi la commande adaptée pour sortir d'un Emacs -invoqué par un programme de courrier ou tout autre utilitaire car -ceux-ci peuvent ne pas savoir comment gérer la suspension d'Emacs. Dans -des situations normales, si vous ne devez pas vous déconnecter, il est -préférable de suspendre Emacs avec C-z au lieu de le quitter. +invoqué par un programme de courrier ou tout autre utilitaire. Il existe de nombreuses commandes C-x. Voici une liste de celles que vous avez apprises : @@ -751,8 +764,8 @@ ------------- Si Emacs constate que vous tapez les commandes multi-caractères -lentement, il les affiche en bas de l'écran dans une zone nommée « -zone d'écho ». La zone d'écho contient la dernière ligne de l'écran. +lentement, il les affiche en bas de l'écran dans une zone nommée +« zone d'écho ». La zone d'écho contient la dernière ligne de l'écran. * LIGNE DE MODE @@ -761,18 +774,18 @@ La ligne placée immédiatement au dessus de la zone d'écho s'appelle la « ligne de mode ». Elle affiche quelque chose comme ça : --1:** TUTORIAL.fr (Fundamental)--L752--67%---------------- + -:**- TUTORIAL.fr 64% L749 (Fundamental) Cette ligne donne des informations sur l'état d'Emacs et sur le texte que vous êtes en train d'éditer. Vous savez déjà ce que signifie le nom de fichier -- c'est celui que -vous avez chargé. -NN%-- indique votre position actuelle dans le -texte ; cela signifie que NN pour cent du texte se trouve au dessus du -sommet de l'écran. Si le début du fichier est sur l'écran, il -s'affichera --Top-- et non --00%--. Si le bas du texte est sur -l'écran, il s'affichera --Bot--. Si tout le texte tient dans l'écran, -il s'affichera --All--. +vous avez chargé. NN% indique votre position actuelle dans le texte ; +cela signifie que NN pour cent du texte se trouve au dessus du sommet +de l'écran. Si le début du fichier est sur l'écran, il s'affichera +« Top » et non « 00% ». Si le bas du texte est sur l'écran, il +s'affichera « Bot » (comme « bottom »). Si tout le texte tient dans +l'écran, il s'affichera « All ». Le L et les chiffres qui le suivent indiquent une position d'une façon différente : ils indiquent le numéro de la ligne courante du point. @@ -784,7 +797,7 @@ La partie de la ligne de mode située entre parenthèses indique les modes d'édition dans lesquels vous vous trouvez. Le mode par défaut -est « Fundamental » et c'est celui que vous êtes en train +est le mode « Fundamental » et c'est celui que vous êtes en train d'utiliser. C'est un exemple de « mode majeur ». Emacs possède de nombreux modes majeurs différents. Certains sont @@ -804,7 +817,7 @@ Si vous devez éditer du texte en langage naturel, comme ce fichier, vous utiliserez probablement le mode Text. ->> Faites M-x text mode. +>> Faites M-x text-mode. Ne vous inquiétez pas, aucune des commandes Emacs que vous avez apprises ne change beaucoup mais vous pouvez constater que M-f et M-b @@ -818,7 +831,7 @@ Pour lire la documentation sur votre mode majeur actuel, faites C-h m. ->> Faites une fois C-u C-v pour amener cette ligne près du haut de l'écran. +>> Faites C-l C-l pour amener cette ligne près du haut de l'écran. >> Faites C-h m pour voir comment le mode Text diffère du mode Fundamental. >> Faites C-x 1 pour supprimer la documentation de l'écran. @@ -840,7 +853,7 @@ désactivé, cette commande l'active et, s'il est activé, elle le désactive : on dit que la commande « fait basculer le mode ». ->> Faites M-x auto fill mode puis insérez une ligne de +>> Faites M-x auto-fill-mode puis insérez une ligne de plusieurs « azer » jusqu'à ce qu'elle se divise en deux lignes. Vous devez mettre des espaces entre eux car le mode Auto Fill ne coupe les lignes que sur les espaces. @@ -870,8 +883,7 @@ du curseur : elle déplace le curseur à l'emplacement où la chaîne apparaît. -La commande de recherche d'Emacs est différente de celle que l'on -trouve sur la plupart des éditeurs car elle est « incrémentale ». Cela +La commande de recherche d'Emacs est « incrémentale ». Cela signifie que la recherche a lieu pendant que l'on tape la chaîne que l'on recherche. @@ -889,7 +901,7 @@ pour constater ce que fait le curseur. Vous avez maintenant atteint « curseur » une première fois. >> Tapez C-s à nouveau pour trouver l'occurrence suivante de « curseur ». ->> Faites maintenant quatre fois et étudiez les mouvements du +>> Faites maintenant quatre fois et étudiez les mouvements du curseur. >> Faites pour mettre fin à la recherche. @@ -900,21 +912,13 @@ bippe et vous indique que la recherche a échoué. C-g permet également de mettre fin à la recherche. -REMARQUE : Sur certains systèmes, C-s gèlera l'écran et vous ne verrez -plus rien se produire dans Emacs. Cela indique qu'une -« fonctionnalité » du système d'exploitation, appelée « contrôle de -flux », a intercepté le C-s et ne lui permet pas de parvenir à -Emacs. Pour décoincer l'écran, faites C-q puis consultez la section -« Spontaneous Entry to Incremental Search » dans le manuel d'Emacs -pour avoir des avis sur la gestion de cette « fonctionnalité ». - Si vous vous trouvez au milieu d'une recherche incrémentale et que -vous tapez , vous remarquerez que cela supprime le dernier +vous tapez , vous remarquerez que cela supprime le dernier caractère de la chaîne recherchée et que la recherche reprend à l'endroit où elle se trouvait précédemment. Supposons, par exemple, que vous ayiez tapé « c » pour trouver la première occurrence de « c ». Si vous tapez maintenant « u », le curseur ira sur la première -occurrence de « cu ». Faites : cela supprime le « u » de la +occurrence de « cu ». Faites : cela supprime le « u » de la chaîne de recherche et le curseur revient à la première occurrence de « c ». @@ -929,21 +933,24 @@ C-s s'applique également à C-r, sauf que la direction de la recherche est inversée. + * FENÊTRES MULTIPLES -------------------- L'une des caractéristiques les plus agréables d'Emacs est que vous -pouvez afficher plusieurs fenêtres en même temps à l'écran. +pouvez afficher plusieurs fenêtres en même temps à l'écran. (Notez +qu'Emacs utilise le terme « cadres » -- décrits dans la section +d'après -- là où d'autres applications disent « fenêtres ». Le +manuel d'Emacs contient un Glossaire des termes d'Emacs.) ->> Placez le curseur sur cette ligne et faites C-u 0 C-l (CTRL-L, pas - CTRL-1). +>> Placez le curseur sur cette ligne et faites C-l C-l. >> Faites maintenant C-x 2 pour diviser l'écran en deux fenêtres. Toutes les deux affichent ce didacticiel et le curseur reste dans celle du haut. >> Faites C-M-v pour faire défiler la fenêtre du bas - (Si vous n'avez pas de touche Meta, faites C-V). + (Si vous n'avez pas de touche Meta, faites C-v). >> Tapez C-x o (« o » pour « other ») afin de placer le curseur dans la fenêtre du bas. @@ -954,10 +961,11 @@ haut. Le curseur est exactement où il était avant. Vous pouvez continuer à utiliser C-x o pour passer d'une fenêtre à -l'autre. Chaque fenêtre a sa propre position du curseur, mais une -seule le montre vraiment. Toutes les commandes d'édition habituelles -s'appliquent à la fenêtre dans laquelle se trouve le curseur : on -l'appelle la « fenêtre sélectionnée ». +l'autre. La « fenêtre sélectionnée », où la plupart de l'édition a +lieu, est celle avec un curseur plus visible, qui clignotte quand +vous ne tapez pas. Les autres fenêtres ont leurs propres positions +de curseur ; si vous utilisez Emacs dans un affichage graphique, ces +curseurs sont dessinés comme des boîtes fantômes fixes. La commande C-M-v est très utile lorsque l'on édite du texte dans une fenêtre et que l'on utilise l'autre uniquement comme référence. Vous @@ -998,6 +1006,33 @@ supprimer celle du bas. +* CADRES MULTIPLES +------------------ + +Emacs peut aussi créer plusieurs « cadres ». Un cadre est ce que nous +appelons une collection de fenêtres, avec ses menus, ses barres de +défilement, son mini-tampon, etc. Dans les affichages graphiques, ce +qu'Emacs appelle un cadre est ce que la plupart des applications +appellent une « fenêtre ». Des cadres graphiques multiples peuvent +apparaître sur l'écran en même temps. Dans un terminal texte, seul +un cadre à la fois peut être affiché. + +>> Tapez M-x make-frame + Voyez un nouveau cadre apparaître dans votre écran. + +Tout ce que vous faisiez dans votre cadre initial, vous pouvez le +faire dans le nouveau cadre. Il n'y a rien de spécial au premier +cadre. + +>> Tapez M-x delete-frame + Ceci détruit le cadre sélectionné. + +Vous pouvez aussi détruire un cadre en utilisant les méthodes normales +fournies par le système graphique (souvent en cliquant sur un bouton +avec un « X » dans l'angle haut du cadre.) Si vous supprimez le +dernier cadre de la tâche Emacs de cette manière, vous sortez d'Emacs. + + * NIVEAUX D'ÉDITION RÉCURSIVE ----------------------------- @@ -1006,18 +1041,18 @@ de mode, entourant les parenthèses situées autour du nom du mode majeur. Vous verrez, par exemple [(Fundamental)] au lieu de (Fundamental). -Pour sortir du niveau d'édition récursive, faites ESC ESC ESC. C'est -une commande de sortie à tout faire. Vous pouvez également l'utiliser -pour supprimer les fenêtres supplémentaires et pour sortir du -mini-tampon. +Pour sortir du niveau d'édition récursive, faites . +C'est une commande de sortie à tout faire. Vous pouvez également l'utiliser +pour supprimer les fenêtres supplémentaires et pour sortir du mini-tampon. ->> Faites M-x pour aller dans le mini-tampon, puis faites ESC ESC ESC +>> Faites M-x pour aller dans le mini-tampon, puis faites pour en sortir. Vous ne pouvez pas utiliser C-g pour sortir d'un niveau d'édition récursive car cette commande sert à annuler des commandes et des paramètres DANS le niveau d'édition récursive. + * OBTENIR DE L'AIDE SUPPLÉMENTAIRE ---------------------------------- @@ -1035,18 +1070,16 @@ avez tapé C-h et que vous vous ravisez, il vous suffit de faire C-g pour annuler. -Certains sites changent la signification du caractère C-h. Ils ne -devraient pas le faire à la légère pour tous les utilisateurs et vous -êtes donc en droit de vous plaindre auprès de l'administrateur -système. Cependant, si C-h n'affiche pas de message d'aide en bas de -l'écran, essayez à la place la touche F1 ou M-x help . +(si C-h n'affiche pas de message d'aide en bas de l'écran, essayez à +la place la touche F1 ou M-x help .) La commande d'aide la plus simple est C-h c. Faites C-h, le caractère c, puis un caractère ou une séquence de commande : Emacs affichera une description très courte de cette commande. >> Faites C-h c C-p. - Le message devrait être quelque chose comme : + +Le message devrait être quelque chose comme : C-p runs the command previous-line @@ -1116,7 +1149,7 @@ Vous pouvez en apprendre plus en lisant le manuel d'Emacs, qu'il soit imprimé ou en ligne avec le système Info (utilisez le menu Help, ou -faites F10 h r). Les deux fonctionnalités que vous apprécierez +faites C-h r). Les deux fonctionnalités que vous apprécierez particulièrement sont la complétion, qui permet d'économiser la frappe, et dired, qui simplifie la manipulation des fichiers. @@ -1136,12 +1169,11 @@ Le manuel décrit également les nombreuses autres fonctionnalités d'Emacs. + * CONCLUSION ------------ -Rappelez-vous, pour quitter définitivement Emacs, faites C-x C-c. Pour -lancer temporairement un shell et pouvoir ensuite revenir à Emacs, -faites C-z. +Pour quitter définitivement Emacs, faites C-x C-c. Ce didacticiel est destiné à être compréhensible par tous les nouveaux utilisateurs. Si vous avez trouvé que quelque chose n'était pas clair, @@ -1157,7 +1189,7 @@ Emacs. Cette version du didacticiel, comme GNU Emacs, est placée sous -copyright, et vous pouvez en distribuer des copies sous certaines +droit d'auteur, et vous pouvez en distribuer des copies sous certaines conditions : Copyright (C) 1985, 1996, 2001-2012 Free Software Foundation, Inc. @@ -1180,7 +1212,7 @@ utilisant, écrivant et partagent des logiciels libres ! Cette traduction française a été effectuée par Éric Jacoboni -. + et complétée par Bastien Guerry . --- end of TUTORIAL.fr --- @@ -1188,4 +1220,3 @@ ;;; coding: latin-1 ;;; sentence-end-double-space: nil ;;; End: - ------------------------------------------------------------ revno: 106950 fixes bug(s): http://debbugs.gnu.org/10405 author: Alex Harsanyi committer: Chong Yidong branch nick: trunk timestamp: Fri 2012-01-27 16:46:10 +0800 message: * xml.el (xml-parse-tag): Fix parsing of comments. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-26 02:32:56 +0000 +++ lisp/ChangeLog 2012-01-27 08:46:10 +0000 @@ -1,3 +1,7 @@ +2012-01-27 Alex Harsanyi + + * xml.el (xml-parse-tag): Fix parsing of comments (Bug#10405). + 2012-01-26 Glenn Morris * dired-x.el (dired-bind-jump): Use ctl-x-map and ctl-x-4-map. === modified file 'lisp/xml.el' --- lisp/xml.el 2012-01-19 07:21:25 +0000 +++ lisp/xml.el 2012-01-27 08:46:10 +0000 @@ -421,7 +421,8 @@ ;; skip comments ((looking-at "") - nil) + (skip-syntax-forward " ") + (xml-parse-tag parse-dtd xml-ns)) ;; end tag ((looking-at " branch nick: trunk timestamp: Fri 2012-01-27 16:35:51 +0800 message: Minor clarification in Lisp manual about pre/post-command-hook. * doc/lispref/commands.texi (Command Overview): Minor clarification (Bug#10384). diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-26 15:48:27 +0000 +++ doc/lispref/ChangeLog 2012-01-27 08:35:51 +0000 @@ -1,3 +1,7 @@ +2012-01-27 Chong Yidong + + * commands.texi (Command Overview): Minor clarification (Bug#10384). + 2012-01-26 Chong Yidong * searching.texi (String Search): Document negative repeat count === modified file 'doc/lispref/commands.texi' --- doc/lispref/commands.texi 2012-01-19 07:21:25 +0000 +++ doc/lispref/commands.texi 2012-01-27 08:35:51 +0000 @@ -75,18 +75,22 @@ character causes @dfn{quitting} (@pxref{Quitting}). @defvar pre-command-hook -The editor command loop runs this normal hook before each command. At -that time, @code{this-command} contains the command that is about to -run, and @code{last-command} describes the previous command. -@xref{Command Loop Info}. +This normal hook is run by the editor command loop before it executes +each command. At that time, @code{this-command} contains the command +that is about to run, and @code{last-command} describes the previous +command. @xref{Command Loop Info}. @end defvar @defvar post-command-hook -The editor command loop runs this normal hook after each command -(including commands terminated prematurely by quitting or by errors), -and also when the command loop is first entered. At that time, -@code{this-command} refers to the command that just ran, and -@code{last-command} refers to the command before that. +This normal hook is run by the editor command loop after it executes +each command (including commands terminated prematurely by quitting or +by errors). At that time, @code{this-command} refers to the command +that just ran, and @code{last-command} refers to the command before +that. + +This hook is also run when Emacs first enters the command loop (at +which point @code{this-command} and @code{last-command} are both +@code{nil}). @end defvar Quitting is suppressed while running @code{pre-command-hook} and ------------------------------------------------------------ revno: 106948 author: Dani Moncayo committer: Chong Yidong branch nick: trunk timestamp: Fri 2012-01-27 16:19:19 +0800 message: Doc fixes for buffers.texi and text.texi in Emacs manual. * doc/emacs/buffers.texi (Select Buffer): Clarify explanation of switching to new buffers. Fix description of next-buffer and previous-buffer (Bug#10334). (Misc Buffer): Add xref to View Mode. * doc/emacs/text.texi (Fill Commands): Fix description of sentence-end-double-space. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-01-23 06:54:20 +0000 +++ doc/emacs/ChangeLog 2012-01-27 08:19:19 +0000 @@ -1,3 +1,13 @@ +2012-01-27 Dani Moncayo + + * buffers.texi (Select Buffer): Clarify explanation of switching + to new buffers. Fix description of next-buffer and + previous-buffer (Bug#10334). + (Misc Buffer): Add xref to View Mode. + + * text.texi (Fill Commands): Fix description of + sentence-end-double-space. + 2012-01-23 Chong Yidong * anti.texi (Antinews): Add Emacs 23 antinews. === modified file 'doc/emacs/buffers.texi' --- doc/emacs/buffers.texi 2012-01-19 07:21:25 +0000 +++ doc/emacs/buffers.texi 2012-01-27 08:19:19 +0000 @@ -90,9 +90,7 @@ name using the minibuffer. Then it makes that buffer current, and displays it in the currently-selected window. An empty input specifies the buffer that was current most recently among those not -now displayed in any window. If you specify a buffer that does not -exist, @kbd{C-x b} creates a new, empty buffer that is not visiting -any file, and selects it for editing. +now displayed in any window. While entering the buffer name, you can use the usual completion and history commands (@pxref{Minibuffer}). Note that @kbd{C-x b}, and @@ -102,21 +100,24 @@ @samp{[Confirm]} and you must type a second @key{RET} to submit that buffer name. @xref{Completion Exit}, for details. - One reason to create a new buffer is to use it for making temporary -notes. If you try to save it, Emacs asks for the file name to use. -The default value of the variable @code{major-mode} determines the new -buffer's major mode; the default value is Fundamental mode. @xref{Major -Modes}. + If you specify a buffer that does not exist, @kbd{C-x b} creates a +new, empty buffer that is not visiting any file, and selects it for +editing. The default value of the variable @code{major-mode} +determines the new buffer's major mode; the default value is +Fundamental mode. @xref{Major Modes}. One reason to create a new +buffer is to use it for making temporary notes. If you try to save +it, Emacs asks for the file name to use. @kindex C-x @key{LEFT} @kindex C-x @key{RIGHT} @findex next-buffer @findex previous-buffer For conveniently switching between a few buffers, use the commands -@kbd{C-x @key{LEFT}} and @kbd{C-x @key{RIGHT}}. @kbd{C-x @key{RIGHT}} -(@code{previous-buffer}) selects the previous buffer (following the order -of most recent selection in the current frame), while @kbd{C-x @key{LEFT}} -(@code{next-buffer}) moves through buffers in the reverse direction. +@kbd{C-x @key{LEFT}} and @kbd{C-x @key{RIGHT}}. @kbd{C-x @key{LEFT}} +(@code{previous-buffer}) selects the previous buffer (following the +order of most recent selection in the current frame), while @kbd{C-x +@key{RIGHT}} (@code{next-buffer}) moves through buffers in the reverse +direction. @kindex C-x 4 b @findex switch-to-buffer-other-window @@ -215,7 +216,7 @@ @item M-x rename-uniquely Rename the current buffer by adding @samp{<@var{number}>} to the end. @item M-x view-buffer @key{RET} @var{buffer} @key{RET} -Scroll through buffer @var{buffer}. +Scroll through buffer @var{buffer}. @xref{View Mode}. @end table @kindex C-x C-q @@ -256,8 +257,8 @@ to make a different buffer.) The commands @kbd{M-x append-to-buffer} and @kbd{M-x insert-buffer} -can be used to copy text from one buffer to another. @xref{Accumulating -Text}. +can also be used to copy text from one buffer to another. +@xref{Accumulating Text}. @node Kill Buffer @section Killing Buffers === modified file 'doc/emacs/text.texi' --- doc/emacs/text.texi 2012-01-19 07:21:25 +0000 +++ doc/emacs/text.texi 2012-01-27 08:19:19 +0000 @@ -546,11 +546,11 @@ newline as the end of a sentence; a period followed by just one space indicates an abbreviation, not the end of a sentence. Accordingly, the fill commands will not break a line after a period followed by -just one space. If you change the variable -@code{sentence-end-double-space} to a non-@code{nil} value, the fill -commands will break a line after a period followed by one space, and -put just one space after each period. @xref{Sentences}, for other -effects and possible drawbacks of this. +just one space. If you set the variable +@code{sentence-end-double-space} to @code{nil}, the fill commands will +break a line after a period followed by one space, and put just one +space after each period. @xref{Sentences}, for other effects and +possible drawbacks of this. @vindex colon-double-space If the variable @code{colon-double-space} is non-@code{nil}, the ------------------------------------------------------------ revno: 106947 committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2012-01-27 03:36:45 +0000 message: gnus-sum.el (gnus-summary-mode): Fix last change. diff: === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2012-01-26 23:24:06 +0000 +++ lisp/gnus/gnus-sum.el 2012-01-27 03:36:45 +0000 @@ -3059,6 +3059,7 @@ (declare-function turn-on-gnus-mailing-list-mode "gnus-ml" ()) (defvar bookmark-make-record-function) +(defvar bidi-paragraph-direction) (defun gnus-summary-mode (&optional group) "Major mode for reading articles.