GNU bug report logs - #10760
24.0.93; [patch] Convert artist-mode to use define-minor-mode

Previous Next

Package: emacs;

Reported by: William Stevenson <yhvh2000 <at> gmail.com>

Date: Wed, 8 Feb 2012 07:15:02 UTC

Severity: minor

Tags: patch

Found in version 24.0.93

Fixed in version 24.2

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 10760 in the body.
You can then email your comments to 10760 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Wed, 08 Feb 2012 07:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to William Stevenson <yhvh2000 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 08 Feb 2012 07:15:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: William Stevenson <yhvh2000 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Cc: tab <at> lysator.liu.se
Subject: 24.0.93; [patch] Convert artist-mode to use define-minor-mode
Date: Wed, 08 Feb 2012 07:12:38 +0000
This is my first patch concerning the item in etc/TODO:
** Check what minor modes don't use define-minor-mode and convert them
to use it.

Please look carefully at the change I made to the last item in the
mode-map. The original code was:
(define-key map [menu-bar artist] (cons "Artist" artist-menu-map))
I found I needed to change this to:
([menu-bar artist]	.	artist-menu-map))
This works the same, but I'm unsure as to any wider effects it may have.

Also consider removing as redundant the function artist-mode-off, the
keymap for this and the mention in the documentation.

After the changes artist-mode-name was only referred to in
artist-mode-line-show-curr-operation, and it seemed sensible to replace
it with the string, as in this case it is just concat'ed to "/".

I have cc'ed the maintainer Tomas Abrahamsson this message.

=== modified file 'lisp/textmodes/artist.el'
*** lisp/textmodes/artist.el	2012-01-19 07:21:25 +0000
--- lisp/textmodes/artist.el	2012-02-08 07:09:41 +0000
***************
*** 415,427 ****
  
  ;; Internal variables
  ;;
