diff options
| author | Bill Wohler | 2005-10-29 05:09:05 +0000 |
|---|---|---|
| committer | Bill Wohler | 2005-10-29 05:09:05 +0000 |
| commit | 50df64d63f60e46807653255c0096a56fc9c536a (patch) | |
| tree | 41f2468f176233906adc8839276634391e42f9fc | |
| parent | ec397a34fba10f143ea3b299cdd238fdce19e67f (diff) | |
| download | emacs-50df64d63f60e46807653255c0096a56fc9c536a.tar.gz emacs-50df64d63f60e46807653255c0096a56fc9c536a.zip | |
* mh-comp.el (mh-annotate-msg): Use new variable
mh-scan-field-destination-offset rather than hard-coding 1.
* mh-customize.el (mh-interpret-number-as-range-flag): Add * to
docstring.
(mh-adaptive-cmd-note-flag-check, mh-scan-format-file-check): New
functions to check input for mh-adaptive-cmd-note-flag and
mh-scan-format-file respectively.
(mh-adaptive-cmd-note-flag, mh-scan-format-file): Docstring fixes, add
:set.
* mh-e.el: (mh-scan-field-destination-offset): New variable. The
destination is the -, t, b, c, or n character for Replied, To, cc,
Bcc, or Newsgroups respectively. (mh-make-folder,
mh-regenerate-headers, mh-generate-new-cmd-note) Call new function
mh-msg-num-width-to-column to make leap between width and column more
explicit.
(mh-msg-num-width-to-column): New function that steals logic from old
mh-set-cmd-note. Also, throw error if mh-scan-format-file isn't t
since we can't adapt the scan lines in this case.
(mh-set-cmd-note): Now just simply sets mh-cmd-note which will make
the documentation more clear.
(mh-generate-new-cmd-note): Docstring fix--mh-cmd-note is a column,
not a width.
(mh-add-sequence-notation, mh-remove-sequence-notation): Use new
variable mh-scan-field-destination-offset rather than hard-coding 1.
* mh-utils.el (mh-cmd-note) Synced docstring with manual.
(mh-notate): Use new variable mh-scan-field-destination-offset rather
than hard-coding 1.
(mh-message-number-width): Rename to mh-msg-num-width to be consistent
with mh-get-msg-num and mh-msg-num-width-to-column.
| -rw-r--r-- | lisp/mh-e/ChangeLog | 34 | ||||
| -rw-r--r-- | lisp/mh-e/mh-comp.el | 3 | ||||
| -rw-r--r-- | lisp/mh-e/mh-customize.el | 51 | ||||
| -rw-r--r-- | lisp/mh-e/mh-e.el | 56 | ||||
| -rw-r--r-- | lisp/mh-e/mh-utils.el | 15 |
5 files changed, 116 insertions, 43 deletions
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index c0c953b5d09..54732241f0e 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,5 +1,39 @@ | |||
| 1 | 2005-10-28 Bill Wohler <wohler@newt.com> | 1 | 2005-10-28 Bill Wohler <wohler@newt.com> |
| 2 | 2 | ||
| 3 | * mh-comp.el (mh-annotate-msg): Use new variable | ||
| 4 | mh-scan-field-destination-offset rather than hard-coding 1. | ||
| 5 | |||
| 6 | * mh-customize.el (mh-interpret-number-as-range-flag): Add * to | ||
| 7 | docstring. | ||
| 8 | (mh-adaptive-cmd-note-flag-check, mh-scan-format-file-check): New | ||
| 9 | functions to check input for mh-adaptive-cmd-note-flag and | ||
| 10 | mh-scan-format-file respectively. | ||
| 11 | (mh-adaptive-cmd-note-flag, mh-scan-format-file): Docstring fixes, | ||
| 12 | add :set. | ||
| 13 | |||
| 14 | * mh-e.el: (mh-scan-field-destination-offset): New variable. The | ||
| 15 | destination is the -, t, b, c, or n character for Replied, To, cc, | ||
| 16 | Bcc, or Newsgroups respectively. | ||
| 17 | (mh-make-folder, mh-regenerate-headers, mh-generate-new-cmd-note) | ||
| 18 | Call new function mh-msg-num-width-to-column to make leap between | ||
| 19 | width and column more explicit. | ||
| 20 | (mh-msg-num-width-to-column): New function that steals logic from | ||
| 21 | old mh-set-cmd-note. Also, throw error if mh-scan-format-file | ||
| 22 | isn't t since we can't adapt the scan lines in this case. | ||
| 23 | (mh-set-cmd-note): Now just simply sets mh-cmd-note which will | ||
| 24 | make the documentation more clear. | ||
| 25 | (mh-generate-new-cmd-note): Docstring fix--mh-cmd-note is a | ||
| 26 | column, not a width. | ||
| 27 | (mh-add-sequence-notation, mh-remove-sequence-notation): Use new | ||
| 28 | variable mh-scan-field-destination-offset rather than hard-coding | ||
| 29 | 1. | ||
| 30 | |||
| 31 | * mh-utils.el (mh-cmd-note) Synced docstring with manual. | ||
| 32 | (mh-notate): Use new variable mh-scan-field-destination-offset | ||
| 33 | rather than hard-coding 1. | ||
| 34 | (mh-message-number-width): Rename to mh-msg-num-width to be | ||
| 35 | consistent with mh-get-msg-num and mh-msg-num-width-to-column. | ||
| 36 | |||
| 3 | * mh-customize.el (mh-x-face-file, mh-show-use-xface-flag) | 37 | * mh-customize.el (mh-x-face-file, mh-show-use-xface-flag) |
| 4 | (mail-citation-hook): Quote URLs in docstrings and precede with | 38 | (mail-citation-hook): Quote URLs in docstrings and precede with |
| 5 | `URL'. The former will suppress checkdoc warnings, the latter will | 39 | `URL'. The former will suppress checkdoc warnings, the latter will |
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index 4b670bdd825..232c0399c03 100644 --- a/lisp/mh-e/mh-comp.el +++ b/lisp/mh-e/mh-comp.el | |||
| @@ -698,7 +698,8 @@ MSG can be a message number, a list of message numbers, or a sequence." | |||
| 698 | (cond ((get-buffer buffer) ; Buffer may be deleted | 698 | (cond ((get-buffer buffer) ; Buffer may be deleted |
| 699 | (set-buffer buffer) | 699 | (set-buffer buffer) |
| 700 | (mh-iterate-on-range nil msg | 700 | (mh-iterate-on-range nil msg |
| 701 | (mh-notate nil note (1+ mh-cmd-note))))))) | 701 | (mh-notate nil note |
| 702 | (+ mh-cmd-note mh-scan-field-destination-offset))))))) | ||
| 702 | 703 | ||
| 703 | (defun mh-insert-fields (&rest name-values) | 704 | (defun mh-insert-fields (&rest name-values) |
| 704 | "Insert the NAME-VALUES pairs in the current buffer. | 705 | "Insert the NAME-VALUES pairs in the current buffer. |
diff --git a/lisp/mh-e/mh-customize.el b/lisp/mh-e/mh-customize.el index 7c28ede3c81..a79c10cb4e5 100644 --- a/lisp/mh-e/mh-customize.el +++ b/lisp/mh-e/mh-customize.el | |||
| @@ -948,7 +948,7 @@ is added to the yanked region." | |||
| 948 | ;;; Ranges (:group 'mh-ranges) | 948 | ;;; Ranges (:group 'mh-ranges) |
| 949 | 949 | ||
| 950 | (defcustom mh-interpret-number-as-range-flag t | 950 | (defcustom mh-interpret-number-as-range-flag t |
| 951 | "On means interpret a number as a range. | 951 | "*On means interpret a number as a range. |
| 952 | Since one of the most frequent ranges used is \"last:N\", MH-E will interpret | 952 | Since one of the most frequent ranges used is \"last:N\", MH-E will interpret |
| 953 | input such as \"200\" as \"last:200\" if this option is on (which is the | 953 | input such as \"200\" as \"last:200\" if this option is on (which is the |
| 954 | default). If you need to scan just the message 200, then use the range | 954 | default). If you need to scan just the message 200, then use the range |
| @@ -960,18 +960,44 @@ default). If you need to scan just the message 200, then use the range | |||
| 960 | 960 | ||
| 961 | ;;; Scan Line Formats (:group 'mh-scan-line-formats) | 961 | ;;; Scan Line Formats (:group 'mh-scan-line-formats) |
| 962 | 962 | ||
| 963 | ;;; Forward definition to avoid compiler and runtime error. | ||
| 964 | (defvar mh-scan-format-file t) | ||
| 965 | |||
| 966 | (defun mh-adaptive-cmd-note-flag-check (symbol value) | ||
| 967 | "Check if desired setting is legal. | ||
| 968 | Throw an error if user tries to turn on `mh-adaptive-cmd-note-flag' when | ||
| 969 | `mh-scan-format-file' isn't t. Otherwise, set SYMBOL to VALUE." | ||
| 970 | (if (and value | ||
| 971 | (not (eq mh-scan-format-file t))) | ||
| 972 | (error "%s %s" "Can't turn on unless mh-scan-format-file" | ||
| 973 | "is set to \"Use MH-E scan Format\"") | ||
| 974 | (set-default symbol value))) | ||
| 975 | |||
| 976 | (defun mh-scan-format-file-check (symbol value) | ||
| 977 | "Check if desired setting is legal. | ||
| 978 | Throw an error if user tries to set `mh-scan-format-file' to anything but t | ||
| 979 | when `mh-adaptive-cmd-note-flag' is on. Otherwise, set SYMBOL to VALUE." | ||
| 980 | (if (and (not (eq value t)) | ||
| 981 | (eq mh-adaptive-cmd-note-flag t)) | ||
| 982 | (error "%s %s" "You must turn off mh-adaptive-cmd-note-flag" | ||
| 983 | "unless you use \"Use MH-E scan Format\"") | ||
| 984 | (set-default symbol value))) | ||
| 985 | |||
| 963 | (defcustom mh-adaptive-cmd-note-flag t | 986 | (defcustom mh-adaptive-cmd-note-flag t |
| 964 | "*On means that the message number width is determined dynamically. | 987 | "*On means that the message number width is determined dynamically. |
| 965 | If you've created your own format to handle long message numbers, you'll be | 988 | If you've created your own format to handle long message numbers, you'll be |
| 966 | pleased to know you no longer need it since MH-E adapts its internal format | 989 | pleased to know you no longer need it since MH-E adapts its internal format |
| 967 | based upon the largest message number if this option is on (the default). | 990 | based upon the largest message number if this option is on (the default). |
| 991 | This option may only be turned on when `mh-scan-format-file' is set to \"Use | ||
| 992 | MH-E scan Format\". | ||
| 968 | 993 | ||
| 969 | If you prefer fixed-width message numbers, turn off this option and call | 994 | If you prefer fixed-width message numbers, turn off this option and call |
| 970 | `mh-set-cmd-note' with the width specified by your format file (see | 995 | `mh-set-cmd-note' with the width specified by your format file |
| 971 | `mh-scan-format-file'). For example, the default width is 4, so you would use | 996 | \(see `mh-scan-format-file'). For example, the default width is 4, so you would |
| 972 | \"(mh-set-cmd-note 4)\"." | 997 | use \"(mh-set-cmd-note 4)\"." |
| 973 | :type 'boolean | 998 | :type 'boolean |
| 974 | :group 'mh-scan-line-formats) | 999 | :group 'mh-scan-line-formats |
| 1000 | :set 'mh-adaptive-cmd-note-flag-check) | ||
| 975 | 1001 | ||
| 976 | (defcustom mh-scan-format-file t | 1002 | (defcustom mh-scan-format-file t |
| 977 | "Specifies the format file to pass to the scan program. | 1003 | "Specifies the format file to pass to the scan program. |
| @@ -979,7 +1005,10 @@ If you prefer fixed-width message numbers, turn off this option and call | |||
| 979 | The default setting for this option is \"Use MH-E scan Format\". This means | 1005 | The default setting for this option is \"Use MH-E scan Format\". This means |
| 980 | that the format string will be taken from the either `mh-scan-format-mh' or | 1006 | that the format string will be taken from the either `mh-scan-format-mh' or |
| 981 | `mh-scan-format-nmh' depending on whether MH or nmh (or GNU mailutils) is in | 1007 | `mh-scan-format-nmh' depending on whether MH or nmh (or GNU mailutils) is in |
| 982 | use. You can also set this option to \"Use Default scan Format\" to get the | 1008 | use. This setting also enables you to turn on the `mh-adaptive-cmd-note-flag' |
| 1009 | option. | ||
| 1010 | |||
| 1011 | You can also set this option to \"Use Default scan Format\" to get the | ||
| 983 | same output as you would get if you ran \"scan\" from the shell. If you have a | 1012 | same output as you would get if you ran \"scan\" from the shell. If you have a |
| 984 | format file that you want MH-E to use but not MH, you can set this option to | 1013 | format file that you want MH-E to use but not MH, you can set this option to |
| 985 | \"Specify a scan Format File\" and enter the name of your format file. | 1014 | \"Specify a scan Format File\" and enter the name of your format file. |
| @@ -987,15 +1016,13 @@ format file that you want MH-E to use but not MH, you can set this option to | |||
| 987 | If you change the format of the scan lines you'll need to tell MH-E how to | 1016 | If you change the format of the scan lines you'll need to tell MH-E how to |
| 988 | parse the new format. As you will see, quite a lot of variables are involved | 1017 | parse the new format. As you will see, quite a lot of variables are involved |
| 989 | to do that. Use \"\\[apropos] RET mh-scan.*regexp\" to obtain a list of these | 1018 | to do that. Use \"\\[apropos] RET mh-scan.*regexp\" to obtain a list of these |
| 990 | variables. You may also have to call `mh-set-cmd-note' to modify `mh-cmd-note' | 1019 | variables. You will also have to call `mh-set-cmd-note' if your notations are |
| 991 | with the column for your notations if you turn off | 1020 | not in column 4 (columns in Emacs start with 0)." |
| 992 | `mh-adaptive-cmd-note-flag'. However, you will need to set the `mh-cmd-note' | ||
| 993 | variable manually with `setq' if `mh-scan-format-file' is set to anything | ||
| 994 | other than \"Use MH-E scan Format\"." | ||
| 995 | :type '(choice (const :tag "Use MH-E scan Format" t) | 1021 | :type '(choice (const :tag "Use MH-E scan Format" t) |
| 996 | (const :tag "Use Default scan Format" nil) | 1022 | (const :tag "Use Default scan Format" nil) |
| 997 | (file :tag "Specify a scan Format File")) | 1023 | (file :tag "Specify a scan Format File")) |
| 998 | :group 'mh-scan-line-formats) | 1024 | :group 'mh-scan-line-formats |
| 1025 | :set 'mh-scan-format-file-check) | ||
| 999 | 1026 | ||
| 1000 | (defcustom mh-scan-prog "scan" | 1027 | (defcustom mh-scan-prog "scan" |
| 1001 | "*Program used to scan messages. | 1028 | "*Program used to scan messages. |
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index c442947b789..dc67cce51c5 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el | |||
| @@ -114,7 +114,7 @@ The string is displayed after the folder's name. nil for no annotation.") | |||
| 114 | ;; The following scan formats are passed to the scan program if the setting of | 114 | ;; The following scan formats are passed to the scan program if the setting of |
| 115 | ;; `mh-scan-format-file' is t. They are identical except the later one makes | 115 | ;; `mh-scan-format-file' is t. They are identical except the later one makes |
| 116 | ;; use of the nmh `decode' function to decode RFC 2047 encodings. If you just | 116 | ;; use of the nmh `decode' function to decode RFC 2047 encodings. If you just |
| 117 | ;; want to change the width of the msg number, use the `mh-set-cmd-note' | 117 | ;; want to change the column of the notations, use the `mh-set-cmd-note' |
| 118 | ;; function. | 118 | ;; function. |
| 119 | 119 | ||
| 120 | (defvar mh-scan-format-mh | 120 | (defvar mh-scan-format-mh |
| @@ -338,6 +338,10 @@ originator, or a \"To: address\" for outgoing e-mail messages.") | |||
| 338 | "Number of columns consumed by whitespace after from-mbox in `mh-scan-format'. | 338 | "Number of columns consumed by whitespace after from-mbox in `mh-scan-format'. |
| 339 | This column will only ever have spaces in it.") | 339 | This column will only ever have spaces in it.") |
| 340 | 340 | ||
| 341 | (defvar mh-scan-field-destination-offset | ||
| 342 | (+ mh-scan-cmd-note-width) | ||
| 343 | "The offset from the `mh-cmd-note' for the destination column.") | ||
| 344 | |||
| 341 | (defvar mh-scan-field-from-start-offset | 345 | (defvar mh-scan-field-from-start-offset |
| 342 | (+ mh-scan-cmd-note-width | 346 | (+ mh-scan-cmd-note-width |
| 343 | mh-scan-destination-width | 347 | mh-scan-destination-width |
| @@ -1402,7 +1406,7 @@ Make it the current folder." | |||
| 1402 | (setq buffer-read-only nil) | 1406 | (setq buffer-read-only nil) |
| 1403 | (erase-buffer) | 1407 | (erase-buffer) |
| 1404 | (if mh-adaptive-cmd-note-flag | 1408 | (if mh-adaptive-cmd-note-flag |
| 1405 | (mh-set-cmd-note (mh-message-number-width name))) | 1409 | (mh-set-cmd-note (mh-msg-num-width-to-column (mh-msg-num-width name)))) |
| 1406 | (setq buffer-read-only t) | 1410 | (setq buffer-read-only t) |
| 1407 | (mh-folder-mode) | 1411 | (mh-folder-mode) |
| 1408 | (mh-set-folder-modified-p nil) | 1412 | (mh-set-folder-modified-p nil) |
| @@ -1719,20 +1723,24 @@ Return in the folder's buffer." | |||
| 1719 | (when (mh-outstanding-commands-p) | 1723 | (when (mh-outstanding-commands-p) |
| 1720 | (mh-notate-deleted-and-refiled))) | 1724 | (mh-notate-deleted-and-refiled))) |
| 1721 | 1725 | ||
| 1722 | (defun mh-set-cmd-note (width) | 1726 | (defun mh-msg-num-width-to-column (width) |
| 1723 | "Set `mh-cmd-note' to WIDTH (minimum of 2). | 1727 | "Return the column for notations given message number WIDTH. |
| 1724 | 1728 | Note that columns in Emacs start with 0. | |
| 1725 | If `mh-scan-format-file' is set to \"Use Default scan Format\" or \"Specify a | 1729 | |
| 1726 | scan Format File\", then this function will NOT update `mh-cmd-note'. In these | 1730 | If `mh-scan-format-file' is set to \"Use MH-E scan Format\" this means that |
| 1727 | cases, the user should change `mh-cmd-note' with `setq' if necessary. | 1731 | either `mh-scan-format-mh' or `mh-scan-format-nmh' are in use. This function |
| 1728 | 1732 | therefore assumes that the first column is empty (to provide room for the | |
| 1733 | cursor), the following WIDTH columns contain the message number, and the | ||
| 1734 | column for notations comes after that." | ||
| 1735 | (if (eq mh-scan-format-file t) | ||
| 1736 | (max (1+ width) 2) | ||
| 1737 | (error "%s %s" "Can't call mh-msg-num-width-to-column" | ||
| 1738 | "when mh-scan-format-file is not t"))) | ||
| 1739 | |||
| 1740 | (defun mh-set-cmd-note (column) | ||
| 1741 | "Set `mh-cmd-note' to COLUMN. | ||
| 1729 | Note that columns in Emacs start with 0." | 1742 | Note that columns in Emacs start with 0." |
| 1730 | ;; Add one to the width to always have whitespace in column zero. | 1743 | (setq mh-cmd-note column)) |
| 1731 | (setq width (max (1+ width) 2)) | ||
| 1732 | (if (and (equal mh-scan-format-file t) | ||
| 1733 | (not (eq mh-cmd-note width))) | ||
| 1734 | (setq mh-cmd-note width)) | ||
| 1735 | mh-cmd-note) | ||
| 1736 | 1744 | ||
| 1737 | (defun mh-regenerate-headers (range &optional update) | 1745 | (defun mh-regenerate-headers (range &optional update) |
| 1738 | "Scan folder over range RANGE. | 1746 | "Scan folder over range RANGE. |
| @@ -1747,7 +1755,8 @@ If UPDATE, append the scan lines, otherwise replace." | |||
| 1747 | (goto-char (point-max)) | 1755 | (goto-char (point-max)) |
| 1748 | (delete-region (point-min) (point-max)) | 1756 | (delete-region (point-min) (point-max)) |
| 1749 | (if mh-adaptive-cmd-note-flag | 1757 | (if mh-adaptive-cmd-note-flag |
| 1750 | (mh-set-cmd-note (mh-message-number-width folder)))) | 1758 | (mh-set-cmd-note (mh-msg-num-width-to-column (mh-msg-num-width |
| 1759 | folder))))) | ||
| 1751 | (setq scan-start (point)) | 1760 | (setq scan-start (point)) |
| 1752 | (apply #'mh-exec-cmd-output | 1761 | (apply #'mh-exec-cmd-output |
| 1753 | mh-scan-prog nil | 1762 | mh-scan-prog nil |
| @@ -1781,9 +1790,9 @@ If UPDATE, append the scan lines, otherwise replace." | |||
| 1781 | After doing an `mh-get-new-mail' operation in this FOLDER, at least | 1790 | After doing an `mh-get-new-mail' operation in this FOLDER, at least |
| 1782 | one line that looks like a truncated message number was found. | 1791 | one line that looks like a truncated message number was found. |
| 1783 | 1792 | ||
| 1784 | Remove the text added by the last `mh-inc' command. It should be the | 1793 | Remove the text added by the last `mh-inc' command. It should be the messages |
| 1785 | messages cur-last. Call `mh-set-cmd-note' with the widest message number | 1794 | cur-last. Call `mh-set-cmd-note', adjusting the notation column with the width |
| 1786 | in FOLDER. | 1795 | of the largest message number in FOLDER. |
| 1787 | 1796 | ||
| 1788 | Reformat the message number width on each line in the buffer and trim | 1797 | Reformat the message number width on each line in the buffer and trim |
| 1789 | the line length to fit in the window. | 1798 | the line length to fit in the window. |
| @@ -1800,7 +1809,7 @@ line now with no message truncation." | |||
| 1800 | (delete-char (- (point-max) (point))) | 1809 | (delete-char (- (point-max) (point))) |
| 1801 | ;; Update the current buffer to reflect the new mh-cmd-note | 1810 | ;; Update the current buffer to reflect the new mh-cmd-note |
| 1802 | ;; value needed to display messages. | 1811 | ;; value needed to display messages. |
| 1803 | (mh-set-cmd-note (mh-message-number-width folder)) | 1812 | (mh-set-cmd-note (mh-msg-num-width-to-column (mh-msg-num-width folder))) |
| 1804 | (setq mh-cmd-note-fmt (concat "%" (format "%d" mh-cmd-note) "d")) | 1813 | (setq mh-cmd-note-fmt (concat "%" (format "%d" mh-cmd-note) "d")) |
| 1805 | ;; Cleanup the messages that are in the buffer right now | 1814 | ;; Cleanup the messages that are in the buffer right now |
| 1806 | (goto-char (point-min)) | 1815 | (goto-char (point-min)) |
| @@ -1958,11 +1967,12 @@ turned on." | |||
| 1958 | (mh-notate nil nil mh-cmd-note) | 1967 | (mh-notate nil nil mh-cmd-note) |
| 1959 | (when font-lock-mode | 1968 | (when font-lock-mode |
| 1960 | (font-lock-fontify-region (point) (line-end-position)))) | 1969 | (font-lock-fontify-region (point) (line-end-position)))) |
| 1961 | (forward-char (1+ mh-cmd-note)) | 1970 | (forward-char (+ mh-cmd-note mh-scan-field-destination-offset)) |
| 1962 | (let ((stack (gethash msg mh-sequence-notation-history))) | 1971 | (let ((stack (gethash msg mh-sequence-notation-history))) |
| 1963 | (setf (gethash msg mh-sequence-notation-history) | 1972 | (setf (gethash msg mh-sequence-notation-history) |
| 1964 | (cons (char-after) stack))) | 1973 | (cons (char-after) stack))) |
| 1965 | (mh-notate nil mh-note-seq (1+ mh-cmd-note)))))) | 1974 | (mh-notate nil mh-note-seq |
| 1975 | (+ mh-cmd-note mh-scan-field-destination-offset)))))) | ||
| 1966 | 1976 | ||
| 1967 | (defun mh-remove-sequence-notation (msg internal-seq-flag &optional all) | 1977 | (defun mh-remove-sequence-notation (msg internal-seq-flag &optional all) |
| 1968 | "Remove sequence notation from the MSG on the current line. | 1978 | "Remove sequence notation from the MSG on the current line. |
| @@ -1981,7 +1991,7 @@ If ALL is non-nil, then all sequence marks on the scan line are removed." | |||
| 1981 | (when stack | 1991 | (when stack |
| 1982 | (save-excursion | 1992 | (save-excursion |
| 1983 | (beginning-of-line) | 1993 | (beginning-of-line) |
| 1984 | (forward-char (1+ mh-cmd-note)) | 1994 | (forward-char (+ mh-cmd-note mh-scan-field-destination-offset)) |
| 1985 | (delete-char 1) | 1995 | (delete-char 1) |
| 1986 | (insert (car stack)))) | 1996 | (insert (car stack)))) |
| 1987 | (setf (gethash msg mh-sequence-notation-history) (cdr stack)))))) | 1997 | (setf (gethash msg mh-sequence-notation-history) (cdr stack)))))) |
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el index 87f521d605a..169ccf2a0d5 100644 --- a/lisp/mh-e/mh-utils.el +++ b/lisp/mh-e/mh-utils.el | |||
| @@ -111,10 +111,9 @@ It is a format string; use `%d' to represent the location of the message | |||
| 111 | number within the expression as in the default of \"^[^0-9]*%d[^0-9]\".") | 111 | number within the expression as in the default of \"^[^0-9]*%d[^0-9]\".") |
| 112 | 112 | ||
| 113 | (defvar mh-cmd-note 4 | 113 | (defvar mh-cmd-note 4 |
| 114 | "Column where notations begin. | 114 | "Column for notations. |
| 115 | This variable should be set with the function `mh-set-cmd-note'. This variable | 115 | This variable should be set with the function `mh-set-cmd-note'. This variable |
| 116 | may be updated dynamically if `mh-adaptive-cmd-note-flag' is on and | 116 | may be updated dynamically if `mh-adaptive-cmd-note-flag' is on. |
| 117 | `mh-scan-format-file' is set to \"Use MH-E scan Format\". | ||
| 118 | 117 | ||
| 119 | Note that columns in Emacs start with 0.") | 118 | Note that columns in Emacs start with 0.") |
| 120 | (make-variable-buffer-local 'mh-cmd-note) | 119 | (make-variable-buffer-local 'mh-cmd-note) |
| @@ -1827,8 +1826,10 @@ If NOTATION is nil then no change in the buffer occurs." | |||
| 1827 | (with-mh-folder-updating (t) | 1826 | (with-mh-folder-updating (t) |
| 1828 | (beginning-of-line) | 1827 | (beginning-of-line) |
| 1829 | (forward-char offset) | 1828 | (forward-char offset) |
| 1830 | (let* ((change-stack-flag (and (equal offset (1+ mh-cmd-note)) | 1829 | (let* ((change-stack-flag |
| 1831 | (not (eq notation mh-note-seq)))) | 1830 | (and (equal offset |
| 1831 | (+ mh-cmd-note mh-scan-field-destination-offset)) | ||
| 1832 | (not (eq notation mh-note-seq)))) | ||
| 1832 | (msg (and change-stack-flag (or msg (mh-get-msg-num nil)))) | 1833 | (msg (and change-stack-flag (or msg (mh-get-msg-num nil)))) |
| 1833 | (stack (and msg (gethash msg mh-sequence-notation-history))) | 1834 | (stack (and msg (gethash msg mh-sequence-notation-history))) |
| 1834 | (notation (or notation (char-after)))) | 1835 | (notation (or notation (char-after)))) |
| @@ -1992,8 +1993,8 @@ The message number width portion of the format is discovered using | |||
| 1992 | (substring fmt end)))) | 1993 | (substring fmt end)))) |
| 1993 | fmt)) | 1994 | fmt)) |
| 1994 | 1995 | ||
| 1995 | (defun mh-message-number-width (folder) | 1996 | (defun mh-msg-num-width (folder) |
| 1996 | "Return the widest message number in this FOLDER." | 1997 | "Return the width of the largest message number in this FOLDER." |
| 1997 | (or mh-progs (mh-find-path)) | 1998 | (or mh-progs (mh-find-path)) |
| 1998 | (let ((tmp-buffer (get-buffer-create mh-temp-buffer)) | 1999 | (let ((tmp-buffer (get-buffer-create mh-temp-buffer)) |
| 1999 | (width 0)) | 2000 | (width 0)) |