* gnus-art.el (gnus-article-truncate-lines): New variable.
authorReiner Steib <Reiner.Steib@gmx.de>
Fri, 26 May 2006 17:42:27 +0000 (17:42 +0000)
committerReiner Steib <Reiner.Steib@gmx.de>
Fri, 26 May 2006 17:42:27 +0000 (17:42 +0000)
(gnus-article-mode): Use it.
(gnus-article-toggle-truncate-lines): New function.

* gnus-sum.el (gnus-summary-wash-map, gnus-summary-make-menu-bar): Add
gnus-article-toggle-truncate-lines.

lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-sum.el

index d71037b..81794f1 100644 (file)
@@ -2,6 +2,12 @@
 
        * gnus-art.el (gnus-article-unfold-long-headers): New variable.
        (gnus-article-treat-unfold-headers): Use it.
+       (gnus-article-truncate-lines): New variable.
+       (gnus-article-mode): Use it.
+       (gnus-article-toggle-truncate-lines): New function.
+
+       * gnus-sum.el (gnus-summary-wash-map, gnus-summary-make-menu-bar): Add
+       gnus-article-toggle-truncate-lines.
 
        * uudecode.el (uudecode-decode-region-external): nil isn't a valid
        coding system in XEmacs, use binary.
index e51fe59..233d076 100644 (file)
@@ -2208,6 +2208,29 @@ unfolded."
        (mail-header-fold-field)
        (goto-char (point-max))))))
 
+(defcustom gnus-article-truncate-lines truncate-lines
+  "Value of `truncate-lines' in Gnus Article buffer.
+Valid values are nil, t, `head', `first', `last', an integer or a
+predicate.  See Info node `(gnus)Customizing Articles'."
+  :version "23.0" ;; No Gnus
+  :group 'gnus-article
+  ;; :link '(custom-manual "(gnus)Customizing Articles")
+  :type 'boolean)
+
+(defun gnus-article-toggle-truncate-lines (&optional arg)
+  "Toggle whether to fold or truncate long lines in article the buffer.
+If ARG is non-nil and not a number, toggle
+`gnus-article-truncate-lines' too.  If ARG is a number, truncate
+long lines iff arg is positive."
+  (interactive "P")
+  (when (and arg (not (numberp arg)))
+    (setq gnus-article-truncate-lines
+         (not gnus-article-truncate-lines)))
+  (gnus-with-article-buffer
+    ;; In versions of Emacs 22 (CVS) before 2006-05-26,
+    ;; `toggle-truncate-lines' need an argument.
+    (toggle-truncate-lines)))
+
 (defun gnus-article-treat-body-boundary ()
   "Place a boundary line at the end of the headers."
   (interactive)
@@ -4068,6 +4091,7 @@ commands:
   ;; Prevent recent Emacsen from displaying non-break space as "\ ".
   (set (make-local-variable 'nobreak-char-display) nil)
   (setq cursor-in-non-selected-windows nil)
+  (setq truncate-lines gnus-article-truncate-lines)
   (gnus-set-default-directory)
   (buffer-disable-undo)
   (setq buffer-read-only t
index 26184c1..04c6fc7 100644 (file)
@@ -1956,6 +1956,7 @@ increase the score of each group you read."
   "e" gnus-article-emphasize
   "w" gnus-article-fill-cited-article
   "Q" gnus-article-fill-long-lines
+  "L" gnus-article-toggle-truncate-lines
   "C" gnus-article-capitalize-sentences
   "c" gnus-article-remove-cr
   "q" gnus-article-de-quoted-unreadable
@@ -2300,6 +2301,7 @@ gnus-summary-show-article-from-menu-as-charset-%s" cs))))
              ["Emphasis" gnus-article-emphasize t]
              ["Word wrap" gnus-article-fill-cited-article t]
              ["Fill long lines" gnus-article-fill-long-lines t]
+             ["Toggle truncate long lines" gnus-article-toggle-truncate-lines t]
              ["Capitalize sentences" gnus-article-capitalize-sentences t]
              ["Remove CR" gnus-article-remove-cr t]
              ["Quoted-Printable" gnus-article-de-quoted-unreadable t]