emacs-devel
[Top][All Lists]
Advanced

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

Re: Shift selection using interactive spec


From: Juri Linkov
Subject: Re: Shift selection using interactive spec
Date: Fri, 28 Mar 2008 01:52:20 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu)

>     Yes, but the problem here is rather that you may need to redefine which
>     commands should deactivate the mark. Doing that with a symbol property
>     makes it much more flexible.
>
> Why is it important to be able change whether a command deactivates
> the mark without changing the command itself?

As the users of cua-selection-mode already testified on this thread,
it is important for them to be able to tune this feature for some
commands.  And the easiest way to do this is to change properties.

Since there were complaints that property lists are "hidden" from users,
I propose the following patch to display them in the output of
`describe-function' and `describe-variable'.  The first part of this
patch also fixes a bug in navigating to the definition of an advised
function by using the correct variable `function' instead of
`real-function':

Index: lisp/help-fns.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/help-fns.el,v
retrieving revision 1.118
diff -c -r1.118 help-fns.el
*** lisp/help-fns.el    26 Mar 2008 14:49:15 -0000      1.118
--- lisp/help-fns.el    27 Mar 2008 23:51:33 -0000
***************
*** 347,353 ****
        (with-current-buffer standard-output
          (save-excursion
          (re-search-backward "`\\([^`']+\\)'" nil t)
!         (help-xref-button 1 'help-function-def real-function file-name))))
      (princ ".")
      (with-current-buffer (help-buffer)
        (fill-region-as-paragraph (save-excursion (goto-char pt1) (forward-line 
0) (point))
--- 347,353 ----
        (with-current-buffer standard-output
          (save-excursion
          (re-search-backward "`\\([^`']+\\)'" nil t)
!         (help-xref-button 1 'help-function-def function file-name))))
      (princ ".")
      (with-current-buffer (help-buffer)
        (fill-region-as-paragraph (save-excursion (goto-char pt1) (forward-line 
0) (point))
***************
*** 435,441 ****
                          (t "."))
                    "\n"))
            (insert "\n"
!                   (or doc "Not documented.")))))))
  
  
  ;; Variables
--- 435,446 ----
                          (t "."))
                    "\n"))
            (insert "\n"
!                   (or doc "Not documented.")))
!       (let ((pl (symbol-plist function)))
!         (when pl
!           (princ "\n\nSymbol plist is:\n")
!           (while pl
!             (princ (format "  %s %S\n" (pop pl) (pop pl))))))))))
  
  
  ;; Variables
***************
*** 679,684 ****
--- 684,695 ----
              (with-current-buffer standard-output
                (insert (or doc "Not documented as a variable."))))
  
+           (let ((pl (symbol-plist variable)))
+             (when pl
+               (princ "\n\nSymbol plist is:\n")
+               (while pl
+                 (princ (format "  %s %S\n" (pop pl) (pop pl))))))
+ 
              (let ((customize-label "customize")
                    (initialization-file "initialization file"))
                ;; All variables can be set; some can be customized

-- 
Juri Linkov
http://www.jurta.org/emacs/




reply via email to

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