GNU bug report logs -
#8386
[patch] capitalization bug in NATO
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
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 <aaron.s.hawley <at> gmail.com>
* 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.
[morse.el.diff (application/octet-stream, attachment)]
This bug report was last modified 14 years and 54 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.