mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-25 10:47:00 +00:00
* emacs-lisp/debug.el (debugger-mode-map):
* textmodes/conf-mode.el (conf-mode-map): Add a menu. (conf-align-assignments): Only work on the region if it is active. (conf-quote-normal): Use when instead of if. Remove redundant test.
This commit is contained in:
parent
5e8bbcc4c9
commit
b23718189d
@ -585,7 +585,8 @@ Applies to the frame whose line point is on in the backtrace."
|
||||
(debugger-env-macro (eval-expression exp)))
|
||||
|
||||
(defvar debugger-mode-map
|
||||
(let ((map (make-keymap)))
|
||||
(let ((map (make-keymap))
|
||||
(menu-map (make-sparse-keymap)))
|
||||
(set-keymap-parent map button-buffer-map)
|
||||
(suppress-keymap map)
|
||||
(define-key map "-" 'negative-argument)
|
||||
@ -603,6 +604,49 @@ Applies to the frame whose line point is on in the backtrace."
|
||||
(define-key map "R" 'debugger-record-expression)
|
||||
(define-key map "\C-m" 'debug-help-follow)
|
||||
(define-key map [mouse-2] 'push-button)
|
||||
(define-key map [menu-bar debugger] (cons "Debugger" menu-map))
|
||||
(define-key menu-map [deb-top]
|
||||
'(menu-item "Quit" top-level
|
||||
:help "Quit debugging and return to top leve"))
|
||||
(define-key menu-map [deb-s0] '("--"))
|
||||
(define-key menu-map [deb-descr]
|
||||
'(menu-item "Describe Debugger Mode" describe-mode
|
||||
:help "Display documentation for debugger-mode"))
|
||||
(define-key menu-map [deb-hfol]
|
||||
'(menu-item "Help Follow" debug-help-follow
|
||||
:help "Follow cross-reference"))
|
||||
(define-key menu-map [deb-nxt]
|
||||
'(menu-item "Next Line" next-line
|
||||
:help "Move cursor down"))
|
||||
(define-key menu-map [deb-s1] '("--"))
|
||||
(define-key menu-map [deb-lfunc]
|
||||
'(menu-item "List debug on entry functions" debugger-list-functions
|
||||
:help "Display a list of all the functions now set to debug on entry"))
|
||||
(define-key menu-map [deb-fclear]
|
||||
'(menu-item "Cancel debug frame" debugger-frame-clear
|
||||
:help "Do not enter debugger when this frame exits"))
|
||||
(define-key menu-map [deb-frame]
|
||||
'(menu-item "Debug frame" debugger-frame
|
||||
:help "Request entry to debugger when this frame exits"))
|
||||
(define-key menu-map [deb-s2] '("--"))
|
||||
(define-key menu-map [deb-ret]
|
||||
'(menu-item "Return value..." debugger-return-value
|
||||
:help "Continue, specifying value to return."))
|
||||
(define-key menu-map [deb-rec]
|
||||
'(menu-item "Display and Record Expression" debugger-record-expression
|
||||
:help "Display a variable's value and record it in `*Backtrace-record*' buffer"))
|
||||
(define-key menu-map [deb-eval]
|
||||
'(menu-item "Eval Expression..." debugger-eval-expression
|
||||
:help "Eval an expression, in an environment like that outside the debugger"))
|
||||
(define-key menu-map [deb-jump]
|
||||
'(menu-item "Jump" debugger-jump
|
||||
:help "Continue to exit from this frame, with all debug-on-entry suspended"))
|
||||
(define-key menu-map [deb-cont]
|
||||
'(menu-item "Continue" debugger-continue
|
||||
:help "Continue, evaluating this expression without stopping"))
|
||||
(define-key menu-map [deb-step]
|
||||
'(menu-item "Step through" debugger-step-through
|
||||
:help "Proceed, stepping through subexpressions of this expression"))
|
||||
map))
|
||||
|
||||
(put 'debugger-mode 'mode-class 'special)
|
||||
|
@ -69,9 +69,9 @@ not align (only setting space according to `conf-assignment-space')."
|
||||
:type 'boolean
|
||||
:group 'conf)
|
||||
|
||||
|
||||
(defvar conf-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(let ((map (make-sparse-keymap))
|
||||
(menu-map (make-sparse-keymap)))
|
||||
(define-key map "\C-c\C-u" 'conf-unix-mode)
|
||||
(define-key map "\C-c\C-w" 'conf-windows-mode)
|
||||
(define-key map "\C-c\C-j" 'conf-javaprop-mode)
|
||||
@ -85,6 +85,49 @@ not align (only setting space according to `conf-assignment-space')."
|
||||
(define-key map "\C-c\"" 'conf-quote-normal)
|
||||
(define-key map "\C-c'" 'conf-quote-normal)
|
||||
(define-key map "\C-c\C-a" 'conf-align-assignments)
|
||||
(define-key map [menu-bar sh-script] (cons "Conf" menu-map))
|
||||
(define-key menu-map [conf-windows-mode]
|
||||
'(menu-item "Windows mode"
|
||||
conf-windows-mode
|
||||
:help "Conf Mode starter for Windows style Conf files"
|
||||
:button (:radio . (eq major-mode 'conf-windows-mode))))
|
||||
(define-key menu-map [conf-javaprop-mode]
|
||||
'(menu-item "Java properties mode"
|
||||
conf-javaprop-mode
|
||||
:help "Conf Mode starter for Java properties files"
|
||||
:button (:radio . (eq major-mode 'conf-javaprop-mode))))
|
||||
(define-key menu-map [conf-space-keywords]
|
||||
'(menu-item "Space keywords mode..."
|
||||
conf-space-keywords
|
||||
:help "Enter Conf Space mode using regexp KEYWORDS to match the keywords"
|
||||
:button (:radio . (eq major-mode 'conf-space-keywords))))
|
||||
(define-key menu-map [conf-ppd-mode]
|
||||
'(menu-item "PPD mode"
|
||||
conf-ppd-mode
|
||||
:help "Conf Mode starter for Adobe/CUPS PPD files"
|
||||
:button (:radio . (eq major-mode 'conf-ppd-mode))))
|
||||
(define-key menu-map [conf-colon-mode]
|
||||
'(menu-item "Colon mode"
|
||||
conf-colon-mode
|
||||
:help "Conf Mode starter for Colon files"
|
||||
:button (:radio . (eq major-mode 'conf-colon-mode))))
|
||||
(define-key menu-map [conf-unix-mode]
|
||||
'(menu-item "Unix mode"
|
||||
conf-unix-mode
|
||||
:help "Conf Mode starter for Unix style Conf files"
|
||||
:button (:radio . (eq major-mode 'conf-unix-mode))))
|
||||
(define-key menu-map [conf-xdefaults-mode]
|
||||
'(menu-item "Xdefaults mode"
|
||||
conf-xdefaults-mode
|
||||
:help "Conf Mode starter for Xdefaults files"
|
||||
:button (:radio . (eq major-mode 'conf-xdefaults-mode))))
|
||||
(define-key menu-map [c-s0] '("--"))
|
||||
(define-key menu-map [conf-quote-normal]
|
||||
'(menu-item "Set quote syntax normal" conf-quote-normal
|
||||
:help "Set the syntax of \' and \" to punctuation"))
|
||||
(define-key menu-map [conf-align-assignments]
|
||||
'(menu-item "Align assignments" conf-align-assignments
|
||||
:help "Align assignments"))
|
||||
map)
|
||||
"Local keymap for `conf-mode' buffers.")
|
||||
|
||||
@ -215,37 +258,43 @@ whitespace.")
|
||||
;; `align', I'd be glad to hear.
|
||||
(defun conf-align-assignments (&optional arg)
|
||||
(interactive "P")
|
||||
"Align the assignments in the buffer or active region.
|
||||
In Transient Mark mode, if the mark is active, operate on the
|
||||
contents of the region. Otherwise, operate on the whole buffer."
|
||||
(setq arg (if arg
|
||||
(prefix-numeric-value arg)
|
||||
conf-assignment-column))
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(while (not (eobp))
|
||||
(let ((cs (comment-beginning))) ; go before comment if within
|
||||
(if cs (goto-char cs)))
|
||||
(while (forward-comment 9)) ; max-int?
|
||||
(when (and (not (eobp))
|
||||
(looking-at conf-assignment-regexp))
|
||||
(goto-char (match-beginning 1))
|
||||
(delete-region (point) (match-end 1))
|
||||
(if conf-assignment-sign
|
||||
(if (>= arg 0)
|
||||
(progn
|
||||
(indent-to-column arg)
|
||||
(save-restriction
|
||||
(when (use-region-p)
|
||||
(narrow-to-region (region-beginning) (region-end)))
|
||||
(goto-char (point-min))
|
||||
(while (not (eobp))
|
||||
(let ((cs (comment-beginning))) ; go before comment if within
|
||||
(if cs (goto-char cs)))
|
||||
(while (forward-comment 9)) ; max-int?
|
||||
(when (and (not (eobp))
|
||||
(looking-at conf-assignment-regexp))
|
||||
(goto-char (match-beginning 1))
|
||||
(delete-region (point) (match-end 1))
|
||||
(if conf-assignment-sign
|
||||
(if (>= arg 0)
|
||||
(progn
|
||||
(indent-to-column arg)
|
||||
(or (not conf-assignment-space)
|
||||
(memq (char-before (point)) '(?\s ?\t)) (insert ?\s))
|
||||
(insert conf-assignment-sign
|
||||
(if (and conf-assignment-space (not (eolp))) ?\s "")))
|
||||
(insert (if conf-assignment-space ?\s "") conf-assignment-sign)
|
||||
(unless (eolp)
|
||||
(indent-to-column (- arg))
|
||||
(or (not conf-assignment-space)
|
||||
(memq (char-before (point)) '(?\s ?\t)) (insert ?\s))
|
||||
(insert conf-assignment-sign
|
||||
(if (and conf-assignment-space (not (eolp))) ?\s "")))
|
||||
(insert (if conf-assignment-space ?\s "") conf-assignment-sign)
|
||||
(unless (eolp)
|
||||
(indent-to-column (- arg))
|
||||
(or (not conf-assignment-space)
|
||||
(memq (char-before (point)) '(?\s ?\t)) (insert ?\s))))
|
||||
(unless (eolp)
|
||||
(if (>= (current-column) (abs arg))
|
||||
(insert ?\s)
|
||||
(indent-to-column (abs arg))))))
|
||||
(forward-line))))
|
||||
(memq (char-before (point)) '(?\s ?\t)) (insert ?\s))))
|
||||
(unless (eolp)
|
||||
(if (>= (current-column) (abs arg))
|
||||
(insert ?\s)
|
||||
(indent-to-column (abs arg))))))
|
||||
(forward-line)))))
|
||||
|
||||
|
||||
(defun conf-quote-normal (arg)
|
||||
@ -259,14 +308,13 @@ both, i.e. quotes delimit strings, except when they are
|
||||
unbalanced, but hey...)"
|
||||
(interactive "P")
|
||||
(let ((table (copy-syntax-table (syntax-table))))
|
||||
(if (or (not arg) (= (prefix-numeric-value arg) 1))
|
||||
(modify-syntax-entry ?\' "." table))
|
||||
(if (or (not arg) (= (prefix-numeric-value arg) 2))
|
||||
(modify-syntax-entry ?\" "." table))
|
||||
(when (or (not arg) (= (prefix-numeric-value arg) 1))
|
||||
(modify-syntax-entry ?\' "." table))
|
||||
(when (or (not arg) (= (prefix-numeric-value arg) 2))
|
||||
(modify-syntax-entry ?\" "." table))
|
||||
(set-syntax-table table)
|
||||
(and (boundp 'font-lock-mode)
|
||||
font-lock-mode
|
||||
(font-lock-fontify-buffer))))
|
||||
(when font-lock-mode
|
||||
(font-lock-fontify-buffer))))
|
||||
|
||||
|
||||
(defun conf-outline-level ()
|
||||
|
Loading…
Reference in New Issue
Block a user