summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/ps-mode.el3
-rw-r--r--test/lisp/progmodes/ps-mode-tests.el37
2 files changed, 39 insertions, 1 deletions
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el
index 92824b63e68..cf09b98b491 100644
--- a/lisp/progmodes/ps-mode.el
+++ b/lisp/progmodes/ps-mode.el
@@ -738,7 +738,8 @@ Only one `%' is removed, and it has to be in the first column."
(while (re-search-forward "[\200-\377]" (marker-position endm) t)
(setq i (1+ i))
(backward-char)
- (insert (format "\\%03o" (string-to-char (string-make-unibyte (buffer-substring (point) (1+ (point)))))))
+ (insert (format "\\%03o" (string-to-char
+ (buffer-substring (point) (1+ (point))))))
(delete-char 1))
(message "%d change%s made" i (if (= i 1) "" "s"))
(set-marker endm nil)))))
diff --git a/test/lisp/progmodes/ps-mode-tests.el b/test/lisp/progmodes/ps-mode-tests.el
new file mode 100644
index 00000000000..aa0c4f3a059
--- /dev/null
+++ b/test/lisp/progmodes/ps-mode-tests.el
@@ -0,0 +1,37 @@
+;;; ps-mode-tests.el --- Test suite for ps-mode
+
+;; Copyright (C) 2019 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ert)
+(require 'ps-mode)
+
+(ert-deftest ps-mode-test-octal-region ()
+ (with-temp-buffer
+ (set-buffer-multibyte nil)
+ (insert "foo" #x90 #x91 #x92 "bar")
+ (ps-mode-octal-region (point-min) (point-max))
+ (should (equal (buffer-string)
+ "foo\\220\\221\\222bar"))))
+
+(provide 'ps-mode-tests)
+
+;;; ps-mode-tests.el ends here