bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#8386: [patch] capitalization bug in NATO


From: Aaron S. Hawley
Subject: bug#8386: [patch] capitalization bug in NATO
Date: Thu, 31 Mar 2011 00:46:57 -0400

Follow-up to my initial contribution of NATO alphabetization in #2288,
I noticed that `denato-region' will not always work because `rassoc'
is being case-sensitive.

I've provided a command to operate on strings as a test suite, where

(nato-string "echo mike alfa charlie sierra" t)

should give "emacs", but it does not.

The following will work since the capitalization jives with internals.

(nato-string "Echo Mike Alfa Charlie Sierra" t)

Attached is a proposed patch.

Thanks.
/a

2011-03-31  Aaron S. Hawley  <address@hidden>

        * play/morse.el (denato-region): Decoding NATO alphabet encodings
        should be done case-insensitive.
        (nato-string): New function.

--- lisp/play/morse.el  2011-03-07 07:35:25 +0000
+++ lisp/play/morse.el  2011-03-31 04:25:45 +0000
@@ -231,7 +231,7 @@
        (if (null (looking-at "[a-z]+"))
            (forward-char 1)
          (setq str (buffer-substring (match-beginning 0) (match-end 0)))
-         (if (null (setq nato (rassoc str nato-alphabet)))
+         (if (null (setq nato (rassoc (capitalize str) nato-alphabet)))
              (goto-char (match-end 0))
            (replace-match
                  (if (string-equal "(" (car nato))
@@ -240,6 +240,18 @@
            (if (looking-at "-")
                (delete-char 1))))))))

+(defun nato-string (string &optional arg)
+  "Convert NATO phonetic alphabet in STRING to ordinary ASCII text."
+  (interactive "sConvert to NATO: \nP")
+  (with-temp-buffer
+    (insert string)
+    (if arg
+        (denato-region (point-min) (point-max))
+      (nato-region (point-min) (point-max)))
+    (if (interactive-p)
+        (message (buffer-string))
+      (buffer-string))))
+
 (provide 'morse)

 ;;; morse.el ends here

-- 
In general, we reserve the right to have a poor
memory--the computer, however, is supposed to
remember!  Poor computer.  -- Guy Lewis Steele Jr.

Attachment: morse.el.diff
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]