Mercurial > emacs
comparison lisp/textmodes/reftex-sel.el @ 111422:2eee976277c5
Silence reftex compilation.
* lisp/textmodes/reftex-toc.el (reftex-toc-do-promote)
(reftex-toc-promote-prepare): Pass `delta' as an explicit argument.
(reftex-toc-promote-action): Doc fix.
* lisp/textmodes/reftex-sel.el (reftex-select-item): Give local variables
`prompt', `data' a prefix.
(reftex-select-post-command-hook, reftex-select-callback)
(reftex-select-mouse-accept, reftex-select-read-cite):
Update for above name changes.
* lisp/textmodes/reftex-ref.el (reftex-reference): Rename local variable
`refstyle' to reftex-refstyle.
(reftex-offer-label-menu): Update for above name change.
* lisp/textmodes/reftex-sel.el (reftex-select-toggle-varioref): Update for
`refstyle' name change.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 06 Nov 2010 12:11:38 -0700 |
parents | 280c8ae2476d |
children | 6e613fbf73d7 |
comparison
equal
deleted
inserted
replaced
111421:ac911360c429 | 111422:2eee976277c5 |
---|---|
367 | 367 |
368 (defvar reftex-last-data nil) | 368 (defvar reftex-last-data nil) |
369 (defvar reftex-last-line nil) | 369 (defvar reftex-last-line nil) |
370 (defvar reftex-select-marked nil) | 370 (defvar reftex-select-marked nil) |
371 | 371 |
372 (defun reftex-select-item (prompt help-string keymap | 372 (defun reftex-select-item (reftex-select-prompt help-string keymap |
373 &optional offset | 373 &optional offset |
374 call-back cb-flag) | 374 call-back cb-flag) |
375 ;; Select an item, using PROMPT. The function returns a key indicating | 375 ;; Select an item, using REFTEX-SELECT-PROMPT. |
376 ;; an exit status, along with a data structure indicating which item was | 376 ;; The function returns a key indicating an exit status, along with a |
377 ;; selected. | 377 ;; data structure indicating which item was selected. |
378 ;; HELP-STRING contains help. KEYMAP is a keymap with the available | 378 ;; HELP-STRING contains help. KEYMAP is a keymap with the available |
379 ;; selection commands. | 379 ;; selection commands. |
380 ;; OFFSET can be a label list item which will be selected at start. | 380 ;; OFFSET can be a label list item which will be selected at start. |
381 ;; When it is t, point will start out at the beginning of the buffer. | 381 ;; When it is t, point will start out at the beginning of the buffer. |
382 ;; Any other value will cause restart where last selection left off. | 382 ;; Any other value will cause restart where last selection left off. |
383 ;; When CALL-BACK is given, it is a function which is called with the index | 383 ;; When CALL-BACK is given, it is a function which is called with the index |
384 ;; of the element. | 384 ;; of the element. |
385 ;; CB-FLAG is the initial value of that flag. | 385 ;; CB-FLAG is the initial value of that flag. |
386 | 386 (let (ev reftex-select-data last-data (selection-buffer (current-buffer))) |
387 (let* (ev data last-data (selection-buffer (current-buffer))) | |
388 | 387 |
389 (setq reftex-select-marked nil) | 388 (setq reftex-select-marked nil) |
390 | 389 |
391 (setq ev | 390 (setq ev |
392 (catch 'myexit | 391 (catch 'myexit |
402 (unwind-protect | 401 (unwind-protect |
403 (progn | 402 (progn |
404 (use-local-map keymap) | 403 (use-local-map keymap) |
405 (add-hook 'pre-command-hook 'reftex-select-pre-command-hook nil t) | 404 (add-hook 'pre-command-hook 'reftex-select-pre-command-hook nil t) |
406 (add-hook 'post-command-hook 'reftex-select-post-command-hook nil t) | 405 (add-hook 'post-command-hook 'reftex-select-post-command-hook nil t) |
407 (princ prompt) | 406 (princ reftex-select-prompt) |
408 (set-marker reftex-recursive-edit-marker (point)) | 407 (set-marker reftex-recursive-edit-marker (point)) |
409 ;; XEmacs does not run post-command-hook here | 408 ;; XEmacs does not run post-command-hook here |
410 (and (featurep 'xemacs) (run-hooks 'post-command-hook)) | 409 (and (featurep 'xemacs) (run-hooks 'post-command-hook)) |
411 (recursive-edit)) | 410 (recursive-edit)) |
412 | 411 |
424 (+ (count-lines (point-min) (point)) (if (bolp) 1 0))) | 423 (+ (count-lines (point-min) (point)) (if (bolp) 1 0))) |
425 (set (make-local-variable 'reftex-last-data) last-data) | 424 (set (make-local-variable 'reftex-last-data) last-data) |
426 (reftex-kill-buffer "*RefTeX Help*") | 425 (reftex-kill-buffer "*RefTeX Help*") |
427 (setq reftex-callback-fwd (not reftex-callback-fwd)) ;; ;-))) | 426 (setq reftex-callback-fwd (not reftex-callback-fwd)) ;; ;-))) |
428 (message "") | 427 (message "") |
429 (list ev data last-data))) | 428 (list ev reftex-select-data last-data))) |
430 | 429 |
431 ;; The following variables are all bound dynamically in `reftex-select-item'. | 430 ;; The following variables are all bound dynamically in `reftex-select-item'. |
432 ;; The defvars are here only to silence the byte compiler. | 431 ;; The defvars are here only to silence the byte compiler. |
433 | 432 |
434 (defvar found-list) | 433 (defvar found-list) |
435 (defvar cb-flag) | 434 (defvar cb-flag) |
436 (defvar data) | 435 (defvar reftex-select-data) |
437 (defvar prompt) | 436 (defvar reftex-select-prompt) |
438 (defvar last-data) | 437 (defvar last-data) |
439 (defvar call-back) | 438 (defvar call-back) |
440 (defvar help-string) | 439 (defvar help-string) |
441 (defvar refstyle) | |
442 | 440 |
443 ;; The selection commands | 441 ;; The selection commands |
444 | 442 |
445 (defun reftex-select-pre-command-hook () | 443 (defun reftex-select-pre-command-hook () |
446 (reftex-unhighlight 1) | 444 (reftex-unhighlight 1) |
447 (reftex-unhighlight 0)) | 445 (reftex-unhighlight 0)) |
448 | 446 |
449 (defun reftex-select-post-command-hook () | 447 (defun reftex-select-post-command-hook () |
450 (let (b e) | 448 (let (b e) |
451 (setq data (get-text-property (point) :data)) | 449 (setq reftex-select-data (get-text-property (point) :data)) |
452 (setq last-data (or data last-data)) | 450 (setq last-data (or reftex-select-data last-data)) |
453 | 451 |
454 (when (and data cb-flag | 452 (when (and reftex-select-data cb-flag |
455 (not (equal reftex-last-follow-point (point)))) | 453 (not (equal reftex-last-follow-point (point)))) |
456 (setq reftex-last-follow-point (point)) | 454 (setq reftex-last-follow-point (point)) |
457 (funcall call-back data reftex-callback-fwd | 455 (funcall call-back reftex-select-data reftex-callback-fwd |
458 (not reftex-revisit-to-follow))) | 456 (not reftex-revisit-to-follow))) |
459 (if data | 457 (if reftex-select-data |
460 (setq b (or (previous-single-property-change | 458 (setq b (or (previous-single-property-change |
461 (1+ (point)) :data) | 459 (1+ (point)) :data) |
462 (point-min)) | 460 (point-min)) |
463 e (or (next-single-property-change | 461 e (or (next-single-property-change |
464 (point) :data) | 462 (point) :data) |
468 (reftex-highlight 1 b e)) | 466 (reftex-highlight 1 b e)) |
469 (if (or (not (pos-visible-in-window-p b)) | 467 (if (or (not (pos-visible-in-window-p b)) |
470 (not (pos-visible-in-window-p e))) | 468 (not (pos-visible-in-window-p e))) |
471 (recenter '(4))) | 469 (recenter '(4))) |
472 (unless (current-message) | 470 (unless (current-message) |
473 (princ prompt)))) | 471 (princ reftex-select-prompt)))) |
474 | 472 |
475 (defun reftex-select-next (&optional arg) | 473 (defun reftex-select-next (&optional arg) |
476 "Move to next selectable item." | 474 "Move to next selectable item." |
477 (interactive "p") | 475 (interactive "p") |
478 (setq reftex-callback-fwd t) | 476 (setq reftex-callback-fwd t) |
529 (defun reftex-select-toggle-follow () | 527 (defun reftex-select-toggle-follow () |
530 "Toggle follow mode: Other window follows with full context." | 528 "Toggle follow mode: Other window follows with full context." |
531 (interactive) | 529 (interactive) |
532 (setq reftex-last-follow-point -1) | 530 (setq reftex-last-follow-point -1) |
533 (setq cb-flag (not cb-flag))) | 531 (setq cb-flag (not cb-flag))) |
532 | |
533 (defvar reftex-refstyle) ; from reftex-reference | |
534 | |
534 (defun reftex-select-toggle-varioref () | 535 (defun reftex-select-toggle-varioref () |
535 "Toggle the macro used for referencing the label between \\ref and \\vref." | 536 "Toggle the macro used for referencing the label between \\ref and \\vref." |
536 (interactive) | 537 (interactive) |
537 (if (string= refstyle "\\ref") | 538 (if (string= reftex-refstyle "\\ref") |
538 (setq refstyle "\\vref") | 539 (setq reftex-refstyle "\\vref") |
539 (setq refstyle "\\ref")) | 540 (setq reftex-refstyle "\\ref")) |
540 (force-mode-line-update)) | 541 (force-mode-line-update)) |
541 (defun reftex-select-toggle-fancyref () | 542 (defun reftex-select-toggle-fancyref () |
542 "Toggle the macro used for referencing the label between \\ref and \\vref." | 543 "Toggle the macro used for referencing the label between \\ref and \\vref." |
543 (interactive) | 544 (interactive) |
544 (setq refstyle | 545 (setq reftex-refstyle |
545 (cond ((string= refstyle "\\ref") "\\fref") | 546 (cond ((string= reftex-refstyle "\\ref") "\\fref") |
546 ((string= refstyle "\\fref") "\\Fref") | 547 ((string= reftex-refstyle "\\fref") "\\Fref") |
547 (t "\\ref"))) | 548 (t "\\ref"))) |
548 (force-mode-line-update)) | 549 (force-mode-line-update)) |
549 (defun reftex-select-show-insertion-point () | 550 (defun reftex-select-show-insertion-point () |
550 "Show the point from where selection was started in another window." | 551 "Show the point from where selection was started in another window." |
551 (interactive) | 552 (interactive) |
558 (recenter '(4))) | 559 (recenter '(4))) |
559 (select-window this-window)))) | 560 (select-window this-window)))) |
560 (defun reftex-select-callback () | 561 (defun reftex-select-callback () |
561 "Show full context in another window." | 562 "Show full context in another window." |
562 (interactive) | 563 (interactive) |
563 (if data (funcall call-back data reftex-callback-fwd nil) (ding))) | 564 (if reftex-select-data (funcall call-back reftex-select-data reftex-callback-fwd nil) (ding))) |
564 (defun reftex-select-accept () | 565 (defun reftex-select-accept () |
565 "Accept the currently selected item." | 566 "Accept the currently selected item." |
566 (interactive) | 567 (interactive) |
567 (throw 'myexit 'return)) | 568 (throw 'myexit 'return)) |
568 (defun reftex-select-mouse-accept (ev) | 569 (defun reftex-select-mouse-accept (ev) |
569 "Accept the item at the mouse click." | 570 "Accept the item at the mouse click." |
570 (interactive "e") | 571 (interactive "e") |
571 (mouse-set-point ev) | 572 (mouse-set-point ev) |
572 (setq data (get-text-property (point) :data)) | 573 (setq reftex-select-data (get-text-property (point) :data)) |
573 (setq last-data (or data last-data)) | 574 (setq last-data (or reftex-select-data last-data)) |
574 (throw 'myexit 'return)) | 575 (throw 'myexit 'return)) |
575 (defun reftex-select-read-label () | 576 (defun reftex-select-read-label () |
576 "Use minibuffer to read a label to reference, with completion." | 577 "Use minibuffer to read a label to reference, with completion." |
577 (interactive) | 578 (interactive) |
578 (let ((label (completing-read | 579 (let ((label (completing-read |
586 (let* ((key (completing-read "Citation key: " found-list)) | 587 (let* ((key (completing-read "Citation key: " found-list)) |
587 (entry (assoc key found-list))) | 588 (entry (assoc key found-list))) |
588 (cond | 589 (cond |
589 ((or (null key) (equal key ""))) | 590 ((or (null key) (equal key ""))) |
590 (entry | 591 (entry |
591 (setq data entry) | 592 (setq reftex-select-data entry) |
592 (setq last-data data) | 593 (setq last-data reftex-select-data) |
593 (throw 'myexit 'return)) | 594 (throw 'myexit 'return)) |
594 (t (throw 'myexit key))))) | 595 (t (throw 'myexit key))))) |
595 | 596 |
596 (defun reftex-select-mark (&optional separator) | 597 (defun reftex-select-mark (&optional separator) |
597 "Mark the entry." | 598 "Mark the entry." |
734 ("m" . reftex-select-mark) | 735 ("m" . reftex-select-mark) |
735 ("u" . reftex-select-unmark)) | 736 ("u" . reftex-select-unmark)) |
736 do (define-key reftex-select-bib-map (car x) (cdr x))) | 737 do (define-key reftex-select-bib-map (car x) (cdr x))) |
737 | 738 |
738 | 739 |
739 ;; arch-tag: 842078ff-0586-4e0b-957e-536e08218464 | |
740 ;;; reftex-sel.el ends here | 740 ;;; reftex-sel.el ends here |