]> code.delx.au - gnu-emacs-elpa/commitdiff
[aa2u] New command: aa2u-mark-rectangle-as-text
authorThien-Thi Nguyen <ttn@gnu.org>
Thu, 29 May 2014 09:04:37 +0000 (11:04 +0200)
committerThien-Thi Nguyen <ttn@gnu.org>
Thu, 29 May 2014 09:04:37 +0000 (11:04 +0200)
* packages/ascii-art-to-unicode/ascii-art-to-unicode.el:
Arrange to autoload "rect" for ‘apply-on-rectangle’.
(aa2u-mark-rectangle-as-text): New command, w/ autoload cookie.

packages/ascii-art-to-unicode/NEWS
packages/ascii-art-to-unicode/ascii-art-to-unicode.el

index 6978fe5598f4fc1fd9acd810e38a5a467e0f708b..58aa28266d262958cc16847da1ca0ebafbf73a88 100644 (file)
@@ -2,6 +2,9 @@ NEWS for ascii-art-to-unicode.el
 See the end for copying conditions.
 
 
+- 1.9 | NOT YET RELEASED
+  - new command: ‘aa2u-mark-rectangle-as-text’
+
 - 1.8 | 2014-05-21
   - new command: ‘aa2u-mark-as-text’
   - package keywords added (to help discovery)
index 03f613a8d4387ec73861e42fbde560ebea3fab15..a353c9e915ff50e08a90799b37318df210a2994a 100644 (file)
@@ -81,7 +81,6 @@
 ;; `aa2u-mark-as-text'.  A prefix arg clears the property, instead.
 ;; (You can use `describe-text-properties' to check.)  For example:
 ;;
-;;
 ;;      ┌───────────────────┐
 ;;      │                   │
 ;;      │ |\/|              │
@@ -92,6 +91,8 @@
 ;;                │
 ;;            """""""""
 ;;
+;; Command `aa2u-mark-rectangle-as-text' is similar, for rectangles.
+;;
 ;;
 ;; See Also
 ;; - HACKING: <http://git.sv.gnu.org/cgit/emacs/elpa.git/tree/packages/ascii-art-to-unicode/HACKING>
 (require 'cl-lib)
 (require 'pcase)
 
+(autoload 'apply-on-rectangle "rect")
+
 (defvar aa2u-uniform-weight 'LIGHT
   "A symbol, either `LIGHT' or `HEAVY'.
 This specifies the weight of all the lines.")
@@ -308,6 +311,19 @@ Prefix arg means to remove property `aa2u-text', instead."
            start end
            '(aa2u-text t)))
 
+;;;###autoload
+(defun aa2u-mark-rectangle-as-text (start end &optional unmark)
+  "Like `aa2u-mark-as-text' on the region-rectangle.
+When called from a program the rectangle's corners
+are START (top left) and END (bottom right)."
+  (interactive "r\nP")
+  (apply-on-rectangle
+   (lambda (scol ecol unmark)
+     (let ((p (point)))
+       (aa2u-mark-as-text (+ p scol) (+ p ecol) unmark)))
+   start end
+   unmark))
+
 ;;;---------------------------------------------------------------------------
 ;;; that's it