summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-12-10 07:26:02 +0000
committerRichard M. Stallman <rms@gnu.org>1996-12-10 07:26:02 +0000
commitc08fe8fdc55065906c4aea8ce8e521c5809aeaff (patch)
tree96800489a3b0a862d7c5932d80d4b686230fe2b3
parent59b1de826d4fde74e91d073c7a22ccfe7b1668bb (diff)
downloademacs-c08fe8fdc55065906c4aea8ce8e521c5809aeaff.tar.gz
(sort-columns): Don't use `sort' utility if the text has text properties.
-rw-r--r--lisp/sort.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/sort.el b/lisp/sort.el
index d4131e7825b..61a35b635c6 100644
--- a/lisp/sort.el
+++ b/lisp/sort.el
@@ -455,8 +455,12 @@ Use \\[untabify] to convert tabs to spaces before sorting."
(setq col-end (max col-beg1 col-end1))
(if (search-backward "\t" beg1 t)
(error "sort-columns does not work with tabs. Use M-x untabify."))
- (if (not (eq system-type 'vax-vms))
+ (if (not (or (eq system-type 'vax-vms)
+ (text-properties-at beg1)
+ (< (next-property-change beg1 nil end1) end1)))
;; Use the sort utility if we can; it is 4 times as fast.
+ ;; Do not use it if there are any properties in the region,
+ ;; since the sort utility would lose the properties.
(call-process-region beg1 end1 "sort" t t nil
(if reverse "-rt\n" "-t\n")
(concat "+0." col-start)