Now on revision 112908. ------------------------------------------------------------ revno: 112908 committer: Katsumi Yamaoka branch nick: trunk timestamp: Mon 2013-06-10 05:22:52 +0000 message: doc/misc/epa.texi: Revert last bogus change diff: === modified file 'doc/misc/epa.texi' --- doc/misc/epa.texi 2013-06-10 05:17:51 +0000 +++ doc/misc/epa.texi 2013-06-10 05:22:52 +0000 @@ -240,8 +240,9 @@ @node Cryptographic operations on files @section Cryptographic operations on files -@deffn Command epa-decrypt-file file -Decrypt @var{file}. +@deffn Command epa-decrypt-file file &optional output +Decrypt @var{file}. If you do not specify the name @var{output} to +use for the decrypted file, this function prompts for the value to use. @end deffn @deffn Command epa-verify-file file ------------------------------------------------------------ revno: 112907 author: Roy Hashimoto committer: Katsumi Yamaoka branch nick: trunk timestamp: Mon 2013-06-10 05:17:51 +0000 message: lisp/gnus/mm-view.el (mm-pkcs7-signed-magic, mm-pkcs7-enveloped-magic): Correct PKCS7 regexps to match messages with 0x0a bytes diff: === modified file 'doc/misc/epa.texi' --- doc/misc/epa.texi 2013-06-10 00:32:49 +0000 +++ doc/misc/epa.texi 2013-06-10 05:17:51 +0000 @@ -240,9 +240,8 @@ @node Cryptographic operations on files @section Cryptographic operations on files -@deffn Command epa-decrypt-file file &optional output -Decrypt @var{file}. If you do not specify the name @var{output} to -use for the decrypted file, this function prompts for the value to use. +@deffn Command epa-decrypt-file file +Decrypt @var{file}. @end deffn @deffn Command epa-verify-file file === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2013-06-06 22:18:53 +0000 +++ lisp/gnus/ChangeLog 2013-06-10 05:17:51 +0000 @@ -1,3 +1,9 @@ +2013-06-10 Roy Hashimoto (tiny change) + + * mm-view.el (mm-pkcs7-signed-magic): Allow newline in the regexp and + make it easier to read. + (mm-pkcs7-enveloped-magic): Ditto. + 2013-06-06 Teodor Zlatanov * gnus-ems.el (gnus-image-type-available-p): Test `display-images-p' === modified file 'lisp/gnus/mm-view.el' --- lisp/gnus/mm-view.el 2013-01-01 09:11:05 +0000 +++ lisp/gnus/mm-view.el 2013-06-10 05:17:51 +0000 @@ -660,14 +660,26 @@ ;; id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2) ;; us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 } (defvar mm-pkcs7-signed-magic - "\x30\x5c\x28\x80\x5c\x7c\x81\x2e\x5c\x7c\x82\x2e\x2e\x5c\x7c\x83\x2e\x2e\ -\x2e\x5c\x29\x06\x09\x5c\x2a\x86\x48\x86\xf7\x0d\x01\x07\x02") + (concat + "0" + "\\(\\(\x80\\)" + "\\|\\(\x81\\(.\\|\n\\)\\{1\\}\\)" + "\\|\\(\x82\\(.\\|\n\\)\\{2\\}\\)" + "\\|\\(\x83\\(.\\|\n\\)\\{3\\}\\)" + "\\)" + "\x06\x09\\*\x86H\x86\xf7\x0d\x01\x07\x02")) ;; id-envelopedData OBJECT IDENTIFIER ::= { iso(1) member-body(2) ;; us(840) rsadsi(113549) pkcs(1) pkcs7(7) 3 } (defvar mm-pkcs7-enveloped-magic - "\x30\x5c\x28\x80\x5c\x7c\x81\x2e\x5c\x7c\x82\x2e\x2e\x5c\x7c\x83\x2e\x2e\ -\x2e\x5c\x29\x06\x09\x5c\x2a\x86\x48\x86\xf7\x0d\x01\x07\x03") + (concat + "0" + "\\(\\(\x80\\)" + "\\|\\(\x81\\(.\\|\n\\)\\{1\\}\\)" + "\\|\\(\x82\\(.\\|\n\\)\\{2\\}\\)" + "\\|\\(\x83\\(.\\|\n\\)\\{3\\}\\)" + "\\)" + "\x06\x09\\*\x86H\x86\xf7\x0d\x01\x07\x03")) (defun mm-view-pkcs7-get-type (handle) (mm-with-unibyte-buffer ------------------------------------------------------------ revno: 112906 committer: Eli Zaretskii branch nick: trunk timestamp: Mon 2013-06-10 07:36:06 +0300 message: Minor cleanup in last commit in get_it_property. src/xdisp.c (get_it_property): Use it->window instead of generating a Lisp object from it->w. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-06-09 16:49:07 +0000 +++ src/ChangeLog 2013-06-10 04:36:06 +0000 @@ -1,3 +1,8 @@ +2013-06-10 Eli Zaretskii + + * xdisp.c (get_it_property): Use it->window instead of generating + a Lisp object from it->w. + 2013-06-09 Eli Zaretskii * xdisp.c (get_it_property): If it->object is a buffer, pass to === modified file 'src/xdisp.c' --- src/xdisp.c 2013-06-09 16:49:07 +0000 +++ src/xdisp.c 2013-06-10 04:36:06 +0000 @@ -18977,7 +18977,7 @@ else if (BUFFERP (object)) { position = make_number (IT_CHARPOS (*it)); - XSETWINDOW (object, it->w); + object = it->window; } else return Qnil; ------------------------------------------------------------ revno: 112905 committer: Aidan Gauland branch nick: trunk timestamp: Mon 2013-06-10 14:41:49 +1200 message: Update Ehsell visual-commands documentation * eshell.texi (Input/Output): Expand to cover new visual-command options, eshell-visual-subcommands and eshell-visual-options. Divide into separate Visual Commands and Redirection sections. * eshell/em-term.el (eshell-visual-commands) (eshell-visual-subcommands) (eshell-visual-options): Add summary line to docstrings. Add cross-references. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2013-06-10 00:32:49 +0000 +++ doc/misc/ChangeLog 2013-06-10 02:41:49 +0000 @@ -1,3 +1,9 @@ +2013-06-10 Aidan Gauland + + * eshell.texi (Input/Output): Expand to cover new visual-command + options, eshell-visual-subcommands and eshell-visual-options. + Divide into separate Visual Commands and Redirection sections. + 2013-06-10 Glenn Morris * epa.texi (Cryptographic operations on files): Update epa-decrypt-file. === modified file 'doc/misc/eshell.texi' --- doc/misc/eshell.texi 2013-03-26 22:08:58 +0000 +++ doc/misc/eshell.texi 2013-06-10 02:41:49 +0000 @@ -701,14 +701,25 @@ @node Input/Output @chapter Input/Output Since Eshell does not communicate with a terminal like most command -shells, IO is a little different. If you try to run programs from -within Eshell that are not line-oriented, such as programs that use -ncurses, you will just get garbage output, since the Eshell buffer is -not a terminal emulator. Eshell solves this problem by running -specified commands in Emacs's terminal emulator; to let Eshell know -which commands need to be run in a terminal, add them to the list -@var{eshell-visual-commands}. - +shells, IO is a little different. + +@section Visual Commands +If you try to run programs from within Eshell that are not +line-oriented, such as programs that use ncurses, you will just get +garbage output, since the Eshell buffer is not a terminal emulator. +Eshell solves this problem by running such programs in Emacs's +terminal emulator. + +Programs that need a terminal to display output properly are referred +to in this manual as ``visual commands,'' because they are not simply +line-oriented. You must tell Eshell which commands are visual, by +adding them to @var{eshell-visual-commands}; for commands that are +visual for only certain @emph{sub}-commands -- e.g. @samp{git log} but +not @samp{git status} -- use @var{eshell-visual-subcommands}; and for +commands that are visual only when passed certain options, use +@var{eshell-visual-options}. + +@section Redirection Redirection is mostly the same in Eshell as it is in other command shells. The output redirection operators @code{>} and @code{>>} as well as pipes are supported, but there is not yet any support for === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-10 02:35:58 +0000 +++ lisp/ChangeLog 2013-06-10 02:41:49 +0000 @@ -1,3 +1,10 @@ +2013-06-10 Aidan Gauland + + * eshell/em-term.el (eshell-visual-commands) + (eshell-visual-subcommands) + (eshell-visual-options): Add summary line to docstrings. Add + cross-references. + 2013-06-10 Glenn Morris * epa.el (epa-read-file-name): New function. (Bug#14510) === modified file 'lisp/eshell/em-term.el' --- lisp/eshell/em-term.el 2013-06-09 06:44:47 +0000 +++ lisp/eshell/em-term.el 2013-06-10 02:41:49 +0000 @@ -62,13 +62,19 @@ "less" "more" ; M-x view-file "lynx" "ncftp" ; w3.el, ange-ftp "pine" "tin" "trn" "elm") ; GNUS!! - "A list of commands that present their output in a visual fashion." + "A list of commands that present their output in a visual fashion. + +Commands listed here are run in a term buffer. + +See also `eshell-visual-subcommands' and `eshell-visual-options'." :type '(repeat string) :group 'eshell-term) (defcustom eshell-visual-subcommands nil - "An alist of the form + "An alist of subcommands that present their output in a visual fashion. + +An alist of the form ((COMMAND1 SUBCOMMAND1 SUBCOMMAND2...) (COMMAND2 SUBCOMMAND1 ...)) @@ -78,7 +84,9 @@ (\"git\" \"log\" \"diff\" \"show\") -because git shows logs and diffs using a pager by default." +because git shows logs and diffs using a pager by default. + +See also `eshell-visual-commands' and `eshell-visual-options'." :type '(repeat (cons (string :tag "Command") (repeat (string :tag "Subcommand")))) :version "24.4" @@ -97,7 +105,9 @@ (\"git\" \"--help\") because \"git --help\" shows the command's -documentation with a pager." +documentation with a pager. + +See also `eshell-visual-commands' and `eshell-visual-subcommands'." :type '(repeat (cons (string :tag "Command") (repeat (string :tag "Option")))) :version "24.4" ------------------------------------------------------------ revno: 112904 committer: Aidan Gauland branch nick: trunk timestamp: Mon 2013-06-10 14:35:58 +1200 message: Wrap long line from previous commit. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-10 00:32:49 +0000 +++ lisp/ChangeLog 2013-06-10 02:35:58 +0000 @@ -11,7 +11,8 @@ 2013-06-09 Aidan Gauland * eshell/em-term.el (eshell-visual-command-p): New function. - (eshell-term-initialize): Move long lambda to separate function eshell-visual-command-p. + (eshell-term-initialize): Move long lambda to separate function + eshell-visual-command-p. * eshell/em-dirs.el (eshell-dirs-initialise): Add missing #' to lambda. * eshell/em-script.el (eshell-script-initialize): Add missing #' to lambda. ------------------------------------------------------------ revno: 112903 fixes bug: http://debbugs.gnu.org/14510 committer: Glenn Morris branch nick: trunk timestamp: Sun 2013-06-09 17:32:49 -0700 message: * lisp/epa.el (epa-read-file-name): New function. (epa-decrypt-file): Make plain-file optional. Use epa-read-file-name. * doc/misc/epa.texi (Cryptographic operations on files): Update epa-decrypt-file. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2013-06-04 08:43:07 +0000 +++ doc/misc/ChangeLog 2013-06-10 00:32:49 +0000 @@ -1,3 +1,7 @@ +2013-06-10 Glenn Morris + + * epa.texi (Cryptographic operations on files): Update epa-decrypt-file. + 2013-06-04 Katsumi Yamaoka * gnus.texi (Article Date): === modified file 'doc/misc/epa.texi' --- doc/misc/epa.texi 2013-01-01 09:11:05 +0000 +++ doc/misc/epa.texi 2013-06-10 00:32:49 +0000 @@ -240,8 +240,9 @@ @node Cryptographic operations on files @section Cryptographic operations on files -@deffn Command epa-decrypt-file file -Decrypt @var{file}. +@deffn Command epa-decrypt-file file &optional output +Decrypt @var{file}. If you do not specify the name @var{output} to +use for the decrypted file, this function prompts for the value to use. @end deffn @deffn Command epa-verify-file file === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-09 06:44:47 +0000 +++ lisp/ChangeLog 2013-06-10 00:32:49 +0000 @@ -1,3 +1,8 @@ +2013-06-10 Glenn Morris + + * epa.el (epa-read-file-name): New function. (Bug#14510) + (epa-decrypt-file): Make plain-file optional. Use epa-read-file-name. + 2013-06-09 Aidan Gauland * eshell/em-term.el (eshell-visual-command-p): Fix bug that caused === modified file 'lisp/epa.el' --- lisp/epa.el 2013-05-11 13:14:07 +0000 +++ lisp/epa.el 2013-06-10 00:32:49 +0000 @@ -620,21 +620,24 @@ (floor (* (/ current (float total)) 100)))) (message "%s..." prompt)))) +(defun epa-read-file-name (input) + "Interactively read an output file name based on INPUT file name." + (setq input (file-name-sans-extension (expand-file-name input))) + (expand-file-name + (read-file-name + (concat "To file (default " (file-name-nondirectory input) ") ") + (file-name-directory input) + input))) + ;;;###autoload -(defun epa-decrypt-file (decrypt-file plain-file) - "Decrypt DECRYPT-FILE into PLAIN-FILE." +(defun epa-decrypt-file (decrypt-file &optional plain-file) + "Decrypt DECRYPT-FILE into PLAIN-FILE. +If you do not specify PLAIN-FILE, this functions prompts for the value to use." (interactive - (let (file default-name plain) - (setq file (read-file-name "File to decrypt: ")) - (setq default-name (file-name-sans-extension (expand-file-name file))) - (setq plain (expand-file-name - (read-file-name - (concat "To file (default " - (file-name-nondirectory default-name) - ") ") - (file-name-directory default-name) - default-name))) + (let* ((file (read-file-name "File to decrypt: ")) + (plain (epa-read-file-name file))) (list file plain))) + (or plain-file (setq plain-file (epa-read-file-name decrypt-file))) (setq decrypt-file (expand-file-name decrypt-file)) (let ((context (epg-make-context epa-protocol))) (epg-context-set-passphrase-callback context ------------------------------------------------------------ revno: 112902 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2013-06-09 19:49:07 +0300 message: Fix current-bidi-paragraph-direction wrt window pointer. src/xdisp.c (compute_display_string_pos): When W is NULL, use the current buffer as the object to pass to get-char-property. (Fcurrent_bidi_paragraph_direction): Assign NULL to the window pointer member of the bidi iterator, since no window is pertinent to this function. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-06-09 16:37:22 +0000 +++ src/ChangeLog 2013-06-09 16:49:07 +0000 @@ -3,6 +3,11 @@ * xdisp.c (get_it_property): If it->object is a buffer, pass to get-char-property the window that is being rendered, instead of the buffer, to support window-specific overlays. (Bug#14575) + (compute_display_string_pos): When W is NULL, use the current + buffer as the object to pass to get-char-property. + (Fcurrent_bidi_paragraph_direction): Assign NULL to the window + pointer member of the bidi iterator, since no window is pertinent + to this function. 2013-06-08 Eli Zaretskii === modified file 'src/xdisp.c' --- src/xdisp.c 2013-06-09 16:37:22 +0000 +++ src/xdisp.c 2013-06-09 16:49:07 +0000 @@ -3509,9 +3509,8 @@ if (string && STRINGP (string->lstring)) object1 = object = string->lstring; - else if (!string_p) + else if (w && !string_p) { - eassert (w != NULL); XSETWINDOW (object, w); object1 = Qnil; } @@ -20013,7 +20012,10 @@ itb.string.lstring = Qnil; itb.string.bufpos = 0; itb.string.unibyte = 0; - itb.w = XWINDOW (selected_window); + /* We have no window to use here for ignoring window-specific + overlays. Using NULL for window pointer will cause + compute_display_string_pos to use the current buffer. */ + itb.w = NULL; bidi_paragraph_init (NEUTRAL_DIR, &itb, 1); bidi_unshelve_cache (itb_data, 0); set_buffer_temp (old); ------------------------------------------------------------ revno: 112901 fixes bug: http://debbugs.gnu.org/14575 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2013-06-09 19:37:22 +0300 message: Fix bug #14575 with window-specific overlays with line-prefix or wrap-prefix. src/xdisp.c (get_it_property): If it->object is a buffer, pass to get-char-property the window that is being rendered, instead of the buffer, to support window-specific overlays. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-06-08 18:28:36 +0000 +++ src/ChangeLog 2013-06-09 16:37:22 +0000 @@ -1,3 +1,9 @@ +2013-06-09 Eli Zaretskii + + * xdisp.c (get_it_property): If it->object is a buffer, pass to + get-char-property the window that is being rendered, instead of + the buffer, to support window-specific overlays. (Bug#14575) + 2013-06-08 Eli Zaretskii * bidi.c (bidi_fetch_char): Accept additional argument, the window === modified file 'src/xdisp.c' --- src/xdisp.c 2013-06-08 18:28:36 +0000 +++ src/xdisp.c 2013-06-09 16:37:22 +0000 @@ -18971,16 +18971,19 @@ static Lisp_Object get_it_property (struct it *it, Lisp_Object prop) { - Lisp_Object position; + Lisp_Object position, object = it->object; - if (STRINGP (it->object)) + if (STRINGP (object)) position = make_number (IT_STRING_CHARPOS (*it)); - else if (BUFFERP (it->object)) - position = make_number (IT_CHARPOS (*it)); + else if (BUFFERP (object)) + { + position = make_number (IT_CHARPOS (*it)); + XSETWINDOW (object, it->w); + } else return Qnil; - return Fget_char_property (position, prop, it->object); + return Fget_char_property (position, prop, object); } /* See if there's a line- or wrap-prefix, and if so, push it on IT. */ ------------------------------------------------------------ revno: 112900 committer: Paul Eggert branch nick: trunk timestamp: Sun 2013-06-09 08:59:30 -0700 message: Merge from gnulib. This incorporates: 2013-06-02 sig2str: port to C++ 2013-05-29 c-ctype, regex, verify: port to gcc -std=c90 -pedantic diff: === modified file 'ChangeLog' --- ChangeLog 2013-06-08 18:13:24 +0000 +++ ChangeLog 2013-06-09 15:59:30 +0000 @@ -1,3 +1,9 @@ +2013-06-09 Paul Eggert + + Merge from gnulib, incorporating: + 2013-06-02 sig2str: port to C++ + 2013-05-29 c-ctype, regex, verify: port to gcc -std=c90 -pedantic + 2013-06-08 Jan Djärv * configure.ac (HAVE_GLIB): Only set XGSELOBJ if HAVE_NS = no. === modified file 'lib/c-ctype.h' --- lib/c-ctype.h 2013-01-01 09:11:05 +0000 +++ lib/c-ctype.h 2013-06-09 15:59:30 +0000 @@ -136,7 +136,8 @@ extern int c_toupper (int c) _GL_ATTRIBUTE_CONST; -#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS +#if (defined __GNUC__ && !defined __STRICT_ANSI__ && defined __OPTIMIZE__ \ + && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS) /* ASCII optimizations. */ === modified file 'lib/sig2str.h' --- lib/sig2str.h 2013-01-02 16:37:04 +0000 +++ lib/sig2str.h 2013-06-09 15:59:30 +0000 @@ -27,9 +27,17 @@ /* Size of a buffer needed to hold a signal name like "HUP". */ # define SIG2STR_MAX (sizeof "SIGRTMAX" + INT_STRLEN_BOUND (int) - 1) +#ifdef __cplusplus +extern "C" { +#endif + int sig2str (int, char *); int str2sig (char const *, int *); +#ifdef __cplusplus +} +#endif + #endif /* An upper bound on signal numbers allowed by the system. */ === modified file 'lib/verify.h' --- lib/verify.h 2013-01-01 09:11:05 +0000 +++ lib/verify.h 2013-06-09 15:59:30 +0000 @@ -31,7 +31,9 @@ Use this only with GCC. If we were willing to slow 'configure' down we could also use it with other compilers, but since this affects only the quality of diagnostics, why bother? */ -# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus +# if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \ + && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \ + && !defined __cplusplus) # define _GL_HAVE__STATIC_ASSERT 1 # endif /* The condition (99 < __GNUC__) is temporary, until we know about the ------------------------------------------------------------ revno: 112899 committer: Glenn Morris branch nick: trunk timestamp: Sun 2013-06-09 06:19:08 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/configure' --- autogen/configure 2013-06-04 10:17:52 +0000 +++ autogen/configure 2013-06-09 10:19:08 +0000 @@ -12032,7 +12032,9 @@ if test "${opsys}" = "mingw32"; then with_file_notification=w32 else - with_file_notification=gfile + if test "${with_ns}" != yes; then + with_file_notification=gfile + fi fi fi @@ -16197,7 +16199,9 @@ $as_echo "#define HAVE_GLIB 1" >>confdefs.h - XGSELOBJ=xgselect.o + if test "$HAVE_NS" = no;then + XGSELOBJ=xgselect.o + fi fi ------------------------------------------------------------ revno: 112898 committer: Aidan Gauland branch nick: trunk timestamp: Sun 2013-06-09 18:44:47 +1200 message: Fix Eshell bug * eshell/em-term.el (eshell-visual-command-p): Fix bug that causedoutput redirection to be ignored with visual commands. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-09 06:39:40 +0000 +++ lisp/ChangeLog 2013-06-09 06:44:47 +0000 @@ -1,5 +1,10 @@ 2013-06-09 Aidan Gauland + * eshell/em-term.el (eshell-visual-command-p): Fix bug that caused + output redirection to be ignored with visual commands. + +2013-06-09 Aidan Gauland + * eshell/em-term.el (eshell-visual-command-p): New function. (eshell-term-initialize): Move long lambda to separate function eshell-visual-command-p. * eshell/em-dirs.el (eshell-dirs-initialise): Add missing #' to lambda. === modified file 'lisp/eshell/em-term.el' --- lisp/eshell/em-term.el 2013-06-09 06:39:40 +0000 +++ lisp/eshell/em-term.el 2013-06-09 06:44:47 +0000 @@ -141,12 +141,13 @@ If either COMMAND or a subcommand in ARGS (e.g. git log) is a visual command, returns non-nil." (let ((command (file-name-nondirectory command))) - (or (member command eshell-visual-commands) - (member (car args) - (cdr (assoc command eshell-visual-subcommands))) - (cl-intersection args - (cdr (assoc command eshell-visual-options)) - :test 'string=)))) + (and (eshell-interactive-output-p) + (or (member command eshell-visual-commands) + (member (car args) + (cdr (assoc command eshell-visual-subcommands))) + (cl-intersection args + (cdr (assoc command eshell-visual-options)) + :test 'string=))))) (defun eshell-exec-visual (&rest args) "Run the specified PROGRAM in a terminal emulation buffer.