
(provide (quote sc-electric))

(defconst sc-electric-bufname "*sc-erefs*" "\
*Supercite's electric buffer name.")

(defvar sc-electric-mode-hook nil "\
*Hook for sc-electric-mode.")

(defun sc-electric-mode (&optional arg) "\
Quasi major mode for viewing supercite reference headers.
Commands are: \\{sc-electric-mode-map}
Sc-electric-mode is not intended to be run interactively, but rather
accessed through supercite's electric reference feature.  See
sc-insert-reference for more details. Optional ARG is the initial
header style to use, unless not supplied or invalid, in which case
sc-preferred-header-style is used." (byte-code "	ƒ	 ‚ Ð!… Ñ!ƒ ‚ ÒÓ Ô Õ!Ö	×
!ˆŠ
qˆØ ˆ‰ˆÙ
!ˆÌ‰ˆÚ‰ˆÛ‰ˆÜÝ!)ˆÞ
!ˆßÕ!!ˆàÓ !ˆá!ˆÒ‰	ˆ	âX…Š ãä	!å#ˆ	T‰	ˆ‚o ˆãæç#ˆè ˆ
… Öéêˆá!ˆß!ˆ‰.‡" [gal sc-gal-information sc-eref-style arg sc-preferred-header-style gmap lmap mmap minibuffer-local-map chr sc-electric-bufname buffer-read-only t mode-name major-mode sc-electric-mode-map natnump sc-valid-index-p 0 current-global-map current-local-map copy-keymap nil get-buffer-create kill-all-local-variables sc-eref-show "Supercite-Electric-References" sc-electric-mode run-hooks sc-electric-mode-hook display-buffer use-global-map suppress-keymap use-local-map 9 define-key int-to-string self-insert-command "-" undefined recursive-edit (byte-code "Â	8!‡" [sc-eref-style sc-rewrite-header-list eval] 3) ((error (byte-code "À‡" [nil] 1)))] 23))

(defun sc-eref-index (index) "\
Check INDEX to be sure it is a valid index into sc-rewrite-header-list.
If sc-electric-circular-p is non-nil, then list is considered circular
so that movement across the ends of the list wraparound." (byte-code "	GSÄ
!ƒ 
‚7 
ÅWƒ$ ƒ ‚! ÆÇ!ˆÅ‚7 
V…7 ƒ2 Å‚7 ÆÈ!ˆ)‡" [last sc-rewrite-header-list index sc-electric-circular-p sc-valid-index-p 0 error "No preceding reference headers in list." "No following reference headers in list."] 4))

(defun sc-eref-show (index) "\
Show reference INDEX in sc-rewrite-header-list." (byte-code "Ç	!‰ˆŠ
qˆ8ÆÈ ˆebˆÉÊË*)‡" [sc-eref-style index sc-electric-bufname ref sc-rewrite-header-list buffer-read-only nil sc-eref-index erase-buffer err (byte-code "Â!ˆÃÄ	\"‡" [ref sc-eref-style eval message "Showing reference header %d."] 4) ((void-function (byte-code "ÂÃÄA@!	#ˆÅ ‡" [err sc-eref-style message "Symbol's function definition is void: %s (Header %d)" symbol-name beep] 5)))] 5))

(defun sc-eref-describe nil "\
Describe supercite electric reference mode." (interactive) (byte-code "ÁˆŠqˆÂ )‡" [sc-electric-bufname nil describe-mode] 2))

(defun sc-eref-next nil "\
Display next reference in minibuffer." (interactive) (byte-code "ÁˆÂT!‡" [sc-eref-style nil sc-eref-show] 2))

(defun sc-eref-prev nil "\
Display previous reference in minibuffer." (interactive) (byte-code "ÁˆÂS!‡" [sc-eref-style nil sc-eref-show] 2))

(defun sc-eref-setn nil "\
Set reference header selected as preferred." (interactive) (byte-code "Âˆ	‰ˆÃÄ	\"‡" [sc-preferred-header-style sc-eref-style nil message "Preferred reference style set to header %d."] 3))

(defun sc-eref-goto (refnum) "\
Show reference style indexed by REFNUM.
If REFNUM is an invalid index, don't go to that reference and return
nil." (interactive "NGoto Reference Number: ") (byte-code "ÃˆÄ!ƒ Å!‚ ÆÇÈÉ	
\"$‡" [refnum length sc-rewrite-header-list nil sc-valid-index-p sc-eref-show error "Invalid reference number: %d. (Range: [%d, %d])" 0 1-] 9))

(defun sc-eref-jump nil "\
Set reference header to preferred header." (interactive) (byte-code "ÁˆÂ!‡" [sc-preferred-header-style nil sc-eref-show] 2))

(defun sc-eref-abort nil "\
Exit from electric referencing without inserting reference." (interactive) (byte-code "ÁˆÁ‰ˆÃ
!ˆÄ
!ˆÅ ‡" [sc-eref-style nil sc-electric-bufname delete-windows-on kill-buffer exit-recursive-edit] 4))

(defun sc-eref-exit nil "\
Exit from electric referencing and insert selected reference." (interactive) (byte-code "ÁˆÂ!ˆÃ!ˆÄ ‡" [sc-electric-bufname nil delete-windows-on kill-buffer exit-recursive-edit] 4))
