Mercurial > hg > xemacs-beta
comparison lisp/modes/lisp-mode.el @ 173:8eaf7971accc r20-3b13
Import from CVS: tag r20-3b13
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:49:09 +0200 |
parents | 15872534500d |
children | 489f57a838ef |
comparison
equal
deleted
inserted
replaced
172:a38aed19690b | 173:8eaf7971accc |
---|---|
59 "---" | 59 "---" |
60 ["Debug On Error" (setq debug-on-error (not debug-on-error)) | 60 ["Debug On Error" (setq debug-on-error (not debug-on-error)) |
61 :style toggle :selected debug-on-error] | 61 :style toggle :selected debug-on-error] |
62 ["Debug On Quit" (setq debug-on-quit (not debug-on-quit)) | 62 ["Debug On Quit" (setq debug-on-quit (not debug-on-quit)) |
63 :style toggle :selected debug-on-quit] | 63 :style toggle :selected debug-on-quit] |
64 ["Debug on Signal" (setq debug-on-signal (not debug-on-signal)) | |
65 :style toggle :selected debug-on-signal] | |
64 ))) | 66 ))) |
65 | 67 |
66 (defvar emacs-lisp-mode-popup-menu nil) | 68 (defvar emacs-lisp-mode-popup-menu nil) |
67 (defvar emacs-lisp-mode-popup-menu-1 | 69 (defvar emacs-lisp-mode-popup-menu-1 |
68 (purecopy | 70 (purecopy |
374 (terpri) | 376 (terpri) |
375 (eval-last-sexp t) | 377 (eval-last-sexp t) |
376 (terpri))) | 378 (terpri))) |
377 | 379 |
378 ;; XEmacs change | 380 ;; XEmacs change |
381 (defcustom eval-interactive-verbose t | |
382 "*Non-nil means that interactive evaluation can print messages. | |
383 The messages are printed when the expression is treated differently | |
384 using `\\[eval-last-sexp]' and `\\[eval-defun]' than it than it would have been | |
385 treated noninteractively. | |
386 | |
387 The printed messages are \"defvar treated as defconst\" and \"defcustom | |
388 evaluation forced\". See `eval-interactive' for more details." | |
389 :type 'boolean | |
390 :group 'lisp) | |
391 | |
379 (defun eval-interactive (expr) | 392 (defun eval-interactive (expr) |
380 "Like `eval' except that it transforms defvars to defconsts." | 393 "Like `eval' except that it transforms defvars to defconsts. |
381 ;; by Stig@hackvan.com | 394 The evaluation of defcustom forms is forced." |
382 (cond ((and (consp expr) | 395 (cond ((and (consp expr) |
383 (eq (car expr) 'defvar) | 396 (eq (car expr) 'defvar) |
384 (> (length expr) 2)) | 397 (> (length expr) 2)) |
385 (eval (cons 'defconst (cdr expr)))) | 398 (eval (cons 'defconst (cdr expr))) |
399 (and eval-interactive-verbose | |
400 (message "defvar treated as defconst")) | |
401 (sit-for 1) | |
402 (message "") | |
403 (nth 1 expr)) | |
386 ((and (consp expr) | 404 ((and (consp expr) |
387 (eq (car expr) 'defcustom) | 405 (eq (car expr) 'defcustom) |
388 (> (length expr) 2)) | 406 (> (length expr) 2) |
389 (makunbound (nth 1 expr)) | 407 (default-boundp (nth 1 expr))) |
390 (eval expr)) | 408 ;; Force variable to be bound |
409 (set-default (nth 1 expr) (eval (nth 2 expr))) | |
410 ;; And evaluate the defcustom | |
411 (eval expr) | |
412 (and eval-interactive-verbose | |
413 (message "defcustom evaluation forced")) | |
414 (sit-for 1) | |
415 (message "") | |
416 (nth 1 expr)) | |
391 (t | 417 (t |
392 (eval expr)))) | 418 (eval expr)))) |
393 | 419 |
394 ;; XEmacs change, based on Bob Weiner suggestion | 420 ;; XEmacs change, based on Bob Weiner suggestion |
395 (defun eval-last-sexp (eval-last-sexp-arg-internal) ;dynamic scoping wonderment | 421 (defun eval-last-sexp (eval-last-sexp-arg-internal) ;dynamic scoping wonderment |
420 (defun eval-defun (eval-defun-arg-internal) | 446 (defun eval-defun (eval-defun-arg-internal) |
421 "Evaluate defun that point is in or before. | 447 "Evaluate defun that point is in or before. |
422 Print value in minibuffer. | 448 Print value in minibuffer. |
423 With argument, insert value in current buffer after the defun." | 449 With argument, insert value in current buffer after the defun." |
424 (interactive "P") | 450 (interactive "P") |
425 ;; XEmacs: FSF version works, so use it | 451 (let ((standard-output (if eval-defun-arg-internal (current-buffer) t))) |
426 (let ((standard-output (if eval-defun-arg-internal (current-buffer) t)) | 452 (prin1 (eval-interactive (save-excursion |
427 (form (save-excursion | 453 (end-of-defun) |
428 (end-of-defun) | 454 (beginning-of-defun) |
429 (beginning-of-defun) | 455 (read (current-buffer))))))) |
430 (read (current-buffer))))) | 456 |
431 (cond ((and (eq (car form) 'defvar) | |
432 (cdr-safe (cdr-safe form))) | |
433 ;; Force variable to be bound. | |
434 (setq form (cons 'defconst (cdr form)))) | |
435 ((and (eq (car form) 'defcustom) | |
436 (default-boundp (nth 1 form))) | |
437 ;; Force variable to be bound. | |
438 (set-default (nth 1 form) (eval (nth 2 form))))) | |
439 (prin1 (eval form)))) | |
440 | 457 |
441 (defun lisp-comment-indent () | 458 (defun lisp-comment-indent () |
442 (if (looking-at "\\s<\\s<\\s<") | 459 (if (looking-at "\\s<\\s<\\s<") |
443 (current-column) | 460 (current-column) |
444 (if (looking-at "\\s<\\s<") | 461 (if (looking-at "\\s<\\s<") |