- (defvar artist-mode nil
-   "Non-nil to enable `artist-mode' and nil to disable.")
- (make-variable-buffer-local 'artist-mode)
- 
- (defvar artist-mode-name " Artist"
-   "Name of Artist mode beginning with a space (appears in the mode-line).")
- 
  (defvar artist-curr-go 'pen-line
    "Current selected graphics operation.")
  (make-variable-buffer-local 'artist-curr-go)
--- 415,420 ----
***************
*** 545,606 ****
      		    :button (:radio . (eq artist-curr-go ',(nth 2 op))))))
      map))
  
- (defvar artist-mode-map
-   (let ((map (make-sparse-keymap)))
-     (setq artist-mode-map (make-sparse-keymap))
-     (define-key map [down-mouse-1] 'artist-down-mouse-1)
-     (define-key map [S-down-mouse-1] 'artist-down-mouse-1)
-     (define-key map [down-mouse-2] 'artist-mouse-choose-operation)
-     (define-key map [S-down-mouse-2] 'artist-mouse-choose-operation)
-     (define-key map [down-mouse-3] 'artist-down-mouse-3)
-     (define-key map [S-down-mouse-3] 'artist-down-mouse-3)
-     (define-key map [C-mouse-4] 'artist-select-prev-op-in-list)
-     (define-key map [C-mouse-5] 'artist-select-next-op-in-list)
-     (define-key map "\r" 'artist-key-set-point) ; return
-     (define-key map [up] 'artist-previous-line)
-     (define-key map "\C-p" 'artist-previous-line)
-     (define-key map [down] 'artist-next-line)
-     (define-key map "\C-n" 'artist-next-line)
-     (define-key map [left] 'artist-backward-char)
-     (define-key map "\C-b" 'artist-backward-char)
-     (define-key map [right] 'artist-forward-char)
-     (define-key map "\C-f" 'artist-forward-char)
-     (define-key map "<" 'artist-toggle-first-arrow)
-     (define-key map ">" 'artist-toggle-second-arrow)
-     (define-key map "\C-c\C-a\C-e" 'artist-select-erase-char)
-     (define-key map "\C-c\C-a\C-f" 'artist-select-fill-char)
-     (define-key map "\C-c\C-a\C-l" 'artist-select-line-char)
-     (define-key map "\C-c\C-a\C-o" 'artist-select-operation)
-     (define-key map "\C-c\C-a\C-r" 'artist-toggle-rubber-banding)
-     (define-key map "\C-c\C-a\C-t" 'artist-toggle-trim-line-endings)
-     (define-key map "\C-c\C-a\C-s" 'artist-toggle-borderless-shapes)
-     (define-key map "\C-c\C-c"     'artist-mode-off)
-     (define-key map "\C-c\C-al"    'artist-select-op-line)
-     (define-key map "\C-c\C-aL"    'artist-select-op-straight-line)
-     (define-key map "\C-c\C-ar"    'artist-select-op-rectangle)
-     (define-key map "\C-c\C-aR"    'artist-select-op-square)
-     (define-key map "\C-c\C-as"    'artist-select-op-square)
-     (define-key map "\C-c\C-ap"    'artist-select-op-poly-line)
-     (define-key map "\C-c\C-aP"    'artist-select-op-straight-poly-line)
-     (define-key map "\C-c\C-ae"    'artist-select-op-ellipse)
-     (define-key map "\C-c\C-ac"    'artist-select-op-circle)
-     (define-key map "\C-c\C-at"    'artist-select-op-text-see-thru)
-     (define-key map "\C-c\C-aT"    'artist-select-op-text-overwrite)
-     (define-key map "\C-c\C-aS"    'artist-select-op-spray-can)
-     (define-key map "\C-c\C-az"    'artist-select-op-spray-set-size)
-     (define-key map "\C-c\C-a\C-d" 'artist-select-op-erase-char)
-     (define-key map "\C-c\C-aE"    'artist-select-op-erase-rectangle)
-     (define-key map "\C-c\C-av"    'artist-select-op-vaporize-line)
-     (define-key map "\C-c\C-aV"    'artist-select-op-vaporize-lines)
-     (define-key map "\C-c\C-a\C-k" 'artist-select-op-cut-rectangle)
-     (define-key map "\C-c\C-a\M-w" 'artist-select-op-copy-rectangle)
-     (define-key map "\C-c\C-a\C-y" 'artist-select-op-paste)
-     (define-key map "\C-c\C-af"    'artist-select-op-flood-fill)
-     (define-key map "\C-c\C-a\C-b" 'artist-submit-bug-report)
-     (define-key map [menu-bar artist] (cons "Artist" artist-menu-map))
-     map)
-   "Keymap for `artist-minor-mode'.")
- 
  (defvar artist-replacement-table (make-vector 256 0)
    "Replacement table for `artist-replace-char'.")
  
--- 538,543 ----
***************
*** 1196,1204 ****
  ;;; ---------------------------------
  
  ;;;###autoload
! (defun artist-mode (&optional state)
    "Toggle Artist mode.
! With argument STATE, turn Artist mode on if STATE is positive.
  Artist lets you draw lines, squares, rectangles and poly-lines,
  ellipses and circles with your mouse and/or keyboard.
  
--- 1133,1141 ----
  ;;; ---------------------------------
  
  ;;;###autoload
! (define-minor-mode artist-mode
    "Toggle Artist mode.
! With argument ARG, turn Artist mode on if ARG is positive.
  Artist lets you draw lines, squares, rectangles and poly-lines,
  ellipses and circles with your mouse and/or keyboard.
  
***************
*** 1227,1233 ****
  		--------------------------------------------------------------
                  Pen             fill-char at point        line from last point
                                                            to new point
! 		--------------------------------------------------------------
  		Line		Line in any direction	  Straight line
  		--------------------------------------------------------------
  		Rectangle	Rectangle		  Square
--- 1164,1170 ----
  		--------------------------------------------------------------
                  Pen             fill-char at point        line from last point
                                                            to new point
!  --------------------------------------------------------------
  		Line		Line in any direction	  Straight line
  		--------------------------------------------------------------
  		Rectangle	Rectangle		  Square
***************
*** 1387,1472 ****
  
  Hooks
  
!  When entering artist-mode, the hook `artist-mode-init-hook' is called.
!  When quitting artist-mode, the hook `artist-mode-exit-hook' is called.
  
  
  Keymap summary
  
  \\{artist-mode-map}"
!   (interactive)
!   (if (setq artist-mode
! 	    (if (null state) (not artist-mode)
! 	      (> (prefix-numeric-value state) 0)))
!       (artist-mode-init)
!     (artist-mode-exit)))
! 
! ;; insert our minor mode string
! (or (assq 'artist-mode minor-mode-alist)
!     (setq minor-mode-alist
! 	  (cons '(artist-mode artist-mode-name)
! 		minor-mode-alist)))
! 
! ;; insert our minor mode keymap
! (or (assq 'artist-mode minor-mode-map-alist)
!     (setq minor-mode-map-alist
! 	  (cons (cons 'artist-mode artist-mode-map)
! 		minor-mode-map-alist)))
! 
! 
! ;; Init and exit
! (defun artist-mode-init ()
!   "Init Artist mode.  This will call the hook `artist-mode-init-hook'."
!   ;; Set up a conversion table for mapping tabs and new-lines to spaces.
!   ;; the last case, 0, is for the last position in buffer/region, where
!   ;; the `following-char' function returns 0.
!   (let ((i 0))
!     (while (< i 256)
!       (aset artist-replacement-table i i)
!       (setq i (1+ i))))
!   (aset artist-replacement-table ?\n ?\s)
!   (aset artist-replacement-table ?\t ?\s)
!   (aset artist-replacement-table 0 ?\s)
!   ;; More setup
!   (make-local-variable 'artist-key-is-drawing)
!   (make-local-variable 'artist-key-endpoint1)
!   (make-local-variable 'artist-key-poly-point-list)
!   (make-local-variable 'artist-key-shape)
!   (make-local-variable 'artist-key-draw-how)
!   (make-local-variable 'artist-popup-menu-table)
!   (make-local-variable 'artist-key-compl-table)
!   (make-local-variable 'artist-prev-next-op-alist)
!   (make-local-variable 'artist-rb-save-data)
!   (make-local-variable 'artist-arrow-point-1)
!   (make-local-variable 'artist-arrow-point-2)
!   (setq artist-key-is-drawing nil)
!   (setq artist-key-endpoint1 nil)
!   (setq artist-key-poly-point-list nil)
!   (setq artist-key-shape nil)
!   (setq artist-popup-menu-table (artist-compute-popup-menu-table artist-mt))
!   (setq artist-key-compl-table (artist-compute-key-compl-table artist-mt))
!   (setq artist-prev-next-op-alist
! 	(artist-make-prev-next-op-alist artist-key-compl-table))
!   (setq artist-rb-save-data (make-vector 7 0))
!   (setq artist-arrow-point-1 nil)
!   (setq artist-arrow-point-2 nil)
!   (make-local-variable 'next-line-add-newlines)
!   (setq next-line-add-newlines t)
!   (setq artist-key-draw-how
! 	(artist-go-get-draw-how-from-symbol artist-curr-go))
!   (if (and artist-picture-compatibility (not (eq major-mode 'picture-mode)))
!       (progn
! 	(picture-mode)
! 	(message "")))
!   (run-hooks 'artist-mode-init-hook)
!   (artist-mode-line-show-curr-operation artist-key-is-drawing))
! 
! (defun artist-mode-exit ()
!   "Exit Artist mode.  This will call the hook `artist-mode-exit-hook'."
!   (if (and artist-picture-compatibility (eq major-mode 'picture-mode))
!       (picture-mode-exit))
!   (kill-local-variable 'next-line-add-newlines)
!   (run-hooks 'artist-mode-exit-hook))
  
  (defun artist-mode-off ()
    "Turn Artist mode off."
--- 1324,1438 ----
  
  Hooks
  
! Turning the mode on or off runs `artist-mode-hook'.
  
  
  Keymap summary
  
  \\{artist-mode-map}"
!   :init-value nil   :group 'artist :lighter " Artist"
!   :keymap
!   '(([down-mouse-1]	.	artist-down-mouse-1)
!     ([S-down-mouse-1]	.	artist-down-mouse-1)
!     ([down-mouse-2]	.	artist-mouse-choose-operation)
!     ([S-down-mouse-2]	.	artist-mouse-choose-operation)
!     ([down-mouse-3]	.	artist-down-mouse-3)
!     ([S-down-mouse-3]	.	artist-down-mouse-3)
!     ([C-mouse-4]	.	artist-select-prev-op-in-list)
!     ([C-mouse-5]	.	artist-select-next-op-in-list)
!     ("\r"		.	artist-key-set-point) ; return
!     ([up]		.	artist-previous-line)
!     ("\C-p"		.	artist-previous-line)
!     ([down]		.	artist-next-line)
!     ("\C-n"		.	artist-next-line)
!     ([left]		.	artist-backward-char)
!     ("\C-b"		.	artist-backward-char)
!     ([right]		.	artist-forward-char)
!     ("\C-f"		.	artist-forward-char)
!     ("<"		.	artist-toggle-first-arrow)
!     (">"		.	artist-toggle-second-arrow)
!     ("\C-c\C-a\C-e"	.	artist-select-erase-char)
!     ("\C-c\C-a\C-f"	.	artist-select-fill-char)
!     ("\C-c\C-a\C-l"	.	artist-select-line-char)
!     ("\C-c\C-a\C-o"	.	artist-select-operation)
!     ("\C-c\C-a\C-r"	.	artist-toggle-rubber-banding)
!     ("\C-c\C-a\C-t"	.	artist-toggle-trim-line-endings)
!     ("\C-c\C-a\C-s"	.	artist-toggle-borderless-shapes)
!     ("\C-c\C-c"		.	artist-mode-off)
!     ("\C-c\C-al"	.	artist-select-op-line)
!     ("\C-c\C-aL"	.	artist-select-op-straight-line)
!     ("\C-c\C-ar"	.	artist-select-op-rectangle)
!     ("\C-c\C-aR"	.	artist-select-op-square)
!     ("\C-c\C-as"	.	artist-select-op-square)
!     ("\C-c\C-ap"	.	artist-select-op-poly-line)
!     ("\C-c\C-aP"	.	artist-select-op-straight-poly-line)
!     ("\C-c\C-ae"	.	artist-select-op-ellipse)
!     ("\C-c\C-ac"	.	artist-select-op-circle)
!     ("\C-c\C-at"	.	artist-select-op-text-see-thru)
!     ("\C-c\C-aT"	.	artist-select-op-text-overwrite)
!     ("\C-c\C-aS"	.	artist-select-op-spray-can)
!     ("\C-c\C-az"	.	artist-select-op-spray-set-size)
!     ("\C-c\C-a\C-d"	.	artist-select-op-erase-char)
!     ("\C-c\C-aE"	.	artist-select-op-erase-rectangle)
!     ("\C-c\C-av"	.	artist-select-op-vaporize-line)
!     ("\C-c\C-aV"	.	artist-select-op-vaporize-lines)
!     ("\C-c\C-a\C-k"	.	artist-select-op-cut-rectangle)
!     ("\C-c\C-a\M-w"	.	artist-select-op-copy-rectangle)
!     ("\C-c\C-a\C-y"	.	artist-select-op-paste)
!     ("\C-c\C-af"	.	artist-select-op-flood-fill)
!     ("\C-c\C-a\C-b"	.	artist-submit-bug-report)
!     ([menu-bar artist]	.	artist-menu-map))
!   (cond ((null artist-mode)
! 	 ;; Turn mode off
! 	 (if (and artist-picture-compatibility (eq major-mode 'picture-mode))
! 	     (picture-mode-exit))
! 	 (kill-local-variable 'next-line-add-newlines))
! 	
! 	(t
! 	 ;; Turn mode on
! 	 ;; Set up a conversion table for mapping tabs and new-lines to spaces.
! 	 ;; the last case, 0, is for the last position in buffer/region, where
! 	 ;; the `following-char' function returns 0.
! 	 (let ((i 0))
! 	   (while (< i 256)
! 	     (aset artist-replacement-table i i)
! 	     (setq i (1+ i))))
! 	 (aset artist-replacement-table ?\n ?\s)
! 	 (aset artist-replacement-table ?\t ?\s)
! 	 (aset artist-replacement-table 0 ?\s)
! 	 ;; More setup
! 	 (make-local-variable 'artist-key-is-drawing)
! 	 (make-local-variable 'artist-key-endpoint1)
! 	 (make-local-variable 'artist-key-poly-point-list)
! 	 (make-local-variable 'artist-key-shape)
! 	 (make-local-variable 'artist-key-draw-how)
! 	 (make-local-variable 'artist-popup-menu-table)
! 	 (make-local-variable 'artist-key-compl-table)
! 	 (make-local-variable 'artist-prev-next-op-alist)
! 	 (make-local-variable 'artist-rb-save-data)
! 	 (make-local-variable 'artist-arrow-point-1)
! 	 (make-local-variable 'artist-arrow-point-2)
! 	 (setq artist-key-is-drawing nil)
! 	 (setq artist-key-endpoint1 nil)
! 	 (setq artist-key-poly-point-list nil)
! 	 (setq artist-key-shape nil)
! 	 (setq artist-popup-menu-table (artist-compute-popup-menu-table artist-mt))
! 	 (setq artist-key-compl-table (artist-compute-key-compl-table artist-mt))
! 	 (setq artist-prev-next-op-alist
! 	       (artist-make-prev-next-op-alist artist-key-compl-table))
! 	 (setq artist-rb-save-data (make-vector 7 0))
! 	 (setq artist-arrow-point-1 nil)
! 	 (setq artist-arrow-point-2 nil)
! 	 (make-local-variable 'next-line-add-newlines)
! 	 (setq next-line-add-newlines t)
! 	 (setq artist-key-draw-how
! 	       (artist-go-get-draw-how-from-symbol artist-curr-go))
! 	 (if (and artist-picture-compatibility (not (eq major-mode 'picture-mode)))
! 	     (progn
! 	       (picture-mode)
! 	       (message "")))
! 	 (artist-mode-line-show-curr-operation artist-key-is-drawing))))
! 
  
  (defun artist-mode-off ()
    "Turn Artist mode off."
***************
*** 1484,1490 ****
  
  (defun artist-mode-line-show-curr-operation (is-drawing)
    "Show current operation in mode-line.  If IS-DRAWING, show that."
!   (let ((mtext (concat artist-mode-name "/"
  		       (artist-go-get-mode-line-from-symbol artist-curr-go)
  		       (if is-drawing "/*" ""))))
      (setcdr (assq 'artist-mode minor-mode-alist) (list mtext)))
--- 1450,1456 ----
  
  (defun artist-mode-line-show-curr-operation (is-drawing)
    "Show current operation in mode-line.  If IS-DRAWING, show that."
!   (let ((mtext (concat " Artist/"
  		       (artist-go-get-mode-line-from-symbol artist-curr-go)
  		       (if is-drawing "/*" ""))))
      (setcdr (assq 'artist-mode minor-mode-alist) (list mtext)))






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Wed, 08 Feb 2012 07:37:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: William Stevenson <yhvh2000 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#10760: 24.0.93;
	[patch] Convert artist-mode to use define-minor-mode
Date: Wed, 08 Feb 2012 07:34:37 +0000
Apologies, an error snuck in to that last diff, a line in the doc was
changed uselessly.


=== modified file 'lisp/textmodes/artist.el'
*** lisp/textmodes/artist.el	2012-01-19 07:21:25 +0000
--- lisp/textmodes/artist.el	2012-02-08 07:28:48 +0000
***************
*** 415,427 ****
  
  ;; Internal variables
  ;;
- (defvar artist-mode nil
-   "Non-nil to enable `artist-mode' and nil to disable.")
- (make-variable-buffer-local 'artist-mode)
- 
- (defvar artist-mode-name " Artist"
-   "Name of Artist mode beginning with a space (appears in the mode-line).")
- 
  (defvar artist-curr-go 'pen-line
    "Current selected graphics operation.")
  (make-variable-buffer-local 'artist-curr-go)
--- 415,420 ----
***************
*** 545,606 ****
      		    :button (:radio . (eq artist-curr-go ',(nth 2 op))))))
      map))
  
- (defvar artist-mode-map
-   (let ((map (make-sparse-keymap)))
-     (setq artist-mode-map (make-sparse-keymap))
-     (define-key map [down-mouse-1] 'artist-down-mouse-1)
-     (define-key map [S-down-mouse-1] 'artist-down-mouse-1)
-     (define-key map [down-mouse-2] 'artist-mouse-choose-operation)
-     (define-key map [S-down-mouse-2] 'artist-mouse-choose-operation)
-     (define-key map [down-mouse-3] 'artist-down-mouse-3)
-     (define-key map [S-down-mouse-3] 'artist-down-mouse-3)
-     (define-key map [C-mouse-4] 'artist-select-prev-op-in-list)
-     (define-key map [C-mouse-5] 'artist-select-next-op-in-list)
-     (define-key map "\r" 'artist-key-set-point) ; return
-     (define-key map [up] 'artist-previous-line)
-     (define-key map "\C-p" 'artist-previous-line)
-     (define-key map [down] 'artist-next-line)
-     (define-key map "\C-n" 'artist-next-line)
-     (define-key map [left] 'artist-backward-char)
-     (define-key map "\C-b" 'artist-backward-char)
-     (define-key map [right] 'artist-forward-char)
-     (define-key map "\C-f" 'artist-forward-char)
-     (define-key map "<" 'artist-toggle-first-arrow)
-     (define-key map ">" 'artist-toggle-second-arrow)
-     (define-key map "\C-c\C-a\C-e" 'artist-select-erase-char)
-     (define-key map "\C-c\C-a\C-f" 'artist-select-fill-char)
-     (define-key map "\C-c\C-a\C-l" 'artist-select-line-char)
-     (define-key map "\C-c\C-a\C-o" 'artist-select-operation)
-     (define-key map "\C-c\C-a\C-r" 'artist-toggle-rubber-banding)
-     (define-key map "\C-c\C-a\C-t" 'artist-toggle-trim-line-endings)
-     (define-key map "\C-c\C-a\C-s" 'artist-toggle-borderless-shapes)
-     (define-key map "\C-c\C-c"     'artist-mode-off)
-     (define-key map "\C-c\C-al"    'artist-select-op-line)
-     (define-key map "\C-c\C-aL"    'artist-select-op-straight-line)
-     (define-key map "\C-c\C-ar"    'artist-select-op-rectangle)
-     (define-key map "\C-c\C-aR"    'artist-select-op-square)
-     (define-key map "\C-c\C-as"    'artist-select-op-square)
-     (define-key map "\C-c\C-ap"    'artist-select-op-poly-line)
-     (define-key map "\C-c\C-aP"    'artist-select-op-straight-poly-line)
-     (define-key map "\C-c\C-ae"    'artist-select-op-ellipse)
-     (define-key map "\C-c\C-ac"    'artist-select-op-circle)
-     (define-key map "\C-c\C-at"    'artist-select-op-text-see-thru)
-     (define-key map "\C-c\C-aT"    'artist-select-op-text-overwrite)
-     (define-key map "\C-c\C-aS"    'artist-select-op-spray-can)
-     (define-key map "\C-c\C-az"    'artist-select-op-spray-set-size)
-     (define-key map "\C-c\C-a\C-d" 'artist-select-op-erase-char)
-     (define-key map "\C-c\C-aE"    'artist-select-op-erase-rectangle)
-     (define-key map "\C-c\C-av"    'artist-select-op-vaporize-line)
-     (define-key map "\C-c\C-aV"    'artist-select-op-vaporize-lines)
-     (define-key map "\C-c\C-a\C-k" 'artist-select-op-cut-rectangle)
-     (define-key map "\C-c\C-a\M-w" 'artist-select-op-copy-rectangle)
-     (define-key map "\C-c\C-a\C-y" 'artist-select-op-paste)
-     (define-key map "\C-c\C-af"    'artist-select-op-flood-fill)
-     (define-key map "\C-c\C-a\C-b" 'artist-submit-bug-report)
-     (define-key map [menu-bar artist] (cons "Artist" artist-menu-map))
-     map)
-   "Keymap for `artist-minor-mode'.")
- 
  (defvar artist-replacement-table (make-vector 256 0)
    "Replacement table for `artist-replace-char'.")
  
--- 538,543 ----
***************
*** 1196,1204 ****
  ;;; ---------------------------------
  
  ;;;###autoload
! (defun artist-mode (&optional state)
    "Toggle Artist mode.
! With argument STATE, turn Artist mode on if STATE is positive.
  Artist lets you draw lines, squares, rectangles and poly-lines,
  ellipses and circles with your mouse and/or keyboard.
  
--- 1133,1141 ----
  ;;; ---------------------------------
  
  ;;;###autoload
! (define-minor-mode artist-mode
    "Toggle Artist mode.
! With argument ARG, turn Artist mode on if ARG is positive.
  Artist lets you draw lines, squares, rectangles and poly-lines,
  ellipses and circles with your mouse and/or keyboard.
  
***************
*** 1387,1472 ****
  
  Hooks
  
!  When entering artist-mode, the hook `artist-mode-init-hook' is called.
!  When quitting artist-mode, the hook `artist-mode-exit-hook' is called.
  
  
  Keymap summary
  
  \\{artist-mode-map}"
!   (interactive)
!   (if (setq artist-mode
! 	    (if (null state) (not artist-mode)
! 	      (> (prefix-numeric-value state) 0)))
!       (artist-mode-init)
!     (artist-mode-exit)))
! 
! ;; insert our minor mode string
! (or (assq 'artist-mode minor-mode-alist)
!     (setq minor-mode-alist
! 	  (cons '(artist-mode artist-mode-name)
! 		minor-mode-alist)))
! 
! ;; insert our minor mode keymap
! (or (assq 'artist-mode minor-mode-map-alist)
!     (setq minor-mode-map-alist
! 	  (cons (cons 'artist-mode artist-mode-map)
! 		minor-mode-map-alist)))
! 
! 
! ;; Init and exit
! (defun artist-mode-init ()
!   "Init Artist mode.  This will call the hook `artist-mode-init-hook'."
!   ;; Set up a conversion table for mapping tabs and new-lines to spaces.
!   ;; the last case, 0, is for the last position in buffer/region, where
!   ;; the `following-char' function returns 0.
!   (let ((i 0))
!     (while (< i 256)
!       (aset artist-replacement-table i i)
!       (setq i (1+ i))))
!   (aset artist-replacement-table ?\n ?\s)
!   (aset artist-replacement-table ?\t ?\s)
!   (aset artist-replacement-table 0 ?\s)
!   ;; More setup
!   (make-local-variable 'artist-key-is-drawing)
!   (make-local-variable 'artist-key-endpoint1)
!   (make-local-variable 'artist-key-poly-point-list)
!   (make-local-variable 'artist-key-shape)
!   (make-local-variable 'artist-key-draw-how)
!   (make-local-variable 'artist-popup-menu-table)
!   (make-local-variable 'artist-key-compl-table)
!   (make-local-variable 'artist-prev-next-op-alist)
!   (make-local-variable 'artist-rb-save-data)
!   (make-local-variable 'artist-arrow-point-1)
!   (make-local-variable 'artist-arrow-point-2)
!   (setq artist-key-is-drawing nil)
!   (setq artist-key-endpoint1 nil)
!   (setq artist-key-poly-point-list nil)
!   (setq artist-key-shape nil)
!   (setq artist-popup-menu-table (artist-compute-popup-menu-table artist-mt))
!   (setq artist-key-compl-table (artist-compute-key-compl-table artist-mt))
!   (setq artist-prev-next-op-alist
! 	(artist-make-prev-next-op-alist artist-key-compl-table))
!   (setq artist-rb-save-data (make-vector 7 0))
!   (setq artist-arrow-point-1 nil)
!   (setq artist-arrow-point-2 nil)
!   (make-local-variable 'next-line-add-newlines)
!   (setq next-line-add-newlines t)
!   (setq artist-key-draw-how
! 	(artist-go-get-draw-how-from-symbol artist-curr-go))
!   (if (and artist-picture-compatibility (not (eq major-mode 'picture-mode)))
!       (progn
! 	(picture-mode)
! 	(message "")))
!   (run-hooks 'artist-mode-init-hook)
!   (artist-mode-line-show-curr-operation artist-key-is-drawing))
! 
! (defun artist-mode-exit ()
!   "Exit Artist mode.  This will call the hook `artist-mode-exit-hook'."
!   (if (and artist-picture-compatibility (eq major-mode 'picture-mode))
!       (picture-mode-exit))
!   (kill-local-variable 'next-line-add-newlines)
!   (run-hooks 'artist-mode-exit-hook))
  
  (defun artist-mode-off ()
    "Turn Artist mode off."
--- 1324,1438 ----
  
  Hooks
  
! Turning the mode on or off runs `artist-mode-hook'.
  
  
  Keymap summary
  
  \\{artist-mode-map}"
!   :init-value nil   :group 'artist :lighter " Artist"
!   :keymap
!   '(([down-mouse-1]	.	artist-down-mouse-1)
!     ([S-down-mouse-1]	.	artist-down-mouse-1)
!     ([down-mouse-2]	.	artist-mouse-choose-operation)
!     ([S-down-mouse-2]	.	artist-mouse-choose-operation)
!     ([down-mouse-3]	.	artist-down-mouse-3)
!     ([S-down-mouse-3]	.	artist-down-mouse-3)
!     ([C-mouse-4]	.	artist-select-prev-op-in-list)
!     ([C-mouse-5]	.	artist-select-next-op-in-list)
!     ("\r"		.	artist-key-set-point) ; return
!     ([up]		.	artist-previous-line)
!     ("\C-p"		.	artist-previous-line)
!     ([down]		.	artist-next-line)
!     ("\C-n"		.	artist-next-line)
!     ([left]		.	artist-backward-char)
!     ("\C-b"		.	artist-backward-char)
!     ([right]		.	artist-forward-char)
!     ("\C-f"		.	artist-forward-char)
!     ("<"		.	artist-toggle-first-arrow)
!     (">"		.	artist-toggle-second-arrow)
!     ("\C-c\C-a\C-e"	.	artist-select-erase-char)
!     ("\C-c\C-a\C-f"	.	artist-select-fill-char)
!     ("\C-c\C-a\C-l"	.	artist-select-line-char)
!     ("\C-c\C-a\C-o"	.	artist-select-operation)
!     ("\C-c\C-a\C-r"	.	artist-toggle-rubber-banding)
!     ("\C-c\C-a\C-t"	.	artist-toggle-trim-line-endings)
!     ("\C-c\C-a\C-s"	.	artist-toggle-borderless-shapes)
!     ("\C-c\C-c"		.	artist-mode-off)
!     ("\C-c\C-al"	.	artist-select-op-line)
!     ("\C-c\C-aL"	.	artist-select-op-straight-line)
!     ("\C-c\C-ar"	.	artist-select-op-rectangle)
!     ("\C-c\C-aR"	.	artist-select-op-square)
!     ("\C-c\C-as"	.	artist-select-op-square)
!     ("\C-c\C-ap"	.	artist-select-op-poly-line)
!     ("\C-c\C-aP"	.	artist-select-op-straight-poly-line)
!     ("\C-c\C-ae"	.	artist-select-op-ellipse)
!     ("\C-c\C-ac"	.	artist-select-op-circle)
!     ("\C-c\C-at"	.	artist-select-op-text-see-thru)
!     ("\C-c\C-aT"	.	artist-select-op-text-overwrite)
!     ("\C-c\C-aS"	.	artist-select-op-spray-can)
!     ("\C-c\C-az"	.	artist-select-op-spray-set-size)
!     ("\C-c\C-a\C-d"	.	artist-select-op-erase-char)
!     ("\C-c\C-aE"	.	artist-select-op-erase-rectangle)
!     ("\C-c\C-av"	.	artist-select-op-vaporize-line)
!     ("\C-c\C-aV"	.	artist-select-op-vaporize-lines)
!     ("\C-c\C-a\C-k"	.	artist-select-op-cut-rectangle)
!     ("\C-c\C-a\M-w"	.	artist-select-op-copy-rectangle)
!     ("\C-c\C-a\C-y"	.	artist-select-op-paste)
!     ("\C-c\C-af"	.	artist-select-op-flood-fill)
!     ("\C-c\C-a\C-b"	.	artist-submit-bug-report)
!     ([menu-bar artist]	.	artist-menu-map))
!   (cond ((null artist-mode)
! 	 ;; Turn mode off
! 	 (if (and artist-picture-compatibility (eq major-mode 'picture-mode))
! 	     (picture-mode-exit))
! 	 (kill-local-variable 'next-line-add-newlines))
! 	
! 	(t
! 	 ;; Turn mode on
! 	 ;; Set up a conversion table for mapping tabs and new-lines to spaces.
! 	 ;; the last case, 0, is for the last position in buffer/region, where
! 	 ;; the `following-char' function returns 0.
! 	 (let ((i 0))
! 	   (while (< i 256)
! 	     (aset artist-replacement-table i i)
! 	     (setq i (1+ i))))
! 	 (aset artist-replacement-table ?\n ?\s)
! 	 (aset artist-replacement-table ?\t ?\s)
! 	 (aset artist-replacement-table 0 ?\s)
! 	 ;; More setup
! 	 (make-local-variable 'artist-key-is-drawing)
! 	 (make-local-variable 'artist-key-endpoint1)
! 	 (make-local-variable 'artist-key-poly-point-list)
! 	 (make-local-variable 'artist-key-shape)
! 	 (make-local-variable 'artist-key-draw-how)
! 	 (make-local-variable 'artist-popup-menu-table)
! 	 (make-local-variable 'artist-key-compl-table)
! 	 (make-local-variable 'artist-prev-next-op-alist)
! 	 (make-local-variable 'artist-rb-save-data)
! 	 (make-local-variable 'artist-arrow-point-1)
! 	 (make-local-variable 'artist-arrow-point-2)
! 	 (setq artist-key-is-drawing nil)
! 	 (setq artist-key-endpoint1 nil)
! 	 (setq artist-key-poly-point-list nil)
! 	 (setq artist-key-shape nil)
! 	 (setq artist-popup-menu-table (artist-compute-popup-menu-table artist-mt))
! 	 (setq artist-key-compl-table (artist-compute-key-compl-table artist-mt))
! 	 (setq artist-prev-next-op-alist
! 	       (artist-make-prev-next-op-alist artist-key-compl-table))
! 	 (setq artist-rb-save-data (make-vector 7 0))
! 	 (setq artist-arrow-point-1 nil)
! 	 (setq artist-arrow-point-2 nil)
! 	 (make-local-variable 'next-line-add-newlines)
! 	 (setq next-line-add-newlines t)
! 	 (setq artist-key-draw-how
! 	       (artist-go-get-draw-how-from-symbol artist-curr-go))
! 	 (if (and artist-picture-compatibility (not (eq major-mode 'picture-mode)))
! 	     (progn
! 	       (picture-mode)
! 	       (message "")))
! 	 (artist-mode-line-show-curr-operation artist-key-is-drawing))))
! 
  
  (defun artist-mode-off ()
    "Turn Artist mode off."
***************
*** 1484,1490 ****
  
  (defun artist-mode-line-show-curr-operation (is-drawing)
    "Show current operation in mode-line.  If IS-DRAWING, show that."
!   (let ((mtext (concat artist-mode-name "/"
  		       (artist-go-get-mode-line-from-symbol artist-curr-go)
  		       (if is-drawing "/*" ""))))
      (setcdr (assq 'artist-mode minor-mode-alist) (list mtext)))
--- 1450,1456 ----
  
  (defun artist-mode-line-show-curr-operation (is-drawing)
    "Show current operation in mode-line.  If IS-DRAWING, show that."
!   (let ((mtext (concat " Artist/"
  		       (artist-go-get-mode-line-from-symbol artist-curr-go)
  		       (if is-drawing "/*" ""))))
      (setcdr (assq 'artist-mode minor-mode-alist) (list mtext)))






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Wed, 08 Feb 2012 19:27:02 GMT) Full text and rfc822 format available.

Message #11 received at 10760 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: William Stevenson <yhvh2000 <at> gmail.com>
Cc: tab <at> lysator.liu.se, 10760 <at> debbugs.gnu.org
Subject: Re: bug#10760: 24.0.93;
	[patch] Convert artist-mode to use define-minor-mode
Date: Wed, 08 Feb 2012 14:25:20 -0500
Thank you.

> - (defvar artist-mode-map

The keymap does not have to be defined within the call to
define-minor-mode (actually I recommend you don't do that in general),
so you can leave the (defvar artist-mode-map ...) untouched.

> ! (defun artist-mode-init ()
[...]
> ! (defun artist-mode-exit ()

You can also keep these functions.  This will significantly reduce the
size of your patch and will make it much easier to figure out what is
really changed (and hence, whether or not the change is safe).

> !   :init-value nil   :group 'artist :lighter " Artist"

You should use artist-mode-name here.


        Stefan "who actually prefers `diff -u' format"




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Thu, 09 Feb 2012 04:17:01 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: William Stevenson <yhvh2000 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#10760: 24.0.93;
	[patch] Convert artist-mode to use define-minor-mode
Date: Thu, 09 Feb 2012 04:15:15 +0000
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> - (defvar artist-mode-map
>
> The keymap does not have to be defined within the call to
> define-minor-mode (actually I recommend you don't do that in general),
> so you can leave the (defvar artist-mode-map ...) untouched.

I did :keymap artist-mode-map.

>> ! (defun artist-mode-init ()
> [...]
>> ! (defun artist-mode-exit ()
>
> You can also keep these functions.  This will significantly reduce the
> size of your patch and will make it much easier to figure out what is
> really changed (and hence, whether or not the change is safe).

Done.

>> !   :init-value nil   :group 'artist :lighter " Artist"
>
> You should use artist-mode-name here.

Done.

>
>         Stefan "who actually prefers `diff -u' format"

Me too, serves me right for reading the manual :B

In summary:
Updated artist-mode to use define-minor-mode.
As a consequence, artist-mode-init-hook and artist-mode-exit-hook were
removed from artist-mode-init and artist-mode-exit, because d-m-m creates
artist-mode-hook, and runs it when the mode is turned on or off.
Documentation was updated to reflect this.

=== modified file 'lisp/textmodes/artist.el'
--- lisp/textmodes/artist.el	2012-01-19 07:21:25 +0000
+++ lisp/textmodes/artist.el	2012-02-09 03:00:37 +0000
@@ -1196,9 +1196,9 @@
 ;;; ---------------------------------
 
 ;;;###autoload
-(defun artist-mode (&optional state)
+(define-minor-mode artist-mode
   "Toggle Artist mode.
-With argument STATE, turn Artist mode on if STATE is positive.
+With argument ARG, turn Artist mode on if ARG is positive.
 Artist lets you draw lines, squares, rectangles and poly-lines,
 ellipses and circles with your mouse and/or keyboard.
 
@@ -1387,36 +1387,24 @@
 
 Hooks
 
- When entering artist-mode, the hook `artist-mode-init-hook' is called.
- When quitting artist-mode, the hook `artist-mode-exit-hook' is called.
+ Turning the mode on or off runs `artist-mode-hook'.
 
 
 Keymap summary
 
 \\{artist-mode-map}"
-  (interactive)
-  (if (setq artist-mode
-	    (if (null state) (not artist-mode)
-	      (> (prefix-numeric-value state) 0)))
-      (artist-mode-init)
-    (artist-mode-exit)))
-
-;; insert our minor mode string
-(or (assq 'artist-mode minor-mode-alist)
-    (setq minor-mode-alist
-	  (cons '(artist-mode artist-mode-name)
-		minor-mode-alist)))
-
-;; insert our minor mode keymap
-(or (assq 'artist-mode minor-mode-map-alist)
-    (setq minor-mode-map-alist
-	  (cons (cons 'artist-mode artist-mode-map)
-		minor-mode-map-alist)))
-
+  :init-value nil :group 'artist :lighter artist-mode-name
+  :keymap artist-mode-map
+  (cond ((null artist-mode)
+	 ;; Turn mode off
+	 (artist-mode-exit))
+	(t
+	 ;; Turn mode on
+	 (artist-mode-init))))
 
 ;; Init and exit
 (defun artist-mode-init ()
-  "Init Artist mode.  This will call the hook `artist-mode-init-hook'."
+  "Init Artist mode.  This will call the hook `artist-mode-hook'."
   ;; Set up a conversion table for mapping tabs and new-lines to spaces.
   ;; the last case, 0, is for the last position in buffer/region, where
   ;; the `following-char' function returns 0.
@@ -1458,15 +1446,13 @@
       (progn
 	(picture-mode)
 	(message "")))
-  (run-hooks 'artist-mode-init-hook)
   (artist-mode-line-show-curr-operation artist-key-is-drawing))
 
 (defun artist-mode-exit ()
-  "Exit Artist mode.  This will call the hook `artist-mode-exit-hook'."
+  "Exit Artist mode.  This will call the hook `artist-mode-hook'."
   (if (and artist-picture-compatibility (eq major-mode 'picture-mode))
       (picture-mode-exit))
-  (kill-local-variable 'next-line-add-newlines)
-  (run-hooks 'artist-mode-exit-hook))
+  (kill-local-variable 'next-line-add-newlines))
 
 (defun artist-mode-off ()
   "Turn Artist mode off."






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Thu, 09 Feb 2012 22:03:02 GMT) Full text and rfc822 format available.

Message #17 received at 10760 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: William Stevenson <yhvh2000 <at> gmail.com>
Cc: 10760 <at> debbugs.gnu.org
Subject: Re: bug#10760: 24.0.93;
	[patch] Convert artist-mode to use define-minor-mode
Date: Thu, 09 Feb 2012 17:01:42 -0500
>> Stefan "who actually prefers `diff -u' format"

> Me too, serves me right for reading the manual :B

> In summary:
> Updated artist-mode to use define-minor-mode.
> As a consequence, artist-mode-init-hook and artist-mode-exit-hook were
> removed from artist-mode-init and artist-mode-exit, because d-m-m creates
> artist-mode-hook, and runs it when the mode is turned on or off.
> Documentation was updated to reflect this.

Looks good, please install, and thank you,


        Stefan


> === modified file 'lisp/textmodes/artist.el'
> --- lisp/textmodes/artist.el	2012-01-19 07:21:25 +0000
> +++ lisp/textmodes/artist.el	2012-02-09 03:00:37 +0000
> @@ -1196,9 +1196,9 @@
>  ;;; ---------------------------------
 
>  ;;;###autoload
> -(defun artist-mode (&optional state)
> +(define-minor-mode artist-mode
>    "Toggle Artist mode.
> -With argument STATE, turn Artist mode on if STATE is positive.
> +With argument ARG, turn Artist mode on if ARG is positive.
>  Artist lets you draw lines, squares, rectangles and poly-lines,
>  ellipses and circles with your mouse and/or keyboard.
 
> @@ -1387,36 +1387,24 @@
 
>  Hooks
 
> - When entering artist-mode, the hook `artist-mode-init-hook' is called.
> - When quitting artist-mode, the hook `artist-mode-exit-hook' is called.
> + Turning the mode on or off runs `artist-mode-hook'.
 
 
>  Keymap summary
 
>  \\{artist-mode-map}"
> -  (interactive)
> -  (if (setq artist-mode
> -	    (if (null state) (not artist-mode)
> -	      (> (prefix-numeric-value state) 0)))
> -      (artist-mode-init)
> -    (artist-mode-exit)))
> -
> -;; insert our minor mode string
> -(or (assq 'artist-mode minor-mode-alist)
> -    (setq minor-mode-alist
> -	  (cons '(artist-mode artist-mode-name)
> -		minor-mode-alist)))
> -
> -;; insert our minor mode keymap
> -(or (assq 'artist-mode minor-mode-map-alist)
> -    (setq minor-mode-map-alist
> -	  (cons (cons 'artist-mode artist-mode-map)
> -		minor-mode-map-alist)))
> -
> +  :init-value nil :group 'artist :lighter artist-mode-name
> +  :keymap artist-mode-map
> +  (cond ((null artist-mode)
> +	 ;; Turn mode off
> +	 (artist-mode-exit))
> +	(t
> +	 ;; Turn mode on
> +	 (artist-mode-init))))
 
>  ;; Init and exit
>  (defun artist-mode-init ()
> -  "Init Artist mode.  This will call the hook `artist-mode-init-hook'."
> +  "Init Artist mode.  This will call the hook `artist-mode-hook'."
>    ;; Set up a conversion table for mapping tabs and new-lines to spaces.
>    ;; the last case, 0, is for the last position in buffer/region, where
>    ;; the `following-char' function returns 0.
> @@ -1458,15 +1446,13 @@
>        (progn
>  	(picture-mode)
>  	(message "")))
> -  (run-hooks 'artist-mode-init-hook)
>    (artist-mode-line-show-curr-operation artist-key-is-drawing))
 
>  (defun artist-mode-exit ()
> -  "Exit Artist mode.  This will call the hook `artist-mode-exit-hook'."
> +  "Exit Artist mode.  This will call the hook `artist-mode-hook'."
>    (if (and artist-picture-compatibility (eq major-mode 'picture-mode))
>        (picture-mode-exit))
> -  (kill-local-variable 'next-line-add-newlines)
> -  (run-hooks 'artist-mode-exit-hook))
> +  (kill-local-variable 'next-line-add-newlines))
 
>  (defun artist-mode-off ()
>    "Turn Artist mode off."








Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Sat, 11 Feb 2012 02:25:02 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):

From: William Stevenson <yhvh2000 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#10760: 24.0.93;
	[patch] Convert artist-mode to use define-minor-mode
Date: Sat, 11 Feb 2012 02:22:41 +0000
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

>> In summary:
>> Updated artist-mode to use define-minor-mode.
>> As a consequence, artist-mode-init-hook and artist-mode-exit-hook were
>> removed from artist-mode-init and artist-mode-exit, because d-m-m creates
>> artist-mode-hook, and runs it when the mode is turned on or off.
>> Documentation was updated to reflect this.
>
> Looks good, please install, and thank you,

I don't have write access atm, although I have signed the FSF papers and
have contributed to emacs before (adwaita-theme.el). 

I have created an account on savannah and will request formal inclusion
if given the go-ahead.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Mon, 13 Feb 2012 21:00:02 GMT) Full text and rfc822 format available.

Message #23 received at 10760 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: William Stevenson <yhvh2000 <at> gmail.com>
Cc: 10760 <at> debbugs.gnu.org
Subject: Re: bug#10760: 24.0.93;
	[patch] Convert artist-mode to use define-minor-mode
Date: Mon, 13 Feb 2012 15:57:44 -0500
>>> In summary:
>>> Updated artist-mode to use define-minor-mode.
>>> As a consequence, artist-mode-init-hook and artist-mode-exit-hook were
>>> removed from artist-mode-init and artist-mode-exit, because d-m-m creates
>>> artist-mode-hook, and runs it when the mode is turned on or off.
>>> Documentation was updated to reflect this.
>> Looks good, please install, and thank you,
> I don't have write access atm, although I have signed the FSF papers and
> have contributed to emacs before (adwaita-theme.el). 
> I have created an account on savannah and will request formal inclusion
> if given the go-ahead.

Actually, I wasn't thinking: while your patch is fine, it can't be
installed now because we're in feature freeze and this is not really
bug-fix.
Please bring it up again in a couple months when we open the trunk for
development again (hopefully soonish).


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10760; Package emacs. (Wed, 11 Apr 2012 12:00:02 GMT) Full text and rfc822 format available.

Message #26 received at 10760 <at> debbugs.gnu.org (full text, mbox):

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: William Stevenson <yhvh2000 <at> gmail.com>
Cc: 10760 <at> debbugs.gnu.org
Subject: Re: bug#10760: 24.0.93;
	[patch] Convert artist-mode to use define-minor-mode
Date: Wed, 11 Apr 2012 13:57:53 +0200
William Stevenson <yhvh2000 <at> gmail.com> writes:

> In summary:
> Updated artist-mode to use define-minor-mode.

I've now applied this patch to the Emacs trunk.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




bug marked as fixed in version 24.2, send any further explanations to 10760 <at> debbugs.gnu.org and William Stevenson <yhvh2000 <at> gmail.com> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 12 Apr 2012 23:35:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 11 May 2012 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 364 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.