Now on revision 107561. ------------------------------------------------------------ revno: 107561 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-03-10 16:36:42 +0200 message: Allow ^substr, substr=, ~word in mairix searches via the form widget. lisp/net/mairix.el (mairix-replace-invalid-chars): Rename from mairix-replace-illegal-chars; all callers changed. Don't remove ^, ~, and = characters: they are meaningful in mairix search specs. (mairix-widget-create-query): Add usage information about mairix search forms: negating words, searching for substrings, etc. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 09:45:06 +0000 +++ lisp/ChangeLog 2012-03-10 14:36:42 +0000 @@ -1,3 +1,12 @@ +2012-03-10 Eli Zaretskii + + * net/mairix.el (mairix-replace-invalid-chars): Rename from + mairix-replace-illegal-chars; all callers changed. Don't remove + ^, ~, and = characters: they are meaningful in mairix search + specs. + (mairix-widget-create-query): Add usage information about mairix + search forms: negating words, searching for substrings, etc. + 2012-03-10 Jae-hyeon Park (tiny change) * international/fontset.el (font-encoding-alist): Add an entry for === modified file 'lisp/net/mairix.el' --- lisp/net/mairix.el 2012-01-19 07:21:25 +0000 +++ lisp/net/mairix.el 2012-03-10 14:36:42 +0000 @@ -570,10 +570,10 @@ mairix-output-buffer))) (zerop rval))) -(defun mairix-replace-illegal-chars (header) - "Replace illegal characters in HEADER for mairix query." +(defun mairix-replace-invalid-chars (header) + "Replace invalid characters in HEADER for mairix query." (when header - (while (string-match "[^-.@/,& [:alnum:]]" header) + (while (string-match "[^-.@/,^=~& [:alnum:]]" header) (setq header (replace-match "" t t header))) (while (string-match "[& ]" header) (setq header (replace-match "," t t header))) @@ -620,7 +620,7 @@ (concat (nth 1 cur) ":" - (mairix-replace-illegal-chars + (mairix-replace-invalid-chars (widget-value (cadr (assoc (concat "e" (car (cddr cur))) widgets))))) query))) @@ -652,9 +652,17 @@ (kill-all-local-variables) (erase-buffer) (widget-insert - "Specify your query for Mairix (check boxes for activating fields):\n\n") - (widget-insert - "(Whitespaces will be converted to ',' (i.e. AND). Use '/' for OR.)\n\n") + "Specify your query for Mairix using check boxes for activating fields.\n\n") + (widget-insert + (concat "Use ~word to match messages " + (propertize "not" 'face 'italic) + " containing the word)\n" + " substring= to match words containing the substring\n" + " substring=N to match words containing the substring, allowing\n" + " up to N errors(mising/extra/different letters)\n" + " ^substring= to match the substring at the beginning of a word.\n")) + (widget-insert + "Whitespace will be converted to ',' (i.e. AND). Use '/' for OR.\n\n") (setq mairix-widgets (mairix-widget-build-editable-fields values)) (when (member 'flags mairix-widget-other) (widget-insert "\nFlags:\n Seen: ") @@ -935,7 +943,7 @@ (lambda (field) (list (car (cddr field)) (if (car field) - (mairix-replace-illegal-chars + (mairix-replace-invalid-chars (funcall get-mail-header (car field))) nil)))) mairix-widget-fields-list))) ------------------------------------------------------------ revno: 107560 fixes bug(s): http://debbugs.gnu.org/10978 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-03-10 11:55:54 +0200 message: Warn against using `length' to compute display width of a string. doc/lispref/strings.texi (String Basics): doc/lispref/sequences.texi (Sequence Functions): Mention that `length' is not appropriate for computing the string width on display; add a cross-reference to the description of `string-width'. (Bug#10978) diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-03-10 09:30:21 +0000 +++ doc/lispref/ChangeLog 2012-03-10 09:55:54 +0000 @@ -1,5 +1,10 @@ 2012-03-10 Eli Zaretskii + * strings.texi (String Basics): + * sequences.texi (Sequence Functions): Mention that `length' is + not appropriate for computing the string width on display; add a + cross-reference to the description of `string-width'. (Bug#10978) + * eval.texi (Autoloading): Minor change of wording. 2012-03-10 Chong Yidong === modified file 'doc/lispref/sequences.texi' --- doc/lispref/sequences.texi 2012-01-23 04:23:50 +0000 +++ doc/lispref/sequences.texi 2012-03-10 09:55:54 +0000 @@ -108,6 +108,11 @@ @noindent See also @code{string-bytes}, in @ref{Text Representations}. +If you need to compute the width of a string on display, you should +use @code{string-width} (@pxref{Width}), not @code{length}, since +@code{length} only counts the number of characters, but does not +account for the display width of each character. + @defun elt sequence index @cindex elements of sequences This function returns the element of @var{sequence} indexed by === modified file 'doc/lispref/strings.texi' --- doc/lispref/strings.texi 2012-01-23 04:23:50 +0000 +++ doc/lispref/strings.texi 2012-03-10 09:55:54 +0000 @@ -51,7 +51,9 @@ operate on them with the general array and sequence functions. (@xref{Sequences Arrays Vectors}.) For example, you can access or change individual characters in a string using the functions @code{aref} -and @code{aset} (@pxref{Array Functions}). +and @code{aset} (@pxref{Array Functions}). However, note that +@code{length} should @emph{not} be used for computing the width of a +string on display; use @code{string-width} (@pxref{Width}) instead. There are two text representations for non-@acronym{ASCII} characters in Emacs strings (and in buffers): unibyte and multibyte (@pxref{Text ------------------------------------------------------------ revno: 107559 fixes bug(s): http://debbugs.gnu.org/5667 author: Jae-hyeon Park committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-03-10 17:45:06 +0800 message: * international/fontset.el (font-encoding-alist): Add an entry for ksx1001. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 09:11:22 +0000 +++ lisp/ChangeLog 2012-03-10 09:45:06 +0000 @@ -1,3 +1,8 @@ +2012-03-10 Jae-hyeon Park (tiny change) + + * international/fontset.el (font-encoding-alist): Add an entry for + ksx1001 (Bug#5667). + 2012-03-10 Richard Stallman * mail/sendmail.el (mail-encode-header): === modified file 'lisp/international/fontset.el' --- lisp/international/fontset.el 2012-01-19 07:21:25 +0000 +++ lisp/international/fontset.el 2012-03-10 09:45:06 +0000 @@ -58,6 +58,7 @@ ("jisx0208" . japanese-jisx0208) ("jisx0201" . jisx0201) ("jisx0212" . japanese-jisx0212) + ("ksx1001" . korean-ksc5601) ("ksc5601.1987" . korean-ksc5601) ("cns11643.1992.*1" . chinese-cns11643-1) ("cns11643.1992.*2" . chinese-cns11643-2) ------------------------------------------------------------ revno: 107558 fixes bug(s): http://debbugs.gnu.org/10450 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-03-10 11:40:05 +0200 message: Fix the change in revision 107544, for bug #10450. doc/misc/info.texi (Expert Info): Move the index entry for "Texinfo" from "Getting Started" to this node. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2012-03-10 04:10:21 +0000 +++ doc/misc/ChangeLog 2012-03-10 09:40:05 +0000 @@ -1,3 +1,8 @@ +2012-03-10 Eli Zaretskii + + * info.texi (Expert Info): Move the index entry for "Texinfo" from + "Getting Started" to this node. (Bug#10450) + 2012-03-10 Chong Yidong * flymake.texi (Example -- Configuring a tool called via make): === modified file 'doc/misc/info.texi' --- doc/misc/info.texi 2012-03-10 02:20:41 +0000 +++ doc/misc/info.texi 2012-03-10 09:40:05 +0000 @@ -90,7 +90,6 @@ @node Getting Started, Advanced, Top, Top @comment node-name, next, previous, up @chapter Getting Started -@cindex Texinfo This first part of this Info manual describes how to get around inside of Info. The second part of the manual describes various advanced @@ -1236,6 +1235,7 @@ @node Expert Info @chapter Info for Experts +@cindex Texinfo This chapter explains how to write an Info file by hand. However, in most cases, writing a Texinfo file is better, since you can use it ------------------------------------------------------------ revno: 107557 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-03-10 11:30:21 +0200 message: Minor change of wording in ELisp manual's "Autoloading" node. doc/lispref/eval.texi (Autoloading): Minor change of wording. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-03-10 04:00:13 +0000 +++ doc/lispref/ChangeLog 2012-03-10 09:30:21 +0000 @@ -1,3 +1,7 @@ +2012-03-10 Eli Zaretskii + + * eval.texi (Autoloading): Minor change of wording. + 2012-03-10 Chong Yidong * loading.texi (Autoload): Explicitly state which forms are === modified file 'doc/lispref/eval.texi' --- doc/lispref/eval.texi 2012-02-05 06:44:47 +0000 +++ doc/lispref/eval.texi 2012-03-10 09:30:21 +0000 @@ -521,8 +521,10 @@ whose function definition has not yet been loaded into Emacs. It specifies which file contains the definition. When an autoload object appears as a symbol's function definition, calling that symbol as a -function automatically loads the specified file; then it calls the real -definition loaded from that file. @xref{Autoload}. +function automatically loads the specified file; then it calls the +real definition loaded from that file. The way to arrange for an +autoload object to appear as a symbol's function definition is +described in @ref{Autoload}. @node Quoting @section Quoting ------------------------------------------------------------ revno: 107556 committer: Richard Stallman branch nick: trunk timestamp: Sat 2012-03-10 04:11:22 -0500 message: sendmail mode quoting bug fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 09:02:06 +0000 +++ lisp/ChangeLog 2012-03-10 09:11:22 +0000 @@ -1,5 +1,8 @@ 2012-03-10 Richard Stallman + * mail/sendmail.el (mail-encode-header): + Set rfc2047-encode-encoded-words. + * mail/mail-utils.el (mail-quote-printable): Quote multibyte chars. * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead === modified file 'lisp/mail/sendmail.el' --- lisp/mail/sendmail.el 2012-02-10 18:16:19 +0000 +++ lisp/mail/sendmail.el 2012-03-10 09:11:22 +0000 @@ -1085,7 +1085,9 @@ (cons selected mm-coding-system-priorities) mm-coding-system-priorities)) (tick (buffer-chars-modified-tick)) - (rfc2047-encode-encoded-words nil)) + ;; rms: this proved necessary, but I don't recall why. + ;; Can anyone determine why, and state it here? + (rfc2047-encode-encoded-words t)) (rfc2047-encode-message-header) (= tick (buffer-chars-modified-tick))))) ------------------------------------------------------------ revno: 107555 committer: Richard Stallman branch nick: trunk timestamp: Sat 2012-03-10 04:02:06 -0500 message: mail-utils.el: multibyte chars should be quoted. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 08:54:24 +0000 +++ lisp/ChangeLog 2012-03-10 09:02:06 +0000 @@ -1,5 +1,7 @@ 2012-03-10 Richard Stallman + * mail/mail-utils.el (mail-quote-printable): Quote multibyte chars. + * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead view buffer means not swapped. (rmail-view-buffer-kill-buffer-hook): Give buf name in error msg. === modified file 'lisp/mail/mail-utils.el' --- lisp/mail/mail-utils.el 2012-01-19 07:21:25 +0000 +++ lisp/mail/mail-utils.el 2012-03-10 09:02:06 +0000 @@ -63,12 +63,16 @@ ;;;###autoload (defun mail-quote-printable (string &optional wrapper) - "Convert a string to the \"quoted printable\" Q encoding. + "Convert a string to the \"quoted printable\" Q encoding if necessary. +If the string contains only ASCII characters and no troublesome ones, +we return it unconverted. + If the optional argument WRAPPER is non-nil, we add the wrapper characters =?ISO-8859-1?Q?....?=." (let ((i 0) (result "")) (save-match-data - (while (string-match "[?=\"\200-\377]" string i) + (while (or (string-match "[?=\"]" string i) + (string-match "[^\000-\177]" string i)) (setq result (concat result (substring string i (match-beginning 0)) (upcase (format "=%02x" ------------------------------------------------------------ revno: 107554 committer: Richard Stallman branch nick: trunk timestamp: Sat 2012-03-10 03:54:24 -0500 message: rmail.el: If view buffer gets lost with the real text, don't save the Rmail file as just one message. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 08:43:27 +0000 +++ lisp/ChangeLog 2012-03-10 08:54:24 +0000 @@ -1,5 +1,10 @@ 2012-03-10 Richard Stallman + * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead + view buffer means not swapped. + (rmail-view-buffer-kill-buffer-hook): Give buf name in error msg. + (rmail-write-region-annotate): Error if real text has disappeared. + * epa-mail.el (epa-mail-encrypt): Bind inhibit-read-only. 2012-03-10 Chong Yidong === modified file 'lisp/mail/rmail.el' --- lisp/mail/rmail.el 2012-02-19 08:14:30 +0000 +++ lisp/mail/rmail.el 2012-03-10 08:54:24 +0000 @@ -1363,8 +1363,7 @@ (defun rmail-buffers-swapped-p () "Return non-nil if the message collection is in `rmail-view-buffer'." ;; This is analogous to tar-data-swapped-p in tar-mode.el. - (and (buffer-live-p rmail-view-buffer) - rmail-buffer-swapped)) + rmail-buffer-swapped) (defun rmail-change-major-mode-hook () ;; Bring the actual Rmail messages back into the main buffer. @@ -1406,7 +1405,8 @@ (kill-buffer rmail-view-buffer)))) (defun rmail-view-buffer-kill-buffer-hook () - (error "Can't kill message view buffer by itself")) + (error "Can't kill Rmail view buffer `%s' by itself" + (buffer-name (current-buffer)))) ;; Set up the permanent locals associated with an Rmail file. (defun rmail-perm-variables () @@ -4472,7 +4472,11 @@ ;; Used in `write-region-annotate-functions' to write rmail files. (defun rmail-write-region-annotate (start end) - (when (and (null start) (rmail-buffers-swapped-p)) + (when (and (null start) rmail-buffer-swapped) + (unless (buffer-live-p rmail-view-buffer) + (error "Buffer `%s' with real text of `%s' has disappeared" + (buffer-name rmail-view-buffer) + (buffer-name (current-buffer)))) (setq rmail-message-encoding buffer-file-coding-system) (set-buffer rmail-view-buffer) (widen) ------------------------------------------------------------ revno: 107553 committer: Richard Stallman branch nick: trunk timestamp: Sat 2012-03-10 03:43:27 -0500 message: Make epa-mail-encrypt cope with read-only text. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 08:26:45 +0000 +++ lisp/ChangeLog 2012-03-10 08:43:27 +0000 @@ -1,3 +1,7 @@ +2012-03-10 Richard Stallman + + * epa-mail.el (epa-mail-encrypt): Bind inhibit-read-only. + 2012-03-10 Chong Yidong * emulation/cua-rect.el (cua--init-rectangles): === modified file 'lisp/epa-mail.el' --- lisp/epa-mail.el 2012-02-08 02:12:24 +0000 +++ lisp/epa-mail.el 2012-03-10 08:43:27 +0000 @@ -192,7 +192,9 @@ (if sign (epa-select-keys context "Select keys for signing. ")))))) - (epa-encrypt-region start end recipients sign signers)) + ;; Don't let some read-only text stop us from encrypting. + (let ((inhibit-read-only t)) + (epa-encrypt-region start end recipients sign signers))) ;;;###autoload (defun epa-mail-import-keys () ------------------------------------------------------------ revno: 107552 fixes bug(s): http://debbugs.gnu.org/9666 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-03-10 16:26:45 +0800 message: Add delete-forward-char to CUA remappings. * lisp/emulation/cua-rect.el (cua--init-rectangles): * lisp/emulation/cua-base.el (cua--init-keymaps): Add delete-forward-char to remappings. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 07:58:54 +0000 +++ lisp/ChangeLog 2012-03-10 08:26:45 +0000 @@ -1,3 +1,9 @@ +2012-03-10 Chong Yidong + + * emulation/cua-rect.el (cua--init-rectangles): + * emulation/cua-base.el (cua--init-keymaps): Add + delete-forward-char to remappings (Bug#9666). + 2012-03-10 Martin Rudalics * speedbar.el (speedbar-unhighlight-one-tag-line): Avoid === modified file 'lisp/emulation/cua-base.el' --- lisp/emulation/cua-base.el 2012-02-28 08:17:21 +0000 +++ lisp/emulation/cua-base.el 2012-03-10 08:26:45 +0000 @@ -1478,6 +1478,7 @@ (define-key cua--region-keymap [remap backward-delete-char] 'cua-delete-region) (define-key cua--region-keymap [remap backward-delete-char-untabify] 'cua-delete-region) (define-key cua--region-keymap [remap delete-char] 'cua-delete-region) + (define-key cua--region-keymap [remap delete-forward-char] 'cua-delete-region) ;; kill region (define-key cua--region-keymap [remap kill-region] 'cua-cut-region) (define-key cua--region-keymap [remap clipboard-kill-region] 'cua-cut-region) === modified file 'lisp/emulation/cua-rect.el' --- lisp/emulation/cua-rect.el 2012-01-19 07:21:25 +0000 +++ lisp/emulation/cua-rect.el 2012-03-10 08:26:45 +0000 @@ -1420,6 +1420,7 @@ (define-key cua--rectangle-keymap [remap kill-ring-save] 'cua-copy-rectangle) (define-key cua--rectangle-keymap [remap kill-region] 'cua-cut-rectangle) (define-key cua--rectangle-keymap [remap delete-char] 'cua-delete-rectangle) + (define-key cua--rectangle-keymap [remap delete-forward-char] 'cua-delete-rectangle) (define-key cua--rectangle-keymap [remap set-mark-command] 'cua-toggle-rectangle-mark) (define-key cua--rectangle-keymap [remap forward-char] 'cua-resize-rectangle-right) ------------------------------------------------------------ revno: 107551 fixes bug(s): http://debbugs.gnu.org/10275 author: Martin Rudalics committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-03-10 15:58:54 +0800 message: Fix speedbar highlighting bug. * lisp/speedbar.el (speedbar-unhighlight-one-tag-line): Avoid unhighlighting due to frame switching. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-10 07:08:51 +0000 +++ lisp/ChangeLog 2012-03-10 07:58:54 +0000 @@ -1,3 +1,8 @@ +2012-03-10 Martin Rudalics + + * speedbar.el (speedbar-unhighlight-one-tag-line): Avoid + unhighlighting due to frame switching (Bug#10275). + 2012-03-10 Chong Yidong * minibuffer.el (completion-in-region, completion-help-at-point): === modified file 'lisp/speedbar.el' --- lisp/speedbar.el 2012-01-19 07:21:25 +0000 +++ lisp/speedbar.el 2012-03-10 07:58:54 +0000 @@ -3987,11 +3987,11 @@ (defun speedbar-unhighlight-one-tag-line () "Unhighlight the currently highlighted line." - (if speedbar-highlight-one-tag-line - (progn - (speedbar-delete-overlay speedbar-highlight-one-tag-line) - (setq speedbar-highlight-one-tag-line nil))) - (remove-hook 'pre-command-hook 'speedbar-unhighlight-one-tag-line)) + (when (and speedbar-highlight-one-tag-line + (not (eq this-command 'handle-switch-frame))) + (speedbar-delete-overlay speedbar-highlight-one-tag-line) + (setq speedbar-highlight-one-tag-line nil) + (remove-hook 'pre-command-hook 'speedbar-unhighlight-one-tag-line))) (defun speedbar-recenter-to-top () "Recenter the current buffer so point is on the top of the window."