From: Chong Yidong Date: Thu, 1 Sep 2005 16:38:39 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: emacs-pretest-22.0.90~7278 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6fd388f37c90d733cd11925c73acfb6af17907cd;p=emacs.git *** empty log message *** --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9876442dc9e..34313151376 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2005-09-01 Chong Yidong + + * longlines.el (longlines-mode): Inhibit read-only when encoding. + Kill local variables when longlines-mode is turned off. + 2005-09-01 Stefan Monnier * obsolete/lazy-lock.el (lazy-lock) : Move from font-lock.el. diff --git a/lisp/longlines.el b/lisp/longlines.el index d51effdb7e2..6ce5dfaebc4 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -116,6 +116,7 @@ are indicated with a symbol." (add-hook 'window-configuration-change-hook 'longlines-window-change-function nil t)) (let ((buffer-undo-list t) + (inhibit-read-only t) (mod (buffer-modified-p))) ;; Turning off undo is OK since (spaces + newlines) is ;; conserved, except for a corner case in @@ -136,7 +137,8 @@ are indicated with a symbol." (setq buffer-file-format (delete 'longlines buffer-file-format)) (if longlines-showing (longlines-unshow-hard-newlines)) - (let ((buffer-undo-list t)) + (let ((buffer-undo-list t) + (inhibit-read-only t)) (longlines-encode-region (point-min) (point-max))) (remove-hook 'change-major-mode-hook 'longlines-mode-off t) (remove-hook 'before-kill-functions 'longlines-encode-region t) @@ -144,7 +146,11 @@ are indicated with a symbol." (remove-hook 'post-command-hook 'longlines-post-command-function t) (remove-hook 'window-configuration-change-hook 'longlines-window-change-function t) - (kill-local-variable 'fill-column))) + (when longlines-wrap-follows-window-size + (kill-local-variable 'fill-column)) + (kill-local-variable 'require-final-newline) + (kill-local-variable 'buffer-substring-filters) + (kill-local-variable 'use-hard-newlines))) (defun longlines-mode-off () "Turn off longlines mode. diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index e1d8406ae70..ad0ee150207 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,12 @@ +2005-09-01 Chong Yidong + + * url-util.el (url-parse-query-string): New optional argument + allow-newlines allows decoding of newlines. + + * url-mailto.el (url-mailto): Allow newlines in URL arguments. + Don't lose original "to" value when there is a "to" header. + Remove carriage return characters in message body. + 2005-08-24 Juanma Barranquero * url-news.el (nntp-open-tls-stream, nntp-open-ssl-stream): diff --git a/lisp/url/url-mailto.el b/lisp/url/url-mailto.el index 86f5d4a88b6..9b63a35f3bd 100644 --- a/lisp/url/url-mailto.el +++ b/lisp/url/url-mailto.el @@ -73,7 +73,7 @@ (setq headers-start (match-end 0) to (url-unhex-string (substring url 0 (match-beginning 0))) args (url-parse-query-string - (substring url headers-start nil) t)) + (substring url headers-start nil) t t)) (setq to (url-unhex-string url))) (setq source-url (url-view-url t)) (if (and url-request-data (not (assoc "subject" args))) @@ -84,16 +84,23 @@ (if (and source-url (not (assoc "x-url-from" args))) (setq args (cons (list "x-url-from" source-url) args))) - (if (assoc "to" args) - (push (cdr (assoc "to" args)) to) - (setq args (cons (list "to" to) args))) + (let ((tolist (assoc "to" args))) + (if tolist + (if (not (string= to "")) + (setcdr tolist + (list (concat to ", " (nth 1 tolist))))) + (setq args (cons (list "to" to) args)))) + (setq subject (cdr-safe (assoc "subject" args))) (if (fboundp url-mail-command) (funcall url-mail-command) (mail)) (while args (if (string= (caar args) "body") (progn (goto-char (point-max)) - (insert (mapconcat 'identity (cdar args) "\n"))) + (insert (mapconcat + #'(lambda (string) + (replace-regexp-in-string "\r\n" "\n" string)) + (cdar args) "\n"))) (url-mail-goto-field (caar args)) (setq func (intern-soft (concat "mail-" (caar args)))) (insert (mapconcat 'identity (cdar args) ", "))) diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el index bec0c7a3133..538eb3eca45 100644 --- a/lisp/url/url-util.el +++ b/lisp/url/url-util.el @@ -270,7 +270,7 @@ Will not do anything if `url-show-status' is nil." (t (file-name-directory file)))) ;;;###autoload -(defun url-parse-query-string (query &optional downcase) +(defun url-parse-query-string (query &optional downcase allow-newlines) (let (retval pairs cur key val) (setq pairs (split-string query "&")) (while pairs @@ -278,8 +278,10 @@ Will not do anything if `url-show-status' is nil." pairs (cdr pairs)) (if (not (string-match "=" cur)) nil ; Grace - (setq key (url-unhex-string (substring cur 0 (match-beginning 0))) - val (url-unhex-string (substring cur (match-end 0) nil))) + (setq key (url-unhex-string (substring cur 0 (match-beginning 0)) + allow-newlines)) + (setq val (url-unhex-string (substring cur (match-end 0) nil) + allow-newlines)) (if downcase (setq key (downcase key))) (setq cur (assoc key retval))