emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Maintenance suggestion on an emacs mode


From: Stefan Monnier
Subject: Re: Maintenance suggestion on an emacs mode
Date: Sun, 30 Mar 2008 18:21:12 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>> Please find below the packages for which maintainer is FSF or
>> maintainer email does not work anymore.
>> 
>> 
>> Thanks for reporting these.  They should indeed be fixed.
>> Would you like to write patches for them?
>> 

> Here we go :

> This one is fairly evident and can be applied straight.

Thanks, that looks good.  Please someone install it.

> That one is less evident. Actually, HTML mode has a 'quick-keys'
> option that is disabled by default. When enabled, C-c[a-z] keys
> are bound. I do not know what users want, I'm not one of them,
> but in case here is the patch. I just prefixed those keys by
> "C-c C-q" (q for quick-key).

> diff -r f00d6e37763a -r 7492320e7825 lisp/textmodes/sgml-mode.el
> --- a/lisp/textmodes/sgml-mode.el       Sun Mar 30 16:31:19 2008 +0200
> +++ b/lisp/textmodes/sgml-mode.el       Sun Mar 30 16:48:36 2008 +0200
> @@ -1579,15 +1579,15 @@ This takes effect when first loading the
>      (define-key map "\C-c\C-cn" 'html-name-anchor)
>      (define-key map "\C-c\C-ci" 'html-image)
>      (when html-quick-keys
> -      (define-key map "\C-c-" 'html-horizontal-rule)
> -      (define-key map "\C-co" 'html-ordered-list)
> -      (define-key map "\C-cu" 'html-unordered-list)
> -      (define-key map "\C-cr" 'html-radio-buttons)
> -      (define-key map "\C-cc" 'html-checkboxes)
> -      (define-key map "\C-cl" 'html-list-item)
> -      (define-key map "\C-ch" 'html-href-anchor)
> -      (define-key map "\C-cn" 'html-name-anchor)
> -      (define-key map "\C-ci" 'html-image))
> +      (define-key map "\C-c\C-q-" 'html-horizontal-rule)
> +      (define-key map "\C-c\C-qo" 'html-ordered-list)
> +      (define-key map "\C-c\C-qu" 'html-unordered-list)
> +      (define-key map "\C-c\C-qr" 'html-radio-buttons)
> +      (define-key map "\C-c\C-qc" 'html-checkboxes)
> +      (define-key map "\C-c\C-ql" 'html-list-item)
> +      (define-key map "\C-c\C-qh" 'html-href-anchor)
> +      (define-key map "\C-c\C-qn" 'html-name-anchor)
> +      (define-key map "\C-c\C-qi" 'html-image))
>      (define-key map "\C-c\C-s" 'html-autoview-mode)
>      (define-key map "\C-c\C-v" 'browse-url-of-buffer)
>      (define-key map [menu-bar html] (cons "HTML" menu-map))

I'd recommend to use a config `html-quick-keys-prefix' that defaults to
"\C-c\C-q" so the users can set it to "\C-c" (or anything else) if they
want to.  I guess a good idea would also be to introduce
html-quick-keys-map and then just do
(define-key map html-quick-keys-prefix html-quick-keys-map).

> For this mode, keys are bound by default, so the patch should be
> applied. As they all are quick keys, I prefixed them by "C-c C-q"
> as well.

> diff -r 7492320e7825 -r 2fe60049a07e lisp/progmodes/modula2.el
> --- a/lisp/progmodes/modula2.el Sun Mar 30 16:48:36 2008 +0200
> +++ b/lisp/progmodes/modula2.el Sun Mar 30 16:58:58 2008 +0200
> @@ -75,30 +75,29 @@
>  (if m2-mode-map ()
>    (let ((map (make-sparse-keymap)))
>      (define-key map "\^i" 'm2-tab)
> -    (define-key map "\C-cb" 'm2-begin)
> -    (define-key map "\C-cc" 'm2-case)
> -    (define-key map "\C-cd" 'm2-definition)
> -    (define-key map "\C-ce" 'm2-else)
> -    (define-key map "\C-cf" 'm2-for)
> -    (define-key map "\C-ch" 'm2-header)
> -    (define-key map "\C-ci" 'm2-if)
> -    (define-key map "\C-cm" 'm2-module)
> -    (define-key map "\C-cl" 'm2-loop)
> -    (define-key map "\C-co" 'm2-or)
> -    (define-key map "\C-cp" 'm2-procedure)
> -    (define-key map "\C-c\C-w" 'm2-with)
> -    (define-key map "\C-cr" 'm2-record)
> -    (define-key map "\C-cs" 'm2-stdio)
> -    (define-key map "\C-ct" 'm2-type)
> -    (define-key map "\C-cu" 'm2-until)
> -    (define-key map "\C-cv" 'm2-var)
> -    (define-key map "\C-cw" 'm2-while)
> -    (define-key map "\C-cx" 'm2-export)
> -    (define-key map "\C-cy" 'm2-import)
> +    (define-key map "\C-c\C-qb" 'm2-begin)
> +    (define-key map "\C-c\C-qc" 'm2-case)
> +    (define-key map "\C-c\C-qd" 'm2-definition)
> +    (define-key map "\C-c\C-qe" 'm2-else)
> +    (define-key map "\C-c\C-qf" 'm2-for)
> +    (define-key map "\C-c\C-qh" 'm2-header)
> +    (define-key map "\C-c\C-qi" 'm2-if)
> +    (define-key map "\C-c\C-ql" 'm2-loop)
> +    (define-key map "\C-c\C-qm" 'm2-module)
> +    (define-key map "\C-c\C-qo" 'm2-or)
> +    (define-key map "\C-c\C-qp" 'm2-procedure)
> +    (define-key map "\C-c\C-qr" 'm2-record)
> +    (define-key map "\C-c\C-qs" 'm2-stdio)
> +    (define-key map "\C-c\C-qt" 'm2-type)
> +    (define-key map "\C-c\C-qu" 'm2-until)
> +    (define-key map "\C-c\C-qv" 'm2-var)
> +    (define-key map "\C-c\C-qw" 'm2-while)
> +    (define-key map "\C-c\C-cW" 'm2-with)
> +    (define-key map "\C-c\C-qx" 'm2-export)
> +    (define-key map "\C-c\C-qy" 'm2-import)
>      (define-key map "\C-c{" 'm2-begin-comment)
>      (define-key map "\C-c}" 'm2-end-comment)
>      (define-key map "\C-j"  'm2-newline)
> -    (define-key map "\C-c\C-z" 'suspend-emacs)
>      (define-key map "\C-c\C-v" 'm2-visit)
>      (define-key map "\C-c\C-t" 'm2-toggle)
>      (define-key map "\C-c\C-l" 'm2-link)

You could do the same here.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]